diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,19 @@
+3.0.0.0
+-------
+* Make the `OpenGLRaw` package even more similar to the `gl` package:
+  * Use pattern synonyms for OpenGL enums.
+  * Changed module name prefix from `Graphics.Rendering.OpenGL.Raw` to `Graphics.GL`.
+  * Use slightly different type synonyms for GL type (introducing `Fixed` on the way):
+    * `CDouble` => `Double` (for `GLclampd`, `GLdouble`)
+    * `CFloat`  => `Float`  (for `GLclampf`, `GLfloat`)
+    * `CInt`    => `Fixed`  (for `GLclampx`, `GLfixed`)
+    * `CInt`    => `Int32`  (for `GLint`, `GLsizei`)
+    * `CSChar`  => `Int8`   (for `GLbyte`)
+    * `CShort`  => `Int16`  (for `GLshort`)
+    * `CUChar`  => `Word8`  (for `GLboolean`, `GLubyte`)
+    * `CUInt`   => `Word32` (for `GLbitfield`, `GLenum`, `GLhandleARB`, `GLuint`)
+    * `CUShort` => `Word16` (for `GLushort`)
+
 2.6.1.1
 -------
 * Relaxed upper version bound for `transformers`.
diff --git a/OpenGLRaw.cabal b/OpenGLRaw.cabal
--- a/OpenGLRaw.cabal
+++ b/OpenGLRaw.cabal
@@ -1,616 +1,620 @@
 name: OpenGLRaw
-version: 2.6.1.1
-synopsis: A raw binding for the OpenGL graphics system
-description:
-  OpenGLRaw is a raw Haskell binding for the OpenGL 4.5 graphics system and
-  lots of OpenGL extensions. It is basically a 1:1 mapping of OpenGL's C API,
-  intended as a basis for a nicer interface. OpenGLRaw offers access to all
-  necessary functions, tokens and types plus a general facility for loading
-  extension entries. The module hierarchy closely mirrors the naming structure
-  of the OpenGL extensions, making it easy to find the right module to import.
-  All API entries are loaded dynamically, so no special C header files are
-  needed for building this package. If an API entry is not found at runtime, a
-  userError is thrown.
-  .
-  OpenGL is the industry's most widely used and supported 2D and 3D graphics
-  application programming interface (API), incorporating a broad set of
-  rendering, texture mapping, special effects, and other powerful visualization
-  functions. For more information about OpenGL and its various extensions,
-  please see <http://www.opengl.org/>
-  and <http://www.opengl.org/registry/>.
-homepage: http://www.haskell.org/haskellwiki/Opengl
-bug-reports: https://github.com/haskell-opengl/OpenGLRaw/issues
-copyright: Copyright (C) 2009-2015 Sven Panne
-license: BSD3
-license-file: LICENSE
-author: Sven Panne
-maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
-category: Graphics
-build-type: Simple
-cabal-version: >= 1.10
-extra-source-files:
-  CHANGELOG.md
-  README.md
-  RegistryProcessor/LICENSE
-  RegistryProcessor/OpenGL-Registry/gl.xml
-  RegistryProcessor/OpenGL-Registry/registry.rnc
-  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:
-    When compiling under Windows, use the native libraries instead of e.g. the
-    ones coming with Cygwin.
-
-flag UseGlXGetProcAddress
-  description:
-    Use glXGetProcAddress instead of dlsym on non-Windows/-Darwin/-Android platforms.
-
-flag UseGLES2
-  description:
-    Use OpenGL ES 2.x instead of OpenGL ES 3.x on Android.
-
-flag OsAndroid
-  description:
-    Compile for Android. This flag goes away when cabal supports os(android).
-  default:
-    False
-
-library
-  exposed-modules:
-    Graphics.Rendering.OpenGL.Raw
-    Graphics.Rendering.OpenGL.Raw.AMD
-    Graphics.Rendering.OpenGL.Raw.AMD.BlendMinmaxFactor
-    Graphics.Rendering.OpenGL.Raw.AMD.DebugOutput
-    Graphics.Rendering.OpenGL.Raw.AMD.DepthClampSeparate
-    Graphics.Rendering.OpenGL.Raw.AMD.DrawBuffersBlend
-    Graphics.Rendering.OpenGL.Raw.AMD.GPUShaderInt64
-    Graphics.Rendering.OpenGL.Raw.AMD.InterleavedElements
-    Graphics.Rendering.OpenGL.Raw.AMD.MultiDrawIndirect
-    Graphics.Rendering.OpenGL.Raw.AMD.NameGenDelete
-    Graphics.Rendering.OpenGL.Raw.AMD.OcclusionQueryEvent
-    Graphics.Rendering.OpenGL.Raw.AMD.PerformanceMonitor
-    Graphics.Rendering.OpenGL.Raw.AMD.PinnedMemory
-    Graphics.Rendering.OpenGL.Raw.AMD.QueryBufferObject
-    Graphics.Rendering.OpenGL.Raw.AMD.SamplePositions
-    Graphics.Rendering.OpenGL.Raw.AMD.SeamlessCubemapPerTexture
-    Graphics.Rendering.OpenGL.Raw.AMD.SparseTexture
-    Graphics.Rendering.OpenGL.Raw.AMD.StencilOperationExtended
-    Graphics.Rendering.OpenGL.Raw.AMD.TransformFeedback4
-    Graphics.Rendering.OpenGL.Raw.AMD.VertexShaderTessellator
-    Graphics.Rendering.OpenGL.Raw.APPLE
-    Graphics.Rendering.OpenGL.Raw.APPLE.AuxDepthStencil
-    Graphics.Rendering.OpenGL.Raw.APPLE.ClientStorage
-    Graphics.Rendering.OpenGL.Raw.APPLE.ElementArray
-    Graphics.Rendering.OpenGL.Raw.APPLE.Fence
-    Graphics.Rendering.OpenGL.Raw.APPLE.FloatPixels
-    Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange
-    Graphics.Rendering.OpenGL.Raw.APPLE.ObjectPurgeable
-    Graphics.Rendering.OpenGL.Raw.APPLE.RGB422
-    Graphics.Rendering.OpenGL.Raw.APPLE.RowBytes
-    Graphics.Rendering.OpenGL.Raw.APPLE.SpecularVector
-    Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange
-    Graphics.Rendering.OpenGL.Raw.APPLE.TransformHint
-    Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject
-    Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayRange
-    Graphics.Rendering.OpenGL.Raw.APPLE.VertexProgramEvaluators
-    Graphics.Rendering.OpenGL.Raw.APPLE.YCbCr422
-    Graphics.Rendering.OpenGL.Raw.ARB
-    Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance
-    Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture
-    Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
-    Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage
-    Graphics.Rendering.OpenGL.Raw.ARB.CLEvent
-    Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject
-    Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture
-    Graphics.Rendering.OpenGL.Raw.ARB.ClipControl
-    Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
-    Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage
-    Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
-    Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize
-    Graphics.Rendering.OpenGL.Raw.ARB.ConditionalRenderInverted
-    Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
-    Graphics.Rendering.OpenGL.Raw.ARB.CopyImage
-    Graphics.Rendering.OpenGL.Raw.ARB.CullDistance
-    Graphics.Rendering.OpenGL.Raw.ARB.DebugOutput
-    Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
-    Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
-    Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
-    Graphics.Rendering.OpenGL.Raw.ARB.DirectStateAccess
-    Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
-    Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
-    Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
-    Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
-    Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
-    Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.ES31Compatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.ES32Compatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts
-    Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation
-    Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
-    Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
-    Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
-    Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCompatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCore
-    Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
-    Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
-    Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
-    Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderInt64
-    Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
-    Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
-    Graphics.Rendering.OpenGL.Raw.ARB.GetTextureSubImage
-    Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
-    Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
-    Graphics.Rendering.OpenGL.Raw.ARB.ImagingCompatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.ImagingCore
-    Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters
-    Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
-    Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery
-    Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2
-    Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata
-    Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment
-    Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
-    Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
-    Graphics.Rendering.OpenGL.Raw.ARB.MultiBind
-    Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect
-    Graphics.Rendering.OpenGL.Raw.ARB.Multisample
-    Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
-    Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
-    Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
-    Graphics.Rendering.OpenGL.Raw.ARB.ParallelShaderCompile
-    Graphics.Rendering.OpenGL.Raw.ARB.PipelineStatisticsQuery
-    Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
-    Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
-    Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
-    Graphics.Rendering.OpenGL.Raw.ARB.ProgramInterfaceQuery
-    Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
-    Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
-    Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCompatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCore
-    Graphics.Rendering.OpenGL.Raw.ARB.SampleLocations
-    Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
-    Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
-    Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
-    Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture
-    Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
-    Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
-    Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageLoadStore
-    Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
-    Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
-    Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
-    Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
-    Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
-    Graphics.Rendering.OpenGL.Raw.ARB.Shadow
-    Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
-    Graphics.Rendering.OpenGL.Raw.ARB.SparseBuffer
-    Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture
-    Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing
-    Graphics.Rendering.OpenGL.Raw.ARB.Sync
-    Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureBarrier
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureFilterMinmax
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle
-    Graphics.Rendering.OpenGL.Raw.ARB.TextureView
-    Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
-    Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
-    Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
-    Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackInstanced
-    Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackOverflowQuery
-    Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
-    Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBGRA
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexAttribBinding
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexType10f11f11fRev
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCompatibility
-    Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCore
-    Graphics.Rendering.OpenGL.Raw.ARB.ViewportArray
-    Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
-    Graphics.Rendering.OpenGL.Raw.ATI
-    Graphics.Rendering.OpenGL.Raw.ATI.DrawBuffers
-    Graphics.Rendering.OpenGL.Raw.ATI.ElementArray
-    Graphics.Rendering.OpenGL.Raw.ATI.EnvmapBumpmap
-    Graphics.Rendering.OpenGL.Raw.ATI.FragmentShader
-    Graphics.Rendering.OpenGL.Raw.ATI.MapObjectBuffer
-    Graphics.Rendering.OpenGL.Raw.ATI.Meminfo
-    Graphics.Rendering.OpenGL.Raw.ATI.PNTriangles
-    Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat
-    Graphics.Rendering.OpenGL.Raw.ATI.SeparateStencil
-    Graphics.Rendering.OpenGL.Raw.ATI.TextFragmentShader
-    Graphics.Rendering.OpenGL.Raw.ATI.TextureEnvCombine3
-    Graphics.Rendering.OpenGL.Raw.ATI.TextureFloat
-    Graphics.Rendering.OpenGL.Raw.ATI.TextureMirrorOnce
-    Graphics.Rendering.OpenGL.Raw.ATI.VertexArrayObject
-    Graphics.Rendering.OpenGL.Raw.ATI.VertexAttribArrayObject
-    Graphics.Rendering.OpenGL.Raw.ATI.VertexStreams
-    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.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
-    Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
-    Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
-    Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
-    Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
-    Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
-    Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
-    Graphics.Rendering.OpenGL.Raw.EXT.CMYKA
-    Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
-    Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
-    Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
-    Graphics.Rendering.OpenGL.Raw.EXT.Convolution
-    Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
-    Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
-    Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
-    Graphics.Rendering.OpenGL.Raw.EXT.DebugLabel
-    Graphics.Rendering.OpenGL.Raw.EXT.DebugMarker
-    Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
-    Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
-    Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2
-    Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced
-    Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
-    Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
-    Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
-    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit
-    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample
-    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisampleBlitScaled
-    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
-    Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
-    Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters
-    Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4
-    Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
-    Graphics.Rendering.OpenGL.Raw.EXT.Histogram
-    Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
-    Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
-    Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
-    Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
-    Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
-    Graphics.Rendering.OpenGL.Raw.EXT.Multisample
-    Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil
-    Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
-    Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
-    Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
-    Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject
-    Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
-    Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
-    Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
-    Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffsetClamp
-    Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
-    Graphics.Rendering.OpenGL.Raw.EXT.RasterMultisample
-    Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
-    Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
-    Graphics.Rendering.OpenGL.Raw.EXT.SeparateShaderObjects
-    Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
-    Graphics.Rendering.OpenGL.Raw.EXT.ShaderImageLoadStore
-    Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
-    Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
-    Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
-    Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
-    Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
-    Graphics.Rendering.OpenGL.Raw.EXT.Texture
-    Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureArray
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureBufferObject
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureCubeMap
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterMinmax
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
-    Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureSNorm
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGBDecode
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent
-    Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
-    Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
-    Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback
-    Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
-    Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBGRA
-    Graphics.Rendering.OpenGL.Raw.EXT.VertexAttrib64Bit
-    Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
-    Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
-    Graphics.Rendering.OpenGL.Raw.EXT.X11SyncObject
-    Graphics.Rendering.OpenGL.Raw.Functions
-    Graphics.Rendering.OpenGL.Raw.GREMEDY
-    Graphics.Rendering.OpenGL.Raw.GREMEDY.FrameTerminator
-    Graphics.Rendering.OpenGL.Raw.GREMEDY.StringMarker
-    Graphics.Rendering.OpenGL.Raw.GetProcAddress
-    Graphics.Rendering.OpenGL.Raw.Groups
-    Graphics.Rendering.OpenGL.Raw.HP
-    Graphics.Rendering.OpenGL.Raw.HP.ConvolutionBorderModes
-    Graphics.Rendering.OpenGL.Raw.HP.ImageTransform
-    Graphics.Rendering.OpenGL.Raw.HP.OcclusionTest
-    Graphics.Rendering.OpenGL.Raw.HP.TextureLighting
-    Graphics.Rendering.OpenGL.Raw.IBM
-    Graphics.Rendering.OpenGL.Raw.IBM.CullVertex
-    Graphics.Rendering.OpenGL.Raw.IBM.MultimodeDrawArrays
-    Graphics.Rendering.OpenGL.Raw.IBM.RasterposClip
-    Graphics.Rendering.OpenGL.Raw.IBM.StaticData
-    Graphics.Rendering.OpenGL.Raw.IBM.TextureMirroredRepeat
-    Graphics.Rendering.OpenGL.Raw.IBM.VertexArrayLists
-    Graphics.Rendering.OpenGL.Raw.INGR
-    Graphics.Rendering.OpenGL.Raw.INGR.BlendFuncSeparate
-    Graphics.Rendering.OpenGL.Raw.INGR.ColorClamp
-    Graphics.Rendering.OpenGL.Raw.INGR.InterlaceRead
-    Graphics.Rendering.OpenGL.Raw.INTEL
-    Graphics.Rendering.OpenGL.Raw.INTEL.FramebufferCmaa
-    Graphics.Rendering.OpenGL.Raw.INTEL.MapTexture
-    Graphics.Rendering.OpenGL.Raw.INTEL.ParallelArrays
-    Graphics.Rendering.OpenGL.Raw.INTEL.PerformanceQuery
-    Graphics.Rendering.OpenGL.Raw.KHR
-    Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvanced
-    Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvancedCoherent
-    Graphics.Rendering.OpenGL.Raw.KHR.ContextFlushControl
-    Graphics.Rendering.OpenGL.Raw.KHR.DebugCompatibility
-    Graphics.Rendering.OpenGL.Raw.KHR.DebugCore
-    Graphics.Rendering.OpenGL.Raw.KHR.NoError
-    Graphics.Rendering.OpenGL.Raw.KHR.Robustness
-    Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCHDR
-    Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCLDR
-    Graphics.Rendering.OpenGL.Raw.MESA
-    Graphics.Rendering.OpenGL.Raw.MESA.PackInvert
-    Graphics.Rendering.OpenGL.Raw.MESA.ResizeBuffers
-    Graphics.Rendering.OpenGL.Raw.MESA.WindowPos
-    Graphics.Rendering.OpenGL.Raw.MESA.YCbCrTexture
-    Graphics.Rendering.OpenGL.Raw.MESAX
-    Graphics.Rendering.OpenGL.Raw.MESAX.TextureStack
-    Graphics.Rendering.OpenGL.Raw.NV
-    Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirect
-    Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirectCount
-    Graphics.Rendering.OpenGL.Raw.NV.BindlessTexture
-    Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvanced
-    Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvancedCoherent
-    Graphics.Rendering.OpenGL.Raw.NV.CommandList
-    Graphics.Rendering.OpenGL.Raw.NV.ComputeProgram5
-    Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
-    Graphics.Rendering.OpenGL.Raw.NV.ConservativeRaster
-    Graphics.Rendering.OpenGL.Raw.NV.ConservativeRasterDilate
-    Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
-    Graphics.Rendering.OpenGL.Raw.NV.CopyImage
-    Graphics.Rendering.OpenGL.Raw.NV.DeepTexture3D
-    Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
-    Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
-    Graphics.Rendering.OpenGL.Raw.NV.DrawTexture
-    Graphics.Rendering.OpenGL.Raw.NV.Evaluators
-    Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
-    Graphics.Rendering.OpenGL.Raw.NV.Fence
-    Graphics.Rendering.OpenGL.Raw.NV.FillRectangle
-    Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
-    Graphics.Rendering.OpenGL.Raw.NV.FogDistance
-    Graphics.Rendering.OpenGL.Raw.NV.FragmentCoverageToColor
-    Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
-    Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
-    Graphics.Rendering.OpenGL.Raw.NV.FramebufferMixedSamples
-    Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
-    Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4
-    Graphics.Rendering.OpenGL.Raw.NV.GPUProgram5
-    Graphics.Rendering.OpenGL.Raw.NV.GPUShader5
-    Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
-    Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
-    Graphics.Rendering.OpenGL.Raw.NV.InternalformatSampleQuery
-    Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
-    Graphics.Rendering.OpenGL.Raw.NV.MultisampleCoverage
-    Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
-    Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
-    Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
-    Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
-    Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCompatibility
-    Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCore
-    Graphics.Rendering.OpenGL.Raw.NV.PathRenderingSharedEdge
-    Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
-    Graphics.Rendering.OpenGL.Raw.NV.PointSprite
-    Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
-    Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
-    Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
-    Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
-    Graphics.Rendering.OpenGL.Raw.NV.SampleLocations
-    Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferLoad
-    Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferStore
-    Graphics.Rendering.OpenGL.Raw.NV.ShaderThreadGroup
-    Graphics.Rendering.OpenGL.Raw.NV.TessellationProgram5
-    Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
-    Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
-    Graphics.Rendering.OpenGL.Raw.NV.TextureBarrier
-    Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
-    Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
-    Graphics.Rendering.OpenGL.Raw.NV.TextureMultisample
-    Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle
-    Graphics.Rendering.OpenGL.Raw.NV.TextureShader
-    Graphics.Rendering.OpenGL.Raw.NV.TextureShader2
-    Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
-    Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
-    Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
-    Graphics.Rendering.OpenGL.Raw.NV.UniformBufferUnifiedMemory
-    Graphics.Rendering.OpenGL.Raw.NV.VDPAUInterop
-    Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
-    Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2
-    Graphics.Rendering.OpenGL.Raw.NV.VertexAttribInteger64Bit
-    Graphics.Rendering.OpenGL.Raw.NV.VertexBufferUnifiedMemory
-    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
-    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
-    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
-    Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
-    Graphics.Rendering.OpenGL.Raw.NV.VideoCapture
-    Graphics.Rendering.OpenGL.Raw.NVX
-    Graphics.Rendering.OpenGL.Raw.NVX.ConditionalRender
-    Graphics.Rendering.OpenGL.Raw.NVX.GPUMemoryInfo
-    Graphics.Rendering.OpenGL.Raw.OES
-    Graphics.Rendering.OpenGL.Raw.OES.ByteCoordinates
-    Graphics.Rendering.OpenGL.Raw.OES.CompressedPalettedTexture
-    Graphics.Rendering.OpenGL.Raw.OES.FixedPoint
-    Graphics.Rendering.OpenGL.Raw.OES.QueryMatrix
-    Graphics.Rendering.OpenGL.Raw.OES.ReadFormat
-    Graphics.Rendering.OpenGL.Raw.OES.SinglePrecision
-    Graphics.Rendering.OpenGL.Raw.OML
-    Graphics.Rendering.OpenGL.Raw.OML.Interlace
-    Graphics.Rendering.OpenGL.Raw.OML.Resample
-    Graphics.Rendering.OpenGL.Raw.OML.Subsample
-    Graphics.Rendering.OpenGL.Raw.OVR
-    Graphics.Rendering.OpenGL.Raw.OVR.Multiview
-    Graphics.Rendering.OpenGL.Raw.PGI
-    Graphics.Rendering.OpenGL.Raw.PGI.MiscHints
-    Graphics.Rendering.OpenGL.Raw.PGI.VertexHints
-    Graphics.Rendering.OpenGL.Raw.REND
-    Graphics.Rendering.OpenGL.Raw.REND.ScreenCoordinates
-    Graphics.Rendering.OpenGL.Raw.S3
-    Graphics.Rendering.OpenGL.Raw.S3.S3TC
-    Graphics.Rendering.OpenGL.Raw.SGI
-    Graphics.Rendering.OpenGL.Raw.SGI.ColorMatrix
-    Graphics.Rendering.OpenGL.Raw.SGI.ColorTable
-    Graphics.Rendering.OpenGL.Raw.SGI.TextureColorTable
-    Graphics.Rendering.OpenGL.Raw.SGIS
-    Graphics.Rendering.OpenGL.Raw.SGIS.DetailTexture
-    Graphics.Rendering.OpenGL.Raw.SGIS.FogFunction
-    Graphics.Rendering.OpenGL.Raw.SGIS.GenerateMipmap
-    Graphics.Rendering.OpenGL.Raw.SGIS.Multisample
-    Graphics.Rendering.OpenGL.Raw.SGIS.PixelTexture
-    Graphics.Rendering.OpenGL.Raw.SGIS.PointLineTexgen
-    Graphics.Rendering.OpenGL.Raw.SGIS.PointParameters
-    Graphics.Rendering.OpenGL.Raw.SGIS.SharpenTexture
-    Graphics.Rendering.OpenGL.Raw.SGIS.Texture4D
-    Graphics.Rendering.OpenGL.Raw.SGIS.TextureBorderClamp
-    Graphics.Rendering.OpenGL.Raw.SGIS.TextureColorMask
-    Graphics.Rendering.OpenGL.Raw.SGIS.TextureEdgeClamp
-    Graphics.Rendering.OpenGL.Raw.SGIS.TextureFilter4
-    Graphics.Rendering.OpenGL.Raw.SGIS.TextureLOD
-    Graphics.Rendering.OpenGL.Raw.SGIS.TextureSelect
-    Graphics.Rendering.OpenGL.Raw.SGIX
-    Graphics.Rendering.OpenGL.Raw.SGIX.Async
-    Graphics.Rendering.OpenGL.Raw.SGIX.AsyncHistogram
-    Graphics.Rendering.OpenGL.Raw.SGIX.AsyncPixel
-    Graphics.Rendering.OpenGL.Raw.SGIX.BlendAlphaMinmax
-    Graphics.Rendering.OpenGL.Raw.SGIX.CalligraphicFragment
-    Graphics.Rendering.OpenGL.Raw.SGIX.Clipmap
-    Graphics.Rendering.OpenGL.Raw.SGIX.ConvolutionAccuracy
-    Graphics.Rendering.OpenGL.Raw.SGIX.DepthTexture
-    Graphics.Rendering.OpenGL.Raw.SGIX.FlushRaster
-    Graphics.Rendering.OpenGL.Raw.SGIX.FogOffset
-    Graphics.Rendering.OpenGL.Raw.SGIX.FragmentLighting
-    Graphics.Rendering.OpenGL.Raw.SGIX.Framezoom
-    Graphics.Rendering.OpenGL.Raw.SGIX.IglooInterface
-    Graphics.Rendering.OpenGL.Raw.SGIX.Instruments
-    Graphics.Rendering.OpenGL.Raw.SGIX.Interlace
-    Graphics.Rendering.OpenGL.Raw.SGIX.IrInstrument1
-    Graphics.Rendering.OpenGL.Raw.SGIX.ListPriority
-    Graphics.Rendering.OpenGL.Raw.SGIX.PixelTexture
-    Graphics.Rendering.OpenGL.Raw.SGIX.PixelTiles
-    Graphics.Rendering.OpenGL.Raw.SGIX.PolynomialFFD
-    Graphics.Rendering.OpenGL.Raw.SGIX.ReferencePlane
-    Graphics.Rendering.OpenGL.Raw.SGIX.Resample
-    Graphics.Rendering.OpenGL.Raw.SGIX.ScalebiasHint
-    Graphics.Rendering.OpenGL.Raw.SGIX.Shadow
-    Graphics.Rendering.OpenGL.Raw.SGIX.ShadowAmbient
-    Graphics.Rendering.OpenGL.Raw.SGIX.Sprite
-    Graphics.Rendering.OpenGL.Raw.SGIX.Subsample
-    Graphics.Rendering.OpenGL.Raw.SGIX.TagSampleBuffer
-    Graphics.Rendering.OpenGL.Raw.SGIX.TextureAddEnv
-    Graphics.Rendering.OpenGL.Raw.SGIX.TextureCoordinateClamp
-    Graphics.Rendering.OpenGL.Raw.SGIX.TextureLODBias
-    Graphics.Rendering.OpenGL.Raw.SGIX.TextureMultiBuffer
-    Graphics.Rendering.OpenGL.Raw.SGIX.TextureScaleBias
-    Graphics.Rendering.OpenGL.Raw.SGIX.VertexPreclip
-    Graphics.Rendering.OpenGL.Raw.SGIX.YCrCb
-    Graphics.Rendering.OpenGL.Raw.SGIX.YCrCbA
-    Graphics.Rendering.OpenGL.Raw.SUN
-    Graphics.Rendering.OpenGL.Raw.SUN.ConvolutionBorderModes
-    Graphics.Rendering.OpenGL.Raw.SUN.GlobalAlpha
-    Graphics.Rendering.OpenGL.Raw.SUN.MeshArray
-    Graphics.Rendering.OpenGL.Raw.SUN.SliceAccum
-    Graphics.Rendering.OpenGL.Raw.SUN.TriangleList
-    Graphics.Rendering.OpenGL.Raw.SUN.Vertex
-    Graphics.Rendering.OpenGL.Raw.SUNX
-    Graphics.Rendering.OpenGL.Raw.SUNX.ConstantData
-    Graphics.Rendering.OpenGL.Raw.ThreeDFX
-    Graphics.Rendering.OpenGL.Raw.ThreeDFX.Multisample
-    Graphics.Rendering.OpenGL.Raw.ThreeDFX.Tbuffer
-    Graphics.Rendering.OpenGL.Raw.ThreeDFX.TextureCompressionFXT1
-    Graphics.Rendering.OpenGL.Raw.Tokens
-    Graphics.Rendering.OpenGL.Raw.Types
-    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
-    Graphics.Rendering.OpenGL.Raw.WIN
-    Graphics.Rendering.OpenGL.Raw.WIN.PhongShading
-    Graphics.Rendering.OpenGL.Raw.WIN.SpecularFog
-  other-modules:
-    Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-    Graphics.Rendering.OpenGL.Raw.Foreign
-  c-sources:
-    cbits/HsOpenGLRaw.c
-  hs-source-dirs: src
-  build-depends:
-    base         >= 4       && < 5,
-    bytestring   >= 0.9     && < 0.11,
-    containers   >= 0.3     && < 0.6,
-    half         >= 0.2.2.1 && < 0.3,
-    text         >= 0.1     && < 1.3,
-    transformers >= 0.2     && < 0.6
-  default-language: Haskell2010
-  ghc-options: -Wall
-  other-extensions: CPP
+version: 3.0.0.0
+synopsis: A raw binding for the OpenGL graphics system
+description:
+  OpenGLRaw is a raw Haskell binding for the OpenGL 4.5 graphics system and
+  lots of OpenGL extensions. It is basically a 1:1 mapping of OpenGL's C API,
+  intended as a basis for a nicer interface. OpenGLRaw offers access to all
+  necessary functions, tokens and types plus a general facility for loading
+  extension entries. The module hierarchy closely mirrors the naming structure
+  of the OpenGL extensions, making it easy to find the right module to import.
+  All API entries are loaded dynamically, so no special C header files are
+  needed for building this package. If an API entry is not found at runtime, a
+  userError is thrown.
+  .
+  OpenGL is the industry's most widely used and supported 2D and 3D graphics
+  application programming interface (API), incorporating a broad set of
+  rendering, texture mapping, special effects, and other powerful visualization
+  functions. For more information about OpenGL and its various extensions,
+  please see <http://www.opengl.org/>
+  and <http://www.opengl.org/registry/>.
+homepage: http://www.haskell.org/haskellwiki/Opengl
+bug-reports: https://github.com/haskell-opengl/OpenGLRaw/issues
+copyright: Copyright (C) 2009-2016 Sven Panne
+license: BSD3
+license-file: LICENSE
+author: Sven Panne
+maintainer: Sven Panne <svenpanne@gmail.com>, Jason Dagit <dagitj@gmail.com>
+category: Graphics
+build-type: Simple
+cabal-version: >= 1.10
+extra-source-files:
+  CHANGELOG.md
+  README.md
+  RegistryProcessor/LICENSE
+  RegistryProcessor/OpenGL-Registry/gl.xml
+  RegistryProcessor/OpenGL-Registry/registry.rnc
+  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:
+    When compiling under Windows, use the native libraries instead of e.g. the
+    ones coming with Cygwin.
+
+flag UseGlXGetProcAddress
+  description:
+    Use glXGetProcAddress instead of dlsym on non-Windows/-Darwin/-Android platforms.
+
+flag UseGLES2
+  description:
+    Use OpenGL ES 2.x instead of OpenGL ES 3.x on Android.
+
+flag OsAndroid
+  description:
+    Compile for Android. This flag goes away when cabal supports os(android).
+  default:
+    False
+
+library
+  exposed-modules:
+    Graphics.GL
+    Graphics.GL.AMD
+    Graphics.GL.AMD.BlendMinmaxFactor
+    Graphics.GL.AMD.DebugOutput
+    Graphics.GL.AMD.DepthClampSeparate
+    Graphics.GL.AMD.DrawBuffersBlend
+    Graphics.GL.AMD.GPUShaderInt64
+    Graphics.GL.AMD.InterleavedElements
+    Graphics.GL.AMD.MultiDrawIndirect
+    Graphics.GL.AMD.NameGenDelete
+    Graphics.GL.AMD.OcclusionQueryEvent
+    Graphics.GL.AMD.PerformanceMonitor
+    Graphics.GL.AMD.PinnedMemory
+    Graphics.GL.AMD.QueryBufferObject
+    Graphics.GL.AMD.SamplePositions
+    Graphics.GL.AMD.SeamlessCubemapPerTexture
+    Graphics.GL.AMD.SparseTexture
+    Graphics.GL.AMD.StencilOperationExtended
+    Graphics.GL.AMD.TransformFeedback4
+    Graphics.GL.AMD.VertexShaderTessellator
+    Graphics.GL.APPLE
+    Graphics.GL.APPLE.AuxDepthStencil
+    Graphics.GL.APPLE.ClientStorage
+    Graphics.GL.APPLE.ElementArray
+    Graphics.GL.APPLE.Fence
+    Graphics.GL.APPLE.FloatPixels
+    Graphics.GL.APPLE.FlushBufferRange
+    Graphics.GL.APPLE.ObjectPurgeable
+    Graphics.GL.APPLE.RGB422
+    Graphics.GL.APPLE.RowBytes
+    Graphics.GL.APPLE.SpecularVector
+    Graphics.GL.APPLE.TextureRange
+    Graphics.GL.APPLE.TransformHint
+    Graphics.GL.APPLE.VertexArrayObject
+    Graphics.GL.APPLE.VertexArrayRange
+    Graphics.GL.APPLE.VertexProgramEvaluators
+    Graphics.GL.APPLE.YCbCr422
+    Graphics.GL.ARB
+    Graphics.GL.ARB.BaseInstance
+    Graphics.GL.ARB.BindlessTexture
+    Graphics.GL.ARB.BlendFuncExtended
+    Graphics.GL.ARB.BufferStorage
+    Graphics.GL.ARB.CLEvent
+    Graphics.GL.ARB.ClearBufferObject
+    Graphics.GL.ARB.ClearTexture
+    Graphics.GL.ARB.ClipControl
+    Graphics.GL.ARB.ColorBufferFloat
+    Graphics.GL.ARB.CompressedTexturePixelStorage
+    Graphics.GL.ARB.ComputeShader
+    Graphics.GL.ARB.ComputeVariableGroupSize
+    Graphics.GL.ARB.ConditionalRenderInverted
+    Graphics.GL.ARB.CopyBuffer
+    Graphics.GL.ARB.CopyImage
+    Graphics.GL.ARB.CullDistance
+    Graphics.GL.ARB.DebugOutput
+    Graphics.GL.ARB.DepthBufferFloat
+    Graphics.GL.ARB.DepthClamp
+    Graphics.GL.ARB.DepthTexture
+    Graphics.GL.ARB.DirectStateAccess
+    Graphics.GL.ARB.DrawBuffers
+    Graphics.GL.ARB.DrawBuffersBlend
+    Graphics.GL.ARB.DrawElementsBaseVertex
+    Graphics.GL.ARB.DrawIndirect
+    Graphics.GL.ARB.DrawInstanced
+    Graphics.GL.ARB.ES2Compatibility
+    Graphics.GL.ARB.ES31Compatibility
+    Graphics.GL.ARB.ES32Compatibility
+    Graphics.GL.ARB.ES3Compatibility
+    Graphics.GL.ARB.EnhancedLayouts
+    Graphics.GL.ARB.ExplicitUniformLocation
+    Graphics.GL.ARB.FragmentProgram
+    Graphics.GL.ARB.FragmentShader
+    Graphics.GL.ARB.FramebufferNoAttachments
+    Graphics.GL.ARB.FramebufferObjectCompatibility
+    Graphics.GL.ARB.FramebufferObjectCore
+    Graphics.GL.ARB.FramebufferSRGB
+    Graphics.GL.ARB.GPUShader5
+    Graphics.GL.ARB.GPUShaderFP64
+    Graphics.GL.ARB.GPUShaderInt64
+    Graphics.GL.ARB.GeometryShader4
+    Graphics.GL.ARB.GetProgramBinary
+    Graphics.GL.ARB.GetTextureSubImage
+    Graphics.GL.ARB.HalfFloatPixel
+    Graphics.GL.ARB.HalfFloatVertex
+    Graphics.GL.ARB.ImagingCompatibility
+    Graphics.GL.ARB.ImagingCore
+    Graphics.GL.ARB.IndirectParameters
+    Graphics.GL.ARB.InstancedArrays
+    Graphics.GL.ARB.InternalformatQuery
+    Graphics.GL.ARB.InternalformatQuery2
+    Graphics.GL.ARB.InvalidateSubdata
+    Graphics.GL.ARB.MapBufferAlignment
+    Graphics.GL.ARB.MapBufferRange
+    Graphics.GL.ARB.MatrixPalette
+    Graphics.GL.ARB.MultiBind
+    Graphics.GL.ARB.MultiDrawIndirect
+    Graphics.GL.ARB.Multisample
+    Graphics.GL.ARB.Multitexture
+    Graphics.GL.ARB.OcclusionQuery
+    Graphics.GL.ARB.OcclusionQuery2
+    Graphics.GL.ARB.ParallelShaderCompile
+    Graphics.GL.ARB.PipelineStatisticsQuery
+    Graphics.GL.ARB.PixelBufferObject
+    Graphics.GL.ARB.PointParameters
+    Graphics.GL.ARB.PointSprite
+    Graphics.GL.ARB.ProgramInterfaceQuery
+    Graphics.GL.ARB.ProvokingVertex
+    Graphics.GL.ARB.QueryBufferObject
+    Graphics.GL.ARB.RobustnessCompatibility
+    Graphics.GL.ARB.RobustnessCore
+    Graphics.GL.ARB.SampleLocations
+    Graphics.GL.ARB.SampleShading
+    Graphics.GL.ARB.SamplerObjects
+    Graphics.GL.ARB.SeamlessCubeMap
+    Graphics.GL.ARB.SeamlessCubemapPerTexture
+    Graphics.GL.ARB.SeparateShaderObjects
+    Graphics.GL.ARB.ShaderAtomicCounters
+    Graphics.GL.ARB.ShaderImageLoadStore
+    Graphics.GL.ARB.ShaderObjects
+    Graphics.GL.ARB.ShaderStorageBufferObject
+    Graphics.GL.ARB.ShaderSubroutine
+    Graphics.GL.ARB.ShadingLanguage100
+    Graphics.GL.ARB.ShadingLanguageInclude
+    Graphics.GL.ARB.Shadow
+    Graphics.GL.ARB.ShadowAmbient
+    Graphics.GL.ARB.SparseBuffer
+    Graphics.GL.ARB.SparseTexture
+    Graphics.GL.ARB.StencilTexturing
+    Graphics.GL.ARB.Sync
+    Graphics.GL.ARB.TessellationShader
+    Graphics.GL.ARB.TextureBarrier
+    Graphics.GL.ARB.TextureBorderClamp
+    Graphics.GL.ARB.TextureBufferObject
+    Graphics.GL.ARB.TextureBufferObjectRGB32
+    Graphics.GL.ARB.TextureBufferRange
+    Graphics.GL.ARB.TextureCompression
+    Graphics.GL.ARB.TextureCompressionBPTC
+    Graphics.GL.ARB.TextureCompressionRGTC
+    Graphics.GL.ARB.TextureCubeMap
+    Graphics.GL.ARB.TextureCubeMapArray
+    Graphics.GL.ARB.TextureEnvCombine
+    Graphics.GL.ARB.TextureEnvDot3
+    Graphics.GL.ARB.TextureFilterMinmax
+    Graphics.GL.ARB.TextureFloat
+    Graphics.GL.ARB.TextureGather
+    Graphics.GL.ARB.TextureMirrorClampToEdge
+    Graphics.GL.ARB.TextureMirroredRepeat
+    Graphics.GL.ARB.TextureMultisample
+    Graphics.GL.ARB.TextureRG
+    Graphics.GL.ARB.TextureRGB10A2UI
+    Graphics.GL.ARB.TextureRectangle
+    Graphics.GL.ARB.TextureStencil8
+    Graphics.GL.ARB.TextureStorage
+    Graphics.GL.ARB.TextureStorageMultisample
+    Graphics.GL.ARB.TextureSwizzle
+    Graphics.GL.ARB.TextureView
+    Graphics.GL.ARB.TimerQuery
+    Graphics.GL.ARB.TransformFeedback2
+    Graphics.GL.ARB.TransformFeedback3
+    Graphics.GL.ARB.TransformFeedbackInstanced
+    Graphics.GL.ARB.TransformFeedbackOverflowQuery
+    Graphics.GL.ARB.TransposeMatrix
+    Graphics.GL.ARB.UniformBufferObject
+    Graphics.GL.ARB.VertexArrayBGRA
+    Graphics.GL.ARB.VertexArrayObject
+    Graphics.GL.ARB.VertexAttrib64Bit
+    Graphics.GL.ARB.VertexAttribBinding
+    Graphics.GL.ARB.VertexBlend
+    Graphics.GL.ARB.VertexBufferObject
+    Graphics.GL.ARB.VertexProgram
+    Graphics.GL.ARB.VertexShader
+    Graphics.GL.ARB.VertexType10f11f11fRev
+    Graphics.GL.ARB.VertexType2101010RevCompatibility
+    Graphics.GL.ARB.VertexType2101010RevCore
+    Graphics.GL.ARB.ViewportArray
+    Graphics.GL.ARB.WindowPos
+    Graphics.GL.ATI
+    Graphics.GL.ATI.DrawBuffers
+    Graphics.GL.ATI.ElementArray
+    Graphics.GL.ATI.EnvmapBumpmap
+    Graphics.GL.ATI.FragmentShader
+    Graphics.GL.ATI.MapObjectBuffer
+    Graphics.GL.ATI.Meminfo
+    Graphics.GL.ATI.PNTriangles
+    Graphics.GL.ATI.PixelFormatFloat
+    Graphics.GL.ATI.SeparateStencil
+    Graphics.GL.ATI.TextFragmentShader
+    Graphics.GL.ATI.TextureEnvCombine3
+    Graphics.GL.ATI.TextureFloat
+    Graphics.GL.ATI.TextureMirrorOnce
+    Graphics.GL.ATI.VertexArrayObject
+    Graphics.GL.ATI.VertexAttribArrayObject
+    Graphics.GL.ATI.VertexStreams
+    Graphics.GL.Compatibility30
+    Graphics.GL.Compatibility31
+    Graphics.GL.Compatibility32
+    Graphics.GL.Compatibility33
+    Graphics.GL.Compatibility40
+    Graphics.GL.Compatibility41
+    Graphics.GL.Compatibility42
+    Graphics.GL.Compatibility43
+    Graphics.GL.Compatibility44
+    Graphics.GL.Compatibility45
+    Graphics.GL.Core30
+    Graphics.GL.Core31
+    Graphics.GL.Core32
+    Graphics.GL.Core33
+    Graphics.GL.Core40
+    Graphics.GL.Core41
+    Graphics.GL.Core42
+    Graphics.GL.Core43
+    Graphics.GL.Core44
+    Graphics.GL.Core45
+    Graphics.GL.EXT
+    Graphics.GL.EXT.ABGR
+    Graphics.GL.EXT.BGRA
+    Graphics.GL.EXT.BindableUniform
+    Graphics.GL.EXT.BlendColor
+    Graphics.GL.EXT.BlendEquationSeparate
+    Graphics.GL.EXT.BlendFuncSeparate
+    Graphics.GL.EXT.BlendMinmax
+    Graphics.GL.EXT.BlendSubtract
+    Graphics.GL.EXT.CMYKA
+    Graphics.GL.EXT.ClipVolumeHint
+    Graphics.GL.EXT.ColorSubtable
+    Graphics.GL.EXT.CompiledVertexArray
+    Graphics.GL.EXT.Convolution
+    Graphics.GL.EXT.CoordinateFrame
+    Graphics.GL.EXT.CopyTexture
+    Graphics.GL.EXT.CullVertex
+    Graphics.GL.EXT.DebugLabel
+    Graphics.GL.EXT.DebugMarker
+    Graphics.GL.EXT.DepthBoundsTest
+    Graphics.GL.EXT.DirectStateAccess
+    Graphics.GL.EXT.DrawBuffers2
+    Graphics.GL.EXT.DrawInstanced
+    Graphics.GL.EXT.DrawRangeElements
+    Graphics.GL.EXT.FogCoord
+    Graphics.GL.EXT.FourTwoTwoPixels
+    Graphics.GL.EXT.FramebufferBlit
+    Graphics.GL.EXT.FramebufferMultisample
+    Graphics.GL.EXT.FramebufferMultisampleBlitScaled
+    Graphics.GL.EXT.FramebufferObject
+    Graphics.GL.EXT.FramebufferSRGB
+    Graphics.GL.EXT.GPUProgramParameters
+    Graphics.GL.EXT.GPUShader4
+    Graphics.GL.EXT.GeometryShader4
+    Graphics.GL.EXT.Histogram
+    Graphics.GL.EXT.IndexArrayFormats
+    Graphics.GL.EXT.IndexFunc
+    Graphics.GL.EXT.IndexMaterial
+    Graphics.GL.EXT.LightTexture
+    Graphics.GL.EXT.MultiDrawArrays
+    Graphics.GL.EXT.Multisample
+    Graphics.GL.EXT.PackedDepthStencil
+    Graphics.GL.EXT.PackedFloat
+    Graphics.GL.EXT.PackedPixels
+    Graphics.GL.EXT.PalettedTexture
+    Graphics.GL.EXT.PixelBufferObject
+    Graphics.GL.EXT.PixelTransform
+    Graphics.GL.EXT.PointParameters
+    Graphics.GL.EXT.PolygonOffset
+    Graphics.GL.EXT.PolygonOffsetClamp
+    Graphics.GL.EXT.ProvokingVertex
+    Graphics.GL.EXT.RasterMultisample
+    Graphics.GL.EXT.RescaleNormal
+    Graphics.GL.EXT.SecondaryColor
+    Graphics.GL.EXT.SeparateShaderObjects
+    Graphics.GL.EXT.SeparateSpecularColor
+    Graphics.GL.EXT.ShaderImageLoadStore
+    Graphics.GL.EXT.SharedTexturePalette
+    Graphics.GL.EXT.StencilClearTag
+    Graphics.GL.EXT.StencilTwoSide
+    Graphics.GL.EXT.StencilWrap
+    Graphics.GL.EXT.Subtexture
+    Graphics.GL.EXT.Texture
+    Graphics.GL.EXT.Texture3D
+    Graphics.GL.EXT.TextureArray
+    Graphics.GL.EXT.TextureBufferObject
+    Graphics.GL.EXT.TextureCompressionLATC
+    Graphics.GL.EXT.TextureCompressionRGTC
+    Graphics.GL.EXT.TextureCompressionS3TC
+    Graphics.GL.EXT.TextureCubeMap
+    Graphics.GL.EXT.TextureEnvCombine
+    Graphics.GL.EXT.TextureEnvDot3
+    Graphics.GL.EXT.TextureFilterAnisotropic
+    Graphics.GL.EXT.TextureFilterMinmax
+    Graphics.GL.EXT.TextureInteger
+    Graphics.GL.EXT.TextureLODBias
+    Graphics.GL.EXT.TextureMirrorClamp
+    Graphics.GL.EXT.TextureObject
+    Graphics.GL.EXT.TexturePerturbNormal
+    Graphics.GL.EXT.TextureSNorm
+    Graphics.GL.EXT.TextureSRGB
+    Graphics.GL.EXT.TextureSRGBDecode
+    Graphics.GL.EXT.TextureSharedExponent
+    Graphics.GL.EXT.TextureSwizzle
+    Graphics.GL.EXT.TimerQuery
+    Graphics.GL.EXT.TransformFeedback
+    Graphics.GL.EXT.VertexArray
+    Graphics.GL.EXT.VertexArrayBGRA
+    Graphics.GL.EXT.VertexAttrib64Bit
+    Graphics.GL.EXT.VertexShader
+    Graphics.GL.EXT.VertexWeighting
+    Graphics.GL.EXT.X11SyncObject
+    Graphics.GL.Functions
+    Graphics.GL.GREMEDY
+    Graphics.GL.GREMEDY.FrameTerminator
+    Graphics.GL.GREMEDY.StringMarker
+    Graphics.GL.GetProcAddress
+    Graphics.GL.Groups
+    Graphics.GL.HP
+    Graphics.GL.HP.ConvolutionBorderModes
+    Graphics.GL.HP.ImageTransform
+    Graphics.GL.HP.OcclusionTest
+    Graphics.GL.HP.TextureLighting
+    Graphics.GL.IBM
+    Graphics.GL.IBM.CullVertex
+    Graphics.GL.IBM.MultimodeDrawArrays
+    Graphics.GL.IBM.RasterposClip
+    Graphics.GL.IBM.StaticData
+    Graphics.GL.IBM.TextureMirroredRepeat
+    Graphics.GL.IBM.VertexArrayLists
+    Graphics.GL.INGR
+    Graphics.GL.INGR.BlendFuncSeparate
+    Graphics.GL.INGR.ColorClamp
+    Graphics.GL.INGR.InterlaceRead
+    Graphics.GL.INTEL
+    Graphics.GL.INTEL.FramebufferCmaa
+    Graphics.GL.INTEL.MapTexture
+    Graphics.GL.INTEL.ParallelArrays
+    Graphics.GL.INTEL.PerformanceQuery
+    Graphics.GL.KHR
+    Graphics.GL.KHR.BlendEquationAdvanced
+    Graphics.GL.KHR.BlendEquationAdvancedCoherent
+    Graphics.GL.KHR.ContextFlushControl
+    Graphics.GL.KHR.DebugCompatibility
+    Graphics.GL.KHR.DebugCore
+    Graphics.GL.KHR.NoError
+    Graphics.GL.KHR.Robustness
+    Graphics.GL.KHR.TextureCompressionASTCHDR
+    Graphics.GL.KHR.TextureCompressionASTCLDR
+    Graphics.GL.MESA
+    Graphics.GL.MESA.PackInvert
+    Graphics.GL.MESA.ResizeBuffers
+    Graphics.GL.MESA.WindowPos
+    Graphics.GL.MESA.YCbCrTexture
+    Graphics.GL.MESAX
+    Graphics.GL.MESAX.TextureStack
+    Graphics.GL.NV
+    Graphics.GL.NV.BindlessMultiDrawIndirect
+    Graphics.GL.NV.BindlessMultiDrawIndirectCount
+    Graphics.GL.NV.BindlessTexture
+    Graphics.GL.NV.BlendEquationAdvanced
+    Graphics.GL.NV.BlendEquationAdvancedCoherent
+    Graphics.GL.NV.CommandList
+    Graphics.GL.NV.ComputeProgram5
+    Graphics.GL.NV.ConditionalRender
+    Graphics.GL.NV.ConservativeRaster
+    Graphics.GL.NV.ConservativeRasterDilate
+    Graphics.GL.NV.CopyDepthToColor
+    Graphics.GL.NV.CopyImage
+    Graphics.GL.NV.DeepTexture3D
+    Graphics.GL.NV.DepthBufferFloat
+    Graphics.GL.NV.DepthClamp
+    Graphics.GL.NV.DrawTexture
+    Graphics.GL.NV.Evaluators
+    Graphics.GL.NV.ExplicitMultisample
+    Graphics.GL.NV.Fence
+    Graphics.GL.NV.FillRectangle
+    Graphics.GL.NV.FloatBuffer
+    Graphics.GL.NV.FogDistance
+    Graphics.GL.NV.FragmentCoverageToColor
+    Graphics.GL.NV.FragmentProgram
+    Graphics.GL.NV.FragmentProgram2
+    Graphics.GL.NV.FramebufferMixedSamples
+    Graphics.GL.NV.FramebufferMultisampleCoverage
+    Graphics.GL.NV.GPUProgram4
+    Graphics.GL.NV.GPUProgram5
+    Graphics.GL.NV.GPUShader5
+    Graphics.GL.NV.GeometryProgram4
+    Graphics.GL.NV.HalfFloat
+    Graphics.GL.NV.InternalformatSampleQuery
+    Graphics.GL.NV.LightMaxExponent
+    Graphics.GL.NV.MultisampleCoverage
+    Graphics.GL.NV.MultisampleFilterHint
+    Graphics.GL.NV.OcclusionQuery
+    Graphics.GL.NV.PackedDepthStencil
+    Graphics.GL.NV.ParameterBufferObject
+    Graphics.GL.NV.PathRenderingCompatibility
+    Graphics.GL.NV.PathRenderingCore
+    Graphics.GL.NV.PathRenderingSharedEdge
+    Graphics.GL.NV.PixelDataRange
+    Graphics.GL.NV.PointSprite
+    Graphics.GL.NV.PresentVideo
+    Graphics.GL.NV.PrimitiveRestart
+    Graphics.GL.NV.RegisterCombiners
+    Graphics.GL.NV.RegisterCombiners2
+    Graphics.GL.NV.SampleLocations
+    Graphics.GL.NV.ShaderBufferLoad
+    Graphics.GL.NV.ShaderBufferStore
+    Graphics.GL.NV.ShaderThreadGroup
+    Graphics.GL.NV.TessellationProgram5
+    Graphics.GL.NV.TexgenEmboss
+    Graphics.GL.NV.TexgenReflection
+    Graphics.GL.NV.TextureBarrier
+    Graphics.GL.NV.TextureEnvCombine4
+    Graphics.GL.NV.TextureExpandNormal
+    Graphics.GL.NV.TextureMultisample
+    Graphics.GL.NV.TextureRectangle
+    Graphics.GL.NV.TextureShader
+    Graphics.GL.NV.TextureShader2
+    Graphics.GL.NV.TextureShader3
+    Graphics.GL.NV.TransformFeedback
+    Graphics.GL.NV.TransformFeedback2
+    Graphics.GL.NV.UniformBufferUnifiedMemory
+    Graphics.GL.NV.VDPAUInterop
+    Graphics.GL.NV.VertexArrayRange
+    Graphics.GL.NV.VertexArrayRange2
+    Graphics.GL.NV.VertexAttribInteger64Bit
+    Graphics.GL.NV.VertexBufferUnifiedMemory
+    Graphics.GL.NV.VertexProgram
+    Graphics.GL.NV.VertexProgram2Option
+    Graphics.GL.NV.VertexProgram3
+    Graphics.GL.NV.VertexProgram4
+    Graphics.GL.NV.VideoCapture
+    Graphics.GL.NVX
+    Graphics.GL.NVX.ConditionalRender
+    Graphics.GL.NVX.GPUMemoryInfo
+    Graphics.GL.OES
+    Graphics.GL.OES.ByteCoordinates
+    Graphics.GL.OES.CompressedPalettedTexture
+    Graphics.GL.OES.FixedPoint
+    Graphics.GL.OES.QueryMatrix
+    Graphics.GL.OES.ReadFormat
+    Graphics.GL.OES.SinglePrecision
+    Graphics.GL.OML
+    Graphics.GL.OML.Interlace
+    Graphics.GL.OML.Resample
+    Graphics.GL.OML.Subsample
+    Graphics.GL.OVR
+    Graphics.GL.OVR.Multiview
+    Graphics.GL.PGI
+    Graphics.GL.PGI.MiscHints
+    Graphics.GL.PGI.VertexHints
+    Graphics.GL.REND
+    Graphics.GL.REND.ScreenCoordinates
+    Graphics.GL.S3
+    Graphics.GL.S3.S3TC
+    Graphics.GL.SGI
+    Graphics.GL.SGI.ColorMatrix
+    Graphics.GL.SGI.ColorTable
+    Graphics.GL.SGI.TextureColorTable
+    Graphics.GL.SGIS
+    Graphics.GL.SGIS.DetailTexture
+    Graphics.GL.SGIS.FogFunction
+    Graphics.GL.SGIS.GenerateMipmap
+    Graphics.GL.SGIS.Multisample
+    Graphics.GL.SGIS.PixelTexture
+    Graphics.GL.SGIS.PointLineTexgen
+    Graphics.GL.SGIS.PointParameters
+    Graphics.GL.SGIS.SharpenTexture
+    Graphics.GL.SGIS.Texture4D
+    Graphics.GL.SGIS.TextureBorderClamp
+    Graphics.GL.SGIS.TextureColorMask
+    Graphics.GL.SGIS.TextureEdgeClamp
+    Graphics.GL.SGIS.TextureFilter4
+    Graphics.GL.SGIS.TextureLOD
+    Graphics.GL.SGIS.TextureSelect
+    Graphics.GL.SGIX
+    Graphics.GL.SGIX.Async
+    Graphics.GL.SGIX.AsyncHistogram
+    Graphics.GL.SGIX.AsyncPixel
+    Graphics.GL.SGIX.BlendAlphaMinmax
+    Graphics.GL.SGIX.CalligraphicFragment
+    Graphics.GL.SGIX.Clipmap
+    Graphics.GL.SGIX.ConvolutionAccuracy
+    Graphics.GL.SGIX.DepthTexture
+    Graphics.GL.SGIX.FlushRaster
+    Graphics.GL.SGIX.FogOffset
+    Graphics.GL.SGIX.FragmentLighting
+    Graphics.GL.SGIX.Framezoom
+    Graphics.GL.SGIX.IglooInterface
+    Graphics.GL.SGIX.Instruments
+    Graphics.GL.SGIX.Interlace
+    Graphics.GL.SGIX.IrInstrument1
+    Graphics.GL.SGIX.ListPriority
+    Graphics.GL.SGIX.PixelTexture
+    Graphics.GL.SGIX.PixelTiles
+    Graphics.GL.SGIX.PolynomialFFD
+    Graphics.GL.SGIX.ReferencePlane
+    Graphics.GL.SGIX.Resample
+    Graphics.GL.SGIX.ScalebiasHint
+    Graphics.GL.SGIX.Shadow
+    Graphics.GL.SGIX.ShadowAmbient
+    Graphics.GL.SGIX.Sprite
+    Graphics.GL.SGIX.Subsample
+    Graphics.GL.SGIX.TagSampleBuffer
+    Graphics.GL.SGIX.TextureAddEnv
+    Graphics.GL.SGIX.TextureCoordinateClamp
+    Graphics.GL.SGIX.TextureLODBias
+    Graphics.GL.SGIX.TextureMultiBuffer
+    Graphics.GL.SGIX.TextureScaleBias
+    Graphics.GL.SGIX.VertexPreclip
+    Graphics.GL.SGIX.YCrCb
+    Graphics.GL.SGIX.YCrCbA
+    Graphics.GL.SUN
+    Graphics.GL.SUN.ConvolutionBorderModes
+    Graphics.GL.SUN.GlobalAlpha
+    Graphics.GL.SUN.MeshArray
+    Graphics.GL.SUN.SliceAccum
+    Graphics.GL.SUN.TriangleList
+    Graphics.GL.SUN.Vertex
+    Graphics.GL.SUNX
+    Graphics.GL.SUNX.ConstantData
+    Graphics.GL.ThreeDFX
+    Graphics.GL.ThreeDFX.Multisample
+    Graphics.GL.ThreeDFX.Tbuffer
+    Graphics.GL.ThreeDFX.TextureCompressionFXT1
+    Graphics.GL.Tokens
+    Graphics.GL.Types
+    Graphics.GL.Version10
+    Graphics.GL.Version11
+    Graphics.GL.Version12
+    Graphics.GL.Version13
+    Graphics.GL.Version14
+    Graphics.GL.Version15
+    Graphics.GL.Version20
+    Graphics.GL.Version21
+    Graphics.GL.WIN
+    Graphics.GL.WIN.PhongShading
+    Graphics.GL.WIN.SpecularFog
+  other-modules:
+    Graphics.GL.ExtensionPredicates
+    Graphics.GL.Foreign
+  c-sources:
+    cbits/HsOpenGLRaw.c
+  hs-source-dirs: src
+  build-depends:
+    base         >= 4       && < 5,
+    bytestring   >= 0.9     && < 0.11,
+    containers   >= 0.3     && < 0.6,
+    fixed        >= 0.2     && < 0.3,
+    half         >= 0.2.2.1 && < 0.3,
+    text         >= 0.1     && < 1.3,
+    transformers >= 0.2     && < 0.6
+  default-language: Haskell2010
+  ghc-options: -Wall
+  other-extensions:
+    CPP
+    PatternSynonyms
+    ScopedTypeVariables
   if os(windows) && flag(UseNativeWindowsLibraries)
     if arch(i386)
       cpp-options: "-DCALLCONV=stdcall"
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,1 +1,1 @@
-[![Hackage](https://img.shields.io/hackage/v/OpenGLRaw.svg)](https://hackage.haskell.org/package/OpenGLRaw) [![Build Status](https://travis-ci.org/haskell-opengl/OpenGLRaw.png)](https://travis-ci.org/haskell-opengl/OpenGLRaw)
+[![Hackage](https://img.shields.io/hackage/v/OpenGLRaw.svg)](https://hackage.haskell.org/package/OpenGLRaw) [![Build Status](https://travis-ci.org/haskell-opengl/OpenGLRaw.png?branch=master)](https://travis-ci.org/haskell-opengl/OpenGLRaw)
diff --git a/RegistryProcessor/LICENSE b/RegistryProcessor/LICENSE
--- a/RegistryProcessor/LICENSE
+++ b/RegistryProcessor/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2015, Sven Panne
+Copyright (c) 2016, Sven Panne
 
 All rights reserved.
 
diff --git a/RegistryProcessor/src/Main.hs b/RegistryProcessor/src/Main.hs
--- a/RegistryProcessor/src/Main.hs
+++ b/RegistryProcessor/src/Main.hs
@@ -42,7 +42,7 @@
             "3.0", "3.1", "3.2", "3.3",
             "4.0", "4.1", "4.2", "4.3", "4.4", "4.5" ]
   "gles1" -> [ "1.0" ]
-  "gles2" -> [ "2.0", "3.0", "3.1" ]
+  "gles2" -> [ "2.0", "3.0", "3.1", "3.2" ]
   a -> error $ "unknown API " ++ a
 
 latestVersion :: API -> Version
@@ -77,7 +77,7 @@
   let comment =
         ["All enumeration tokens from the",
          "<http://www.opengl.org/registry/ OpenGL registry>."]
-  startModule ["Tokens"] Nothing comment $ \moduleName h -> do
+  startModule ["Tokens"] (Just "{-# LANGUAGE PatternSynonyms, ScopedTypeVariables #-}") comment $ \moduleName h -> do
     SI.hPutStrLn h $ "module " ++ moduleName ++ " where"
     SI.hPutStrLn h ""
     SI.hPutStrLn h $ "import " ++ moduleNameFor ["Types"]
@@ -369,8 +369,9 @@
 
 -- Note that we handle features just like extensions.
 printExtension :: [String] -> Maybe ExtensionName -> ExtensionParts -> IO ()
-printExtension moduleNameSuffix mbExtName (ts, es, cs) =
-  startModule moduleNameSuffix Nothing [] $ \moduleName h -> do
+printExtension moduleNameSuffix mbExtName (ts, es, cs) = do
+  let pragma = if null es then Nothing else Just "{-# LANGUAGE PatternSynonyms #-}"
+  startModule moduleNameSuffix pragma [] $ \moduleName h -> do
     SI.hPutStrLn h $ "module "++ moduleName ++ " ("
     flip (maybe (return ())) mbExtName $ \extName -> do
       SI.hPutStrLn h "  -- * Extension Support"
@@ -382,7 +383,7 @@
       SI.hPutStrLn h $ if null es && null cs then "" else ","
     CM.unless (null es) $ do
       SI.hPutStrLn h "  -- * Enums"
-      SI.hPutStr h $ separate (unEnumName . enumName) es
+      SI.hPutStr h $ separate (("pattern " ++) . unEnumName . enumName) es
       SI.hPutStrLn h $ if null cs then "" else ","
     CM.unless (null cs) $ do
       SI.hPutStrLn h "  -- * Functions"
@@ -460,7 +461,7 @@
 modulePathFor moduleNameSuffix = F.joinPath (moduleNameParts moduleNameSuffix) `F.addExtension` "hs"
 
 moduleNameParts :: [String] -> [String]
-moduleNameParts = (["Graphics", "Rendering", "OpenGL", "Raw"] ++)
+moduleNameParts = (["Graphics", "GL"] ++)
 
 printModuleHeader :: SI.Handle -> Maybe String -> String -> [String] -> IO ()
 printModuleHeader h mbPragma moduleName comments = do
@@ -468,7 +469,7 @@
   SI.hPutStrLn h "--------------------------------------------------------------------------------"
   SI.hPutStrLn h "-- |"
   SI.hPutStrLn h $ "-- Module      :  " ++ moduleName
-  SI.hPutStrLn h "-- Copyright   :  (c) Sven Panne 2015"
+  SI.hPutStrLn h "-- Copyright   :  (c) Sven Panne 2016"
   SI.hPutStrLn h "-- License     :  BSD3"
   SI.hPutStrLn h "--"
   SI.hPutStrLn h "-- Maintainer  :  Sven Panne <svenpanne@gmail.com>"
@@ -545,8 +546,7 @@
 
 convertEnum :: Enum' -> [String]
 convertEnum e =
-  [ n ++ " :: " ++ unTypeName (enumType e)
-  , n ++ " = " ++ unEnumValue (enumValue e) ]
+  [ "pattern " ++ n ++ " = " ++ unEnumValue (enumValue e) ++ " :: " ++ unTypeName (enumType e) ]
   where n = unEnumName . enumName $ e
 
 showCommand :: API -> Registry -> M.Map String String -> Command -> String
diff --git a/RegistryProcessor/src/MangledRegistry.hs b/RegistryProcessor/src/MangledRegistry.hs
--- a/RegistryProcessor/src/MangledRegistry.hs
+++ b/RegistryProcessor/src/MangledRegistry.hs
@@ -27,7 +27,6 @@
   splitWords, joinWords
 ) 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
@@ -108,7 +107,7 @@
 
 toGroup :: R.Group -> Group
 toGroup g = Group {
-  groupEnums = map (mangleEnumName . R.unName) (R.groupEnums g) }
+  groupEnums = map (EnumName . R.unName) (R.groupEnums g) }
 
 -- NOTE: Due to an oversight in the OpenGL ES spec, an enum can have different
 -- values for different APIs (happens only for GL_ACTIVE_PROGRAM_EXT).
@@ -124,12 +123,7 @@
   enumValue = EnumValue (R.enumValue e),
   enumAPI = API `fmap` R.enumAPI e,
   enumType = toTypeName (R.enumType e),
-  enumName = mangleEnumName (R.enumName e) }
-
-mangleEnumName :: String -> EnumName
-mangleEnumName =
-  EnumName . joinWords . headToLower . splitWords
-  where headToLower xs = map C.toLower (head xs) : tail xs
+  enumName = EnumName (R.enumName e) }
 
 splitChar :: Char
 splitChar = '_'
@@ -267,7 +261,7 @@
 toInterfaceElement i =
   (case R.interfaceElementKind i of
      R.InterfaceElementType -> TypeElement . R.TypeName
-     R.InterfaceElementEnum -> EnumElement . mangleEnumName
+     R.InterfaceElementEnum -> EnumElement . EnumName
      R.InterfaceElementCommand -> CommandElement . CommandName)
   (R.unName (R.interfaceElementName i))
 
diff --git a/src/Graphics/GL.hs b/src/Graphics/GL.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL.hs
@@ -0,0 +1,78 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining the latest OpenGL compatibility profile plus
+-- all extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL (
+  module Graphics.GL.Compatibility45,
+  module Graphics.GL.GetProcAddress,
+  module Graphics.GL.AMD,
+  module Graphics.GL.APPLE,
+  module Graphics.GL.ARB,
+  module Graphics.GL.ATI,
+  module Graphics.GL.EXT,
+  module Graphics.GL.GREMEDY,
+  module Graphics.GL.HP,
+  module Graphics.GL.IBM,
+  module Graphics.GL.INGR,
+  module Graphics.GL.INTEL,
+  module Graphics.GL.KHR,
+  module Graphics.GL.MESA,
+  module Graphics.GL.MESAX,
+  module Graphics.GL.NV,
+  module Graphics.GL.NVX,
+  module Graphics.GL.OES,
+  module Graphics.GL.OML,
+  module Graphics.GL.OVR,
+  module Graphics.GL.PGI,
+  module Graphics.GL.REND,
+  module Graphics.GL.S3,
+  module Graphics.GL.SGI,
+  module Graphics.GL.SGIS,
+  module Graphics.GL.SGIX,
+  module Graphics.GL.SUN,
+  module Graphics.GL.SUNX,
+  module Graphics.GL.ThreeDFX,
+  module Graphics.GL.WIN
+) where
+
+import Graphics.GL.Compatibility45
+import Graphics.GL.GetProcAddress
+import Graphics.GL.AMD
+import Graphics.GL.APPLE
+import Graphics.GL.ARB
+import Graphics.GL.ATI
+import Graphics.GL.EXT
+import Graphics.GL.GREMEDY
+import Graphics.GL.HP
+import Graphics.GL.IBM
+import Graphics.GL.INGR
+import Graphics.GL.INTEL
+import Graphics.GL.KHR
+import Graphics.GL.MESA
+import Graphics.GL.MESAX
+import Graphics.GL.NV
+import Graphics.GL.NVX
+import Graphics.GL.OES
+import Graphics.GL.OML
+import Graphics.GL.OVR
+import Graphics.GL.PGI
+import Graphics.GL.REND
+import Graphics.GL.S3
+import Graphics.GL.SGI
+import Graphics.GL.SGIS
+import Graphics.GL.SGIX
+import Graphics.GL.SUN
+import Graphics.GL.SUNX
+import Graphics.GL.ThreeDFX
+import Graphics.GL.WIN
diff --git a/src/Graphics/GL/AMD.hs b/src/Graphics/GL/AMD.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD.hs
@@ -0,0 +1,53 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing AMD extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD (
+  module Graphics.GL.AMD.BlendMinmaxFactor,
+  module Graphics.GL.AMD.DebugOutput,
+  module Graphics.GL.AMD.DepthClampSeparate,
+  module Graphics.GL.AMD.DrawBuffersBlend,
+  module Graphics.GL.AMD.GPUShaderInt64,
+  module Graphics.GL.AMD.InterleavedElements,
+  module Graphics.GL.AMD.MultiDrawIndirect,
+  module Graphics.GL.AMD.NameGenDelete,
+  module Graphics.GL.AMD.OcclusionQueryEvent,
+  module Graphics.GL.AMD.PerformanceMonitor,
+  module Graphics.GL.AMD.PinnedMemory,
+  module Graphics.GL.AMD.QueryBufferObject,
+  module Graphics.GL.AMD.SamplePositions,
+  module Graphics.GL.AMD.SeamlessCubemapPerTexture,
+  module Graphics.GL.AMD.SparseTexture,
+  module Graphics.GL.AMD.StencilOperationExtended,
+  module Graphics.GL.AMD.TransformFeedback4,
+  module Graphics.GL.AMD.VertexShaderTessellator
+) where
+
+import Graphics.GL.AMD.BlendMinmaxFactor
+import Graphics.GL.AMD.DebugOutput
+import Graphics.GL.AMD.DepthClampSeparate
+import Graphics.GL.AMD.DrawBuffersBlend
+import Graphics.GL.AMD.GPUShaderInt64
+import Graphics.GL.AMD.InterleavedElements
+import Graphics.GL.AMD.MultiDrawIndirect
+import Graphics.GL.AMD.NameGenDelete
+import Graphics.GL.AMD.OcclusionQueryEvent
+import Graphics.GL.AMD.PerformanceMonitor
+import Graphics.GL.AMD.PinnedMemory
+import Graphics.GL.AMD.QueryBufferObject
+import Graphics.GL.AMD.SamplePositions
+import Graphics.GL.AMD.SeamlessCubemapPerTexture
+import Graphics.GL.AMD.SparseTexture
+import Graphics.GL.AMD.StencilOperationExtended
+import Graphics.GL.AMD.TransformFeedback4
+import Graphics.GL.AMD.VertexShaderTessellator
diff --git a/src/Graphics/GL/AMD/BlendMinmaxFactor.hs b/src/Graphics/GL/AMD/BlendMinmaxFactor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/BlendMinmaxFactor.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.BlendMinmaxFactor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.BlendMinmaxFactor (
+  -- * Extension Support
+  glGetAMDBlendMinmaxFactor,
+  gl_AMD_blend_minmax_factor,
+  -- * Enums
+  pattern GL_FACTOR_MAX_AMD,
+  pattern GL_FACTOR_MIN_AMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/AMD/DebugOutput.hs b/src/Graphics/GL/AMD/DebugOutput.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/DebugOutput.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.DebugOutput
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.DebugOutput (
+  -- * Extension Support
+  glGetAMDDebugOutput,
+  gl_AMD_debug_output,
+  -- * Enums
+  pattern GL_DEBUG_CATEGORY_API_ERROR_AMD,
+  pattern GL_DEBUG_CATEGORY_APPLICATION_AMD,
+  pattern GL_DEBUG_CATEGORY_DEPRECATION_AMD,
+  pattern GL_DEBUG_CATEGORY_OTHER_AMD,
+  pattern GL_DEBUG_CATEGORY_PERFORMANCE_AMD,
+  pattern GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD,
+  pattern GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD,
+  pattern GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD,
+  pattern GL_DEBUG_LOGGED_MESSAGES_AMD,
+  pattern GL_DEBUG_SEVERITY_HIGH_AMD,
+  pattern GL_DEBUG_SEVERITY_LOW_AMD,
+  pattern GL_DEBUG_SEVERITY_MEDIUM_AMD,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES_AMD,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH_AMD,
+  -- * Functions
+  glDebugMessageCallbackAMD,
+  glDebugMessageEnableAMD,
+  glDebugMessageInsertAMD,
+  glGetDebugMessageLogAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/DepthClampSeparate.hs b/src/Graphics/GL/AMD/DepthClampSeparate.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/DepthClampSeparate.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.DepthClampSeparate
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.DepthClampSeparate (
+  -- * Extension Support
+  glGetAMDDepthClampSeparate,
+  gl_AMD_depth_clamp_separate,
+  -- * Enums
+  pattern GL_DEPTH_CLAMP_FAR_AMD,
+  pattern GL_DEPTH_CLAMP_NEAR_AMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/AMD/DrawBuffersBlend.hs b/src/Graphics/GL/AMD/DrawBuffersBlend.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/DrawBuffersBlend.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.DrawBuffersBlend
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.DrawBuffersBlend (
+  -- * Extension Support
+  glGetAMDDrawBuffersBlend,
+  gl_AMD_draw_buffers_blend,
+  -- * Functions
+  glBlendEquationIndexedAMD,
+  glBlendEquationSeparateIndexedAMD,
+  glBlendFuncIndexedAMD,
+  glBlendFuncSeparateIndexedAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/GPUShaderInt64.hs b/src/Graphics/GL/AMD/GPUShaderInt64.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/GPUShaderInt64.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.GPUShaderInt64
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.GPUShaderInt64 (
+  -- * Extension Support
+  glGetAMDGPUShaderInt64,
+  gl_AMD_gpu_shader_int64,
+  -- * Enums
+  pattern GL_FLOAT16_NV,
+  pattern GL_FLOAT16_VEC2_NV,
+  pattern GL_FLOAT16_VEC3_NV,
+  pattern GL_FLOAT16_VEC4_NV,
+  pattern GL_INT16_NV,
+  pattern GL_INT16_VEC2_NV,
+  pattern GL_INT16_VEC3_NV,
+  pattern GL_INT16_VEC4_NV,
+  pattern GL_INT64_NV,
+  pattern GL_INT64_VEC2_NV,
+  pattern GL_INT64_VEC3_NV,
+  pattern GL_INT64_VEC4_NV,
+  pattern GL_INT8_NV,
+  pattern GL_INT8_VEC2_NV,
+  pattern GL_INT8_VEC3_NV,
+  pattern GL_INT8_VEC4_NV,
+  pattern GL_UNSIGNED_INT16_NV,
+  pattern GL_UNSIGNED_INT16_VEC2_NV,
+  pattern GL_UNSIGNED_INT16_VEC3_NV,
+  pattern GL_UNSIGNED_INT16_VEC4_NV,
+  pattern GL_UNSIGNED_INT64_NV,
+  pattern GL_UNSIGNED_INT64_VEC2_NV,
+  pattern GL_UNSIGNED_INT64_VEC3_NV,
+  pattern GL_UNSIGNED_INT64_VEC4_NV,
+  pattern GL_UNSIGNED_INT8_NV,
+  pattern GL_UNSIGNED_INT8_VEC2_NV,
+  pattern GL_UNSIGNED_INT8_VEC3_NV,
+  pattern GL_UNSIGNED_INT8_VEC4_NV,
+  -- * Functions
+  glGetUniformi64vNV,
+  glGetUniformui64vNV,
+  glProgramUniform1i64NV,
+  glProgramUniform1i64vNV,
+  glProgramUniform1ui64NV,
+  glProgramUniform1ui64vNV,
+  glProgramUniform2i64NV,
+  glProgramUniform2i64vNV,
+  glProgramUniform2ui64NV,
+  glProgramUniform2ui64vNV,
+  glProgramUniform3i64NV,
+  glProgramUniform3i64vNV,
+  glProgramUniform3ui64NV,
+  glProgramUniform3ui64vNV,
+  glProgramUniform4i64NV,
+  glProgramUniform4i64vNV,
+  glProgramUniform4ui64NV,
+  glProgramUniform4ui64vNV,
+  glUniform1i64NV,
+  glUniform1i64vNV,
+  glUniform1ui64NV,
+  glUniform1ui64vNV,
+  glUniform2i64NV,
+  glUniform2i64vNV,
+  glUniform2ui64NV,
+  glUniform2ui64vNV,
+  glUniform3i64NV,
+  glUniform3i64vNV,
+  glUniform3ui64NV,
+  glUniform3ui64vNV,
+  glUniform4i64NV,
+  glUniform4i64vNV,
+  glUniform4ui64NV,
+  glUniform4ui64vNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/InterleavedElements.hs b/src/Graphics/GL/AMD/InterleavedElements.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/InterleavedElements.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.InterleavedElements
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.InterleavedElements (
+  -- * Extension Support
+  glGetAMDInterleavedElements,
+  gl_AMD_interleaved_elements,
+  -- * Enums
+  pattern GL_ALPHA,
+  pattern GL_BLUE,
+  pattern GL_GREEN,
+  pattern GL_RED,
+  pattern GL_RG16UI,
+  pattern GL_RG8UI,
+  pattern GL_RGBA8UI,
+  pattern GL_VERTEX_ELEMENT_SWIZZLE_AMD,
+  pattern GL_VERTEX_ID_SWIZZLE_AMD,
+  -- * Functions
+  glVertexAttribParameteriAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/MultiDrawIndirect.hs b/src/Graphics/GL/AMD/MultiDrawIndirect.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/MultiDrawIndirect.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.MultiDrawIndirect
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.MultiDrawIndirect (
+  -- * Extension Support
+  glGetAMDMultiDrawIndirect,
+  gl_AMD_multi_draw_indirect,
+  -- * Functions
+  glMultiDrawArraysIndirectAMD,
+  glMultiDrawElementsIndirectAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/NameGenDelete.hs b/src/Graphics/GL/AMD/NameGenDelete.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/NameGenDelete.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.NameGenDelete
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.NameGenDelete (
+  -- * Extension Support
+  glGetAMDNameGenDelete,
+  gl_AMD_name_gen_delete,
+  -- * Enums
+  pattern GL_DATA_BUFFER_AMD,
+  pattern GL_PERFORMANCE_MONITOR_AMD,
+  pattern GL_QUERY_OBJECT_AMD,
+  pattern GL_SAMPLER_OBJECT_AMD,
+  pattern GL_VERTEX_ARRAY_OBJECT_AMD,
+  -- * Functions
+  glDeleteNamesAMD,
+  glGenNamesAMD,
+  glIsNameAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/OcclusionQueryEvent.hs b/src/Graphics/GL/AMD/OcclusionQueryEvent.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/OcclusionQueryEvent.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.OcclusionQueryEvent
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.OcclusionQueryEvent (
+  -- * Extension Support
+  glGetAMDOcclusionQueryEvent,
+  gl_AMD_occlusion_query_event,
+  -- * Enums
+  pattern GL_OCCLUSION_QUERY_EVENT_MASK_AMD,
+  pattern GL_QUERY_ALL_EVENT_BITS_AMD,
+  pattern GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD,
+  pattern GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD,
+  pattern GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD,
+  pattern GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD,
+  -- * Functions
+  glQueryObjectParameteruiAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/PerformanceMonitor.hs b/src/Graphics/GL/AMD/PerformanceMonitor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/PerformanceMonitor.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.PerformanceMonitor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.PerformanceMonitor (
+  -- * Extension Support
+  glGetAMDPerformanceMonitor,
+  gl_AMD_performance_monitor,
+  -- * Enums
+  pattern GL_COUNTER_RANGE_AMD,
+  pattern GL_COUNTER_TYPE_AMD,
+  pattern GL_PERCENTAGE_AMD,
+  pattern GL_PERFMON_RESULT_AMD,
+  pattern GL_PERFMON_RESULT_AVAILABLE_AMD,
+  pattern GL_PERFMON_RESULT_SIZE_AMD,
+  pattern GL_UNSIGNED_INT64_AMD,
+  -- * Functions
+  glBeginPerfMonitorAMD,
+  glDeletePerfMonitorsAMD,
+  glEndPerfMonitorAMD,
+  glGenPerfMonitorsAMD,
+  glGetPerfMonitorCounterDataAMD,
+  glGetPerfMonitorCounterInfoAMD,
+  glGetPerfMonitorCounterStringAMD,
+  glGetPerfMonitorCountersAMD,
+  glGetPerfMonitorGroupStringAMD,
+  glGetPerfMonitorGroupsAMD,
+  glSelectPerfMonitorCountersAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/PinnedMemory.hs b/src/Graphics/GL/AMD/PinnedMemory.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/PinnedMemory.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.PinnedMemory
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.PinnedMemory (
+  -- * Extension Support
+  glGetAMDPinnedMemory,
+  gl_AMD_pinned_memory,
+  -- * Enums
+  pattern GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/AMD/QueryBufferObject.hs b/src/Graphics/GL/AMD/QueryBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/QueryBufferObject.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.QueryBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.QueryBufferObject (
+  -- * Extension Support
+  glGetAMDQueryBufferObject,
+  gl_AMD_query_buffer_object,
+  -- * Enums
+  pattern GL_QUERY_BUFFER_AMD,
+  pattern GL_QUERY_BUFFER_BINDING_AMD,
+  pattern GL_QUERY_RESULT_NO_WAIT_AMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/AMD/SamplePositions.hs b/src/Graphics/GL/AMD/SamplePositions.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/SamplePositions.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.SamplePositions
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.SamplePositions (
+  -- * Extension Support
+  glGetAMDSamplePositions,
+  gl_AMD_sample_positions,
+  -- * Enums
+  pattern GL_SUBSAMPLE_DISTANCE_AMD,
+  -- * Functions
+  glSetMultisamplefvAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/SeamlessCubemapPerTexture.hs b/src/Graphics/GL/AMD/SeamlessCubemapPerTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/SeamlessCubemapPerTexture.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.SeamlessCubemapPerTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.SeamlessCubemapPerTexture (
+  -- * Extension Support
+  glGetAMDSeamlessCubemapPerTexture,
+  gl_AMD_seamless_cubemap_per_texture,
+  -- * Enums
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/AMD/SparseTexture.hs b/src/Graphics/GL/AMD/SparseTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/SparseTexture.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.SparseTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.SparseTexture (
+  -- * Extension Support
+  glGetAMDSparseTexture,
+  gl_AMD_sparse_texture,
+  -- * Enums
+  pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD,
+  pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_SPARSE_TEXTURE_SIZE_AMD,
+  pattern GL_MIN_LOD_WARNING_AMD,
+  pattern GL_MIN_SPARSE_LEVEL_AMD,
+  pattern GL_TEXTURE_STORAGE_SPARSE_BIT_AMD,
+  pattern GL_VIRTUAL_PAGE_SIZE_X_AMD,
+  pattern GL_VIRTUAL_PAGE_SIZE_Y_AMD,
+  pattern GL_VIRTUAL_PAGE_SIZE_Z_AMD,
+  -- * Functions
+  glTexStorageSparseAMD,
+  glTextureStorageSparseAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/StencilOperationExtended.hs b/src/Graphics/GL/AMD/StencilOperationExtended.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/StencilOperationExtended.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.StencilOperationExtended
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.StencilOperationExtended (
+  -- * Extension Support
+  glGetAMDStencilOperationExtended,
+  gl_AMD_stencil_operation_extended,
+  -- * Enums
+  pattern GL_REPLACE_VALUE_AMD,
+  pattern GL_SET_AMD,
+  pattern GL_STENCIL_BACK_OP_VALUE_AMD,
+  pattern GL_STENCIL_OP_VALUE_AMD,
+  -- * Functions
+  glStencilOpValueAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/AMD/TransformFeedback4.hs b/src/Graphics/GL/AMD/TransformFeedback4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/TransformFeedback4.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.TransformFeedback4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.TransformFeedback4 (
+  -- * Extension Support
+  glGetAMDTransformFeedback4,
+  gl_AMD_transform_feedback4,
+  -- * Enums
+  pattern GL_STREAM_RASTERIZATION_AMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/AMD/VertexShaderTessellator.hs b/src/Graphics/GL/AMD/VertexShaderTessellator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/AMD/VertexShaderTessellator.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.AMD.VertexShaderTessellator
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.AMD.VertexShaderTessellator (
+  -- * Extension Support
+  glGetAMDVertexShaderTessellator,
+  gl_AMD_vertex_shader_tessellator,
+  -- * Enums
+  pattern GL_CONTINUOUS_AMD,
+  pattern GL_DISCRETE_AMD,
+  pattern GL_INT_SAMPLER_BUFFER_AMD,
+  pattern GL_SAMPLER_BUFFER_AMD,
+  pattern GL_TESSELLATION_FACTOR_AMD,
+  pattern GL_TESSELLATION_MODE_AMD,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD,
+  -- * Functions
+  glTessellationFactorAMD,
+  glTessellationModeAMD
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE.hs b/src/Graphics/GL/APPLE.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE.hs
@@ -0,0 +1,49 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing APPLE extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE (
+  module Graphics.GL.APPLE.AuxDepthStencil,
+  module Graphics.GL.APPLE.ClientStorage,
+  module Graphics.GL.APPLE.ElementArray,
+  module Graphics.GL.APPLE.Fence,
+  module Graphics.GL.APPLE.FloatPixels,
+  module Graphics.GL.APPLE.FlushBufferRange,
+  module Graphics.GL.APPLE.ObjectPurgeable,
+  module Graphics.GL.APPLE.RGB422,
+  module Graphics.GL.APPLE.RowBytes,
+  module Graphics.GL.APPLE.SpecularVector,
+  module Graphics.GL.APPLE.TextureRange,
+  module Graphics.GL.APPLE.TransformHint,
+  module Graphics.GL.APPLE.VertexArrayObject,
+  module Graphics.GL.APPLE.VertexArrayRange,
+  module Graphics.GL.APPLE.VertexProgramEvaluators,
+  module Graphics.GL.APPLE.YCbCr422
+) where
+
+import Graphics.GL.APPLE.AuxDepthStencil
+import Graphics.GL.APPLE.ClientStorage
+import Graphics.GL.APPLE.ElementArray
+import Graphics.GL.APPLE.Fence
+import Graphics.GL.APPLE.FloatPixels
+import Graphics.GL.APPLE.FlushBufferRange
+import Graphics.GL.APPLE.ObjectPurgeable
+import Graphics.GL.APPLE.RGB422
+import Graphics.GL.APPLE.RowBytes
+import Graphics.GL.APPLE.SpecularVector
+import Graphics.GL.APPLE.TextureRange
+import Graphics.GL.APPLE.TransformHint
+import Graphics.GL.APPLE.VertexArrayObject
+import Graphics.GL.APPLE.VertexArrayRange
+import Graphics.GL.APPLE.VertexProgramEvaluators
+import Graphics.GL.APPLE.YCbCr422
diff --git a/src/Graphics/GL/APPLE/AuxDepthStencil.hs b/src/Graphics/GL/APPLE/AuxDepthStencil.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/AuxDepthStencil.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.AuxDepthStencil
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.AuxDepthStencil (
+  -- * Extension Support
+  glGetAPPLEAuxDepthStencil,
+  gl_APPLE_aux_depth_stencil,
+  -- * Enums
+  pattern GL_AUX_DEPTH_STENCIL_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/APPLE/ClientStorage.hs b/src/Graphics/GL/APPLE/ClientStorage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/ClientStorage.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.ClientStorage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.ClientStorage (
+  -- * Extension Support
+  glGetAPPLEClientStorage,
+  gl_APPLE_client_storage,
+  -- * Enums
+  pattern GL_UNPACK_CLIENT_STORAGE_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/APPLE/ElementArray.hs b/src/Graphics/GL/APPLE/ElementArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/ElementArray.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.ElementArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.ElementArray (
+  -- * Extension Support
+  glGetAPPLEElementArray,
+  gl_APPLE_element_array,
+  -- * Enums
+  pattern GL_ELEMENT_ARRAY_APPLE,
+  pattern GL_ELEMENT_ARRAY_POINTER_APPLE,
+  pattern GL_ELEMENT_ARRAY_TYPE_APPLE,
+  -- * Functions
+  glDrawElementArrayAPPLE,
+  glDrawRangeElementArrayAPPLE,
+  glElementPointerAPPLE,
+  glMultiDrawElementArrayAPPLE,
+  glMultiDrawRangeElementArrayAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/Fence.hs b/src/Graphics/GL/APPLE/Fence.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/Fence.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.Fence
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.Fence (
+  -- * Extension Support
+  glGetAPPLEFence,
+  gl_APPLE_fence,
+  -- * Enums
+  pattern GL_DRAW_PIXELS_APPLE,
+  pattern GL_FENCE_APPLE,
+  -- * Functions
+  glDeleteFencesAPPLE,
+  glFinishFenceAPPLE,
+  glFinishObjectAPPLE,
+  glGenFencesAPPLE,
+  glIsFenceAPPLE,
+  glSetFenceAPPLE,
+  glTestFenceAPPLE,
+  glTestObjectAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/FloatPixels.hs b/src/Graphics/GL/APPLE/FloatPixels.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/FloatPixels.hs
@@ -0,0 +1,36 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.FloatPixels
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.FloatPixels (
+  -- * Extension Support
+  glGetAPPLEFloatPixels,
+  gl_APPLE_float_pixels,
+  -- * Enums
+  pattern GL_ALPHA_FLOAT16_APPLE,
+  pattern GL_ALPHA_FLOAT32_APPLE,
+  pattern GL_COLOR_FLOAT_APPLE,
+  pattern GL_HALF_APPLE,
+  pattern GL_INTENSITY_FLOAT16_APPLE,
+  pattern GL_INTENSITY_FLOAT32_APPLE,
+  pattern GL_LUMINANCE_ALPHA_FLOAT16_APPLE,
+  pattern GL_LUMINANCE_ALPHA_FLOAT32_APPLE,
+  pattern GL_LUMINANCE_FLOAT16_APPLE,
+  pattern GL_LUMINANCE_FLOAT32_APPLE,
+  pattern GL_RGBA_FLOAT16_APPLE,
+  pattern GL_RGBA_FLOAT32_APPLE,
+  pattern GL_RGB_FLOAT16_APPLE,
+  pattern GL_RGB_FLOAT32_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/APPLE/FlushBufferRange.hs b/src/Graphics/GL/APPLE/FlushBufferRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/FlushBufferRange.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.FlushBufferRange
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.FlushBufferRange (
+  -- * Extension Support
+  glGetAPPLEFlushBufferRange,
+  gl_APPLE_flush_buffer_range,
+  -- * Enums
+  pattern GL_BUFFER_FLUSHING_UNMAP_APPLE,
+  pattern GL_BUFFER_SERIALIZED_MODIFY_APPLE,
+  -- * Functions
+  glBufferParameteriAPPLE,
+  glFlushMappedBufferRangeAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/ObjectPurgeable.hs b/src/Graphics/GL/APPLE/ObjectPurgeable.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/ObjectPurgeable.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.ObjectPurgeable
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.ObjectPurgeable (
+  -- * Extension Support
+  glGetAPPLEObjectPurgeable,
+  gl_APPLE_object_purgeable,
+  -- * Enums
+  pattern GL_BUFFER_OBJECT_APPLE,
+  pattern GL_PURGEABLE_APPLE,
+  pattern GL_RELEASED_APPLE,
+  pattern GL_RETAINED_APPLE,
+  pattern GL_UNDEFINED_APPLE,
+  pattern GL_VOLATILE_APPLE,
+  -- * Functions
+  glGetObjectParameterivAPPLE,
+  glObjectPurgeableAPPLE,
+  glObjectUnpurgeableAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/RGB422.hs b/src/Graphics/GL/APPLE/RGB422.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/RGB422.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.RGB422
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.RGB422 (
+  -- * Extension Support
+  glGetAPPLERGB422,
+  gl_APPLE_rgb_422,
+  -- * Enums
+  pattern GL_RGB_422_APPLE,
+  pattern GL_RGB_RAW_422_APPLE,
+  pattern GL_UNSIGNED_SHORT_8_8_APPLE,
+  pattern GL_UNSIGNED_SHORT_8_8_REV_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/APPLE/RowBytes.hs b/src/Graphics/GL/APPLE/RowBytes.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/RowBytes.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.RowBytes
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.RowBytes (
+  -- * Extension Support
+  glGetAPPLERowBytes,
+  gl_APPLE_row_bytes,
+  -- * Enums
+  pattern GL_PACK_ROW_BYTES_APPLE,
+  pattern GL_UNPACK_ROW_BYTES_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/APPLE/SpecularVector.hs b/src/Graphics/GL/APPLE/SpecularVector.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/SpecularVector.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.SpecularVector
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.SpecularVector (
+  -- * Extension Support
+  glGetAPPLESpecularVector,
+  gl_APPLE_specular_vector,
+  -- * Enums
+  pattern GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/APPLE/TextureRange.hs b/src/Graphics/GL/APPLE/TextureRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/TextureRange.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.TextureRange
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.TextureRange (
+  -- * Extension Support
+  glGetAPPLETextureRange,
+  gl_APPLE_texture_range,
+  -- * Enums
+  pattern GL_STORAGE_CACHED_APPLE,
+  pattern GL_STORAGE_PRIVATE_APPLE,
+  pattern GL_STORAGE_SHARED_APPLE,
+  pattern GL_TEXTURE_RANGE_LENGTH_APPLE,
+  pattern GL_TEXTURE_RANGE_POINTER_APPLE,
+  pattern GL_TEXTURE_STORAGE_HINT_APPLE,
+  -- * Functions
+  glGetTexParameterPointervAPPLE,
+  glTextureRangeAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/TransformHint.hs b/src/Graphics/GL/APPLE/TransformHint.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/TransformHint.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.TransformHint
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.TransformHint (
+  -- * Extension Support
+  glGetAPPLETransformHint,
+  gl_APPLE_transform_hint,
+  -- * Enums
+  pattern GL_TRANSFORM_HINT_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/APPLE/VertexArrayObject.hs b/src/Graphics/GL/APPLE/VertexArrayObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/VertexArrayObject.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.VertexArrayObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.VertexArrayObject (
+  -- * Extension Support
+  glGetAPPLEVertexArrayObject,
+  gl_APPLE_vertex_array_object,
+  -- * Enums
+  pattern GL_VERTEX_ARRAY_BINDING_APPLE,
+  -- * Functions
+  glBindVertexArrayAPPLE,
+  glDeleteVertexArraysAPPLE,
+  glGenVertexArraysAPPLE,
+  glIsVertexArrayAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/VertexArrayRange.hs b/src/Graphics/GL/APPLE/VertexArrayRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/VertexArrayRange.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.VertexArrayRange
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.VertexArrayRange (
+  -- * Extension Support
+  glGetAPPLEVertexArrayRange,
+  gl_APPLE_vertex_array_range,
+  -- * Enums
+  pattern GL_STORAGE_CACHED_APPLE,
+  pattern GL_STORAGE_CLIENT_APPLE,
+  pattern GL_STORAGE_SHARED_APPLE,
+  pattern GL_VERTEX_ARRAY_RANGE_APPLE,
+  pattern GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE,
+  pattern GL_VERTEX_ARRAY_RANGE_POINTER_APPLE,
+  pattern GL_VERTEX_ARRAY_STORAGE_HINT_APPLE,
+  -- * Functions
+  glFlushVertexArrayRangeAPPLE,
+  glVertexArrayParameteriAPPLE,
+  glVertexArrayRangeAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/VertexProgramEvaluators.hs b/src/Graphics/GL/APPLE/VertexProgramEvaluators.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/VertexProgramEvaluators.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.VertexProgramEvaluators
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.VertexProgramEvaluators (
+  -- * Extension Support
+  glGetAPPLEVertexProgramEvaluators,
+  gl_APPLE_vertex_program_evaluators,
+  -- * Enums
+  pattern GL_VERTEX_ATTRIB_MAP1_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP2_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE,
+  pattern GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE,
+  -- * Functions
+  glDisableVertexAttribAPPLE,
+  glEnableVertexAttribAPPLE,
+  glIsVertexAttribEnabledAPPLE,
+  glMapVertexAttrib1dAPPLE,
+  glMapVertexAttrib1fAPPLE,
+  glMapVertexAttrib2dAPPLE,
+  glMapVertexAttrib2fAPPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/APPLE/YCbCr422.hs b/src/Graphics/GL/APPLE/YCbCr422.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/APPLE/YCbCr422.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.APPLE.YCbCr422
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.APPLE.YCbCr422 (
+  -- * Extension Support
+  glGetAPPLEYCbCr422,
+  gl_APPLE_ycbcr_422,
+  -- * Enums
+  pattern GL_UNSIGNED_SHORT_8_8_APPLE,
+  pattern GL_UNSIGNED_SHORT_8_8_REV_APPLE,
+  pattern GL_YCBCR_422_APPLE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB.hs b/src/Graphics/GL/ARB.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB.hs
@@ -0,0 +1,293 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing ARB extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB (
+  module Graphics.GL.ARB.BaseInstance,
+  module Graphics.GL.ARB.BindlessTexture,
+  module Graphics.GL.ARB.BlendFuncExtended,
+  module Graphics.GL.ARB.BufferStorage,
+  module Graphics.GL.ARB.CLEvent,
+  module Graphics.GL.ARB.ClearBufferObject,
+  module Graphics.GL.ARB.ClearTexture,
+  module Graphics.GL.ARB.ClipControl,
+  module Graphics.GL.ARB.ColorBufferFloat,
+  module Graphics.GL.ARB.CompressedTexturePixelStorage,
+  module Graphics.GL.ARB.ComputeShader,
+  module Graphics.GL.ARB.ComputeVariableGroupSize,
+  module Graphics.GL.ARB.ConditionalRenderInverted,
+  module Graphics.GL.ARB.CopyBuffer,
+  module Graphics.GL.ARB.CopyImage,
+  module Graphics.GL.ARB.CullDistance,
+  module Graphics.GL.ARB.DebugOutput,
+  module Graphics.GL.ARB.DepthBufferFloat,
+  module Graphics.GL.ARB.DepthClamp,
+  module Graphics.GL.ARB.DepthTexture,
+  module Graphics.GL.ARB.DirectStateAccess,
+  module Graphics.GL.ARB.DrawBuffers,
+  module Graphics.GL.ARB.DrawBuffersBlend,
+  module Graphics.GL.ARB.DrawElementsBaseVertex,
+  module Graphics.GL.ARB.DrawIndirect,
+  module Graphics.GL.ARB.DrawInstanced,
+  module Graphics.GL.ARB.ES2Compatibility,
+  module Graphics.GL.ARB.ES31Compatibility,
+  module Graphics.GL.ARB.ES32Compatibility,
+  module Graphics.GL.ARB.ES3Compatibility,
+  module Graphics.GL.ARB.EnhancedLayouts,
+  module Graphics.GL.ARB.ExplicitUniformLocation,
+  module Graphics.GL.ARB.FragmentProgram,
+  module Graphics.GL.ARB.FragmentShader,
+  module Graphics.GL.ARB.FramebufferNoAttachments,
+  module Graphics.GL.ARB.FramebufferObjectCompatibility,
+  module Graphics.GL.ARB.FramebufferObjectCore,
+  module Graphics.GL.ARB.FramebufferSRGB,
+  module Graphics.GL.ARB.GPUShader5,
+  module Graphics.GL.ARB.GPUShaderFP64,
+  module Graphics.GL.ARB.GPUShaderInt64,
+  module Graphics.GL.ARB.GeometryShader4,
+  module Graphics.GL.ARB.GetProgramBinary,
+  module Graphics.GL.ARB.GetTextureSubImage,
+  module Graphics.GL.ARB.HalfFloatPixel,
+  module Graphics.GL.ARB.HalfFloatVertex,
+  module Graphics.GL.ARB.ImagingCompatibility,
+  module Graphics.GL.ARB.ImagingCore,
+  module Graphics.GL.ARB.IndirectParameters,
+  module Graphics.GL.ARB.InstancedArrays,
+  module Graphics.GL.ARB.InternalformatQuery,
+  module Graphics.GL.ARB.InternalformatQuery2,
+  module Graphics.GL.ARB.InvalidateSubdata,
+  module Graphics.GL.ARB.MapBufferAlignment,
+  module Graphics.GL.ARB.MapBufferRange,
+  module Graphics.GL.ARB.MatrixPalette,
+  module Graphics.GL.ARB.MultiBind,
+  module Graphics.GL.ARB.MultiDrawIndirect,
+  module Graphics.GL.ARB.Multisample,
+  module Graphics.GL.ARB.Multitexture,
+  module Graphics.GL.ARB.OcclusionQuery,
+  module Graphics.GL.ARB.OcclusionQuery2,
+  module Graphics.GL.ARB.ParallelShaderCompile,
+  module Graphics.GL.ARB.PipelineStatisticsQuery,
+  module Graphics.GL.ARB.PixelBufferObject,
+  module Graphics.GL.ARB.PointParameters,
+  module Graphics.GL.ARB.PointSprite,
+  module Graphics.GL.ARB.ProgramInterfaceQuery,
+  module Graphics.GL.ARB.ProvokingVertex,
+  module Graphics.GL.ARB.QueryBufferObject,
+  module Graphics.GL.ARB.RobustnessCompatibility,
+  module Graphics.GL.ARB.RobustnessCore,
+  module Graphics.GL.ARB.SampleLocations,
+  module Graphics.GL.ARB.SampleShading,
+  module Graphics.GL.ARB.SamplerObjects,
+  module Graphics.GL.ARB.SeamlessCubeMap,
+  module Graphics.GL.ARB.SeamlessCubemapPerTexture,
+  module Graphics.GL.ARB.SeparateShaderObjects,
+  module Graphics.GL.ARB.ShaderAtomicCounters,
+  module Graphics.GL.ARB.ShaderImageLoadStore,
+  module Graphics.GL.ARB.ShaderObjects,
+  module Graphics.GL.ARB.ShaderStorageBufferObject,
+  module Graphics.GL.ARB.ShaderSubroutine,
+  module Graphics.GL.ARB.ShadingLanguage100,
+  module Graphics.GL.ARB.ShadingLanguageInclude,
+  module Graphics.GL.ARB.Shadow,
+  module Graphics.GL.ARB.ShadowAmbient,
+  module Graphics.GL.ARB.SparseBuffer,
+  module Graphics.GL.ARB.SparseTexture,
+  module Graphics.GL.ARB.StencilTexturing,
+  module Graphics.GL.ARB.Sync,
+  module Graphics.GL.ARB.TessellationShader,
+  module Graphics.GL.ARB.TextureBarrier,
+  module Graphics.GL.ARB.TextureBorderClamp,
+  module Graphics.GL.ARB.TextureBufferObject,
+  module Graphics.GL.ARB.TextureBufferObjectRGB32,
+  module Graphics.GL.ARB.TextureBufferRange,
+  module Graphics.GL.ARB.TextureCompression,
+  module Graphics.GL.ARB.TextureCompressionBPTC,
+  module Graphics.GL.ARB.TextureCompressionRGTC,
+  module Graphics.GL.ARB.TextureCubeMap,
+  module Graphics.GL.ARB.TextureCubeMapArray,
+  module Graphics.GL.ARB.TextureEnvCombine,
+  module Graphics.GL.ARB.TextureEnvDot3,
+  module Graphics.GL.ARB.TextureFilterMinmax,
+  module Graphics.GL.ARB.TextureFloat,
+  module Graphics.GL.ARB.TextureGather,
+  module Graphics.GL.ARB.TextureMirrorClampToEdge,
+  module Graphics.GL.ARB.TextureMirroredRepeat,
+  module Graphics.GL.ARB.TextureMultisample,
+  module Graphics.GL.ARB.TextureRG,
+  module Graphics.GL.ARB.TextureRGB10A2UI,
+  module Graphics.GL.ARB.TextureRectangle,
+  module Graphics.GL.ARB.TextureStencil8,
+  module Graphics.GL.ARB.TextureStorage,
+  module Graphics.GL.ARB.TextureStorageMultisample,
+  module Graphics.GL.ARB.TextureSwizzle,
+  module Graphics.GL.ARB.TextureView,
+  module Graphics.GL.ARB.TimerQuery,
+  module Graphics.GL.ARB.TransformFeedback2,
+  module Graphics.GL.ARB.TransformFeedback3,
+  module Graphics.GL.ARB.TransformFeedbackInstanced,
+  module Graphics.GL.ARB.TransformFeedbackOverflowQuery,
+  module Graphics.GL.ARB.TransposeMatrix,
+  module Graphics.GL.ARB.UniformBufferObject,
+  module Graphics.GL.ARB.VertexArrayBGRA,
+  module Graphics.GL.ARB.VertexArrayObject,
+  module Graphics.GL.ARB.VertexAttrib64Bit,
+  module Graphics.GL.ARB.VertexAttribBinding,
+  module Graphics.GL.ARB.VertexBlend,
+  module Graphics.GL.ARB.VertexBufferObject,
+  module Graphics.GL.ARB.VertexProgram,
+  module Graphics.GL.ARB.VertexShader,
+  module Graphics.GL.ARB.VertexType10f11f11fRev,
+  module Graphics.GL.ARB.VertexType2101010RevCompatibility,
+  module Graphics.GL.ARB.VertexType2101010RevCore,
+  module Graphics.GL.ARB.ViewportArray,
+  module Graphics.GL.ARB.WindowPos
+) where
+
+import Graphics.GL.ARB.BaseInstance
+import Graphics.GL.ARB.BindlessTexture
+import Graphics.GL.ARB.BlendFuncExtended
+import Graphics.GL.ARB.BufferStorage
+import Graphics.GL.ARB.CLEvent
+import Graphics.GL.ARB.ClearBufferObject
+import Graphics.GL.ARB.ClearTexture
+import Graphics.GL.ARB.ClipControl
+import Graphics.GL.ARB.ColorBufferFloat
+import Graphics.GL.ARB.CompressedTexturePixelStorage
+import Graphics.GL.ARB.ComputeShader
+import Graphics.GL.ARB.ComputeVariableGroupSize
+import Graphics.GL.ARB.ConditionalRenderInverted
+import Graphics.GL.ARB.CopyBuffer
+import Graphics.GL.ARB.CopyImage
+import Graphics.GL.ARB.CullDistance
+import Graphics.GL.ARB.DebugOutput
+import Graphics.GL.ARB.DepthBufferFloat
+import Graphics.GL.ARB.DepthClamp
+import Graphics.GL.ARB.DepthTexture
+import Graphics.GL.ARB.DirectStateAccess
+import Graphics.GL.ARB.DrawBuffers
+import Graphics.GL.ARB.DrawBuffersBlend
+import Graphics.GL.ARB.DrawElementsBaseVertex
+import Graphics.GL.ARB.DrawIndirect
+import Graphics.GL.ARB.DrawInstanced
+import Graphics.GL.ARB.ES2Compatibility
+import Graphics.GL.ARB.ES31Compatibility
+import Graphics.GL.ARB.ES32Compatibility
+import Graphics.GL.ARB.ES3Compatibility
+import Graphics.GL.ARB.EnhancedLayouts
+import Graphics.GL.ARB.ExplicitUniformLocation
+import Graphics.GL.ARB.FragmentProgram
+import Graphics.GL.ARB.FragmentShader
+import Graphics.GL.ARB.FramebufferNoAttachments
+import Graphics.GL.ARB.FramebufferObjectCompatibility
+import Graphics.GL.ARB.FramebufferObjectCore
+import Graphics.GL.ARB.FramebufferSRGB
+import Graphics.GL.ARB.GPUShader5
+import Graphics.GL.ARB.GPUShaderFP64
+import Graphics.GL.ARB.GPUShaderInt64
+import Graphics.GL.ARB.GeometryShader4
+import Graphics.GL.ARB.GetProgramBinary
+import Graphics.GL.ARB.GetTextureSubImage
+import Graphics.GL.ARB.HalfFloatPixel
+import Graphics.GL.ARB.HalfFloatVertex
+import Graphics.GL.ARB.ImagingCompatibility
+import Graphics.GL.ARB.ImagingCore
+import Graphics.GL.ARB.IndirectParameters
+import Graphics.GL.ARB.InstancedArrays
+import Graphics.GL.ARB.InternalformatQuery
+import Graphics.GL.ARB.InternalformatQuery2
+import Graphics.GL.ARB.InvalidateSubdata
+import Graphics.GL.ARB.MapBufferAlignment
+import Graphics.GL.ARB.MapBufferRange
+import Graphics.GL.ARB.MatrixPalette
+import Graphics.GL.ARB.MultiBind
+import Graphics.GL.ARB.MultiDrawIndirect
+import Graphics.GL.ARB.Multisample
+import Graphics.GL.ARB.Multitexture
+import Graphics.GL.ARB.OcclusionQuery
+import Graphics.GL.ARB.OcclusionQuery2
+import Graphics.GL.ARB.ParallelShaderCompile
+import Graphics.GL.ARB.PipelineStatisticsQuery
+import Graphics.GL.ARB.PixelBufferObject
+import Graphics.GL.ARB.PointParameters
+import Graphics.GL.ARB.PointSprite
+import Graphics.GL.ARB.ProgramInterfaceQuery
+import Graphics.GL.ARB.ProvokingVertex
+import Graphics.GL.ARB.QueryBufferObject
+import Graphics.GL.ARB.RobustnessCompatibility
+import Graphics.GL.ARB.RobustnessCore
+import Graphics.GL.ARB.SampleLocations
+import Graphics.GL.ARB.SampleShading
+import Graphics.GL.ARB.SamplerObjects
+import Graphics.GL.ARB.SeamlessCubeMap
+import Graphics.GL.ARB.SeamlessCubemapPerTexture
+import Graphics.GL.ARB.SeparateShaderObjects
+import Graphics.GL.ARB.ShaderAtomicCounters
+import Graphics.GL.ARB.ShaderImageLoadStore
+import Graphics.GL.ARB.ShaderObjects
+import Graphics.GL.ARB.ShaderStorageBufferObject
+import Graphics.GL.ARB.ShaderSubroutine
+import Graphics.GL.ARB.ShadingLanguage100
+import Graphics.GL.ARB.ShadingLanguageInclude
+import Graphics.GL.ARB.Shadow
+import Graphics.GL.ARB.ShadowAmbient
+import Graphics.GL.ARB.SparseBuffer
+import Graphics.GL.ARB.SparseTexture
+import Graphics.GL.ARB.StencilTexturing
+import Graphics.GL.ARB.Sync
+import Graphics.GL.ARB.TessellationShader
+import Graphics.GL.ARB.TextureBarrier
+import Graphics.GL.ARB.TextureBorderClamp
+import Graphics.GL.ARB.TextureBufferObject
+import Graphics.GL.ARB.TextureBufferObjectRGB32
+import Graphics.GL.ARB.TextureBufferRange
+import Graphics.GL.ARB.TextureCompression
+import Graphics.GL.ARB.TextureCompressionBPTC
+import Graphics.GL.ARB.TextureCompressionRGTC
+import Graphics.GL.ARB.TextureCubeMap
+import Graphics.GL.ARB.TextureCubeMapArray
+import Graphics.GL.ARB.TextureEnvCombine
+import Graphics.GL.ARB.TextureEnvDot3
+import Graphics.GL.ARB.TextureFilterMinmax
+import Graphics.GL.ARB.TextureFloat
+import Graphics.GL.ARB.TextureGather
+import Graphics.GL.ARB.TextureMirrorClampToEdge
+import Graphics.GL.ARB.TextureMirroredRepeat
+import Graphics.GL.ARB.TextureMultisample
+import Graphics.GL.ARB.TextureRG
+import Graphics.GL.ARB.TextureRGB10A2UI
+import Graphics.GL.ARB.TextureRectangle
+import Graphics.GL.ARB.TextureStencil8
+import Graphics.GL.ARB.TextureStorage
+import Graphics.GL.ARB.TextureStorageMultisample
+import Graphics.GL.ARB.TextureSwizzle
+import Graphics.GL.ARB.TextureView
+import Graphics.GL.ARB.TimerQuery
+import Graphics.GL.ARB.TransformFeedback2
+import Graphics.GL.ARB.TransformFeedback3
+import Graphics.GL.ARB.TransformFeedbackInstanced
+import Graphics.GL.ARB.TransformFeedbackOverflowQuery
+import Graphics.GL.ARB.TransposeMatrix
+import Graphics.GL.ARB.UniformBufferObject
+import Graphics.GL.ARB.VertexArrayBGRA
+import Graphics.GL.ARB.VertexArrayObject
+import Graphics.GL.ARB.VertexAttrib64Bit
+import Graphics.GL.ARB.VertexAttribBinding
+import Graphics.GL.ARB.VertexBlend
+import Graphics.GL.ARB.VertexBufferObject
+import Graphics.GL.ARB.VertexProgram
+import Graphics.GL.ARB.VertexShader
+import Graphics.GL.ARB.VertexType10f11f11fRev
+import Graphics.GL.ARB.VertexType2101010RevCompatibility
+import Graphics.GL.ARB.VertexType2101010RevCore
+import Graphics.GL.ARB.ViewportArray
+import Graphics.GL.ARB.WindowPos
diff --git a/src/Graphics/GL/ARB/BaseInstance.hs b/src/Graphics/GL/ARB/BaseInstance.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/BaseInstance.hs
@@ -0,0 +1,24 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.BaseInstance
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.BaseInstance (
+  -- * Extension Support
+  glGetARBBaseInstance,
+  gl_ARB_base_instance,
+  -- * Functions
+  glDrawArraysInstancedBaseInstance,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseVertexBaseInstance
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/BindlessTexture.hs b/src/Graphics/GL/ARB/BindlessTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/BindlessTexture.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.BindlessTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.BindlessTexture (
+  -- * Extension Support
+  glGetARBBindlessTexture,
+  gl_ARB_bindless_texture,
+  -- * Enums
+  pattern GL_UNSIGNED_INT64_ARB,
+  -- * Functions
+  glGetImageHandleARB,
+  glGetTextureHandleARB,
+  glGetTextureSamplerHandleARB,
+  glGetVertexAttribLui64vARB,
+  glIsImageHandleResidentARB,
+  glIsTextureHandleResidentARB,
+  glMakeImageHandleNonResidentARB,
+  glMakeImageHandleResidentARB,
+  glMakeTextureHandleNonResidentARB,
+  glMakeTextureHandleResidentARB,
+  glProgramUniformHandleui64ARB,
+  glProgramUniformHandleui64vARB,
+  glUniformHandleui64ARB,
+  glUniformHandleui64vARB,
+  glVertexAttribL1ui64ARB,
+  glVertexAttribL1ui64vARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/BlendFuncExtended.hs b/src/Graphics/GL/ARB/BlendFuncExtended.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/BlendFuncExtended.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.BlendFuncExtended
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.BlendFuncExtended (
+  -- * Extension Support
+  glGetARBBlendFuncExtended,
+  gl_ARB_blend_func_extended,
+  -- * Enums
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  -- * Functions
+  glBindFragDataLocationIndexed,
+  glGetFragDataIndex
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/BufferStorage.hs b/src/Graphics/GL/ARB/BufferStorage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/BufferStorage.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.BufferStorage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.BufferStorage (
+  -- * Extension Support
+  glGetARBBufferStorage,
+  gl_ARB_buffer_storage,
+  -- * Enums
+  pattern GL_BUFFER_IMMUTABLE_STORAGE,
+  pattern GL_BUFFER_STORAGE_FLAGS,
+  pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  pattern GL_CLIENT_STORAGE_BIT,
+  pattern GL_DYNAMIC_STORAGE_BIT,
+  pattern GL_MAP_COHERENT_BIT,
+  pattern GL_MAP_PERSISTENT_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  -- * Functions
+  glBufferStorage
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/CLEvent.hs b/src/Graphics/GL/ARB/CLEvent.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/CLEvent.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.CLEvent
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.CLEvent (
+  -- * Extension Support
+  glGetARBCLEvent,
+  gl_ARB_cl_event,
+  -- * Enums
+  pattern GL_SYNC_CL_EVENT_ARB,
+  pattern GL_SYNC_CL_EVENT_COMPLETE_ARB,
+  -- * Functions
+  glCreateSyncFromCLeventARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ClearBufferObject.hs b/src/Graphics/GL/ARB/ClearBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ClearBufferObject.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ClearBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ClearBufferObject (
+  -- * Extension Support
+  glGetARBClearBufferObject,
+  gl_ARB_clear_buffer_object,
+  -- * Functions
+  glClearBufferData,
+  glClearBufferSubData
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ClearTexture.hs b/src/Graphics/GL/ARB/ClearTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ClearTexture.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ClearTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ClearTexture (
+  -- * Extension Support
+  glGetARBClearTexture,
+  gl_ARB_clear_texture,
+  -- * Enums
+  pattern GL_CLEAR_TEXTURE,
+  -- * Functions
+  glClearTexImage,
+  glClearTexSubImage
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ClipControl.hs b/src/Graphics/GL/ARB/ClipControl.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ClipControl.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ClipControl
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ClipControl (
+  -- * Extension Support
+  glGetARBClipControl,
+  gl_ARB_clip_control,
+  -- * Enums
+  pattern GL_CLIP_DEPTH_MODE,
+  pattern GL_CLIP_ORIGIN,
+  pattern GL_LOWER_LEFT,
+  pattern GL_NEGATIVE_ONE_TO_ONE,
+  pattern GL_UPPER_LEFT,
+  pattern GL_ZERO_TO_ONE,
+  -- * Functions
+  glClipControl
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ColorBufferFloat.hs b/src/Graphics/GL/ARB/ColorBufferFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ColorBufferFloat.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ColorBufferFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ColorBufferFloat (
+  -- * Extension Support
+  glGetARBColorBufferFloat,
+  gl_ARB_color_buffer_float,
+  -- * Enums
+  pattern GL_CLAMP_FRAGMENT_COLOR_ARB,
+  pattern GL_CLAMP_READ_COLOR_ARB,
+  pattern GL_CLAMP_VERTEX_COLOR_ARB,
+  pattern GL_FIXED_ONLY_ARB,
+  pattern GL_RGBA_FLOAT_MODE_ARB,
+  -- * Functions
+  glClampColorARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/CompressedTexturePixelStorage.hs b/src/Graphics/GL/ARB/CompressedTexturePixelStorage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/CompressedTexturePixelStorage.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.CompressedTexturePixelStorage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.CompressedTexturePixelStorage (
+  -- * Extension Support
+  glGetARBCompressedTexturePixelStorage,
+  gl_ARB_compressed_texture_pixel_storage,
+  -- * Enums
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/ComputeShader.hs b/src/Graphics/GL/ARB/ComputeShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ComputeShader.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ComputeShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ComputeShader (
+  -- * Extension Support
+  glGetARBComputeShader,
+  gl_ARB_compute_shader,
+  -- * Enums
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER_BIT,
+  pattern GL_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_DISPATCH_INDIRECT_BUFFER,
+  pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING,
+  pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  -- * Functions
+  glDispatchCompute,
+  glDispatchComputeIndirect
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ComputeVariableGroupSize.hs b/src/Graphics/GL/ARB/ComputeVariableGroupSize.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ComputeVariableGroupSize.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ComputeVariableGroupSize
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ComputeVariableGroupSize (
+  -- * Extension Support
+  glGetARBComputeVariableGroupSize,
+  gl_ARB_compute_variable_group_size,
+  -- * Enums
+  pattern GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB,
+  pattern GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB,
+  pattern GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB,
+  pattern GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB,
+  -- * Functions
+  glDispatchComputeGroupSizeARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ConditionalRenderInverted.hs b/src/Graphics/GL/ARB/ConditionalRenderInverted.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ConditionalRenderInverted.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ConditionalRenderInverted
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ConditionalRenderInverted (
+  -- * Extension Support
+  glGetARBConditionalRenderInverted,
+  gl_ARB_conditional_render_inverted,
+  -- * Enums
+  pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED,
+  pattern GL_QUERY_BY_REGION_WAIT_INVERTED,
+  pattern GL_QUERY_NO_WAIT_INVERTED,
+  pattern GL_QUERY_WAIT_INVERTED
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/CopyBuffer.hs b/src/Graphics/GL/ARB/CopyBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/CopyBuffer.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.CopyBuffer
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.CopyBuffer (
+  -- * Extension Support
+  glGetARBCopyBuffer,
+  gl_ARB_copy_buffer,
+  -- * Enums
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  -- * Functions
+  glCopyBufferSubData
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/CopyImage.hs b/src/Graphics/GL/ARB/CopyImage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/CopyImage.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.CopyImage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.CopyImage (
+  -- * Extension Support
+  glGetARBCopyImage,
+  gl_ARB_copy_image,
+  -- * Functions
+  glCopyImageSubData
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/CullDistance.hs b/src/Graphics/GL/ARB/CullDistance.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/CullDistance.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.CullDistance
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.CullDistance (
+  -- * Extension Support
+  glGetARBCullDistance,
+  gl_ARB_cull_distance,
+  -- * Enums
+  pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES,
+  pattern GL_MAX_CULL_DISTANCES
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/DebugOutput.hs b/src/Graphics/GL/ARB/DebugOutput.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DebugOutput.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DebugOutput
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DebugOutput (
+  -- * Extension Support
+  glGetARBDebugOutput,
+  gl_ARB_debug_output,
+  -- * Enums
+  pattern GL_DEBUG_CALLBACK_FUNCTION_ARB,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM_ARB,
+  pattern GL_DEBUG_LOGGED_MESSAGES_ARB,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB,
+  pattern GL_DEBUG_SEVERITY_HIGH_ARB,
+  pattern GL_DEBUG_SEVERITY_LOW_ARB,
+  pattern GL_DEBUG_SEVERITY_MEDIUM_ARB,
+  pattern GL_DEBUG_SOURCE_API_ARB,
+  pattern GL_DEBUG_SOURCE_APPLICATION_ARB,
+  pattern GL_DEBUG_SOURCE_OTHER_ARB,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER_ARB,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY_ARB,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB,
+  pattern GL_DEBUG_TYPE_ERROR_ARB,
+  pattern GL_DEBUG_TYPE_OTHER_ARB,
+  pattern GL_DEBUG_TYPE_PERFORMANCE_ARB,
+  pattern GL_DEBUG_TYPE_PORTABILITY_ARB,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES_ARB,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH_ARB,
+  -- * Functions
+  glDebugMessageCallbackARB,
+  glDebugMessageControlARB,
+  glDebugMessageInsertARB,
+  glGetDebugMessageLogARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/DepthBufferFloat.hs b/src/Graphics/GL/ARB/DepthBufferFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DepthBufferFloat.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DepthBufferFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DepthBufferFloat (
+  -- * Extension Support
+  glGetARBDepthBufferFloat,
+  gl_ARB_depth_buffer_float,
+  -- * Enums
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/DepthClamp.hs b/src/Graphics/GL/ARB/DepthClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DepthClamp.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DepthClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DepthClamp (
+  -- * Extension Support
+  glGetARBDepthClamp,
+  gl_ARB_depth_clamp,
+  -- * Enums
+  pattern GL_DEPTH_CLAMP
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/DepthTexture.hs b/src/Graphics/GL/ARB/DepthTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DepthTexture.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DepthTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DepthTexture (
+  -- * Extension Support
+  glGetARBDepthTexture,
+  gl_ARB_depth_texture,
+  -- * Enums
+  pattern GL_DEPTH_COMPONENT16_ARB,
+  pattern GL_DEPTH_COMPONENT24_ARB,
+  pattern GL_DEPTH_COMPONENT32_ARB,
+  pattern GL_DEPTH_TEXTURE_MODE_ARB,
+  pattern GL_TEXTURE_DEPTH_SIZE_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/DirectStateAccess.hs b/src/Graphics/GL/ARB/DirectStateAccess.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DirectStateAccess.hs
@@ -0,0 +1,134 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DirectStateAccess
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DirectStateAccess (
+  -- * Extension Support
+  glGetARBDirectStateAccess,
+  gl_ARB_direct_state_access,
+  -- * Enums
+  pattern GL_QUERY_TARGET,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_TARGET,
+  -- * Functions
+  glBindTextureUnit,
+  glBlitNamedFramebuffer,
+  glCheckNamedFramebufferStatus,
+  glClearNamedBufferData,
+  glClearNamedBufferSubData,
+  glClearNamedFramebufferfi,
+  glClearNamedFramebufferfv,
+  glClearNamedFramebufferiv,
+  glClearNamedFramebufferuiv,
+  glCompressedTextureSubImage1D,
+  glCompressedTextureSubImage2D,
+  glCompressedTextureSubImage3D,
+  glCopyNamedBufferSubData,
+  glCopyTextureSubImage1D,
+  glCopyTextureSubImage2D,
+  glCopyTextureSubImage3D,
+  glCreateBuffers,
+  glCreateFramebuffers,
+  glCreateProgramPipelines,
+  glCreateQueries,
+  glCreateRenderbuffers,
+  glCreateSamplers,
+  glCreateTextures,
+  glCreateTransformFeedbacks,
+  glCreateVertexArrays,
+  glDisableVertexArrayAttrib,
+  glEnableVertexArrayAttrib,
+  glFlushMappedNamedBufferRange,
+  glGenerateTextureMipmap,
+  glGetCompressedTextureImage,
+  glGetNamedBufferParameteri64v,
+  glGetNamedBufferParameteriv,
+  glGetNamedBufferPointerv,
+  glGetNamedBufferSubData,
+  glGetNamedFramebufferAttachmentParameteriv,
+  glGetNamedFramebufferParameteriv,
+  glGetNamedRenderbufferParameteriv,
+  glGetQueryBufferObjecti64v,
+  glGetQueryBufferObjectiv,
+  glGetQueryBufferObjectui64v,
+  glGetQueryBufferObjectuiv,
+  glGetTextureImage,
+  glGetTextureLevelParameterfv,
+  glGetTextureLevelParameteriv,
+  glGetTextureParameterIiv,
+  glGetTextureParameterIuiv,
+  glGetTextureParameterfv,
+  glGetTextureParameteriv,
+  glGetTransformFeedbacki64_v,
+  glGetTransformFeedbacki_v,
+  glGetTransformFeedbackiv,
+  glGetVertexArrayIndexed64iv,
+  glGetVertexArrayIndexediv,
+  glGetVertexArrayiv,
+  glInvalidateNamedFramebufferData,
+  glInvalidateNamedFramebufferSubData,
+  glMapNamedBuffer,
+  glMapNamedBufferRange,
+  glNamedBufferData,
+  glNamedBufferStorage,
+  glNamedBufferSubData,
+  glNamedFramebufferDrawBuffer,
+  glNamedFramebufferDrawBuffers,
+  glNamedFramebufferParameteri,
+  glNamedFramebufferReadBuffer,
+  glNamedFramebufferRenderbuffer,
+  glNamedFramebufferTexture,
+  glNamedFramebufferTextureLayer,
+  glNamedRenderbufferStorage,
+  glNamedRenderbufferStorageMultisample,
+  glTextureBuffer,
+  glTextureBufferRange,
+  glTextureParameterIiv,
+  glTextureParameterIuiv,
+  glTextureParameterf,
+  glTextureParameterfv,
+  glTextureParameteri,
+  glTextureParameteriv,
+  glTextureStorage1D,
+  glTextureStorage2D,
+  glTextureStorage2DMultisample,
+  glTextureStorage3D,
+  glTextureStorage3DMultisample,
+  glTextureSubImage1D,
+  glTextureSubImage2D,
+  glTextureSubImage3D,
+  glTransformFeedbackBufferBase,
+  glTransformFeedbackBufferRange,
+  glUnmapNamedBuffer,
+  glVertexArrayAttribBinding,
+  glVertexArrayAttribFormat,
+  glVertexArrayAttribIFormat,
+  glVertexArrayAttribLFormat,
+  glVertexArrayBindingDivisor,
+  glVertexArrayElementBuffer,
+  glVertexArrayVertexBuffer,
+  glVertexArrayVertexBuffers
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/DrawBuffers.hs b/src/Graphics/GL/ARB/DrawBuffers.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DrawBuffers.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DrawBuffers
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DrawBuffers (
+  -- * Extension Support
+  glGetARBDrawBuffers,
+  gl_ARB_draw_buffers,
+  -- * Enums
+  pattern GL_DRAW_BUFFER0_ARB,
+  pattern GL_DRAW_BUFFER10_ARB,
+  pattern GL_DRAW_BUFFER11_ARB,
+  pattern GL_DRAW_BUFFER12_ARB,
+  pattern GL_DRAW_BUFFER13_ARB,
+  pattern GL_DRAW_BUFFER14_ARB,
+  pattern GL_DRAW_BUFFER15_ARB,
+  pattern GL_DRAW_BUFFER1_ARB,
+  pattern GL_DRAW_BUFFER2_ARB,
+  pattern GL_DRAW_BUFFER3_ARB,
+  pattern GL_DRAW_BUFFER4_ARB,
+  pattern GL_DRAW_BUFFER5_ARB,
+  pattern GL_DRAW_BUFFER6_ARB,
+  pattern GL_DRAW_BUFFER7_ARB,
+  pattern GL_DRAW_BUFFER8_ARB,
+  pattern GL_DRAW_BUFFER9_ARB,
+  pattern GL_MAX_DRAW_BUFFERS_ARB,
+  -- * Functions
+  glDrawBuffersARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/DrawBuffersBlend.hs b/src/Graphics/GL/ARB/DrawBuffersBlend.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DrawBuffersBlend.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DrawBuffersBlend
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DrawBuffersBlend (
+  -- * Extension Support
+  glGetARBDrawBuffersBlend,
+  gl_ARB_draw_buffers_blend,
+  -- * Functions
+  glBlendEquationSeparateiARB,
+  glBlendEquationiARB,
+  glBlendFuncSeparateiARB,
+  glBlendFunciARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/DrawElementsBaseVertex.hs b/src/Graphics/GL/ARB/DrawElementsBaseVertex.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DrawElementsBaseVertex.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DrawElementsBaseVertex
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DrawElementsBaseVertex (
+  -- * Extension Support
+  glGetARBDrawElementsBaseVertex,
+  gl_ARB_draw_elements_base_vertex,
+  -- * Functions
+  glDrawElementsBaseVertex,
+  glDrawElementsInstancedBaseVertex,
+  glDrawRangeElementsBaseVertex,
+  glMultiDrawElementsBaseVertex
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/DrawIndirect.hs b/src/Graphics/GL/ARB/DrawIndirect.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DrawIndirect.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DrawIndirect
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DrawIndirect (
+  -- * Extension Support
+  glGetARBDrawIndirect,
+  gl_ARB_draw_indirect,
+  -- * Enums
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  -- * Functions
+  glDrawArraysIndirect,
+  glDrawElementsIndirect
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/DrawInstanced.hs b/src/Graphics/GL/ARB/DrawInstanced.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/DrawInstanced.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.DrawInstanced
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.DrawInstanced (
+  -- * Extension Support
+  glGetARBDrawInstanced,
+  gl_ARB_draw_instanced,
+  -- * Functions
+  glDrawArraysInstancedARB,
+  glDrawElementsInstancedARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ES2Compatibility.hs b/src/Graphics/GL/ARB/ES2Compatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ES2Compatibility.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ES2Compatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ES2Compatibility (
+  -- * Extension Support
+  glGetARBES2Compatibility,
+  gl_ARB_ES2_compatibility,
+  -- * Enums
+  pattern GL_FIXED,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_RGB565,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  -- * Functions
+  glClearDepthf,
+  glDepthRangef,
+  glGetShaderPrecisionFormat,
+  glReleaseShaderCompiler,
+  glShaderBinary
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ES31Compatibility.hs b/src/Graphics/GL/ARB/ES31Compatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ES31Compatibility.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ES31Compatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ES31Compatibility (
+  -- * Extension Support
+  glGetARBES31Compatibility,
+  gl_ARB_ES3_1_compatibility,
+  -- * Enums
+  pattern GL_BACK,
+  -- * Functions
+  glMemoryBarrierByRegion
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ES32Compatibility.hs b/src/Graphics/GL/ARB/ES32Compatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ES32Compatibility.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ES32Compatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ES32Compatibility (
+  -- * Extension Support
+  glGetARBES32Compatibility,
+  gl_ARB_ES3_2_compatibility,
+  -- * Enums
+  pattern GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB,
+  pattern GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB,
+  pattern GL_PRIMITIVE_BOUNDING_BOX_ARB,
+  -- * Functions
+  glPrimitiveBoundingBoxARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ES3Compatibility.hs b/src/Graphics/GL/ARB/ES3Compatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ES3Compatibility.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ES3Compatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ES3Compatibility (
+  -- * Extension Support
+  glGetARBES3Compatibility,
+  gl_ARB_ES3_compatibility,
+  -- * Enums
+  pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  pattern GL_COMPRESSED_R11_EAC,
+  pattern GL_COMPRESSED_RG11_EAC,
+  pattern GL_COMPRESSED_RGB8_ETC2,
+  pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_RGBA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SIGNED_R11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RG11_EAC,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SRGB8_ETC2,
+  pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_MAX_ELEMENT_INDEX,
+  pattern GL_PRIMITIVE_RESTART_FIXED_INDEX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/EnhancedLayouts.hs b/src/Graphics/GL/ARB/EnhancedLayouts.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/EnhancedLayouts.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.EnhancedLayouts
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.EnhancedLayouts (
+  -- * Extension Support
+  glGetARBEnhancedLayouts,
+  gl_ARB_enhanced_layouts,
+  -- * Enums
+  pattern GL_LOCATION_COMPONENT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/ExplicitUniformLocation.hs b/src/Graphics/GL/ARB/ExplicitUniformLocation.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ExplicitUniformLocation.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ExplicitUniformLocation
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ExplicitUniformLocation (
+  -- * Extension Support
+  glGetARBExplicitUniformLocation,
+  gl_ARB_explicit_uniform_location,
+  -- * Enums
+  pattern GL_MAX_UNIFORM_LOCATIONS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/FragmentProgram.hs b/src/Graphics/GL/ARB/FragmentProgram.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/FragmentProgram.hs
@@ -0,0 +1,121 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.FragmentProgram
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.FragmentProgram (
+  -- * Extension Support
+  glGetARBFragmentProgram,
+  gl_ARB_fragment_program,
+  -- * Enums
+  pattern GL_CURRENT_MATRIX_ARB,
+  pattern GL_CURRENT_MATRIX_STACK_DEPTH_ARB,
+  pattern GL_FRAGMENT_PROGRAM_ARB,
+  pattern GL_MATRIX0_ARB,
+  pattern GL_MATRIX10_ARB,
+  pattern GL_MATRIX11_ARB,
+  pattern GL_MATRIX12_ARB,
+  pattern GL_MATRIX13_ARB,
+  pattern GL_MATRIX14_ARB,
+  pattern GL_MATRIX15_ARB,
+  pattern GL_MATRIX16_ARB,
+  pattern GL_MATRIX17_ARB,
+  pattern GL_MATRIX18_ARB,
+  pattern GL_MATRIX19_ARB,
+  pattern GL_MATRIX1_ARB,
+  pattern GL_MATRIX20_ARB,
+  pattern GL_MATRIX21_ARB,
+  pattern GL_MATRIX22_ARB,
+  pattern GL_MATRIX23_ARB,
+  pattern GL_MATRIX24_ARB,
+  pattern GL_MATRIX25_ARB,
+  pattern GL_MATRIX26_ARB,
+  pattern GL_MATRIX27_ARB,
+  pattern GL_MATRIX28_ARB,
+  pattern GL_MATRIX29_ARB,
+  pattern GL_MATRIX2_ARB,
+  pattern GL_MATRIX30_ARB,
+  pattern GL_MATRIX31_ARB,
+  pattern GL_MATRIX3_ARB,
+  pattern GL_MATRIX4_ARB,
+  pattern GL_MATRIX5_ARB,
+  pattern GL_MATRIX6_ARB,
+  pattern GL_MATRIX7_ARB,
+  pattern GL_MATRIX8_ARB,
+  pattern GL_MATRIX9_ARB,
+  pattern GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB,
+  pattern GL_MAX_PROGRAM_ATTRIBS_ARB,
+  pattern GL_MAX_PROGRAM_ENV_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_INSTRUCTIONS_ARB,
+  pattern GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_MATRICES_ARB,
+  pattern GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
+  pattern GL_MAX_PROGRAM_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_TEMPORARIES_ARB,
+  pattern GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB,
+  pattern GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB,
+  pattern GL_MAX_TEXTURE_COORDS_ARB,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS_ARB,
+  pattern GL_PROGRAM_ALU_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_ATTRIBS_ARB,
+  pattern GL_PROGRAM_BINDING_ARB,
+  pattern GL_PROGRAM_ERROR_POSITION_ARB,
+  pattern GL_PROGRAM_ERROR_STRING_ARB,
+  pattern GL_PROGRAM_FORMAT_ARB,
+  pattern GL_PROGRAM_FORMAT_ASCII_ARB,
+  pattern GL_PROGRAM_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_LENGTH_ARB,
+  pattern GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_NATIVE_ATTRIBS_ARB,
+  pattern GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_NATIVE_PARAMETERS_ARB,
+  pattern GL_PROGRAM_NATIVE_TEMPORARIES_ARB,
+  pattern GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB,
+  pattern GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_PARAMETERS_ARB,
+  pattern GL_PROGRAM_STRING_ARB,
+  pattern GL_PROGRAM_TEMPORARIES_ARB,
+  pattern GL_PROGRAM_TEX_INDIRECTIONS_ARB,
+  pattern GL_PROGRAM_TEX_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB,
+  pattern GL_TRANSPOSE_CURRENT_MATRIX_ARB,
+  -- * Functions
+  glBindProgramARB,
+  glDeleteProgramsARB,
+  glGenProgramsARB,
+  glGetProgramEnvParameterdvARB,
+  glGetProgramEnvParameterfvARB,
+  glGetProgramLocalParameterdvARB,
+  glGetProgramLocalParameterfvARB,
+  glGetProgramStringARB,
+  glGetProgramivARB,
+  glIsProgramARB,
+  glProgramEnvParameter4dARB,
+  glProgramEnvParameter4dvARB,
+  glProgramEnvParameter4fARB,
+  glProgramEnvParameter4fvARB,
+  glProgramLocalParameter4dARB,
+  glProgramLocalParameter4dvARB,
+  glProgramLocalParameter4fARB,
+  glProgramLocalParameter4fvARB,
+  glProgramStringARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/FragmentShader.hs b/src/Graphics/GL/ARB/FragmentShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/FragmentShader.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.FragmentShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.FragmentShader (
+  -- * Extension Support
+  glGetARBFragmentShader,
+  gl_ARB_fragment_shader,
+  -- * Enums
+  pattern GL_FRAGMENT_SHADER_ARB,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/FramebufferNoAttachments.hs b/src/Graphics/GL/ARB/FramebufferNoAttachments.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/FramebufferNoAttachments.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.FramebufferNoAttachments
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.FramebufferNoAttachments (
+  -- * Extension Support
+  glGetARBFramebufferNoAttachments,
+  gl_ARB_framebuffer_no_attachments,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT,
+  pattern GL_FRAMEBUFFER_DEFAULT_LAYERS,
+  pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES,
+  pattern GL_FRAMEBUFFER_DEFAULT_WIDTH,
+  pattern GL_MAX_FRAMEBUFFER_HEIGHT,
+  pattern GL_MAX_FRAMEBUFFER_LAYERS,
+  pattern GL_MAX_FRAMEBUFFER_SAMPLES,
+  pattern GL_MAX_FRAMEBUFFER_WIDTH,
+  -- * Functions
+  glFramebufferParameteri,
+  glGetFramebufferParameteriv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/FramebufferObjectCompatibility.hs b/src/Graphics/GL/ARB/FramebufferObjectCompatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/FramebufferObjectCompatibility.hs
@@ -0,0 +1,117 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.FramebufferObjectCompatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.FramebufferObjectCompatibility (
+  -- * Extension Support
+  glGetARBFramebufferObject,
+  gl_ARB_framebuffer_object,
+  -- * Enums
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_INDEX,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_NORMALIZED,
+  -- * Functions
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBlitFramebuffer,
+  glCheckFramebufferStatus,
+  glDeleteFramebuffers,
+  glDeleteRenderbuffers,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glGenFramebuffers,
+  glGenRenderbuffers,
+  glGenerateMipmap,
+  glGetFramebufferAttachmentParameteriv,
+  glGetRenderbufferParameteriv,
+  glIsFramebuffer,
+  glIsRenderbuffer,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/FramebufferObjectCore.hs b/src/Graphics/GL/ARB/FramebufferObjectCore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/FramebufferObjectCore.hs
@@ -0,0 +1,116 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.FramebufferObjectCore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.FramebufferObjectCore (
+  -- * Extension Support
+  glGetARBFramebufferObject,
+  gl_ARB_framebuffer_object,
+  -- * Enums
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_NORMALIZED,
+  -- * Functions
+  glBindFramebuffer,
+  glBindRenderbuffer,
+  glBlitFramebuffer,
+  glCheckFramebufferStatus,
+  glDeleteFramebuffers,
+  glDeleteRenderbuffers,
+  glFramebufferRenderbuffer,
+  glFramebufferTexture1D,
+  glFramebufferTexture2D,
+  glFramebufferTexture3D,
+  glFramebufferTextureLayer,
+  glGenFramebuffers,
+  glGenRenderbuffers,
+  glGenerateMipmap,
+  glGetFramebufferAttachmentParameteriv,
+  glGetRenderbufferParameteriv,
+  glIsFramebuffer,
+  glIsRenderbuffer,
+  glRenderbufferStorage,
+  glRenderbufferStorageMultisample
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/FramebufferSRGB.hs b/src/Graphics/GL/ARB/FramebufferSRGB.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/FramebufferSRGB.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.FramebufferSRGB
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.FramebufferSRGB (
+  -- * Extension Support
+  glGetARBFramebufferSRGB,
+  gl_ARB_framebuffer_sRGB,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_SRGB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/GPUShader5.hs b/src/Graphics/GL/ARB/GPUShader5.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/GPUShader5.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.GPUShader5
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.GPUShader5 (
+  -- * Extension Support
+  glGetARBGPUShader5,
+  gl_ARB_gpu_shader5,
+  -- * Enums
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/GPUShaderFP64.hs b/src/Graphics/GL/ARB/GPUShaderFP64.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/GPUShaderFP64.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.GPUShaderFP64
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.GPUShaderFP64 (
+  -- * Extension Support
+  glGetARBGPUShaderFP64,
+  gl_ARB_gpu_shader_fp64,
+  -- * Enums
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  -- * Functions
+  glGetUniformdv,
+  glUniform1d,
+  glUniform1dv,
+  glUniform2d,
+  glUniform2dv,
+  glUniform3d,
+  glUniform3dv,
+  glUniform4d,
+  glUniform4dv,
+  glUniformMatrix2dv,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x4dv,
+  glUniformMatrix3dv,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x4dv,
+  glUniformMatrix4dv,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x3dv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/GPUShaderInt64.hs b/src/Graphics/GL/ARB/GPUShaderInt64.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/GPUShaderInt64.hs
@@ -0,0 +1,68 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.GPUShaderInt64
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.GPUShaderInt64 (
+  -- * Extension Support
+  glGetARBGPUShaderInt64,
+  gl_ARB_gpu_shader_int64,
+  -- * Enums
+  pattern GL_INT64_ARB,
+  pattern GL_INT64_VEC2_ARB,
+  pattern GL_INT64_VEC3_ARB,
+  pattern GL_INT64_VEC4_ARB,
+  pattern GL_UNSIGNED_INT64_ARB,
+  pattern GL_UNSIGNED_INT64_VEC2_ARB,
+  pattern GL_UNSIGNED_INT64_VEC3_ARB,
+  pattern GL_UNSIGNED_INT64_VEC4_ARB,
+  -- * Functions
+  glGetUniformi64vARB,
+  glGetUniformui64vARB,
+  glGetnUniformi64vARB,
+  glGetnUniformui64vARB,
+  glProgramUniform1i64ARB,
+  glProgramUniform1i64vARB,
+  glProgramUniform1ui64ARB,
+  glProgramUniform1ui64vARB,
+  glProgramUniform2i64ARB,
+  glProgramUniform2i64vARB,
+  glProgramUniform2ui64ARB,
+  glProgramUniform2ui64vARB,
+  glProgramUniform3i64ARB,
+  glProgramUniform3i64vARB,
+  glProgramUniform3ui64ARB,
+  glProgramUniform3ui64vARB,
+  glProgramUniform4i64ARB,
+  glProgramUniform4i64vARB,
+  glProgramUniform4ui64ARB,
+  glProgramUniform4ui64vARB,
+  glUniform1i64ARB,
+  glUniform1i64vARB,
+  glUniform1ui64ARB,
+  glUniform1ui64vARB,
+  glUniform2i64ARB,
+  glUniform2i64vARB,
+  glUniform2ui64ARB,
+  glUniform2ui64vARB,
+  glUniform3i64ARB,
+  glUniform3i64vARB,
+  glUniform3ui64ARB,
+  glUniform3ui64vARB,
+  glUniform4i64ARB,
+  glUniform4i64vARB,
+  glUniform4ui64ARB,
+  glUniform4ui64vARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/GeometryShader4.hs b/src/Graphics/GL/ARB/GeometryShader4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/GeometryShader4.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.GeometryShader4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.GeometryShader4 (
+  -- * Extension Support
+  glGetARBGeometryShader4,
+  gl_ARB_geometry_shader4,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB,
+  pattern GL_GEOMETRY_INPUT_TYPE_ARB,
+  pattern GL_GEOMETRY_OUTPUT_TYPE_ARB,
+  pattern GL_GEOMETRY_SHADER_ARB,
+  pattern GL_GEOMETRY_VERTICES_OUT_ARB,
+  pattern GL_LINES_ADJACENCY_ARB,
+  pattern GL_LINE_STRIP_ADJACENCY_ARB,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB,
+  pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VERTEX_VARYING_COMPONENTS_ARB,
+  pattern GL_PROGRAM_POINT_SIZE_ARB,
+  pattern GL_TRIANGLES_ADJACENCY_ARB,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY_ARB,
+  -- * Functions
+  glFramebufferTextureARB,
+  glFramebufferTextureFaceARB,
+  glFramebufferTextureLayerARB,
+  glProgramParameteriARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/GetProgramBinary.hs b/src/Graphics/GL/ARB/GetProgramBinary.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/GetProgramBinary.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.GetProgramBinary
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.GetProgramBinary (
+  -- * Extension Support
+  glGetARBGetProgramBinary,
+  gl_ARB_get_program_binary,
+  -- * Enums
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  -- * Functions
+  glGetProgramBinary,
+  glProgramBinary,
+  glProgramParameteri
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/GetTextureSubImage.hs b/src/Graphics/GL/ARB/GetTextureSubImage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/GetTextureSubImage.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.GetTextureSubImage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.GetTextureSubImage (
+  -- * Extension Support
+  glGetARBGetTextureSubImage,
+  gl_ARB_get_texture_sub_image,
+  -- * Functions
+  glGetCompressedTextureSubImage,
+  glGetTextureSubImage
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/HalfFloatPixel.hs b/src/Graphics/GL/ARB/HalfFloatPixel.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/HalfFloatPixel.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.HalfFloatPixel
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.HalfFloatPixel (
+  -- * Extension Support
+  glGetARBHalfFloatPixel,
+  gl_ARB_half_float_pixel,
+  -- * Types
+  GLhalfARB,
+  -- * Enums
+  pattern GL_HALF_FLOAT_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Types
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/HalfFloatVertex.hs b/src/Graphics/GL/ARB/HalfFloatVertex.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/HalfFloatVertex.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.HalfFloatVertex
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.HalfFloatVertex (
+  -- * Extension Support
+  glGetARBHalfFloatVertex,
+  gl_ARB_half_float_vertex,
+  -- * Types
+  GLhalf,
+  -- * Enums
+  pattern GL_HALF_FLOAT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Types
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/ImagingCompatibility.hs b/src/Graphics/GL/ARB/ImagingCompatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ImagingCompatibility.hs
@@ -0,0 +1,133 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ImagingCompatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ImagingCompatibility (
+  -- * Extension Support
+  glGetARBImaging,
+  gl_ARB_imaging,
+  -- * Enums
+  pattern GL_BLEND_COLOR,
+  pattern GL_BLEND_EQUATION,
+  pattern GL_COLOR_MATRIX,
+  pattern GL_COLOR_MATRIX_STACK_DEPTH,
+  pattern GL_COLOR_TABLE,
+  pattern GL_COLOR_TABLE_ALPHA_SIZE,
+  pattern GL_COLOR_TABLE_BIAS,
+  pattern GL_COLOR_TABLE_BLUE_SIZE,
+  pattern GL_COLOR_TABLE_FORMAT,
+  pattern GL_COLOR_TABLE_GREEN_SIZE,
+  pattern GL_COLOR_TABLE_INTENSITY_SIZE,
+  pattern GL_COLOR_TABLE_LUMINANCE_SIZE,
+  pattern GL_COLOR_TABLE_RED_SIZE,
+  pattern GL_COLOR_TABLE_SCALE,
+  pattern GL_COLOR_TABLE_WIDTH,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_BORDER,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONVOLUTION_1D,
+  pattern GL_CONVOLUTION_2D,
+  pattern GL_CONVOLUTION_BORDER_COLOR,
+  pattern GL_CONVOLUTION_BORDER_MODE,
+  pattern GL_CONVOLUTION_FILTER_BIAS,
+  pattern GL_CONVOLUTION_FILTER_SCALE,
+  pattern GL_CONVOLUTION_FORMAT,
+  pattern GL_CONVOLUTION_HEIGHT,
+  pattern GL_CONVOLUTION_WIDTH,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_HISTOGRAM,
+  pattern GL_HISTOGRAM_ALPHA_SIZE,
+  pattern GL_HISTOGRAM_BLUE_SIZE,
+  pattern GL_HISTOGRAM_FORMAT,
+  pattern GL_HISTOGRAM_GREEN_SIZE,
+  pattern GL_HISTOGRAM_LUMINANCE_SIZE,
+  pattern GL_HISTOGRAM_RED_SIZE,
+  pattern GL_HISTOGRAM_SINK,
+  pattern GL_HISTOGRAM_WIDTH,
+  pattern GL_MAX,
+  pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH,
+  pattern GL_MAX_CONVOLUTION_HEIGHT,
+  pattern GL_MAX_CONVOLUTION_WIDTH,
+  pattern GL_MIN,
+  pattern GL_MINMAX,
+  pattern GL_MINMAX_FORMAT,
+  pattern GL_MINMAX_SINK,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS,
+  pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE,
+  pattern GL_POST_COLOR_MATRIX_BLUE_BIAS,
+  pattern GL_POST_COLOR_MATRIX_BLUE_SCALE,
+  pattern GL_POST_COLOR_MATRIX_COLOR_TABLE,
+  pattern GL_POST_COLOR_MATRIX_GREEN_BIAS,
+  pattern GL_POST_COLOR_MATRIX_GREEN_SCALE,
+  pattern GL_POST_COLOR_MATRIX_RED_BIAS,
+  pattern GL_POST_COLOR_MATRIX_RED_SCALE,
+  pattern GL_POST_CONVOLUTION_ALPHA_BIAS,
+  pattern GL_POST_CONVOLUTION_ALPHA_SCALE,
+  pattern GL_POST_CONVOLUTION_BLUE_BIAS,
+  pattern GL_POST_CONVOLUTION_BLUE_SCALE,
+  pattern GL_POST_CONVOLUTION_COLOR_TABLE,
+  pattern GL_POST_CONVOLUTION_GREEN_BIAS,
+  pattern GL_POST_CONVOLUTION_GREEN_SCALE,
+  pattern GL_POST_CONVOLUTION_RED_BIAS,
+  pattern GL_POST_CONVOLUTION_RED_SCALE,
+  pattern GL_PROXY_COLOR_TABLE,
+  pattern GL_PROXY_HISTOGRAM,
+  pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE,
+  pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE,
+  pattern GL_REDUCE,
+  pattern GL_REPLICATE_BORDER,
+  pattern GL_SEPARABLE_2D,
+  pattern GL_TABLE_TOO_LARGE,
+  -- * Functions
+  glBlendColor,
+  glBlendEquation,
+  glColorSubTable,
+  glColorTable,
+  glColorTableParameterfv,
+  glColorTableParameteriv,
+  glConvolutionFilter1D,
+  glConvolutionFilter2D,
+  glConvolutionParameterf,
+  glConvolutionParameterfv,
+  glConvolutionParameteri,
+  glConvolutionParameteriv,
+  glCopyColorSubTable,
+  glCopyColorTable,
+  glCopyConvolutionFilter1D,
+  glCopyConvolutionFilter2D,
+  glGetColorTable,
+  glGetColorTableParameterfv,
+  glGetColorTableParameteriv,
+  glGetConvolutionFilter,
+  glGetConvolutionParameterfv,
+  glGetConvolutionParameteriv,
+  glGetHistogram,
+  glGetHistogramParameterfv,
+  glGetHistogramParameteriv,
+  glGetMinmax,
+  glGetMinmaxParameterfv,
+  glGetMinmaxParameteriv,
+  glGetSeparableFilter,
+  glHistogram,
+  glMinmax,
+  glResetHistogram,
+  glResetMinmax,
+  glSeparableFilter2D
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ImagingCore.hs b/src/Graphics/GL/ARB/ImagingCore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ImagingCore.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ImagingCore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ImagingCore (
+  -- * Extension Support
+  glGetARBImaging,
+  gl_ARB_imaging,
+  -- * Enums
+  pattern GL_BLEND_COLOR,
+  pattern GL_BLEND_EQUATION,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_MAX,
+  pattern GL_MIN,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  -- * Functions
+  glBlendColor,
+  glBlendEquation
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/IndirectParameters.hs b/src/Graphics/GL/ARB/IndirectParameters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/IndirectParameters.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.IndirectParameters
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.IndirectParameters (
+  -- * Extension Support
+  glGetARBIndirectParameters,
+  gl_ARB_indirect_parameters,
+  -- * Enums
+  pattern GL_PARAMETER_BUFFER_ARB,
+  pattern GL_PARAMETER_BUFFER_BINDING_ARB,
+  -- * Functions
+  glMultiDrawArraysIndirectCountARB,
+  glMultiDrawElementsIndirectCountARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/InstancedArrays.hs b/src/Graphics/GL/ARB/InstancedArrays.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/InstancedArrays.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.InstancedArrays
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.InstancedArrays (
+  -- * Extension Support
+  glGetARBInstancedArrays,
+  gl_ARB_instanced_arrays,
+  -- * Enums
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB,
+  -- * Functions
+  glVertexAttribDivisorARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/InternalformatQuery.hs b/src/Graphics/GL/ARB/InternalformatQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/InternalformatQuery.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.InternalformatQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.InternalformatQuery (
+  -- * Extension Support
+  glGetARBInternalformatQuery,
+  gl_ARB_internalformat_query,
+  -- * Enums
+  pattern GL_NUM_SAMPLE_COUNTS,
+  -- * Functions
+  glGetInternalformativ
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/InternalformatQuery2.hs b/src/Graphics/GL/ARB/InternalformatQuery2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/InternalformatQuery2.hs
@@ -0,0 +1,140 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.InternalformatQuery2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.InternalformatQuery2 (
+  -- * Extension Support
+  glGetARBInternalformatQuery2,
+  gl_ARB_internalformat_query2,
+  -- * Enums
+  pattern GL_AUTO_GENERATE_MIPMAP,
+  pattern GL_CAVEAT_SUPPORT,
+  pattern GL_CLEAR_BUFFER,
+  pattern GL_COLOR_COMPONENTS,
+  pattern GL_COLOR_ENCODING,
+  pattern GL_COLOR_RENDERABLE,
+  pattern GL_COMPUTE_TEXTURE,
+  pattern GL_DEPTH_COMPONENTS,
+  pattern GL_DEPTH_RENDERABLE,
+  pattern GL_FILTER,
+  pattern GL_FRAGMENT_TEXTURE,
+  pattern GL_FRAMEBUFFER_BLEND,
+  pattern GL_FRAMEBUFFER_RENDERABLE,
+  pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED,
+  pattern GL_FULL_SUPPORT,
+  pattern GL_GEOMETRY_TEXTURE,
+  pattern GL_GET_TEXTURE_IMAGE_FORMAT,
+  pattern GL_GET_TEXTURE_IMAGE_TYPE,
+  pattern GL_IMAGE_CLASS_10_10_10_2,
+  pattern GL_IMAGE_CLASS_11_11_10,
+  pattern GL_IMAGE_CLASS_1_X_16,
+  pattern GL_IMAGE_CLASS_1_X_32,
+  pattern GL_IMAGE_CLASS_1_X_8,
+  pattern GL_IMAGE_CLASS_2_X_16,
+  pattern GL_IMAGE_CLASS_2_X_32,
+  pattern GL_IMAGE_CLASS_2_X_8,
+  pattern GL_IMAGE_CLASS_4_X_16,
+  pattern GL_IMAGE_CLASS_4_X_32,
+  pattern GL_IMAGE_CLASS_4_X_8,
+  pattern GL_IMAGE_COMPATIBILITY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMAGE_PIXEL_FORMAT,
+  pattern GL_IMAGE_PIXEL_TYPE,
+  pattern GL_IMAGE_TEXEL_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_TYPE,
+  pattern GL_INTERNALFORMAT_BLUE_SIZE,
+  pattern GL_INTERNALFORMAT_BLUE_TYPE,
+  pattern GL_INTERNALFORMAT_DEPTH_SIZE,
+  pattern GL_INTERNALFORMAT_DEPTH_TYPE,
+  pattern GL_INTERNALFORMAT_GREEN_SIZE,
+  pattern GL_INTERNALFORMAT_GREEN_TYPE,
+  pattern GL_INTERNALFORMAT_PREFERRED,
+  pattern GL_INTERNALFORMAT_RED_SIZE,
+  pattern GL_INTERNALFORMAT_RED_TYPE,
+  pattern GL_INTERNALFORMAT_SHARED_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_TYPE,
+  pattern GL_INTERNALFORMAT_SUPPORTED,
+  pattern GL_MANUAL_GENERATE_MIPMAP,
+  pattern GL_MAX_COMBINED_DIMENSIONS,
+  pattern GL_MAX_DEPTH,
+  pattern GL_MAX_HEIGHT,
+  pattern GL_MAX_LAYERS,
+  pattern GL_MAX_WIDTH,
+  pattern GL_MIPMAP,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_READ_PIXELS,
+  pattern GL_READ_PIXELS_FORMAT,
+  pattern GL_READ_PIXELS_TYPE,
+  pattern GL_RENDERBUFFER,
+  pattern GL_SAMPLES,
+  pattern GL_SHADER_IMAGE_ATOMIC,
+  pattern GL_SHADER_IMAGE_LOAD,
+  pattern GL_SHADER_IMAGE_STORE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  pattern GL_SRGB_DECODE_ARB,
+  pattern GL_SRGB_READ,
+  pattern GL_SRGB_WRITE,
+  pattern GL_STENCIL_COMPONENTS,
+  pattern GL_STENCIL_RENDERABLE,
+  pattern GL_TESS_CONTROL_TEXTURE,
+  pattern GL_TESS_EVALUATION_TEXTURE,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_GATHER,
+  pattern GL_TEXTURE_GATHER_SHADOW,
+  pattern GL_TEXTURE_IMAGE_FORMAT,
+  pattern GL_TEXTURE_IMAGE_TYPE,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_SHADOW,
+  pattern GL_TEXTURE_VIEW,
+  pattern GL_VERTEX_TEXTURE,
+  pattern GL_VIEW_CLASS_128_BITS,
+  pattern GL_VIEW_CLASS_16_BITS,
+  pattern GL_VIEW_CLASS_24_BITS,
+  pattern GL_VIEW_CLASS_32_BITS,
+  pattern GL_VIEW_CLASS_48_BITS,
+  pattern GL_VIEW_CLASS_64_BITS,
+  pattern GL_VIEW_CLASS_8_BITS,
+  pattern GL_VIEW_CLASS_96_BITS,
+  pattern GL_VIEW_CLASS_BPTC_FLOAT,
+  pattern GL_VIEW_CLASS_BPTC_UNORM,
+  pattern GL_VIEW_CLASS_RGTC1_RED,
+  pattern GL_VIEW_CLASS_RGTC2_RG,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGB,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA,
+  pattern GL_VIEW_COMPATIBILITY_CLASS,
+  -- * Functions
+  glGetInternalformati64v
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/InvalidateSubdata.hs b/src/Graphics/GL/ARB/InvalidateSubdata.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/InvalidateSubdata.hs
@@ -0,0 +1,27 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.InvalidateSubdata
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.InvalidateSubdata (
+  -- * Extension Support
+  glGetARBInvalidateSubdata,
+  gl_ARB_invalidate_subdata,
+  -- * Functions
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/MapBufferAlignment.hs b/src/Graphics/GL/ARB/MapBufferAlignment.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/MapBufferAlignment.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.MapBufferAlignment
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.MapBufferAlignment (
+  -- * Extension Support
+  glGetARBMapBufferAlignment,
+  gl_ARB_map_buffer_alignment,
+  -- * Enums
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/MapBufferRange.hs b/src/Graphics/GL/ARB/MapBufferRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/MapBufferRange.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.MapBufferRange
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.MapBufferRange (
+  -- * Extension Support
+  glGetARBMapBufferRange,
+  gl_ARB_map_buffer_range,
+  -- * Enums
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  -- * Functions
+  glFlushMappedBufferRange,
+  glMapBufferRange
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/MatrixPalette.hs b/src/Graphics/GL/ARB/MatrixPalette.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/MatrixPalette.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.MatrixPalette
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.MatrixPalette (
+  -- * Extension Support
+  glGetARBMatrixPalette,
+  gl_ARB_matrix_palette,
+  -- * Enums
+  pattern GL_CURRENT_MATRIX_INDEX_ARB,
+  pattern GL_CURRENT_PALETTE_MATRIX_ARB,
+  pattern GL_MATRIX_INDEX_ARRAY_ARB,
+  pattern GL_MATRIX_INDEX_ARRAY_POINTER_ARB,
+  pattern GL_MATRIX_INDEX_ARRAY_SIZE_ARB,
+  pattern GL_MATRIX_INDEX_ARRAY_STRIDE_ARB,
+  pattern GL_MATRIX_INDEX_ARRAY_TYPE_ARB,
+  pattern GL_MATRIX_PALETTE_ARB,
+  pattern GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB,
+  pattern GL_MAX_PALETTE_MATRICES_ARB,
+  -- * Functions
+  glCurrentPaletteMatrixARB,
+  glMatrixIndexPointerARB,
+  glMatrixIndexubvARB,
+  glMatrixIndexuivARB,
+  glMatrixIndexusvARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/MultiBind.hs b/src/Graphics/GL/ARB/MultiBind.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/MultiBind.hs
@@ -0,0 +1,27 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.MultiBind
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.MultiBind (
+  -- * Extension Support
+  glGetARBMultiBind,
+  gl_ARB_multi_bind,
+  -- * Functions
+  glBindBuffersBase,
+  glBindBuffersRange,
+  glBindImageTextures,
+  glBindSamplers,
+  glBindTextures,
+  glBindVertexBuffers
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/MultiDrawIndirect.hs b/src/Graphics/GL/ARB/MultiDrawIndirect.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/MultiDrawIndirect.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.MultiDrawIndirect
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.MultiDrawIndirect (
+  -- * Extension Support
+  glGetARBMultiDrawIndirect,
+  gl_ARB_multi_draw_indirect,
+  -- * Functions
+  glMultiDrawArraysIndirect,
+  glMultiDrawElementsIndirect
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/Multisample.hs b/src/Graphics/GL/ARB/Multisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/Multisample.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.Multisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.Multisample (
+  -- * Extension Support
+  glGetARBMultisample,
+  gl_ARB_multisample,
+  -- * Enums
+  pattern GL_MULTISAMPLE_ARB,
+  pattern GL_MULTISAMPLE_BIT_ARB,
+  pattern GL_SAMPLES_ARB,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE_ARB,
+  pattern GL_SAMPLE_ALPHA_TO_ONE_ARB,
+  pattern GL_SAMPLE_BUFFERS_ARB,
+  pattern GL_SAMPLE_COVERAGE_ARB,
+  pattern GL_SAMPLE_COVERAGE_INVERT_ARB,
+  pattern GL_SAMPLE_COVERAGE_VALUE_ARB,
+  -- * Functions
+  glSampleCoverageARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/Multitexture.hs b/src/Graphics/GL/ARB/Multitexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/Multitexture.hs
@@ -0,0 +1,93 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.Multitexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.Multitexture (
+  -- * Extension Support
+  glGetARBMultitexture,
+  gl_ARB_multitexture,
+  -- * Enums
+  pattern GL_ACTIVE_TEXTURE_ARB,
+  pattern GL_CLIENT_ACTIVE_TEXTURE_ARB,
+  pattern GL_MAX_TEXTURE_UNITS_ARB,
+  pattern GL_TEXTURE0_ARB,
+  pattern GL_TEXTURE10_ARB,
+  pattern GL_TEXTURE11_ARB,
+  pattern GL_TEXTURE12_ARB,
+  pattern GL_TEXTURE13_ARB,
+  pattern GL_TEXTURE14_ARB,
+  pattern GL_TEXTURE15_ARB,
+  pattern GL_TEXTURE16_ARB,
+  pattern GL_TEXTURE17_ARB,
+  pattern GL_TEXTURE18_ARB,
+  pattern GL_TEXTURE19_ARB,
+  pattern GL_TEXTURE1_ARB,
+  pattern GL_TEXTURE20_ARB,
+  pattern GL_TEXTURE21_ARB,
+  pattern GL_TEXTURE22_ARB,
+  pattern GL_TEXTURE23_ARB,
+  pattern GL_TEXTURE24_ARB,
+  pattern GL_TEXTURE25_ARB,
+  pattern GL_TEXTURE26_ARB,
+  pattern GL_TEXTURE27_ARB,
+  pattern GL_TEXTURE28_ARB,
+  pattern GL_TEXTURE29_ARB,
+  pattern GL_TEXTURE2_ARB,
+  pattern GL_TEXTURE30_ARB,
+  pattern GL_TEXTURE31_ARB,
+  pattern GL_TEXTURE3_ARB,
+  pattern GL_TEXTURE4_ARB,
+  pattern GL_TEXTURE5_ARB,
+  pattern GL_TEXTURE6_ARB,
+  pattern GL_TEXTURE7_ARB,
+  pattern GL_TEXTURE8_ARB,
+  pattern GL_TEXTURE9_ARB,
+  -- * Functions
+  glActiveTextureARB,
+  glClientActiveTextureARB,
+  glMultiTexCoord1dARB,
+  glMultiTexCoord1dvARB,
+  glMultiTexCoord1fARB,
+  glMultiTexCoord1fvARB,
+  glMultiTexCoord1iARB,
+  glMultiTexCoord1ivARB,
+  glMultiTexCoord1sARB,
+  glMultiTexCoord1svARB,
+  glMultiTexCoord2dARB,
+  glMultiTexCoord2dvARB,
+  glMultiTexCoord2fARB,
+  glMultiTexCoord2fvARB,
+  glMultiTexCoord2iARB,
+  glMultiTexCoord2ivARB,
+  glMultiTexCoord2sARB,
+  glMultiTexCoord2svARB,
+  glMultiTexCoord3dARB,
+  glMultiTexCoord3dvARB,
+  glMultiTexCoord3fARB,
+  glMultiTexCoord3fvARB,
+  glMultiTexCoord3iARB,
+  glMultiTexCoord3ivARB,
+  glMultiTexCoord3sARB,
+  glMultiTexCoord3svARB,
+  glMultiTexCoord4dARB,
+  glMultiTexCoord4dvARB,
+  glMultiTexCoord4fARB,
+  glMultiTexCoord4fvARB,
+  glMultiTexCoord4iARB,
+  glMultiTexCoord4ivARB,
+  glMultiTexCoord4sARB,
+  glMultiTexCoord4svARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/OcclusionQuery.hs b/src/Graphics/GL/ARB/OcclusionQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/OcclusionQuery.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.OcclusionQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.OcclusionQuery (
+  -- * Extension Support
+  glGetARBOcclusionQuery,
+  gl_ARB_occlusion_query,
+  -- * Enums
+  pattern GL_CURRENT_QUERY_ARB,
+  pattern GL_QUERY_COUNTER_BITS_ARB,
+  pattern GL_QUERY_RESULT_ARB,
+  pattern GL_QUERY_RESULT_AVAILABLE_ARB,
+  pattern GL_SAMPLES_PASSED_ARB,
+  -- * Functions
+  glBeginQueryARB,
+  glDeleteQueriesARB,
+  glEndQueryARB,
+  glGenQueriesARB,
+  glGetQueryObjectivARB,
+  glGetQueryObjectuivARB,
+  glGetQueryivARB,
+  glIsQueryARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/OcclusionQuery2.hs b/src/Graphics/GL/ARB/OcclusionQuery2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/OcclusionQuery2.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.OcclusionQuery2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.OcclusionQuery2 (
+  -- * Extension Support
+  glGetARBOcclusionQuery2,
+  gl_ARB_occlusion_query2,
+  -- * Enums
+  pattern GL_ANY_SAMPLES_PASSED
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/ParallelShaderCompile.hs b/src/Graphics/GL/ARB/ParallelShaderCompile.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ParallelShaderCompile.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ParallelShaderCompile
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ParallelShaderCompile (
+  -- * Extension Support
+  glGetARBParallelShaderCompile,
+  gl_ARB_parallel_shader_compile,
+  -- * Enums
+  pattern GL_COMPLETION_STATUS_ARB,
+  pattern GL_MAX_SHADER_COMPILER_THREADS_ARB,
+  -- * Functions
+  glMaxShaderCompilerThreadsARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/PipelineStatisticsQuery.hs b/src/Graphics/GL/ARB/PipelineStatisticsQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/PipelineStatisticsQuery.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.PipelineStatisticsQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.PipelineStatisticsQuery (
+  -- * Extension Support
+  glGetARBPipelineStatisticsQuery,
+  gl_ARB_pipeline_statistics_query,
+  -- * Enums
+  pattern GL_CLIPPING_INPUT_PRIMITIVES_ARB,
+  pattern GL_CLIPPING_OUTPUT_PRIMITIVES_ARB,
+  pattern GL_COMPUTE_SHADER_INVOCATIONS_ARB,
+  pattern GL_FRAGMENT_SHADER_INVOCATIONS_ARB,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB,
+  pattern GL_PRIMITIVES_SUBMITTED_ARB,
+  pattern GL_TESS_CONTROL_SHADER_PATCHES_ARB,
+  pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB,
+  pattern GL_VERTEX_SHADER_INVOCATIONS_ARB,
+  pattern GL_VERTICES_SUBMITTED_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/PixelBufferObject.hs b/src/Graphics/GL/ARB/PixelBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/PixelBufferObject.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.PixelBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.PixelBufferObject (
+  -- * Extension Support
+  glGetARBPixelBufferObject,
+  gl_ARB_pixel_buffer_object,
+  -- * Enums
+  pattern GL_PIXEL_PACK_BUFFER_ARB,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING_ARB,
+  pattern GL_PIXEL_UNPACK_BUFFER_ARB,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/PointParameters.hs b/src/Graphics/GL/ARB/PointParameters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/PointParameters.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.PointParameters
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.PointParameters (
+  -- * Extension Support
+  glGetARBPointParameters,
+  gl_ARB_point_parameters,
+  -- * Enums
+  pattern GL_POINT_DISTANCE_ATTENUATION_ARB,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE_ARB,
+  pattern GL_POINT_SIZE_MAX_ARB,
+  pattern GL_POINT_SIZE_MIN_ARB,
+  -- * Functions
+  glPointParameterfARB,
+  glPointParameterfvARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/PointSprite.hs b/src/Graphics/GL/ARB/PointSprite.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/PointSprite.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.PointSprite
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.PointSprite (
+  -- * Extension Support
+  glGetARBPointSprite,
+  gl_ARB_point_sprite,
+  -- * Enums
+  pattern GL_COORD_REPLACE_ARB,
+  pattern GL_POINT_SPRITE_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/ProgramInterfaceQuery.hs b/src/Graphics/GL/ARB/ProgramInterfaceQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ProgramInterfaceQuery.hs
@@ -0,0 +1,80 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ProgramInterfaceQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ProgramInterfaceQuery (
+  -- * Extension Support
+  glGetARBProgramInterfaceQuery,
+  gl_ARB_program_interface_query,
+  -- * Enums
+  pattern GL_ACTIVE_RESOURCES,
+  pattern GL_ACTIVE_VARIABLES,
+  pattern GL_ARRAY_SIZE,
+  pattern GL_ARRAY_STRIDE,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_BLOCK_INDEX,
+  pattern GL_BUFFER_BINDING,
+  pattern GL_BUFFER_DATA_SIZE,
+  pattern GL_BUFFER_VARIABLE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPUTE_SUBROUTINE,
+  pattern GL_COMPUTE_SUBROUTINE_UNIFORM,
+  pattern GL_FRAGMENT_SUBROUTINE,
+  pattern GL_FRAGMENT_SUBROUTINE_UNIFORM,
+  pattern GL_GEOMETRY_SUBROUTINE,
+  pattern GL_GEOMETRY_SUBROUTINE_UNIFORM,
+  pattern GL_IS_PER_PATCH,
+  pattern GL_IS_ROW_MAJOR,
+  pattern GL_LOCATION,
+  pattern GL_LOCATION_INDEX,
+  pattern GL_MATRIX_STRIDE,
+  pattern GL_MAX_NAME_LENGTH,
+  pattern GL_MAX_NUM_ACTIVE_VARIABLES,
+  pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NAME_LENGTH,
+  pattern GL_NUM_ACTIVE_VARIABLES,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_OFFSET,
+  pattern GL_PROGRAM_INPUT,
+  pattern GL_PROGRAM_OUTPUT,
+  pattern GL_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_SHADER_STORAGE_BLOCK,
+  pattern GL_TESS_CONTROL_SUBROUTINE,
+  pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_EVALUATION_SUBROUTINE,
+  pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  pattern GL_TOP_LEVEL_ARRAY_SIZE,
+  pattern GL_TOP_LEVEL_ARRAY_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING,
+  pattern GL_TYPE,
+  pattern GL_UNIFORM,
+  pattern GL_UNIFORM_BLOCK,
+  pattern GL_VERTEX_SUBROUTINE,
+  pattern GL_VERTEX_SUBROUTINE_UNIFORM,
+  -- * Functions
+  glGetProgramInterfaceiv,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceName,
+  glGetProgramResourceiv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ProvokingVertex.hs b/src/Graphics/GL/ARB/ProvokingVertex.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ProvokingVertex.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ProvokingVertex
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ProvokingVertex (
+  -- * Extension Support
+  glGetARBProvokingVertex,
+  gl_ARB_provoking_vertex,
+  -- * Enums
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  -- * Functions
+  glProvokingVertex
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/QueryBufferObject.hs b/src/Graphics/GL/ARB/QueryBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/QueryBufferObject.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.QueryBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.QueryBufferObject (
+  -- * Extension Support
+  glGetARBQueryBufferObject,
+  gl_ARB_query_buffer_object,
+  -- * Enums
+  pattern GL_QUERY_BUFFER,
+  pattern GL_QUERY_BUFFER_BARRIER_BIT,
+  pattern GL_QUERY_BUFFER_BINDING,
+  pattern GL_QUERY_RESULT_NO_WAIT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/RobustnessCompatibility.hs b/src/Graphics/GL/ARB/RobustnessCompatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/RobustnessCompatibility.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.RobustnessCompatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.RobustnessCompatibility (
+  -- * Extension Support
+  glGetARBRobustness,
+  gl_ARB_robustness,
+  -- * Enums
+  pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB,
+  pattern GL_GUILTY_CONTEXT_RESET_ARB,
+  pattern GL_INNOCENT_CONTEXT_RESET_ARB,
+  pattern GL_LOSE_CONTEXT_ON_RESET_ARB,
+  pattern GL_NO_ERROR,
+  pattern GL_NO_RESET_NOTIFICATION_ARB,
+  pattern GL_RESET_NOTIFICATION_STRATEGY_ARB,
+  pattern GL_UNKNOWN_CONTEXT_RESET_ARB,
+  -- * Functions
+  glGetGraphicsResetStatusARB,
+  glGetnColorTableARB,
+  glGetnCompressedTexImageARB,
+  glGetnConvolutionFilterARB,
+  glGetnHistogramARB,
+  glGetnMapdvARB,
+  glGetnMapfvARB,
+  glGetnMapivARB,
+  glGetnMinmaxARB,
+  glGetnPixelMapfvARB,
+  glGetnPixelMapuivARB,
+  glGetnPixelMapusvARB,
+  glGetnPolygonStippleARB,
+  glGetnSeparableFilterARB,
+  glGetnTexImageARB,
+  glGetnUniformdvARB,
+  glGetnUniformfvARB,
+  glGetnUniformivARB,
+  glGetnUniformuivARB,
+  glReadnPixelsARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/RobustnessCore.hs b/src/Graphics/GL/ARB/RobustnessCore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/RobustnessCore.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.RobustnessCore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.RobustnessCore (
+  -- * Extension Support
+  glGetARBRobustness,
+  gl_ARB_robustness,
+  -- * Enums
+  pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB,
+  pattern GL_GUILTY_CONTEXT_RESET_ARB,
+  pattern GL_INNOCENT_CONTEXT_RESET_ARB,
+  pattern GL_LOSE_CONTEXT_ON_RESET_ARB,
+  pattern GL_NO_ERROR,
+  pattern GL_NO_RESET_NOTIFICATION_ARB,
+  pattern GL_RESET_NOTIFICATION_STRATEGY_ARB,
+  pattern GL_UNKNOWN_CONTEXT_RESET_ARB,
+  -- * Functions
+  glGetGraphicsResetStatusARB,
+  glGetnCompressedTexImageARB,
+  glGetnTexImageARB,
+  glGetnUniformdvARB,
+  glGetnUniformfvARB,
+  glGetnUniformivARB,
+  glGetnUniformuivARB,
+  glReadnPixelsARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/SampleLocations.hs b/src/Graphics/GL/ARB/SampleLocations.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SampleLocations.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SampleLocations
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SampleLocations (
+  -- * Extension Support
+  glGetARBSampleLocations,
+  gl_ARB_sample_locations,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB,
+  pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB,
+  pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB,
+  pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB,
+  pattern GL_SAMPLE_LOCATION_ARB,
+  pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB,
+  pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB,
+  pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB,
+  -- * Functions
+  glEvaluateDepthValuesARB,
+  glFramebufferSampleLocationsfvARB,
+  glNamedFramebufferSampleLocationsfvARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/SampleShading.hs b/src/Graphics/GL/ARB/SampleShading.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SampleShading.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SampleShading
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SampleShading (
+  -- * Extension Support
+  glGetARBSampleShading,
+  gl_ARB_sample_shading,
+  -- * Enums
+  pattern GL_MIN_SAMPLE_SHADING_VALUE_ARB,
+  pattern GL_SAMPLE_SHADING_ARB,
+  -- * Functions
+  glMinSampleShadingARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/SamplerObjects.hs b/src/Graphics/GL/ARB/SamplerObjects.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SamplerObjects.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SamplerObjects
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SamplerObjects (
+  -- * Extension Support
+  glGetARBSamplerObjects,
+  gl_ARB_sampler_objects,
+  -- * Enums
+  pattern GL_SAMPLER_BINDING,
+  -- * Functions
+  glBindSampler,
+  glDeleteSamplers,
+  glGenSamplers,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glIsSampler,
+  glSamplerParameterIiv,
+  glSamplerParameterIuiv,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/SeamlessCubeMap.hs b/src/Graphics/GL/ARB/SeamlessCubeMap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SeamlessCubeMap.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SeamlessCubeMap
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SeamlessCubeMap (
+  -- * Extension Support
+  glGetARBSeamlessCubeMap,
+  gl_ARB_seamless_cube_map,
+  -- * Enums
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/SeamlessCubemapPerTexture.hs b/src/Graphics/GL/ARB/SeamlessCubemapPerTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SeamlessCubemapPerTexture.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SeamlessCubemapPerTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SeamlessCubemapPerTexture (
+  -- * Extension Support
+  glGetARBSeamlessCubemapPerTexture,
+  gl_ARB_seamless_cubemap_per_texture,
+  -- * Enums
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/SeparateShaderObjects.hs b/src/Graphics/GL/ARB/SeparateShaderObjects.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SeparateShaderObjects.hs
@@ -0,0 +1,93 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SeparateShaderObjects
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SeparateShaderObjects (
+  -- * Extension Support
+  glGetARBSeparateShaderObjects,
+  gl_ARB_separate_shader_objects,
+  -- * Enums
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_VERTEX_SHADER_BIT,
+  -- * Functions
+  glActiveShaderProgram,
+  glBindProgramPipeline,
+  glCreateShaderProgramv,
+  glDeleteProgramPipelines,
+  glGenProgramPipelines,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineiv,
+  glIsProgramPipeline,
+  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,
+  glUseProgramStages,
+  glValidateProgramPipeline
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ShaderAtomicCounters.hs b/src/Graphics/GL/ARB/ShaderAtomicCounters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShaderAtomicCounters.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShaderAtomicCounters
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShaderAtomicCounters (
+  -- * Extension Support
+  glGetARBShaderAtomicCounters,
+  gl_ARB_shader_atomic_counters,
+  -- * Enums
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  -- * Functions
+  glGetActiveAtomicCounterBufferiv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ShaderImageLoadStore.hs b/src/Graphics/GL/ARB/ShaderImageLoadStore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShaderImageLoadStore.hs
@@ -0,0 +1,90 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShaderImageLoadStore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShaderImageLoadStore (
+  -- * Extension Support
+  glGetARBShaderImageLoadStore,
+  gl_ARB_shader_image_load_store,
+  -- * Enums
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  -- * Functions
+  glBindImageTexture,
+  glMemoryBarrier
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ShaderObjects.hs b/src/Graphics/GL/ARB/ShaderObjects.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShaderObjects.hs
@@ -0,0 +1,97 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShaderObjects
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShaderObjects (
+  -- * Extension Support
+  glGetARBShaderObjects,
+  gl_ARB_shader_objects,
+  -- * Enums
+  pattern GL_BOOL_ARB,
+  pattern GL_BOOL_VEC2_ARB,
+  pattern GL_BOOL_VEC3_ARB,
+  pattern GL_BOOL_VEC4_ARB,
+  pattern GL_FLOAT_MAT2_ARB,
+  pattern GL_FLOAT_MAT3_ARB,
+  pattern GL_FLOAT_MAT4_ARB,
+  pattern GL_FLOAT_VEC2_ARB,
+  pattern GL_FLOAT_VEC3_ARB,
+  pattern GL_FLOAT_VEC4_ARB,
+  pattern GL_INT_VEC2_ARB,
+  pattern GL_INT_VEC3_ARB,
+  pattern GL_INT_VEC4_ARB,
+  pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB,
+  pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB,
+  pattern GL_OBJECT_ATTACHED_OBJECTS_ARB,
+  pattern GL_OBJECT_COMPILE_STATUS_ARB,
+  pattern GL_OBJECT_DELETE_STATUS_ARB,
+  pattern GL_OBJECT_INFO_LOG_LENGTH_ARB,
+  pattern GL_OBJECT_LINK_STATUS_ARB,
+  pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB,
+  pattern GL_OBJECT_SUBTYPE_ARB,
+  pattern GL_OBJECT_TYPE_ARB,
+  pattern GL_OBJECT_VALIDATE_STATUS_ARB,
+  pattern GL_PROGRAM_OBJECT_ARB,
+  pattern GL_SAMPLER_1D_ARB,
+  pattern GL_SAMPLER_1D_SHADOW_ARB,
+  pattern GL_SAMPLER_2D_ARB,
+  pattern GL_SAMPLER_2D_RECT_ARB,
+  pattern GL_SAMPLER_2D_RECT_SHADOW_ARB,
+  pattern GL_SAMPLER_2D_SHADOW_ARB,
+  pattern GL_SAMPLER_3D_ARB,
+  pattern GL_SAMPLER_CUBE_ARB,
+  pattern GL_SHADER_OBJECT_ARB,
+  -- * Functions
+  glAttachObjectARB,
+  glCompileShaderARB,
+  glCreateProgramObjectARB,
+  glCreateShaderObjectARB,
+  glDeleteObjectARB,
+  glDetachObjectARB,
+  glGetActiveUniformARB,
+  glGetAttachedObjectsARB,
+  glGetHandleARB,
+  glGetInfoLogARB,
+  glGetObjectParameterfvARB,
+  glGetObjectParameterivARB,
+  glGetShaderSourceARB,
+  glGetUniformLocationARB,
+  glGetUniformfvARB,
+  glGetUniformivARB,
+  glLinkProgramARB,
+  glShaderSourceARB,
+  glUniform1fARB,
+  glUniform1fvARB,
+  glUniform1iARB,
+  glUniform1ivARB,
+  glUniform2fARB,
+  glUniform2fvARB,
+  glUniform2iARB,
+  glUniform2ivARB,
+  glUniform3fARB,
+  glUniform3fvARB,
+  glUniform3iARB,
+  glUniform3ivARB,
+  glUniform4fARB,
+  glUniform4fvARB,
+  glUniform4iARB,
+  glUniform4ivARB,
+  glUniformMatrix2fvARB,
+  glUniformMatrix3fvARB,
+  glUniformMatrix4fvARB,
+  glUseProgramObjectARB,
+  glValidateProgramARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ShaderStorageBufferObject.hs b/src/Graphics/GL/ARB/ShaderStorageBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShaderStorageBufferObject.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShaderStorageBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShaderStorageBufferObject (
+  -- * Extension Support
+  glGetARBShaderStorageBufferObject,
+  gl_ARB_shader_storage_buffer_object,
+  -- * Enums
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  pattern GL_SHADER_STORAGE_BARRIER_BIT,
+  pattern GL_SHADER_STORAGE_BUFFER,
+  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
+  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
+  pattern GL_SHADER_STORAGE_BUFFER_START,
+  -- * Functions
+  glShaderStorageBlockBinding
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ShaderSubroutine.hs b/src/Graphics/GL/ARB/ShaderSubroutine.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShaderSubroutine.hs
@@ -0,0 +1,43 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShaderSubroutine
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShaderSubroutine (
+  -- * Extension Support
+  glGetARBShaderSubroutine,
+  gl_ARB_shader_subroutine,
+  -- * Enums
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_SIZE,
+  -- * Functions
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetProgramStageiv,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetUniformSubroutineuiv,
+  glUniformSubroutinesuiv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ShadingLanguage100.hs b/src/Graphics/GL/ARB/ShadingLanguage100.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShadingLanguage100.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShadingLanguage100
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShadingLanguage100 (
+  -- * Extension Support
+  glGetARBShadingLanguage100,
+  gl_ARB_shading_language_100,
+  -- * Enums
+  pattern GL_SHADING_LANGUAGE_VERSION_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/ShadingLanguageInclude.hs b/src/Graphics/GL/ARB/ShadingLanguageInclude.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShadingLanguageInclude.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShadingLanguageInclude
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShadingLanguageInclude (
+  -- * Extension Support
+  glGetARBShadingLanguageInclude,
+  gl_ARB_shading_language_include,
+  -- * Enums
+  pattern GL_NAMED_STRING_LENGTH_ARB,
+  pattern GL_NAMED_STRING_TYPE_ARB,
+  pattern GL_SHADER_INCLUDE_ARB,
+  -- * Functions
+  glCompileShaderIncludeARB,
+  glDeleteNamedStringARB,
+  glGetNamedStringARB,
+  glGetNamedStringivARB,
+  glIsNamedStringARB,
+  glNamedStringARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/Shadow.hs b/src/Graphics/GL/ARB/Shadow.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/Shadow.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.Shadow
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.Shadow (
+  -- * Extension Support
+  glGetARBShadow,
+  gl_ARB_shadow,
+  -- * Enums
+  pattern GL_COMPARE_R_TO_TEXTURE_ARB,
+  pattern GL_TEXTURE_COMPARE_FUNC_ARB,
+  pattern GL_TEXTURE_COMPARE_MODE_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/ShadowAmbient.hs b/src/Graphics/GL/ARB/ShadowAmbient.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ShadowAmbient.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ShadowAmbient
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ShadowAmbient (
+  -- * Extension Support
+  glGetARBShadowAmbient,
+  gl_ARB_shadow_ambient,
+  -- * Enums
+  pattern GL_TEXTURE_COMPARE_FAIL_VALUE_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/SparseBuffer.hs b/src/Graphics/GL/ARB/SparseBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SparseBuffer.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SparseBuffer
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SparseBuffer (
+  -- * Extension Support
+  glGetARBSparseBuffer,
+  gl_ARB_sparse_buffer,
+  -- * Enums
+  pattern GL_SPARSE_BUFFER_PAGE_SIZE_ARB,
+  pattern GL_SPARSE_STORAGE_BIT_ARB,
+  -- * Functions
+  glBufferPageCommitmentARB,
+  glNamedBufferPageCommitmentARB,
+  glNamedBufferPageCommitmentEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/SparseTexture.hs b/src/Graphics/GL/ARB/SparseTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/SparseTexture.hs
@@ -0,0 +1,36 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.SparseTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.SparseTexture (
+  -- * Extension Support
+  glGetARBSparseTexture,
+  gl_ARB_sparse_texture,
+  -- * Enums
+  pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB,
+  pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB,
+  pattern GL_MAX_SPARSE_TEXTURE_SIZE_ARB,
+  pattern GL_NUM_SPARSE_LEVELS_ARB,
+  pattern GL_NUM_VIRTUAL_PAGE_SIZES_ARB,
+  pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB,
+  pattern GL_TEXTURE_SPARSE_ARB,
+  pattern GL_VIRTUAL_PAGE_SIZE_INDEX_ARB,
+  pattern GL_VIRTUAL_PAGE_SIZE_X_ARB,
+  pattern GL_VIRTUAL_PAGE_SIZE_Y_ARB,
+  pattern GL_VIRTUAL_PAGE_SIZE_Z_ARB,
+  -- * Functions
+  glTexPageCommitmentARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/StencilTexturing.hs b/src/Graphics/GL/ARB/StencilTexturing.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/StencilTexturing.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.StencilTexturing
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.StencilTexturing (
+  -- * Extension Support
+  glGetARBStencilTexturing,
+  gl_ARB_stencil_texturing,
+  -- * Enums
+  pattern GL_DEPTH_STENCIL_TEXTURE_MODE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/Sync.hs b/src/Graphics/GL/ARB/Sync.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/Sync.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.Sync
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.Sync (
+  -- * Extension Support
+  glGetARBSync,
+  gl_ARB_sync,
+  -- * Enums
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_SIGNALED,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_UNSIGNALED,
+  pattern GL_WAIT_FAILED,
+  -- * Functions
+  glClientWaitSync,
+  glDeleteSync,
+  glFenceSync,
+  glGetInteger64v,
+  glGetSynciv,
+  glIsSync,
+  glWaitSync
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TessellationShader.hs b/src/Graphics/GL/ARB/TessellationShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TessellationShader.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TessellationShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TessellationShader (
+  -- * Extension Support
+  glGetARBTessellationShader,
+  gl_ARB_tessellation_shader,
+  -- * Enums
+  pattern GL_CCW,
+  pattern GL_CW,
+  pattern GL_EQUAL,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_ISOLINES,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_QUADS,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TRIANGLES,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  -- * Functions
+  glPatchParameterfv,
+  glPatchParameteri
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureBarrier.hs b/src/Graphics/GL/ARB/TextureBarrier.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureBarrier.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureBarrier
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureBarrier (
+  -- * Extension Support
+  glGetARBTextureBarrier,
+  gl_ARB_texture_barrier,
+  -- * Functions
+  glTextureBarrier
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureBorderClamp.hs b/src/Graphics/GL/ARB/TextureBorderClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureBorderClamp.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureBorderClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureBorderClamp (
+  -- * Extension Support
+  glGetARBTextureBorderClamp,
+  gl_ARB_texture_border_clamp,
+  -- * Enums
+  pattern GL_CLAMP_TO_BORDER_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureBufferObject.hs b/src/Graphics/GL/ARB/TextureBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureBufferObject.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureBufferObject (
+  -- * Extension Support
+  glGetARBTextureBufferObject,
+  gl_ARB_texture_buffer_object,
+  -- * Enums
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE_ARB,
+  pattern GL_TEXTURE_BINDING_BUFFER_ARB,
+  pattern GL_TEXTURE_BUFFER_ARB,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB,
+  pattern GL_TEXTURE_BUFFER_FORMAT_ARB,
+  -- * Functions
+  glTexBufferARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureBufferObjectRGB32.hs b/src/Graphics/GL/ARB/TextureBufferObjectRGB32.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureBufferObjectRGB32.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureBufferObjectRGB32
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureBufferObjectRGB32 (
+  -- * Extension Support
+  glGetARBTextureBufferObjectRGB32,
+  gl_ARB_texture_buffer_object_rgb32,
+  -- * Enums
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureBufferRange.hs b/src/Graphics/GL/ARB/TextureBufferRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureBufferRange.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureBufferRange
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureBufferRange (
+  -- * Extension Support
+  glGetARBTextureBufferRange,
+  gl_ARB_texture_buffer_range,
+  -- * Enums
+  pattern GL_TEXTURE_BUFFER_OFFSET,
+  pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_TEXTURE_BUFFER_SIZE,
+  -- * Functions
+  glTexBufferRange
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureCompression.hs b/src/Graphics/GL/ARB/TextureCompression.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureCompression.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureCompression
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureCompression (
+  -- * Extension Support
+  glGetARBTextureCompression,
+  gl_ARB_texture_compression,
+  -- * Enums
+  pattern GL_COMPRESSED_ALPHA_ARB,
+  pattern GL_COMPRESSED_INTENSITY_ARB,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA_ARB,
+  pattern GL_COMPRESSED_LUMINANCE_ARB,
+  pattern GL_COMPRESSED_RGBA_ARB,
+  pattern GL_COMPRESSED_RGB_ARB,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS_ARB,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB,
+  pattern GL_TEXTURE_COMPRESSED_ARB,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB,
+  pattern GL_TEXTURE_COMPRESSION_HINT_ARB,
+  -- * Functions
+  glCompressedTexImage1DARB,
+  glCompressedTexImage2DARB,
+  glCompressedTexImage3DARB,
+  glCompressedTexSubImage1DARB,
+  glCompressedTexSubImage2DARB,
+  glCompressedTexSubImage3DARB,
+  glGetCompressedTexImageARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureCompressionBPTC.hs b/src/Graphics/GL/ARB/TextureCompressionBPTC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureCompressionBPTC.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureCompressionBPTC
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureCompressionBPTC (
+  -- * Extension Support
+  glGetARBTextureCompressionBPTC,
+  gl_ARB_texture_compression_bptc,
+  -- * Enums
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM_ARB,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureCompressionRGTC.hs b/src/Graphics/GL/ARB/TextureCompressionRGTC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureCompressionRGTC.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureCompressionRGTC
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureCompressionRGTC (
+  -- * Extension Support
+  glGetARBTextureCompressionRGTC,
+  gl_ARB_texture_compression_rgtc,
+  -- * Enums
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureCubeMap.hs b/src/Graphics/GL/ARB/TextureCubeMap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureCubeMap.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureCubeMap
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureCubeMap (
+  -- * Extension Support
+  glGetARBTextureCubeMap,
+  gl_ARB_texture_cube_map,
+  -- * Enums
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB,
+  pattern GL_NORMAL_MAP_ARB,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARB,
+  pattern GL_REFLECTION_MAP_ARB,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureCubeMapArray.hs b/src/Graphics/GL/ARB/TextureCubeMapArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureCubeMapArray.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureCubeMapArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureCubeMapArray (
+  -- * Extension Support
+  glGetARBTextureCubeMapArray,
+  gl_ARB_texture_cube_map_array,
+  -- * Enums
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_ARB,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY_ARB,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureEnvCombine.hs b/src/Graphics/GL/ARB/TextureEnvCombine.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureEnvCombine.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureEnvCombine
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureEnvCombine (
+  -- * Extension Support
+  glGetARBTextureEnvCombine,
+  gl_ARB_texture_env_combine,
+  -- * Enums
+  pattern GL_ADD_SIGNED_ARB,
+  pattern GL_COMBINE_ALPHA_ARB,
+  pattern GL_COMBINE_ARB,
+  pattern GL_COMBINE_RGB_ARB,
+  pattern GL_CONSTANT_ARB,
+  pattern GL_INTERPOLATE_ARB,
+  pattern GL_OPERAND0_ALPHA_ARB,
+  pattern GL_OPERAND0_RGB_ARB,
+  pattern GL_OPERAND1_ALPHA_ARB,
+  pattern GL_OPERAND1_RGB_ARB,
+  pattern GL_OPERAND2_ALPHA_ARB,
+  pattern GL_OPERAND2_RGB_ARB,
+  pattern GL_PREVIOUS_ARB,
+  pattern GL_PRIMARY_COLOR_ARB,
+  pattern GL_RGB_SCALE_ARB,
+  pattern GL_SOURCE0_ALPHA_ARB,
+  pattern GL_SOURCE0_RGB_ARB,
+  pattern GL_SOURCE1_ALPHA_ARB,
+  pattern GL_SOURCE1_RGB_ARB,
+  pattern GL_SOURCE2_ALPHA_ARB,
+  pattern GL_SOURCE2_RGB_ARB,
+  pattern GL_SUBTRACT_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureEnvDot3.hs b/src/Graphics/GL/ARB/TextureEnvDot3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureEnvDot3.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureEnvDot3
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureEnvDot3 (
+  -- * Extension Support
+  glGetARBTextureEnvDot3,
+  gl_ARB_texture_env_dot3,
+  -- * Enums
+  pattern GL_DOT3_RGBA_ARB,
+  pattern GL_DOT3_RGB_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureFilterMinmax.hs b/src/Graphics/GL/ARB/TextureFilterMinmax.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureFilterMinmax.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureFilterMinmax
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureFilterMinmax (
+  -- * Extension Support
+  glGetARBTextureFilterMinmax,
+  gl_ARB_texture_filter_minmax,
+  -- * Enums
+  pattern GL_TEXTURE_REDUCTION_MODE_ARB,
+  pattern GL_WEIGHTED_AVERAGE_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureFloat.hs b/src/Graphics/GL/ARB/TextureFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureFloat.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureFloat (
+  -- * Extension Support
+  glGetARBTextureFloat,
+  gl_ARB_texture_float,
+  -- * Enums
+  pattern GL_ALPHA16F_ARB,
+  pattern GL_ALPHA32F_ARB,
+  pattern GL_INTENSITY16F_ARB,
+  pattern GL_INTENSITY32F_ARB,
+  pattern GL_LUMINANCE16F_ARB,
+  pattern GL_LUMINANCE32F_ARB,
+  pattern GL_LUMINANCE_ALPHA16F_ARB,
+  pattern GL_LUMINANCE_ALPHA32F_ARB,
+  pattern GL_RGB16F_ARB,
+  pattern GL_RGB32F_ARB,
+  pattern GL_RGBA16F_ARB,
+  pattern GL_RGBA32F_ARB,
+  pattern GL_TEXTURE_ALPHA_TYPE_ARB,
+  pattern GL_TEXTURE_BLUE_TYPE_ARB,
+  pattern GL_TEXTURE_DEPTH_TYPE_ARB,
+  pattern GL_TEXTURE_GREEN_TYPE_ARB,
+  pattern GL_TEXTURE_INTENSITY_TYPE_ARB,
+  pattern GL_TEXTURE_LUMINANCE_TYPE_ARB,
+  pattern GL_TEXTURE_RED_TYPE_ARB,
+  pattern GL_UNSIGNED_NORMALIZED_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureGather.hs b/src/Graphics/GL/ARB/TextureGather.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureGather.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureGather
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureGather (
+  -- * Extension Support
+  glGetARBTextureGather,
+  gl_ARB_texture_gather,
+  -- * Enums
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureMirrorClampToEdge.hs b/src/Graphics/GL/ARB/TextureMirrorClampToEdge.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureMirrorClampToEdge.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureMirrorClampToEdge
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureMirrorClampToEdge (
+  -- * Extension Support
+  glGetARBTextureMirrorClampToEdge,
+  gl_ARB_texture_mirror_clamp_to_edge,
+  -- * Enums
+  pattern GL_MIRROR_CLAMP_TO_EDGE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureMirroredRepeat.hs b/src/Graphics/GL/ARB/TextureMirroredRepeat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureMirroredRepeat.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureMirroredRepeat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureMirroredRepeat (
+  -- * Extension Support
+  glGetARBTextureMirroredRepeat,
+  gl_ARB_texture_mirrored_repeat,
+  -- * Enums
+  pattern GL_MIRRORED_REPEAT_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureMultisample.hs b/src/Graphics/GL/ARB/TextureMultisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureMultisample.hs
@@ -0,0 +1,49 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureMultisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureMultisample (
+  -- * Extension Support
+  glGetARBTextureMultisample,
+  gl_ARB_texture_multisample,
+  -- * Enums
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  -- * Functions
+  glGetMultisamplefv,
+  glSampleMaski,
+  glTexImage2DMultisample,
+  glTexImage3DMultisample
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureRG.hs b/src/Graphics/GL/ARB/TextureRG.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureRG.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureRG
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureRG (
+  -- * Extension Support
+  glGetARBTextureRG,
+  gl_ARB_texture_rg,
+  -- * Enums
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG_INTEGER
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureRGB10A2UI.hs b/src/Graphics/GL/ARB/TextureRGB10A2UI.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureRGB10A2UI.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureRGB10A2UI
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureRGB10A2UI (
+  -- * Extension Support
+  glGetARBTextureRGB10A2UI,
+  gl_ARB_texture_rgb10_a2ui,
+  -- * Enums
+  pattern GL_RGB10_A2UI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureRectangle.hs b/src/Graphics/GL/ARB/TextureRectangle.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureRectangle.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureRectangle
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureRectangle (
+  -- * Extension Support
+  glGetARBTextureRectangle,
+  gl_ARB_texture_rectangle,
+  -- * Enums
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB,
+  pattern GL_PROXY_TEXTURE_RECTANGLE_ARB,
+  pattern GL_TEXTURE_BINDING_RECTANGLE_ARB,
+  pattern GL_TEXTURE_RECTANGLE_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureStencil8.hs b/src/Graphics/GL/ARB/TextureStencil8.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureStencil8.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureStencil8
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureStencil8 (
+  -- * Extension Support
+  glGetARBTextureStencil8,
+  gl_ARB_texture_stencil8,
+  -- * Enums
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX8
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureStorage.hs b/src/Graphics/GL/ARB/TextureStorage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureStorage.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureStorage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureStorage (
+  -- * Extension Support
+  glGetARBTextureStorage,
+  gl_ARB_texture_storage,
+  -- * Enums
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  -- * Functions
+  glTexStorage1D,
+  glTexStorage2D,
+  glTexStorage3D
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureStorageMultisample.hs b/src/Graphics/GL/ARB/TextureStorageMultisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureStorageMultisample.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureStorageMultisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureStorageMultisample (
+  -- * Extension Support
+  glGetARBTextureStorageMultisample,
+  gl_ARB_texture_storage_multisample,
+  -- * Functions
+  glTexStorage2DMultisample,
+  glTexStorage3DMultisample
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TextureSwizzle.hs b/src/Graphics/GL/ARB/TextureSwizzle.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureSwizzle.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureSwizzle
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureSwizzle (
+  -- * Extension Support
+  glGetARBTextureSwizzle,
+  gl_ARB_texture_swizzle,
+  -- * Enums
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TextureView.hs b/src/Graphics/GL/ARB/TextureView.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TextureView.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TextureView
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TextureView (
+  -- * Extension Support
+  glGetARBTextureView,
+  gl_ARB_texture_view,
+  -- * Enums
+  pattern GL_TEXTURE_IMMUTABLE_LEVELS,
+  pattern GL_TEXTURE_VIEW_MIN_LAYER,
+  pattern GL_TEXTURE_VIEW_MIN_LEVEL,
+  pattern GL_TEXTURE_VIEW_NUM_LAYERS,
+  pattern GL_TEXTURE_VIEW_NUM_LEVELS,
+  -- * Functions
+  glTextureView
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TimerQuery.hs b/src/Graphics/GL/ARB/TimerQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TimerQuery.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TimerQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TimerQuery (
+  -- * Extension Support
+  glGetARBTimerQuery,
+  gl_ARB_timer_query,
+  -- * Enums
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  -- * Functions
+  glGetQueryObjecti64v,
+  glGetQueryObjectui64v,
+  glQueryCounter
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TransformFeedback2.hs b/src/Graphics/GL/ARB/TransformFeedback2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TransformFeedback2.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TransformFeedback2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TransformFeedback2 (
+  -- * Extension Support
+  glGetARBTransformFeedback2,
+  gl_ARB_transform_feedback2,
+  -- * Enums
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  -- * Functions
+  glBindTransformFeedback,
+  glDeleteTransformFeedbacks,
+  glDrawTransformFeedback,
+  glGenTransformFeedbacks,
+  glIsTransformFeedback,
+  glPauseTransformFeedback,
+  glResumeTransformFeedback
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TransformFeedback3.hs b/src/Graphics/GL/ARB/TransformFeedback3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TransformFeedback3.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TransformFeedback3
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TransformFeedback3 (
+  -- * Extension Support
+  glGetARBTransformFeedback3,
+  gl_ARB_transform_feedback3,
+  -- * Enums
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  -- * Functions
+  glBeginQueryIndexed,
+  glDrawTransformFeedbackStream,
+  glEndQueryIndexed,
+  glGetQueryIndexediv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TransformFeedbackInstanced.hs b/src/Graphics/GL/ARB/TransformFeedbackInstanced.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TransformFeedbackInstanced.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TransformFeedbackInstanced
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TransformFeedbackInstanced (
+  -- * Extension Support
+  glGetARBTransformFeedbackInstanced,
+  gl_ARB_transform_feedback_instanced,
+  -- * Functions
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackStreamInstanced
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/TransformFeedbackOverflowQuery.hs b/src/Graphics/GL/ARB/TransformFeedbackOverflowQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TransformFeedbackOverflowQuery.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TransformFeedbackOverflowQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TransformFeedbackOverflowQuery (
+  -- * Extension Support
+  glGetARBTransformFeedbackOverflowQuery,
+  gl_ARB_transform_feedback_overflow_query,
+  -- * Enums
+  pattern GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB,
+  pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/TransposeMatrix.hs b/src/Graphics/GL/ARB/TransposeMatrix.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/TransposeMatrix.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.TransposeMatrix
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.TransposeMatrix (
+  -- * Extension Support
+  glGetARBTransposeMatrix,
+  gl_ARB_transpose_matrix,
+  -- * Enums
+  pattern GL_TRANSPOSE_COLOR_MATRIX_ARB,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX_ARB,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX_ARB,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX_ARB,
+  -- * Functions
+  glLoadTransposeMatrixdARB,
+  glLoadTransposeMatrixfARB,
+  glMultTransposeMatrixdARB,
+  glMultTransposeMatrixfARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/UniformBufferObject.hs b/src/Graphics/GL/ARB/UniformBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/UniformBufferObject.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.UniformBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.UniformBufferObject (
+  -- * Extension Support
+  glGetARBUniformBufferObject,
+  gl_ARB_uniform_buffer_object,
+  -- * Enums
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_INVALID_INDEX,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  -- * Functions
+  glBindBufferBase,
+  glBindBufferRange,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetIntegeri_v,
+  glGetUniformBlockIndex,
+  glGetUniformIndices,
+  glUniformBlockBinding
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexArrayBGRA.hs b/src/Graphics/GL/ARB/VertexArrayBGRA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexArrayBGRA.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexArrayBGRA
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexArrayBGRA (
+  -- * Extension Support
+  glGetARBVertexArrayBGRA,
+  gl_ARB_vertex_array_bgra,
+  -- * Enums
+  pattern GL_BGRA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/VertexArrayObject.hs b/src/Graphics/GL/ARB/VertexArrayObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexArrayObject.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexArrayObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexArrayObject (
+  -- * Extension Support
+  glGetARBVertexArrayObject,
+  gl_ARB_vertex_array_object,
+  -- * Enums
+  pattern GL_VERTEX_ARRAY_BINDING,
+  -- * Functions
+  glBindVertexArray,
+  glDeleteVertexArrays,
+  glGenVertexArrays,
+  glIsVertexArray
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexAttrib64Bit.hs b/src/Graphics/GL/ARB/VertexAttrib64Bit.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexAttrib64Bit.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexAttrib64Bit
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexAttrib64Bit (
+  -- * Extension Support
+  glGetARBVertexAttrib64Bit,
+  gl_ARB_vertex_attrib_64bit,
+  -- * Enums
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_RGB32I,
+  -- * Functions
+  glGetVertexAttribLdv,
+  glVertexAttribL1d,
+  glVertexAttribL1dv,
+  glVertexAttribL2d,
+  glVertexAttribL2dv,
+  glVertexAttribL3d,
+  glVertexAttribL3dv,
+  glVertexAttribL4d,
+  glVertexAttribL4dv,
+  glVertexAttribLPointer
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexAttribBinding.hs b/src/Graphics/GL/ARB/VertexAttribBinding.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexAttribBinding.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexAttribBinding
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexAttribBinding (
+  -- * Extension Support
+  glGetARBVertexAttribBinding,
+  gl_ARB_vertex_attrib_binding,
+  -- * Enums
+  pattern GL_MAX_VERTEX_ATTRIB_BINDINGS,
+  pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_ATTRIB_BINDING,
+  pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_BINDING_DIVISOR,
+  pattern GL_VERTEX_BINDING_OFFSET,
+  pattern GL_VERTEX_BINDING_STRIDE,
+  -- * Functions
+  glBindVertexBuffer,
+  glVertexAttribBinding,
+  glVertexAttribFormat,
+  glVertexAttribIFormat,
+  glVertexAttribLFormat,
+  glVertexBindingDivisor
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexBlend.hs b/src/Graphics/GL/ARB/VertexBlend.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexBlend.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexBlend
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexBlend (
+  -- * Extension Support
+  glGetARBVertexBlend,
+  gl_ARB_vertex_blend,
+  -- * Enums
+  pattern GL_ACTIVE_VERTEX_UNITS_ARB,
+  pattern GL_CURRENT_WEIGHT_ARB,
+  pattern GL_MAX_VERTEX_UNITS_ARB,
+  pattern GL_MODELVIEW0_ARB,
+  pattern GL_MODELVIEW10_ARB,
+  pattern GL_MODELVIEW11_ARB,
+  pattern GL_MODELVIEW12_ARB,
+  pattern GL_MODELVIEW13_ARB,
+  pattern GL_MODELVIEW14_ARB,
+  pattern GL_MODELVIEW15_ARB,
+  pattern GL_MODELVIEW16_ARB,
+  pattern GL_MODELVIEW17_ARB,
+  pattern GL_MODELVIEW18_ARB,
+  pattern GL_MODELVIEW19_ARB,
+  pattern GL_MODELVIEW1_ARB,
+  pattern GL_MODELVIEW20_ARB,
+  pattern GL_MODELVIEW21_ARB,
+  pattern GL_MODELVIEW22_ARB,
+  pattern GL_MODELVIEW23_ARB,
+  pattern GL_MODELVIEW24_ARB,
+  pattern GL_MODELVIEW25_ARB,
+  pattern GL_MODELVIEW26_ARB,
+  pattern GL_MODELVIEW27_ARB,
+  pattern GL_MODELVIEW28_ARB,
+  pattern GL_MODELVIEW29_ARB,
+  pattern GL_MODELVIEW2_ARB,
+  pattern GL_MODELVIEW30_ARB,
+  pattern GL_MODELVIEW31_ARB,
+  pattern GL_MODELVIEW3_ARB,
+  pattern GL_MODELVIEW4_ARB,
+  pattern GL_MODELVIEW5_ARB,
+  pattern GL_MODELVIEW6_ARB,
+  pattern GL_MODELVIEW7_ARB,
+  pattern GL_MODELVIEW8_ARB,
+  pattern GL_MODELVIEW9_ARB,
+  pattern GL_VERTEX_BLEND_ARB,
+  pattern GL_WEIGHT_ARRAY_ARB,
+  pattern GL_WEIGHT_ARRAY_POINTER_ARB,
+  pattern GL_WEIGHT_ARRAY_SIZE_ARB,
+  pattern GL_WEIGHT_ARRAY_STRIDE_ARB,
+  pattern GL_WEIGHT_ARRAY_TYPE_ARB,
+  pattern GL_WEIGHT_SUM_UNITY_ARB,
+  -- * Functions
+  glVertexBlendARB,
+  glWeightPointerARB,
+  glWeightbvARB,
+  glWeightdvARB,
+  glWeightfvARB,
+  glWeightivARB,
+  glWeightsvARB,
+  glWeightubvARB,
+  glWeightuivARB,
+  glWeightusvARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexBufferObject.hs b/src/Graphics/GL/ARB/VertexBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexBufferObject.hs
@@ -0,0 +1,66 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexBufferObject (
+  -- * Extension Support
+  glGetARBVertexBufferObject,
+  gl_ARB_vertex_buffer_object,
+  -- * Enums
+  pattern GL_ARRAY_BUFFER_ARB,
+  pattern GL_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_BUFFER_ACCESS_ARB,
+  pattern GL_BUFFER_MAPPED_ARB,
+  pattern GL_BUFFER_MAP_POINTER_ARB,
+  pattern GL_BUFFER_SIZE_ARB,
+  pattern GL_BUFFER_USAGE_ARB,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_DYNAMIC_COPY_ARB,
+  pattern GL_DYNAMIC_DRAW_ARB,
+  pattern GL_DYNAMIC_READ_ARB,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_ELEMENT_ARRAY_BUFFER_ARB,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_READ_ONLY_ARB,
+  pattern GL_READ_WRITE_ARB,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_STATIC_COPY_ARB,
+  pattern GL_STATIC_DRAW_ARB,
+  pattern GL_STATIC_READ_ARB,
+  pattern GL_STREAM_COPY_ARB,
+  pattern GL_STREAM_DRAW_ARB,
+  pattern GL_STREAM_READ_ARB,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB,
+  pattern GL_WRITE_ONLY_ARB,
+  -- * Functions
+  glBindBufferARB,
+  glBufferDataARB,
+  glBufferSubDataARB,
+  glDeleteBuffersARB,
+  glGenBuffersARB,
+  glGetBufferParameterivARB,
+  glGetBufferPointervARB,
+  glGetBufferSubDataARB,
+  glIsBufferARB,
+  glMapBufferARB,
+  glUnmapBufferARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexProgram.hs b/src/Graphics/GL/ARB/VertexProgram.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexProgram.hs
@@ -0,0 +1,165 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexProgram
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexProgram (
+  -- * Extension Support
+  glGetARBVertexProgram,
+  gl_ARB_vertex_program,
+  -- * Enums
+  pattern GL_COLOR_SUM_ARB,
+  pattern GL_CURRENT_MATRIX_ARB,
+  pattern GL_CURRENT_MATRIX_STACK_DEPTH_ARB,
+  pattern GL_CURRENT_VERTEX_ATTRIB_ARB,
+  pattern GL_MATRIX0_ARB,
+  pattern GL_MATRIX10_ARB,
+  pattern GL_MATRIX11_ARB,
+  pattern GL_MATRIX12_ARB,
+  pattern GL_MATRIX13_ARB,
+  pattern GL_MATRIX14_ARB,
+  pattern GL_MATRIX15_ARB,
+  pattern GL_MATRIX16_ARB,
+  pattern GL_MATRIX17_ARB,
+  pattern GL_MATRIX18_ARB,
+  pattern GL_MATRIX19_ARB,
+  pattern GL_MATRIX1_ARB,
+  pattern GL_MATRIX20_ARB,
+  pattern GL_MATRIX21_ARB,
+  pattern GL_MATRIX22_ARB,
+  pattern GL_MATRIX23_ARB,
+  pattern GL_MATRIX24_ARB,
+  pattern GL_MATRIX25_ARB,
+  pattern GL_MATRIX26_ARB,
+  pattern GL_MATRIX27_ARB,
+  pattern GL_MATRIX28_ARB,
+  pattern GL_MATRIX29_ARB,
+  pattern GL_MATRIX2_ARB,
+  pattern GL_MATRIX30_ARB,
+  pattern GL_MATRIX31_ARB,
+  pattern GL_MATRIX3_ARB,
+  pattern GL_MATRIX4_ARB,
+  pattern GL_MATRIX5_ARB,
+  pattern GL_MATRIX6_ARB,
+  pattern GL_MATRIX7_ARB,
+  pattern GL_MATRIX8_ARB,
+  pattern GL_MATRIX9_ARB,
+  pattern GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB,
+  pattern GL_MAX_PROGRAM_ATTRIBS_ARB,
+  pattern GL_MAX_PROGRAM_ENV_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_INSTRUCTIONS_ARB,
+  pattern GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_MATRICES_ARB,
+  pattern GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB,
+  pattern GL_MAX_PROGRAM_PARAMETERS_ARB,
+  pattern GL_MAX_PROGRAM_TEMPORARIES_ARB,
+  pattern GL_MAX_VERTEX_ATTRIBS_ARB,
+  pattern GL_PROGRAM_ADDRESS_REGISTERS_ARB,
+  pattern GL_PROGRAM_ATTRIBS_ARB,
+  pattern GL_PROGRAM_BINDING_ARB,
+  pattern GL_PROGRAM_ERROR_POSITION_ARB,
+  pattern GL_PROGRAM_ERROR_STRING_ARB,
+  pattern GL_PROGRAM_FORMAT_ARB,
+  pattern GL_PROGRAM_FORMAT_ASCII_ARB,
+  pattern GL_PROGRAM_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_LENGTH_ARB,
+  pattern GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB,
+  pattern GL_PROGRAM_NATIVE_ATTRIBS_ARB,
+  pattern GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
+  pattern GL_PROGRAM_NATIVE_PARAMETERS_ARB,
+  pattern GL_PROGRAM_NATIVE_TEMPORARIES_ARB,
+  pattern GL_PROGRAM_PARAMETERS_ARB,
+  pattern GL_PROGRAM_STRING_ARB,
+  pattern GL_PROGRAM_TEMPORARIES_ARB,
+  pattern GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB,
+  pattern GL_TRANSPOSE_CURRENT_MATRIX_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB,
+  pattern GL_VERTEX_PROGRAM_ARB,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE_ARB,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE_ARB,
+  -- * Functions
+  glBindProgramARB,
+  glDeleteProgramsARB,
+  glDisableVertexAttribArrayARB,
+  glEnableVertexAttribArrayARB,
+  glGenProgramsARB,
+  glGetProgramEnvParameterdvARB,
+  glGetProgramEnvParameterfvARB,
+  glGetProgramLocalParameterdvARB,
+  glGetProgramLocalParameterfvARB,
+  glGetProgramStringARB,
+  glGetProgramivARB,
+  glGetVertexAttribPointervARB,
+  glGetVertexAttribdvARB,
+  glGetVertexAttribfvARB,
+  glGetVertexAttribivARB,
+  glIsProgramARB,
+  glProgramEnvParameter4dARB,
+  glProgramEnvParameter4dvARB,
+  glProgramEnvParameter4fARB,
+  glProgramEnvParameter4fvARB,
+  glProgramLocalParameter4dARB,
+  glProgramLocalParameter4dvARB,
+  glProgramLocalParameter4fARB,
+  glProgramLocalParameter4fvARB,
+  glProgramStringARB,
+  glVertexAttrib1dARB,
+  glVertexAttrib1dvARB,
+  glVertexAttrib1fARB,
+  glVertexAttrib1fvARB,
+  glVertexAttrib1sARB,
+  glVertexAttrib1svARB,
+  glVertexAttrib2dARB,
+  glVertexAttrib2dvARB,
+  glVertexAttrib2fARB,
+  glVertexAttrib2fvARB,
+  glVertexAttrib2sARB,
+  glVertexAttrib2svARB,
+  glVertexAttrib3dARB,
+  glVertexAttrib3dvARB,
+  glVertexAttrib3fARB,
+  glVertexAttrib3fvARB,
+  glVertexAttrib3sARB,
+  glVertexAttrib3svARB,
+  glVertexAttrib4NbvARB,
+  glVertexAttrib4NivARB,
+  glVertexAttrib4NsvARB,
+  glVertexAttrib4NubARB,
+  glVertexAttrib4NubvARB,
+  glVertexAttrib4NuivARB,
+  glVertexAttrib4NusvARB,
+  glVertexAttrib4bvARB,
+  glVertexAttrib4dARB,
+  glVertexAttrib4dvARB,
+  glVertexAttrib4fARB,
+  glVertexAttrib4fvARB,
+  glVertexAttrib4ivARB,
+  glVertexAttrib4sARB,
+  glVertexAttrib4svARB,
+  glVertexAttrib4ubvARB,
+  glVertexAttrib4uivARB,
+  glVertexAttrib4usvARB,
+  glVertexAttribPointerARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexShader.hs b/src/Graphics/GL/ARB/VertexShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexShader.hs
@@ -0,0 +1,96 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexShader (
+  -- * Extension Support
+  glGetARBVertexShader,
+  gl_ARB_vertex_shader,
+  -- * Enums
+  pattern GL_CURRENT_VERTEX_ATTRIB_ARB,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_MAT2_ARB,
+  pattern GL_FLOAT_MAT3_ARB,
+  pattern GL_FLOAT_MAT4_ARB,
+  pattern GL_FLOAT_VEC2_ARB,
+  pattern GL_FLOAT_VEC3_ARB,
+  pattern GL_FLOAT_VEC4_ARB,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB,
+  pattern GL_MAX_TEXTURE_COORDS_ARB,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS_ARB,
+  pattern GL_MAX_VARYING_FLOATS_ARB,
+  pattern GL_MAX_VERTEX_ATTRIBS_ARB,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB,
+  pattern GL_OBJECT_ACTIVE_ATTRIBUTES_ARB,
+  pattern GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE_ARB,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE_ARB,
+  pattern GL_VERTEX_SHADER_ARB,
+  -- * Functions
+  glBindAttribLocationARB,
+  glDisableVertexAttribArrayARB,
+  glEnableVertexAttribArrayARB,
+  glGetActiveAttribARB,
+  glGetAttribLocationARB,
+  glGetVertexAttribPointervARB,
+  glGetVertexAttribdvARB,
+  glGetVertexAttribfvARB,
+  glGetVertexAttribivARB,
+  glVertexAttrib1dARB,
+  glVertexAttrib1dvARB,
+  glVertexAttrib1fARB,
+  glVertexAttrib1fvARB,
+  glVertexAttrib1sARB,
+  glVertexAttrib1svARB,
+  glVertexAttrib2dARB,
+  glVertexAttrib2dvARB,
+  glVertexAttrib2fARB,
+  glVertexAttrib2fvARB,
+  glVertexAttrib2sARB,
+  glVertexAttrib2svARB,
+  glVertexAttrib3dARB,
+  glVertexAttrib3dvARB,
+  glVertexAttrib3fARB,
+  glVertexAttrib3fvARB,
+  glVertexAttrib3sARB,
+  glVertexAttrib3svARB,
+  glVertexAttrib4NbvARB,
+  glVertexAttrib4NivARB,
+  glVertexAttrib4NsvARB,
+  glVertexAttrib4NubARB,
+  glVertexAttrib4NubvARB,
+  glVertexAttrib4NuivARB,
+  glVertexAttrib4NusvARB,
+  glVertexAttrib4bvARB,
+  glVertexAttrib4dARB,
+  glVertexAttrib4dvARB,
+  glVertexAttrib4fARB,
+  glVertexAttrib4fvARB,
+  glVertexAttrib4ivARB,
+  glVertexAttrib4sARB,
+  glVertexAttrib4svARB,
+  glVertexAttrib4ubvARB,
+  glVertexAttrib4uivARB,
+  glVertexAttrib4usvARB,
+  glVertexAttribPointerARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexType10f11f11fRev.hs b/src/Graphics/GL/ARB/VertexType10f11f11fRev.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexType10f11f11fRev.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexType10f11f11fRev
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexType10f11f11fRev (
+  -- * Extension Support
+  glGetARBVertexType10f11f11fRev,
+  gl_ARB_vertex_type_10f_11f_11f_rev,
+  -- * Enums
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ARB/VertexType2101010RevCompatibility.hs b/src/Graphics/GL/ARB/VertexType2101010RevCompatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexType2101010RevCompatibility.hs
@@ -0,0 +1,64 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexType2101010RevCompatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexType2101010RevCompatibility (
+  -- * Extension Support
+  glGetARBVertexType2101010Rev,
+  gl_ARB_vertex_type_2_10_10_10_rev,
+  -- * Enums
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  -- * Functions
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/VertexType2101010RevCore.hs b/src/Graphics/GL/ARB/VertexType2101010RevCore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/VertexType2101010RevCore.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.VertexType2101010RevCore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.VertexType2101010RevCore (
+  -- * Extension Support
+  glGetARBVertexType2101010Rev,
+  gl_ARB_vertex_type_2_10_10_10_rev,
+  -- * Enums
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  -- * Functions
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/ViewportArray.hs b/src/Graphics/GL/ARB/ViewportArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/ViewportArray.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.ViewportArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.ViewportArray (
+  -- * Extension Support
+  glGetARBViewportArray,
+  gl_ARB_viewport_array,
+  -- * Enums
+  pattern GL_DEPTH_RANGE,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  -- * Functions
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glGetDoublei_v,
+  glGetFloati_v,
+  glScissorArrayv,
+  glScissorIndexed,
+  glScissorIndexedv,
+  glViewportArrayv,
+  glViewportIndexedf,
+  glViewportIndexedfv
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ARB/WindowPos.hs b/src/Graphics/GL/ARB/WindowPos.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ARB/WindowPos.hs
@@ -0,0 +1,37 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ARB.WindowPos
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ARB.WindowPos (
+  -- * Extension Support
+  glGetARBWindowPos,
+  gl_ARB_window_pos,
+  -- * Functions
+  glWindowPos2dARB,
+  glWindowPos2dvARB,
+  glWindowPos2fARB,
+  glWindowPos2fvARB,
+  glWindowPos2iARB,
+  glWindowPos2ivARB,
+  glWindowPos2sARB,
+  glWindowPos2svARB,
+  glWindowPos3dARB,
+  glWindowPos3dvARB,
+  glWindowPos3fARB,
+  glWindowPos3fvARB,
+  glWindowPos3iARB,
+  glWindowPos3ivARB,
+  glWindowPos3sARB,
+  glWindowPos3svARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI.hs b/src/Graphics/GL/ATI.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI.hs
@@ -0,0 +1,49 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing ATI extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI (
+  module Graphics.GL.ATI.DrawBuffers,
+  module Graphics.GL.ATI.ElementArray,
+  module Graphics.GL.ATI.EnvmapBumpmap,
+  module Graphics.GL.ATI.FragmentShader,
+  module Graphics.GL.ATI.MapObjectBuffer,
+  module Graphics.GL.ATI.Meminfo,
+  module Graphics.GL.ATI.PNTriangles,
+  module Graphics.GL.ATI.PixelFormatFloat,
+  module Graphics.GL.ATI.SeparateStencil,
+  module Graphics.GL.ATI.TextFragmentShader,
+  module Graphics.GL.ATI.TextureEnvCombine3,
+  module Graphics.GL.ATI.TextureFloat,
+  module Graphics.GL.ATI.TextureMirrorOnce,
+  module Graphics.GL.ATI.VertexArrayObject,
+  module Graphics.GL.ATI.VertexAttribArrayObject,
+  module Graphics.GL.ATI.VertexStreams
+) where
+
+import Graphics.GL.ATI.DrawBuffers
+import Graphics.GL.ATI.ElementArray
+import Graphics.GL.ATI.EnvmapBumpmap
+import Graphics.GL.ATI.FragmentShader
+import Graphics.GL.ATI.MapObjectBuffer
+import Graphics.GL.ATI.Meminfo
+import Graphics.GL.ATI.PNTriangles
+import Graphics.GL.ATI.PixelFormatFloat
+import Graphics.GL.ATI.SeparateStencil
+import Graphics.GL.ATI.TextFragmentShader
+import Graphics.GL.ATI.TextureEnvCombine3
+import Graphics.GL.ATI.TextureFloat
+import Graphics.GL.ATI.TextureMirrorOnce
+import Graphics.GL.ATI.VertexArrayObject
+import Graphics.GL.ATI.VertexAttribArrayObject
+import Graphics.GL.ATI.VertexStreams
diff --git a/src/Graphics/GL/ATI/DrawBuffers.hs b/src/Graphics/GL/ATI/DrawBuffers.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/DrawBuffers.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.DrawBuffers
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.DrawBuffers (
+  -- * Extension Support
+  glGetATIDrawBuffers,
+  gl_ATI_draw_buffers,
+  -- * Enums
+  pattern GL_DRAW_BUFFER0_ATI,
+  pattern GL_DRAW_BUFFER10_ATI,
+  pattern GL_DRAW_BUFFER11_ATI,
+  pattern GL_DRAW_BUFFER12_ATI,
+  pattern GL_DRAW_BUFFER13_ATI,
+  pattern GL_DRAW_BUFFER14_ATI,
+  pattern GL_DRAW_BUFFER15_ATI,
+  pattern GL_DRAW_BUFFER1_ATI,
+  pattern GL_DRAW_BUFFER2_ATI,
+  pattern GL_DRAW_BUFFER3_ATI,
+  pattern GL_DRAW_BUFFER4_ATI,
+  pattern GL_DRAW_BUFFER5_ATI,
+  pattern GL_DRAW_BUFFER6_ATI,
+  pattern GL_DRAW_BUFFER7_ATI,
+  pattern GL_DRAW_BUFFER8_ATI,
+  pattern GL_DRAW_BUFFER9_ATI,
+  pattern GL_MAX_DRAW_BUFFERS_ATI,
+  -- * Functions
+  glDrawBuffersATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/ElementArray.hs b/src/Graphics/GL/ATI/ElementArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/ElementArray.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.ElementArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.ElementArray (
+  -- * Extension Support
+  glGetATIElementArray,
+  gl_ATI_element_array,
+  -- * Enums
+  pattern GL_ELEMENT_ARRAY_ATI,
+  pattern GL_ELEMENT_ARRAY_POINTER_ATI,
+  pattern GL_ELEMENT_ARRAY_TYPE_ATI,
+  -- * Functions
+  glDrawElementArrayATI,
+  glDrawRangeElementArrayATI,
+  glElementPointerATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/EnvmapBumpmap.hs b/src/Graphics/GL/ATI/EnvmapBumpmap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/EnvmapBumpmap.hs
@@ -0,0 +1,36 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.EnvmapBumpmap
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.EnvmapBumpmap (
+  -- * Extension Support
+  glGetATIEnvmapBumpmap,
+  gl_ATI_envmap_bumpmap,
+  -- * Enums
+  pattern GL_BUMP_ENVMAP_ATI,
+  pattern GL_BUMP_NUM_TEX_UNITS_ATI,
+  pattern GL_BUMP_ROT_MATRIX_ATI,
+  pattern GL_BUMP_ROT_MATRIX_SIZE_ATI,
+  pattern GL_BUMP_TARGET_ATI,
+  pattern GL_BUMP_TEX_UNITS_ATI,
+  pattern GL_DU8DV8_ATI,
+  pattern GL_DUDV_ATI,
+  -- * Functions
+  glGetTexBumpParameterfvATI,
+  glGetTexBumpParameterivATI,
+  glTexBumpParameterfvATI,
+  glTexBumpParameterivATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/FragmentShader.hs b/src/Graphics/GL/ATI/FragmentShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/FragmentShader.hs
@@ -0,0 +1,142 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.FragmentShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.FragmentShader (
+  -- * Extension Support
+  glGetATIFragmentShader,
+  gl_ATI_fragment_shader,
+  -- * Enums
+  pattern GL_2X_BIT_ATI,
+  pattern GL_4X_BIT_ATI,
+  pattern GL_8X_BIT_ATI,
+  pattern GL_ADD_ATI,
+  pattern GL_BIAS_BIT_ATI,
+  pattern GL_BLUE_BIT_ATI,
+  pattern GL_CND0_ATI,
+  pattern GL_CND_ATI,
+  pattern GL_COLOR_ALPHA_PAIRING_ATI,
+  pattern GL_COMP_BIT_ATI,
+  pattern GL_CON_0_ATI,
+  pattern GL_CON_10_ATI,
+  pattern GL_CON_11_ATI,
+  pattern GL_CON_12_ATI,
+  pattern GL_CON_13_ATI,
+  pattern GL_CON_14_ATI,
+  pattern GL_CON_15_ATI,
+  pattern GL_CON_16_ATI,
+  pattern GL_CON_17_ATI,
+  pattern GL_CON_18_ATI,
+  pattern GL_CON_19_ATI,
+  pattern GL_CON_1_ATI,
+  pattern GL_CON_20_ATI,
+  pattern GL_CON_21_ATI,
+  pattern GL_CON_22_ATI,
+  pattern GL_CON_23_ATI,
+  pattern GL_CON_24_ATI,
+  pattern GL_CON_25_ATI,
+  pattern GL_CON_26_ATI,
+  pattern GL_CON_27_ATI,
+  pattern GL_CON_28_ATI,
+  pattern GL_CON_29_ATI,
+  pattern GL_CON_2_ATI,
+  pattern GL_CON_30_ATI,
+  pattern GL_CON_31_ATI,
+  pattern GL_CON_3_ATI,
+  pattern GL_CON_4_ATI,
+  pattern GL_CON_5_ATI,
+  pattern GL_CON_6_ATI,
+  pattern GL_CON_7_ATI,
+  pattern GL_CON_8_ATI,
+  pattern GL_CON_9_ATI,
+  pattern GL_DOT2_ADD_ATI,
+  pattern GL_DOT3_ATI,
+  pattern GL_DOT4_ATI,
+  pattern GL_EIGHTH_BIT_ATI,
+  pattern GL_FRAGMENT_SHADER_ATI,
+  pattern GL_GREEN_BIT_ATI,
+  pattern GL_HALF_BIT_ATI,
+  pattern GL_LERP_ATI,
+  pattern GL_MAD_ATI,
+  pattern GL_MOV_ATI,
+  pattern GL_MUL_ATI,
+  pattern GL_NEGATE_BIT_ATI,
+  pattern GL_NUM_FRAGMENT_CONSTANTS_ATI,
+  pattern GL_NUM_FRAGMENT_REGISTERS_ATI,
+  pattern GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI,
+  pattern GL_NUM_INSTRUCTIONS_PER_PASS_ATI,
+  pattern GL_NUM_INSTRUCTIONS_TOTAL_ATI,
+  pattern GL_NUM_LOOPBACK_COMPONENTS_ATI,
+  pattern GL_NUM_PASSES_ATI,
+  pattern GL_QUARTER_BIT_ATI,
+  pattern GL_RED_BIT_ATI,
+  pattern GL_REG_0_ATI,
+  pattern GL_REG_10_ATI,
+  pattern GL_REG_11_ATI,
+  pattern GL_REG_12_ATI,
+  pattern GL_REG_13_ATI,
+  pattern GL_REG_14_ATI,
+  pattern GL_REG_15_ATI,
+  pattern GL_REG_16_ATI,
+  pattern GL_REG_17_ATI,
+  pattern GL_REG_18_ATI,
+  pattern GL_REG_19_ATI,
+  pattern GL_REG_1_ATI,
+  pattern GL_REG_20_ATI,
+  pattern GL_REG_21_ATI,
+  pattern GL_REG_22_ATI,
+  pattern GL_REG_23_ATI,
+  pattern GL_REG_24_ATI,
+  pattern GL_REG_25_ATI,
+  pattern GL_REG_26_ATI,
+  pattern GL_REG_27_ATI,
+  pattern GL_REG_28_ATI,
+  pattern GL_REG_29_ATI,
+  pattern GL_REG_2_ATI,
+  pattern GL_REG_30_ATI,
+  pattern GL_REG_31_ATI,
+  pattern GL_REG_3_ATI,
+  pattern GL_REG_4_ATI,
+  pattern GL_REG_5_ATI,
+  pattern GL_REG_6_ATI,
+  pattern GL_REG_7_ATI,
+  pattern GL_REG_8_ATI,
+  pattern GL_REG_9_ATI,
+  pattern GL_SATURATE_BIT_ATI,
+  pattern GL_SECONDARY_INTERPOLATOR_ATI,
+  pattern GL_SUB_ATI,
+  pattern GL_SWIZZLE_STQ_ATI,
+  pattern GL_SWIZZLE_STQ_DQ_ATI,
+  pattern GL_SWIZZLE_STRQ_ATI,
+  pattern GL_SWIZZLE_STRQ_DQ_ATI,
+  pattern GL_SWIZZLE_STR_ATI,
+  pattern GL_SWIZZLE_STR_DR_ATI,
+  -- * Functions
+  glAlphaFragmentOp1ATI,
+  glAlphaFragmentOp2ATI,
+  glAlphaFragmentOp3ATI,
+  glBeginFragmentShaderATI,
+  glBindFragmentShaderATI,
+  glColorFragmentOp1ATI,
+  glColorFragmentOp2ATI,
+  glColorFragmentOp3ATI,
+  glDeleteFragmentShaderATI,
+  glEndFragmentShaderATI,
+  glGenFragmentShadersATI,
+  glPassTexCoordATI,
+  glSampleMapATI,
+  glSetFragmentShaderConstantATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/MapObjectBuffer.hs b/src/Graphics/GL/ATI/MapObjectBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/MapObjectBuffer.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.MapObjectBuffer
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.MapObjectBuffer (
+  -- * Extension Support
+  glGetATIMapObjectBuffer,
+  gl_ATI_map_object_buffer,
+  -- * Functions
+  glMapObjectBufferATI,
+  glUnmapObjectBufferATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/Meminfo.hs b/src/Graphics/GL/ATI/Meminfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/Meminfo.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.Meminfo
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.Meminfo (
+  -- * Extension Support
+  glGetATIMeminfo,
+  gl_ATI_meminfo,
+  -- * Enums
+  pattern GL_RENDERBUFFER_FREE_MEMORY_ATI,
+  pattern GL_TEXTURE_FREE_MEMORY_ATI,
+  pattern GL_VBO_FREE_MEMORY_ATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ATI/PNTriangles.hs b/src/Graphics/GL/ATI/PNTriangles.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/PNTriangles.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.PNTriangles
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.PNTriangles (
+  -- * Extension Support
+  glGetATIPNTriangles,
+  gl_ATI_pn_triangles,
+  -- * Enums
+  pattern GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI,
+  pattern GL_PN_TRIANGLES_ATI,
+  pattern GL_PN_TRIANGLES_NORMAL_MODE_ATI,
+  pattern GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI,
+  pattern GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI,
+  pattern GL_PN_TRIANGLES_POINT_MODE_ATI,
+  pattern GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI,
+  pattern GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI,
+  pattern GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI,
+  -- * Functions
+  glPNTrianglesfATI,
+  glPNTrianglesiATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/PixelFormatFloat.hs b/src/Graphics/GL/ATI/PixelFormatFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/PixelFormatFloat.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.PixelFormatFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.PixelFormatFloat (
+  -- * Extension Support
+  glGetATIPixelFormatFloat,
+  gl_ATI_pixel_format_float,
+  -- * Enums
+  pattern GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI,
+  pattern GL_RGBA_FLOAT_MODE_ATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ATI/SeparateStencil.hs b/src/Graphics/GL/ATI/SeparateStencil.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/SeparateStencil.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.SeparateStencil
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.SeparateStencil (
+  -- * Extension Support
+  glGetATISeparateStencil,
+  gl_ATI_separate_stencil,
+  -- * Enums
+  pattern GL_STENCIL_BACK_FAIL_ATI,
+  pattern GL_STENCIL_BACK_FUNC_ATI,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI,
+  -- * Functions
+  glStencilFuncSeparateATI,
+  glStencilOpSeparateATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/TextFragmentShader.hs b/src/Graphics/GL/ATI/TextFragmentShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/TextFragmentShader.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.TextFragmentShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.TextFragmentShader (
+  -- * Extension Support
+  glGetATITextFragmentShader,
+  gl_ATI_text_fragment_shader,
+  -- * Enums
+  pattern GL_TEXT_FRAGMENT_SHADER_ATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ATI/TextureEnvCombine3.hs b/src/Graphics/GL/ATI/TextureEnvCombine3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/TextureEnvCombine3.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.TextureEnvCombine3
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.TextureEnvCombine3 (
+  -- * Extension Support
+  glGetATITextureEnvCombine3,
+  gl_ATI_texture_env_combine3,
+  -- * Enums
+  pattern GL_MODULATE_ADD_ATI,
+  pattern GL_MODULATE_SIGNED_ADD_ATI,
+  pattern GL_MODULATE_SUBTRACT_ATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ATI/TextureFloat.hs b/src/Graphics/GL/ATI/TextureFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/TextureFloat.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.TextureFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.TextureFloat (
+  -- * Extension Support
+  glGetATITextureFloat,
+  gl_ATI_texture_float,
+  -- * Enums
+  pattern GL_ALPHA_FLOAT16_ATI,
+  pattern GL_ALPHA_FLOAT32_ATI,
+  pattern GL_INTENSITY_FLOAT16_ATI,
+  pattern GL_INTENSITY_FLOAT32_ATI,
+  pattern GL_LUMINANCE_ALPHA_FLOAT16_ATI,
+  pattern GL_LUMINANCE_ALPHA_FLOAT32_ATI,
+  pattern GL_LUMINANCE_FLOAT16_ATI,
+  pattern GL_LUMINANCE_FLOAT32_ATI,
+  pattern GL_RGBA_FLOAT16_ATI,
+  pattern GL_RGBA_FLOAT32_ATI,
+  pattern GL_RGB_FLOAT16_ATI,
+  pattern GL_RGB_FLOAT32_ATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ATI/TextureMirrorOnce.hs b/src/Graphics/GL/ATI/TextureMirrorOnce.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/TextureMirrorOnce.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.TextureMirrorOnce
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.TextureMirrorOnce (
+  -- * Extension Support
+  glGetATITextureMirrorOnce,
+  gl_ATI_texture_mirror_once,
+  -- * Enums
+  pattern GL_MIRROR_CLAMP_ATI,
+  pattern GL_MIRROR_CLAMP_TO_EDGE_ATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ATI/VertexArrayObject.hs b/src/Graphics/GL/ATI/VertexArrayObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/VertexArrayObject.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.VertexArrayObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.VertexArrayObject (
+  -- * Extension Support
+  glGetATIVertexArrayObject,
+  gl_ATI_vertex_array_object,
+  -- * Enums
+  pattern GL_ARRAY_OBJECT_BUFFER_ATI,
+  pattern GL_ARRAY_OBJECT_OFFSET_ATI,
+  pattern GL_DISCARD_ATI,
+  pattern GL_DYNAMIC_ATI,
+  pattern GL_OBJECT_BUFFER_SIZE_ATI,
+  pattern GL_OBJECT_BUFFER_USAGE_ATI,
+  pattern GL_PRESERVE_ATI,
+  pattern GL_STATIC_ATI,
+  -- * Functions
+  glArrayObjectATI,
+  glFreeObjectBufferATI,
+  glGetArrayObjectfvATI,
+  glGetArrayObjectivATI,
+  glGetObjectBufferfvATI,
+  glGetObjectBufferivATI,
+  glGetVariantArrayObjectfvATI,
+  glGetVariantArrayObjectivATI,
+  glIsObjectBufferATI,
+  glNewObjectBufferATI,
+  glUpdateObjectBufferATI,
+  glVariantArrayObjectATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/VertexAttribArrayObject.hs b/src/Graphics/GL/ATI/VertexAttribArrayObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/VertexAttribArrayObject.hs
@@ -0,0 +1,24 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.VertexAttribArrayObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.VertexAttribArrayObject (
+  -- * Extension Support
+  glGetATIVertexAttribArrayObject,
+  gl_ATI_vertex_attrib_array_object,
+  -- * Functions
+  glGetVertexAttribArrayObjectfvATI,
+  glGetVertexAttribArrayObjectivATI,
+  glVertexAttribArrayObjectATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ATI/VertexStreams.hs b/src/Graphics/GL/ATI/VertexStreams.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ATI/VertexStreams.hs
@@ -0,0 +1,79 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ATI.VertexStreams
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ATI.VertexStreams (
+  -- * Extension Support
+  glGetATIVertexStreams,
+  gl_ATI_vertex_streams,
+  -- * Enums
+  pattern GL_MAX_VERTEX_STREAMS_ATI,
+  pattern GL_VERTEX_SOURCE_ATI,
+  pattern GL_VERTEX_STREAM0_ATI,
+  pattern GL_VERTEX_STREAM1_ATI,
+  pattern GL_VERTEX_STREAM2_ATI,
+  pattern GL_VERTEX_STREAM3_ATI,
+  pattern GL_VERTEX_STREAM4_ATI,
+  pattern GL_VERTEX_STREAM5_ATI,
+  pattern GL_VERTEX_STREAM6_ATI,
+  pattern GL_VERTEX_STREAM7_ATI,
+  -- * Functions
+  glClientActiveVertexStreamATI,
+  glNormalStream3bATI,
+  glNormalStream3bvATI,
+  glNormalStream3dATI,
+  glNormalStream3dvATI,
+  glNormalStream3fATI,
+  glNormalStream3fvATI,
+  glNormalStream3iATI,
+  glNormalStream3ivATI,
+  glNormalStream3sATI,
+  glNormalStream3svATI,
+  glVertexBlendEnvfATI,
+  glVertexBlendEnviATI,
+  glVertexStream1dATI,
+  glVertexStream1dvATI,
+  glVertexStream1fATI,
+  glVertexStream1fvATI,
+  glVertexStream1iATI,
+  glVertexStream1ivATI,
+  glVertexStream1sATI,
+  glVertexStream1svATI,
+  glVertexStream2dATI,
+  glVertexStream2dvATI,
+  glVertexStream2fATI,
+  glVertexStream2fvATI,
+  glVertexStream2iATI,
+  glVertexStream2ivATI,
+  glVertexStream2sATI,
+  glVertexStream2svATI,
+  glVertexStream3dATI,
+  glVertexStream3dvATI,
+  glVertexStream3fATI,
+  glVertexStream3fvATI,
+  glVertexStream3iATI,
+  glVertexStream3ivATI,
+  glVertexStream3sATI,
+  glVertexStream3svATI,
+  glVertexStream4dATI,
+  glVertexStream4dvATI,
+  glVertexStream4fATI,
+  glVertexStream4fvATI,
+  glVertexStream4iATI,
+  glVertexStream4ivATI,
+  glVertexStream4sATI,
+  glVertexStream4svATI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility30.hs b/src/Graphics/GL/Compatibility30.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility30.hs
@@ -0,0 +1,1783 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility30
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Compatibility30 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility31.hs b/src/Graphics/GL/Compatibility31.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility31.hs
@@ -0,0 +1,1856 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility31
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Compatibility31 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility32.hs b/src/Graphics/GL/Compatibility32.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility32.hs
@@ -0,0 +1,1942 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility32
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility33.hs b/src/Graphics/GL/Compatibility33.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility33.hs
@@ -0,0 +1,2016 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility33
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility40.hs b/src/Graphics/GL/Compatibility40.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility40.hs
@@ -0,0 +1,2139 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility40
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility41.hs b/src/Graphics/GL/Compatibility41.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility41.hs
@@ -0,0 +1,2262 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility41
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_HINT_BIT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility42.hs b/src/Graphics/GL/Compatibility42.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility42.hs
@@ -0,0 +1,2386 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility42
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_HINT_BIT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility43.hs b/src/Graphics/GL/Compatibility43.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility43.hs
@@ -0,0 +1,2691 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility43
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Compatibility43 (
+  -- * Types
+  GLDEBUGPROC,
+  GLDEBUGPROCFunc,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  makeGLDEBUGPROC,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_RESOURCES,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_VARIABLES,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ARRAY_SIZE,
+  pattern GL_ARRAY_STRIDE,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_GENERATE_MIPMAP,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLOCK_INDEX,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_BINDING,
+  pattern GL_BUFFER_DATA_SIZE,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BUFFER_VARIABLE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CAVEAT_SUPPORT,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLEAR_BUFFER,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_COMPONENTS,
+  pattern GL_COLOR_ENCODING,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_RENDERABLE,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_R11_EAC,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RG11_EAC,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGB8_ETC2,
+  pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA8_ETC2_EAC,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_R11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SRGB8_ETC2,
+  pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER_BIT,
+  pattern GL_COMPUTE_SUBROUTINE,
+  pattern GL_COMPUTE_SUBROUTINE_UNIFORM,
+  pattern GL_COMPUTE_TEXTURE,
+  pattern GL_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_COMPONENTS,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_RENDERABLE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL_TEXTURE_MODE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DISPATCH_INDIRECT_BUFFER,
+  pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING,
+  pattern GL_DISPLAY_LIST,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FILTER,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAGMENT_SUBROUTINE,
+  pattern GL_FRAGMENT_SUBROUTINE_UNIFORM,
+  pattern GL_FRAGMENT_TEXTURE,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_BLEND,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT,
+  pattern GL_FRAMEBUFFER_DEFAULT_LAYERS,
+  pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES,
+  pattern GL_FRAMEBUFFER_DEFAULT_WIDTH,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_RENDERABLE,
+  pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FULL_SUPPORT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_SUBROUTINE,
+  pattern GL_GEOMETRY_SUBROUTINE_UNIFORM,
+  pattern GL_GEOMETRY_TEXTURE,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GET_TEXTURE_IMAGE_FORMAT,
+  pattern GL_GET_TEXTURE_IMAGE_TYPE,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_HINT_BIT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CLASS_10_10_10_2,
+  pattern GL_IMAGE_CLASS_11_11_10,
+  pattern GL_IMAGE_CLASS_1_X_16,
+  pattern GL_IMAGE_CLASS_1_X_32,
+  pattern GL_IMAGE_CLASS_1_X_8,
+  pattern GL_IMAGE_CLASS_2_X_16,
+  pattern GL_IMAGE_CLASS_2_X_32,
+  pattern GL_IMAGE_CLASS_2_X_8,
+  pattern GL_IMAGE_CLASS_4_X_16,
+  pattern GL_IMAGE_CLASS_4_X_32,
+  pattern GL_IMAGE_CLASS_4_X_8,
+  pattern GL_IMAGE_COMPATIBILITY_CLASS,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMAGE_PIXEL_FORMAT,
+  pattern GL_IMAGE_PIXEL_TYPE,
+  pattern GL_IMAGE_TEXEL_SIZE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERNALFORMAT_ALPHA_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_TYPE,
+  pattern GL_INTERNALFORMAT_BLUE_SIZE,
+  pattern GL_INTERNALFORMAT_BLUE_TYPE,
+  pattern GL_INTERNALFORMAT_DEPTH_SIZE,
+  pattern GL_INTERNALFORMAT_DEPTH_TYPE,
+  pattern GL_INTERNALFORMAT_GREEN_SIZE,
+  pattern GL_INTERNALFORMAT_GREEN_TYPE,
+  pattern GL_INTERNALFORMAT_PREFERRED,
+  pattern GL_INTERNALFORMAT_RED_SIZE,
+  pattern GL_INTERNALFORMAT_RED_TYPE,
+  pattern GL_INTERNALFORMAT_SHARED_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_TYPE,
+  pattern GL_INTERNALFORMAT_SUPPORTED,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_IS_PER_PATCH,
+  pattern GL_IS_ROW_MAJOR,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOCATION,
+  pattern GL_LOCATION_INDEX,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MANUAL_GENERATE_MIPMAP,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MATRIX_STRIDE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_DIMENSIONS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_DEPTH,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_ELEMENT_INDEX,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_FRAMEBUFFER_HEIGHT,
+  pattern GL_MAX_FRAMEBUFFER_LAYERS,
+  pattern GL_MAX_FRAMEBUFFER_SAMPLES,
+  pattern GL_MAX_FRAMEBUFFER_WIDTH,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_HEIGHT,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_MAX_LAYERS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_LENGTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_NUM_ACTIVE_VARIABLES,
+  pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_UNIFORM_LOCATIONS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_ATTRIB_BINDINGS,
+  pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MAX_WIDTH,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIPMAP,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_LENGTH,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_ACTIVE_VARIABLES,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_NUM_SHADING_LANGUAGE_VERSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_OFFSET,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_FIXED_INDEX,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_INPUT,
+  pattern GL_PROGRAM_OUTPUT,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_PIXELS,
+  pattern GL_READ_PIXELS_FORMAT,
+  pattern GL_READ_PIXELS_TYPE,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_IMAGE_ATOMIC,
+  pattern GL_SHADER_IMAGE_LOAD,
+  pattern GL_SHADER_IMAGE_STORE,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_STORAGE_BARRIER_BIT,
+  pattern GL_SHADER_STORAGE_BLOCK,
+  pattern GL_SHADER_STORAGE_BUFFER,
+  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
+  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
+  pattern GL_SHADER_STORAGE_BUFFER_START,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_SRGB_READ,
+  pattern GL_SRGB_WRITE,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_COMPONENTS,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_RENDERABLE,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_CONTROL_SUBROUTINE,
+  pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_CONTROL_TEXTURE,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SUBROUTINE,
+  pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_EVALUATION_TEXTURE,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_BUFFER_OFFSET,
+  pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_TEXTURE_BUFFER_SIZE,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GATHER,
+  pattern GL_TEXTURE_GATHER_SHADOW,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMAGE_FORMAT,
+  pattern GL_TEXTURE_IMAGE_TYPE,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_IMMUTABLE_LEVELS,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHADOW,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_VIEW,
+  pattern GL_TEXTURE_VIEW_MIN_LAYER,
+  pattern GL_TEXTURE_VIEW_MIN_LEVEL,
+  pattern GL_TEXTURE_VIEW_NUM_LAYERS,
+  pattern GL_TEXTURE_VIEW_NUM_LEVELS,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TOP_LEVEL_ARRAY_SIZE,
+  pattern GL_TOP_LEVEL_ARRAY_STRIDE,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_TYPE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_LONG,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_BINDING,
+  pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_BINDING_BUFFER,
+  pattern GL_VERTEX_BINDING_DIVISOR,
+  pattern GL_VERTEX_BINDING_OFFSET,
+  pattern GL_VERTEX_BINDING_STRIDE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VERTEX_SUBROUTINE,
+  pattern GL_VERTEX_SUBROUTINE_UNIFORM,
+  pattern GL_VERTEX_TEXTURE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_VIEW_CLASS_128_BITS,
+  pattern GL_VIEW_CLASS_16_BITS,
+  pattern GL_VIEW_CLASS_24_BITS,
+  pattern GL_VIEW_CLASS_32_BITS,
+  pattern GL_VIEW_CLASS_48_BITS,
+  pattern GL_VIEW_CLASS_64_BITS,
+  pattern GL_VIEW_CLASS_8_BITS,
+  pattern GL_VIEW_CLASS_96_BITS,
+  pattern GL_VIEW_CLASS_BPTC_FLOAT,
+  pattern GL_VIEW_CLASS_BPTC_UNORM,
+  pattern GL_VIEW_CLASS_RGTC1_RED,
+  pattern GL_VIEW_CLASS_RGTC2_RG,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGB,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA,
+  pattern GL_VIEW_COMPATIBILITY_CLASS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility44.hs b/src/Graphics/GL/Compatibility44.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility44.hs
@@ -0,0 +1,2719 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility44
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Compatibility44 (
+  -- * Types
+  GLDEBUGPROC,
+  GLDEBUGPROCFunc,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  makeGLDEBUGPROC,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_RESOURCES,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_VARIABLES,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ARRAY_SIZE,
+  pattern GL_ARRAY_STRIDE,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_GENERATE_MIPMAP,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLOCK_INDEX,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_BINDING,
+  pattern GL_BUFFER_DATA_SIZE,
+  pattern GL_BUFFER_IMMUTABLE_STORAGE,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_STORAGE_FLAGS,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BUFFER_VARIABLE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CAVEAT_SUPPORT,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLEAR_BUFFER,
+  pattern GL_CLEAR_TEXTURE,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_STORAGE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_COMPONENTS,
+  pattern GL_COLOR_ENCODING,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_RENDERABLE,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_R11_EAC,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RG11_EAC,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGB8_ETC2,
+  pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA8_ETC2_EAC,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_R11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SRGB8_ETC2,
+  pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER_BIT,
+  pattern GL_COMPUTE_SUBROUTINE,
+  pattern GL_COMPUTE_SUBROUTINE_UNIFORM,
+  pattern GL_COMPUTE_TEXTURE,
+  pattern GL_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_COMPONENTS,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_RENDERABLE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL_TEXTURE_MODE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DISPATCH_INDIRECT_BUFFER,
+  pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING,
+  pattern GL_DISPLAY_LIST,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_DYNAMIC_STORAGE_BIT,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FILTER,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAGMENT_SUBROUTINE,
+  pattern GL_FRAGMENT_SUBROUTINE_UNIFORM,
+  pattern GL_FRAGMENT_TEXTURE,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_BLEND,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT,
+  pattern GL_FRAMEBUFFER_DEFAULT_LAYERS,
+  pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES,
+  pattern GL_FRAMEBUFFER_DEFAULT_WIDTH,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_RENDERABLE,
+  pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FULL_SUPPORT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_SUBROUTINE,
+  pattern GL_GEOMETRY_SUBROUTINE_UNIFORM,
+  pattern GL_GEOMETRY_TEXTURE,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GET_TEXTURE_IMAGE_FORMAT,
+  pattern GL_GET_TEXTURE_IMAGE_TYPE,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_HINT_BIT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CLASS_10_10_10_2,
+  pattern GL_IMAGE_CLASS_11_11_10,
+  pattern GL_IMAGE_CLASS_1_X_16,
+  pattern GL_IMAGE_CLASS_1_X_32,
+  pattern GL_IMAGE_CLASS_1_X_8,
+  pattern GL_IMAGE_CLASS_2_X_16,
+  pattern GL_IMAGE_CLASS_2_X_32,
+  pattern GL_IMAGE_CLASS_2_X_8,
+  pattern GL_IMAGE_CLASS_4_X_16,
+  pattern GL_IMAGE_CLASS_4_X_32,
+  pattern GL_IMAGE_CLASS_4_X_8,
+  pattern GL_IMAGE_COMPATIBILITY_CLASS,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMAGE_PIXEL_FORMAT,
+  pattern GL_IMAGE_PIXEL_TYPE,
+  pattern GL_IMAGE_TEXEL_SIZE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERNALFORMAT_ALPHA_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_TYPE,
+  pattern GL_INTERNALFORMAT_BLUE_SIZE,
+  pattern GL_INTERNALFORMAT_BLUE_TYPE,
+  pattern GL_INTERNALFORMAT_DEPTH_SIZE,
+  pattern GL_INTERNALFORMAT_DEPTH_TYPE,
+  pattern GL_INTERNALFORMAT_GREEN_SIZE,
+  pattern GL_INTERNALFORMAT_GREEN_TYPE,
+  pattern GL_INTERNALFORMAT_PREFERRED,
+  pattern GL_INTERNALFORMAT_RED_SIZE,
+  pattern GL_INTERNALFORMAT_RED_TYPE,
+  pattern GL_INTERNALFORMAT_SHARED_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_TYPE,
+  pattern GL_INTERNALFORMAT_SUPPORTED,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_IS_PER_PATCH,
+  pattern GL_IS_ROW_MAJOR,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOCATION,
+  pattern GL_LOCATION_COMPONENT,
+  pattern GL_LOCATION_INDEX,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MANUAL_GENERATE_MIPMAP,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COHERENT_BIT,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_PERSISTENT_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MATRIX_STRIDE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_DIMENSIONS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_DEPTH,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_ELEMENT_INDEX,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_FRAMEBUFFER_HEIGHT,
+  pattern GL_MAX_FRAMEBUFFER_LAYERS,
+  pattern GL_MAX_FRAMEBUFFER_SAMPLES,
+  pattern GL_MAX_FRAMEBUFFER_WIDTH,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_HEIGHT,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_MAX_LAYERS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_LENGTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_NUM_ACTIVE_VARIABLES,
+  pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_UNIFORM_LOCATIONS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_ATTRIB_BINDINGS,
+  pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_MAX_VERTEX_ATTRIB_STRIDE,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MAX_WIDTH,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIPMAP,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MIRROR_CLAMP_TO_EDGE,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_LENGTH,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_ACTIVE_VARIABLES,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_NUM_SHADING_LANGUAGE_VERSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_OFFSET,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_FIXED_INDEX,
+  pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_INPUT,
+  pattern GL_PROGRAM_OUTPUT,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY,
+  pattern GL_QUERY_BUFFER,
+  pattern GL_QUERY_BUFFER_BARRIER_BIT,
+  pattern GL_QUERY_BUFFER_BINDING,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_RESULT_NO_WAIT,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_PIXELS,
+  pattern GL_READ_PIXELS_FORMAT,
+  pattern GL_READ_PIXELS_TYPE,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_IMAGE_ATOMIC,
+  pattern GL_SHADER_IMAGE_LOAD,
+  pattern GL_SHADER_IMAGE_STORE,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_STORAGE_BARRIER_BIT,
+  pattern GL_SHADER_STORAGE_BLOCK,
+  pattern GL_SHADER_STORAGE_BUFFER,
+  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
+  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
+  pattern GL_SHADER_STORAGE_BUFFER_START,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_SRGB_READ,
+  pattern GL_SRGB_WRITE,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_COMPONENTS,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_RENDERABLE,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_CONTROL_SUBROUTINE,
+  pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_CONTROL_TEXTURE,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SUBROUTINE,
+  pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_EVALUATION_TEXTURE,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_BINDING,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_BUFFER_OFFSET,
+  pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_TEXTURE_BUFFER_SIZE,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GATHER,
+  pattern GL_TEXTURE_GATHER_SHADOW,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMAGE_FORMAT,
+  pattern GL_TEXTURE_IMAGE_TYPE,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_IMMUTABLE_LEVELS,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHADOW,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_VIEW,
+  pattern GL_TEXTURE_VIEW_MIN_LAYER,
+  pattern GL_TEXTURE_VIEW_MIN_LEVEL,
+  pattern GL_TEXTURE_VIEW_NUM_LAYERS,
+  pattern GL_TEXTURE_VIEW_NUM_LEVELS,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TOP_LEVEL_ARRAY_SIZE,
+  pattern GL_TOP_LEVEL_ARRAY_STRIDE,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_TYPE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_LONG,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_BINDING,
+  pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_BINDING_BUFFER,
+  pattern GL_VERTEX_BINDING_DIVISOR,
+  pattern GL_VERTEX_BINDING_OFFSET,
+  pattern GL_VERTEX_BINDING_STRIDE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VERTEX_SUBROUTINE,
+  pattern GL_VERTEX_SUBROUTINE_UNIFORM,
+  pattern GL_VERTEX_TEXTURE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_VIEW_CLASS_128_BITS,
+  pattern GL_VIEW_CLASS_16_BITS,
+  pattern GL_VIEW_CLASS_24_BITS,
+  pattern GL_VIEW_CLASS_32_BITS,
+  pattern GL_VIEW_CLASS_48_BITS,
+  pattern GL_VIEW_CLASS_64_BITS,
+  pattern GL_VIEW_CLASS_8_BITS,
+  pattern GL_VIEW_CLASS_96_BITS,
+  pattern GL_VIEW_CLASS_BPTC_FLOAT,
+  pattern GL_VIEW_CLASS_BPTC_UNORM,
+  pattern GL_VIEW_CLASS_RGTC1_RED,
+  pattern GL_VIEW_CLASS_RGTC2_RG,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGB,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA,
+  pattern GL_VIEW_COMPATIBILITY_CLASS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Compatibility45.hs b/src/Graphics/GL/Compatibility45.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Compatibility45.hs
@@ -0,0 +1,2863 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Compatibility45
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Compatibility45 (
+  -- * Types
+  GLDEBUGPROC,
+  GLDEBUGPROCFunc,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  makeGLDEBUGPROC,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_RESOURCES,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_VARIABLES,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ARRAY_SIZE,
+  pattern GL_ARRAY_STRIDE,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_GENERATE_MIPMAP,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLOCK_INDEX,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_BINDING,
+  pattern GL_BUFFER_DATA_SIZE,
+  pattern GL_BUFFER_IMMUTABLE_STORAGE,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_STORAGE_FLAGS,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BUFFER_VARIABLE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CAVEAT_SUPPORT,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLEAR_BUFFER,
+  pattern GL_CLEAR_TEXTURE,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_STORAGE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DEPTH_MODE,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_ORIGIN,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_COMPONENTS,
+  pattern GL_COLOR_ENCODING,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_RENDERABLE,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_R11_EAC,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RG11_EAC,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGB8_ETC2,
+  pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA8_ETC2_EAC,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_R11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SRGB8_ETC2,
+  pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER_BIT,
+  pattern GL_COMPUTE_SUBROUTINE,
+  pattern GL_COMPUTE_SUBROUTINE_UNIFORM,
+  pattern GL_COMPUTE_TEXTURE,
+  pattern GL_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT,
+  pattern GL_CONTEXT_LOST,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_CONTEXT_RELEASE_BEHAVIOR,
+  pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_COMPONENTS,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_RENDERABLE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL_TEXTURE_MODE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DISPATCH_INDIRECT_BUFFER,
+  pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING,
+  pattern GL_DISPLAY_LIST,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_DYNAMIC_STORAGE_BIT,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FILTER,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAGMENT_SUBROUTINE,
+  pattern GL_FRAGMENT_SUBROUTINE_UNIFORM,
+  pattern GL_FRAGMENT_TEXTURE,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_BLEND,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT,
+  pattern GL_FRAMEBUFFER_DEFAULT_LAYERS,
+  pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES,
+  pattern GL_FRAMEBUFFER_DEFAULT_WIDTH,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_RENDERABLE,
+  pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FULL_SUPPORT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_SUBROUTINE,
+  pattern GL_GEOMETRY_SUBROUTINE_UNIFORM,
+  pattern GL_GEOMETRY_TEXTURE,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GET_TEXTURE_IMAGE_FORMAT,
+  pattern GL_GET_TEXTURE_IMAGE_TYPE,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_GUILTY_CONTEXT_RESET,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_HINT_BIT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CLASS_10_10_10_2,
+  pattern GL_IMAGE_CLASS_11_11_10,
+  pattern GL_IMAGE_CLASS_1_X_16,
+  pattern GL_IMAGE_CLASS_1_X_32,
+  pattern GL_IMAGE_CLASS_1_X_8,
+  pattern GL_IMAGE_CLASS_2_X_16,
+  pattern GL_IMAGE_CLASS_2_X_32,
+  pattern GL_IMAGE_CLASS_2_X_8,
+  pattern GL_IMAGE_CLASS_4_X_16,
+  pattern GL_IMAGE_CLASS_4_X_32,
+  pattern GL_IMAGE_CLASS_4_X_8,
+  pattern GL_IMAGE_COMPATIBILITY_CLASS,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMAGE_PIXEL_FORMAT,
+  pattern GL_IMAGE_PIXEL_TYPE,
+  pattern GL_IMAGE_TEXEL_SIZE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INNOCENT_CONTEXT_RESET,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERNALFORMAT_ALPHA_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_TYPE,
+  pattern GL_INTERNALFORMAT_BLUE_SIZE,
+  pattern GL_INTERNALFORMAT_BLUE_TYPE,
+  pattern GL_INTERNALFORMAT_DEPTH_SIZE,
+  pattern GL_INTERNALFORMAT_DEPTH_TYPE,
+  pattern GL_INTERNALFORMAT_GREEN_SIZE,
+  pattern GL_INTERNALFORMAT_GREEN_TYPE,
+  pattern GL_INTERNALFORMAT_PREFERRED,
+  pattern GL_INTERNALFORMAT_RED_SIZE,
+  pattern GL_INTERNALFORMAT_RED_TYPE,
+  pattern GL_INTERNALFORMAT_SHARED_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_TYPE,
+  pattern GL_INTERNALFORMAT_SUPPORTED,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_IS_PER_PATCH,
+  pattern GL_IS_ROW_MAJOR,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOCATION,
+  pattern GL_LOCATION_COMPONENT,
+  pattern GL_LOCATION_INDEX,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOSE_CONTEXT_ON_RESET,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MANUAL_GENERATE_MIPMAP,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COHERENT_BIT,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_PERSISTENT_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MATRIX_STRIDE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES,
+  pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_DIMENSIONS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_CULL_DISTANCES,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_DEPTH,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_ELEMENT_INDEX,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_FRAMEBUFFER_HEIGHT,
+  pattern GL_MAX_FRAMEBUFFER_LAYERS,
+  pattern GL_MAX_FRAMEBUFFER_SAMPLES,
+  pattern GL_MAX_FRAMEBUFFER_WIDTH,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_HEIGHT,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_MAX_LAYERS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_LENGTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_NUM_ACTIVE_VARIABLES,
+  pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_UNIFORM_LOCATIONS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_ATTRIB_BINDINGS,
+  pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_MAX_VERTEX_ATTRIB_STRIDE,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MAX_WIDTH,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIPMAP,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MIRROR_CLAMP_TO_EDGE,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_LENGTH,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEGATIVE_ONE_TO_ONE,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NO_RESET_NOTIFICATION,
+  pattern GL_NUM_ACTIVE_VARIABLES,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_NUM_SHADING_LANGUAGE_VERSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_OFFSET,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_FIXED_INDEX,
+  pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_INPUT,
+  pattern GL_PROGRAM_OUTPUT,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY,
+  pattern GL_QUERY_BUFFER,
+  pattern GL_QUERY_BUFFER_BARRIER_BIT,
+  pattern GL_QUERY_BUFFER_BINDING,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT_INVERTED,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_NO_WAIT_INVERTED,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_RESULT_NO_WAIT,
+  pattern GL_QUERY_TARGET,
+  pattern GL_QUERY_WAIT,
+  pattern GL_QUERY_WAIT_INVERTED,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_PIXELS,
+  pattern GL_READ_PIXELS_FORMAT,
+  pattern GL_READ_PIXELS_TYPE,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RESET_NOTIFICATION_STRATEGY,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_IMAGE_ATOMIC,
+  pattern GL_SHADER_IMAGE_LOAD,
+  pattern GL_SHADER_IMAGE_STORE,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_STORAGE_BARRIER_BIT,
+  pattern GL_SHADER_STORAGE_BLOCK,
+  pattern GL_SHADER_STORAGE_BUFFER,
+  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
+  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
+  pattern GL_SHADER_STORAGE_BUFFER_START,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_SRGB_READ,
+  pattern GL_SRGB_WRITE,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_COMPONENTS,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_RENDERABLE,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_CONTROL_SUBROUTINE,
+  pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_CONTROL_TEXTURE,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SUBROUTINE,
+  pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_EVALUATION_TEXTURE,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_BINDING,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_BUFFER_OFFSET,
+  pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_TEXTURE_BUFFER_SIZE,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GATHER,
+  pattern GL_TEXTURE_GATHER_SHADOW,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMAGE_FORMAT,
+  pattern GL_TEXTURE_IMAGE_TYPE,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_IMMUTABLE_LEVELS,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTENSITY_TYPE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_LUMINANCE_TYPE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHADOW,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_TARGET,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_VIEW,
+  pattern GL_TEXTURE_VIEW_MIN_LAYER,
+  pattern GL_TEXTURE_VIEW_MIN_LEVEL,
+  pattern GL_TEXTURE_VIEW_NUM_LAYERS,
+  pattern GL_TEXTURE_VIEW_NUM_LEVELS,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TOP_LEVEL_ARRAY_SIZE,
+  pattern GL_TOP_LEVEL_ARRAY_STRIDE,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_TYPE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNKNOWN_CONTEXT_RESET,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_LONG,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_BINDING,
+  pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_BINDING_BUFFER,
+  pattern GL_VERTEX_BINDING_DIVISOR,
+  pattern GL_VERTEX_BINDING_OFFSET,
+  pattern GL_VERTEX_BINDING_STRIDE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VERTEX_SUBROUTINE,
+  pattern GL_VERTEX_SUBROUTINE_UNIFORM,
+  pattern GL_VERTEX_TEXTURE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_VIEW_CLASS_128_BITS,
+  pattern GL_VIEW_CLASS_16_BITS,
+  pattern GL_VIEW_CLASS_24_BITS,
+  pattern GL_VIEW_CLASS_32_BITS,
+  pattern GL_VIEW_CLASS_48_BITS,
+  pattern GL_VIEW_CLASS_64_BITS,
+  pattern GL_VIEW_CLASS_8_BITS,
+  pattern GL_VIEW_CLASS_96_BITS,
+  pattern GL_VIEW_CLASS_BPTC_FLOAT,
+  pattern GL_VIEW_CLASS_BPTC_UNORM,
+  pattern GL_VIEW_CLASS_RGTC1_RED,
+  pattern GL_VIEW_CLASS_RGTC2_RG,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGB,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA,
+  pattern GL_VIEW_COMPATIBILITY_CLASS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZERO_TO_ONE,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core30.hs b/src/Graphics/GL/Core30.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core30.hs
@@ -0,0 +1,1780 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core30
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Core30 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core31.hs b/src/Graphics/GL/Core31.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core31.hs
@@ -0,0 +1,1853 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core31
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Core31 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_INTEGER,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_FRAGMENT_COLOR,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLAMP_VERTEX_COLOR,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_INTEGER,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RGB_SCALE,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core32.hs b/src/Graphics/GL/Core32.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core32.hs
@@ -0,0 +1,1160 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core32
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_HALF_FLOAT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core33.hs b/src/Graphics/GL/Core33.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core33.hs
@@ -0,0 +1,1204 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core33
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_HALF_FLOAT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core40.hs b/src/Graphics/GL/Core40.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core40.hs
@@ -0,0 +1,1328 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core40
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_HALF_FLOAT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core41.hs b/src/Graphics/GL/Core41.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core41.hs
@@ -0,0 +1,1451 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core41
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core42.hs b/src/Graphics/GL/Core42.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core42.hs
@@ -0,0 +1,1575 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core42
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core43.hs b/src/Graphics/GL/Core43.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core43.hs
@@ -0,0 +1,1883 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core43
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Core43 (
+  -- * Types
+  GLDEBUGPROC,
+  GLDEBUGPROCFunc,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  makeGLDEBUGPROC,
+  -- * Enums
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_RESOURCES,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_VARIABLES,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ARRAY_SIZE,
+  pattern GL_ARRAY_STRIDE,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_AUTO_GENERATE_MIPMAP,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLOCK_INDEX,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_BINDING,
+  pattern GL_BUFFER_DATA_SIZE,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BUFFER_VARIABLE,
+  pattern GL_BYTE,
+  pattern GL_CAVEAT_SUPPORT,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLEAR_BUFFER,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_COMPONENTS,
+  pattern GL_COLOR_ENCODING,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_RENDERABLE,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_R11_EAC,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RG11_EAC,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGB8_ETC2,
+  pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA8_ETC2_EAC,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_R11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SRGB8_ETC2,
+  pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER_BIT,
+  pattern GL_COMPUTE_SUBROUTINE,
+  pattern GL_COMPUTE_SUBROUTINE_UNIFORM,
+  pattern GL_COMPUTE_TEXTURE,
+  pattern GL_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_COMPONENTS,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_RENDERABLE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL_TEXTURE_MODE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DISPATCH_INDIRECT_BUFFER,
+  pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FILTER,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAGMENT_SUBROUTINE,
+  pattern GL_FRAGMENT_SUBROUTINE_UNIFORM,
+  pattern GL_FRAGMENT_TEXTURE,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_BLEND,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT,
+  pattern GL_FRAMEBUFFER_DEFAULT_LAYERS,
+  pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES,
+  pattern GL_FRAMEBUFFER_DEFAULT_WIDTH,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_RENDERABLE,
+  pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FULL_SUPPORT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_SUBROUTINE,
+  pattern GL_GEOMETRY_SUBROUTINE_UNIFORM,
+  pattern GL_GEOMETRY_TEXTURE,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GET_TEXTURE_IMAGE_FORMAT,
+  pattern GL_GET_TEXTURE_IMAGE_TYPE,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CLASS_10_10_10_2,
+  pattern GL_IMAGE_CLASS_11_11_10,
+  pattern GL_IMAGE_CLASS_1_X_16,
+  pattern GL_IMAGE_CLASS_1_X_32,
+  pattern GL_IMAGE_CLASS_1_X_8,
+  pattern GL_IMAGE_CLASS_2_X_16,
+  pattern GL_IMAGE_CLASS_2_X_32,
+  pattern GL_IMAGE_CLASS_2_X_8,
+  pattern GL_IMAGE_CLASS_4_X_16,
+  pattern GL_IMAGE_CLASS_4_X_32,
+  pattern GL_IMAGE_CLASS_4_X_8,
+  pattern GL_IMAGE_COMPATIBILITY_CLASS,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMAGE_PIXEL_FORMAT,
+  pattern GL_IMAGE_PIXEL_TYPE,
+  pattern GL_IMAGE_TEXEL_SIZE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERNALFORMAT_ALPHA_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_TYPE,
+  pattern GL_INTERNALFORMAT_BLUE_SIZE,
+  pattern GL_INTERNALFORMAT_BLUE_TYPE,
+  pattern GL_INTERNALFORMAT_DEPTH_SIZE,
+  pattern GL_INTERNALFORMAT_DEPTH_TYPE,
+  pattern GL_INTERNALFORMAT_GREEN_SIZE,
+  pattern GL_INTERNALFORMAT_GREEN_TYPE,
+  pattern GL_INTERNALFORMAT_PREFERRED,
+  pattern GL_INTERNALFORMAT_RED_SIZE,
+  pattern GL_INTERNALFORMAT_RED_TYPE,
+  pattern GL_INTERNALFORMAT_SHARED_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_TYPE,
+  pattern GL_INTERNALFORMAT_SUPPORTED,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_IS_PER_PATCH,
+  pattern GL_IS_ROW_MAJOR,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOCATION,
+  pattern GL_LOCATION_INDEX,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MANUAL_GENERATE_MIPMAP,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_STRIDE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_DIMENSIONS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_DEPTH,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_ELEMENT_INDEX,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_FRAMEBUFFER_HEIGHT,
+  pattern GL_MAX_FRAMEBUFFER_LAYERS,
+  pattern GL_MAX_FRAMEBUFFER_SAMPLES,
+  pattern GL_MAX_FRAMEBUFFER_WIDTH,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_HEIGHT,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_MAX_LAYERS,
+  pattern GL_MAX_NAME_LENGTH,
+  pattern GL_MAX_NUM_ACTIVE_VARIABLES,
+  pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_UNIFORM_LOCATIONS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_ATTRIB_BINDINGS,
+  pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MAX_WIDTH,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIPMAP,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAME_LENGTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_ACTIVE_VARIABLES,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_NUM_SHADING_LANGUAGE_VERSIONS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_OFFSET,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_FIXED_INDEX,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_INPUT,
+  pattern GL_PROGRAM_OUTPUT,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_PIXELS,
+  pattern GL_READ_PIXELS_FORMAT,
+  pattern GL_READ_PIXELS_TYPE,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_IMAGE_ATOMIC,
+  pattern GL_SHADER_IMAGE_LOAD,
+  pattern GL_SHADER_IMAGE_STORE,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_STORAGE_BARRIER_BIT,
+  pattern GL_SHADER_STORAGE_BLOCK,
+  pattern GL_SHADER_STORAGE_BUFFER,
+  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
+  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
+  pattern GL_SHADER_STORAGE_BUFFER_START,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_SRGB_READ,
+  pattern GL_SRGB_WRITE,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_COMPONENTS,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_RENDERABLE,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_CONTROL_SUBROUTINE,
+  pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_CONTROL_TEXTURE,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SUBROUTINE,
+  pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_EVALUATION_TEXTURE,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_BUFFER_OFFSET,
+  pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_TEXTURE_BUFFER_SIZE,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GATHER,
+  pattern GL_TEXTURE_GATHER_SHADOW,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMAGE_FORMAT,
+  pattern GL_TEXTURE_IMAGE_TYPE,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_IMMUTABLE_LEVELS,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHADOW,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_VIEW,
+  pattern GL_TEXTURE_VIEW_MIN_LAYER,
+  pattern GL_TEXTURE_VIEW_MIN_LEVEL,
+  pattern GL_TEXTURE_VIEW_NUM_LAYERS,
+  pattern GL_TEXTURE_VIEW_NUM_LEVELS,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TOP_LEVEL_ARRAY_SIZE,
+  pattern GL_TOP_LEVEL_ARRAY_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_TYPE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_LONG,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_BINDING,
+  pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_BINDING_BUFFER,
+  pattern GL_VERTEX_BINDING_DIVISOR,
+  pattern GL_VERTEX_BINDING_OFFSET,
+  pattern GL_VERTEX_BINDING_STRIDE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VERTEX_SUBROUTINE,
+  pattern GL_VERTEX_SUBROUTINE_UNIFORM,
+  pattern GL_VERTEX_TEXTURE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_VIEW_CLASS_128_BITS,
+  pattern GL_VIEW_CLASS_16_BITS,
+  pattern GL_VIEW_CLASS_24_BITS,
+  pattern GL_VIEW_CLASS_32_BITS,
+  pattern GL_VIEW_CLASS_48_BITS,
+  pattern GL_VIEW_CLASS_64_BITS,
+  pattern GL_VIEW_CLASS_8_BITS,
+  pattern GL_VIEW_CLASS_96_BITS,
+  pattern GL_VIEW_CLASS_BPTC_FLOAT,
+  pattern GL_VIEW_CLASS_BPTC_UNORM,
+  pattern GL_VIEW_CLASS_RGTC1_RED,
+  pattern GL_VIEW_CLASS_RGTC2_RG,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGB,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA,
+  pattern GL_VIEW_COMPATIBILITY_CLASS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core44.hs b/src/Graphics/GL/Core44.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core44.hs
@@ -0,0 +1,1911 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core44
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Core44 (
+  -- * Types
+  GLDEBUGPROC,
+  GLDEBUGPROCFunc,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  makeGLDEBUGPROC,
+  -- * Enums
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_RESOURCES,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_VARIABLES,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ARRAY_SIZE,
+  pattern GL_ARRAY_STRIDE,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_AUTO_GENERATE_MIPMAP,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLOCK_INDEX,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_BINDING,
+  pattern GL_BUFFER_DATA_SIZE,
+  pattern GL_BUFFER_IMMUTABLE_STORAGE,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_STORAGE_FLAGS,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BUFFER_VARIABLE,
+  pattern GL_BYTE,
+  pattern GL_CAVEAT_SUPPORT,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLEAR_BUFFER,
+  pattern GL_CLEAR_TEXTURE,
+  pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  pattern GL_CLIENT_STORAGE_BIT,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_COMPONENTS,
+  pattern GL_COLOR_ENCODING,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_RENDERABLE,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_R11_EAC,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RG11_EAC,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGB8_ETC2,
+  pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA8_ETC2_EAC,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_R11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SRGB8_ETC2,
+  pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER_BIT,
+  pattern GL_COMPUTE_SUBROUTINE,
+  pattern GL_COMPUTE_SUBROUTINE_UNIFORM,
+  pattern GL_COMPUTE_TEXTURE,
+  pattern GL_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_COMPONENTS,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_RENDERABLE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL_TEXTURE_MODE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DISPATCH_INDIRECT_BUFFER,
+  pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_DYNAMIC_STORAGE_BIT,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FILTER,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAGMENT_SUBROUTINE,
+  pattern GL_FRAGMENT_SUBROUTINE_UNIFORM,
+  pattern GL_FRAGMENT_TEXTURE,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_BLEND,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT,
+  pattern GL_FRAMEBUFFER_DEFAULT_LAYERS,
+  pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES,
+  pattern GL_FRAMEBUFFER_DEFAULT_WIDTH,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_RENDERABLE,
+  pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FULL_SUPPORT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_SUBROUTINE,
+  pattern GL_GEOMETRY_SUBROUTINE_UNIFORM,
+  pattern GL_GEOMETRY_TEXTURE,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GET_TEXTURE_IMAGE_FORMAT,
+  pattern GL_GET_TEXTURE_IMAGE_TYPE,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CLASS_10_10_10_2,
+  pattern GL_IMAGE_CLASS_11_11_10,
+  pattern GL_IMAGE_CLASS_1_X_16,
+  pattern GL_IMAGE_CLASS_1_X_32,
+  pattern GL_IMAGE_CLASS_1_X_8,
+  pattern GL_IMAGE_CLASS_2_X_16,
+  pattern GL_IMAGE_CLASS_2_X_32,
+  pattern GL_IMAGE_CLASS_2_X_8,
+  pattern GL_IMAGE_CLASS_4_X_16,
+  pattern GL_IMAGE_CLASS_4_X_32,
+  pattern GL_IMAGE_CLASS_4_X_8,
+  pattern GL_IMAGE_COMPATIBILITY_CLASS,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMAGE_PIXEL_FORMAT,
+  pattern GL_IMAGE_PIXEL_TYPE,
+  pattern GL_IMAGE_TEXEL_SIZE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERNALFORMAT_ALPHA_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_TYPE,
+  pattern GL_INTERNALFORMAT_BLUE_SIZE,
+  pattern GL_INTERNALFORMAT_BLUE_TYPE,
+  pattern GL_INTERNALFORMAT_DEPTH_SIZE,
+  pattern GL_INTERNALFORMAT_DEPTH_TYPE,
+  pattern GL_INTERNALFORMAT_GREEN_SIZE,
+  pattern GL_INTERNALFORMAT_GREEN_TYPE,
+  pattern GL_INTERNALFORMAT_PREFERRED,
+  pattern GL_INTERNALFORMAT_RED_SIZE,
+  pattern GL_INTERNALFORMAT_RED_TYPE,
+  pattern GL_INTERNALFORMAT_SHARED_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_TYPE,
+  pattern GL_INTERNALFORMAT_SUPPORTED,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_IS_PER_PATCH,
+  pattern GL_IS_ROW_MAJOR,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOCATION,
+  pattern GL_LOCATION_COMPONENT,
+  pattern GL_LOCATION_INDEX,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MANUAL_GENERATE_MIPMAP,
+  pattern GL_MAP_COHERENT_BIT,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_PERSISTENT_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_STRIDE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_DIMENSIONS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_DEPTH,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_ELEMENT_INDEX,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_FRAMEBUFFER_HEIGHT,
+  pattern GL_MAX_FRAMEBUFFER_LAYERS,
+  pattern GL_MAX_FRAMEBUFFER_SAMPLES,
+  pattern GL_MAX_FRAMEBUFFER_WIDTH,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_HEIGHT,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_MAX_LAYERS,
+  pattern GL_MAX_NAME_LENGTH,
+  pattern GL_MAX_NUM_ACTIVE_VARIABLES,
+  pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_UNIFORM_LOCATIONS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_ATTRIB_BINDINGS,
+  pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_MAX_VERTEX_ATTRIB_STRIDE,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MAX_WIDTH,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIPMAP,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MIRROR_CLAMP_TO_EDGE,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAME_LENGTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_ACTIVE_VARIABLES,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_NUM_SHADING_LANGUAGE_VERSIONS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_OFFSET,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_FIXED_INDEX,
+  pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_INPUT,
+  pattern GL_PROGRAM_OUTPUT,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY,
+  pattern GL_QUERY_BUFFER,
+  pattern GL_QUERY_BUFFER_BARRIER_BIT,
+  pattern GL_QUERY_BUFFER_BINDING,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_RESULT_NO_WAIT,
+  pattern GL_QUERY_WAIT,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_PIXELS,
+  pattern GL_READ_PIXELS_FORMAT,
+  pattern GL_READ_PIXELS_TYPE,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_IMAGE_ATOMIC,
+  pattern GL_SHADER_IMAGE_LOAD,
+  pattern GL_SHADER_IMAGE_STORE,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_STORAGE_BARRIER_BIT,
+  pattern GL_SHADER_STORAGE_BLOCK,
+  pattern GL_SHADER_STORAGE_BUFFER,
+  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
+  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
+  pattern GL_SHADER_STORAGE_BUFFER_START,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_SRGB_READ,
+  pattern GL_SRGB_WRITE,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_COMPONENTS,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_RENDERABLE,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_CONTROL_SUBROUTINE,
+  pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_CONTROL_TEXTURE,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SUBROUTINE,
+  pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_EVALUATION_TEXTURE,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_BINDING,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_BUFFER_OFFSET,
+  pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_TEXTURE_BUFFER_SIZE,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GATHER,
+  pattern GL_TEXTURE_GATHER_SHADOW,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMAGE_FORMAT,
+  pattern GL_TEXTURE_IMAGE_TYPE,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_IMMUTABLE_LEVELS,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHADOW,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_VIEW,
+  pattern GL_TEXTURE_VIEW_MIN_LAYER,
+  pattern GL_TEXTURE_VIEW_MIN_LEVEL,
+  pattern GL_TEXTURE_VIEW_NUM_LAYERS,
+  pattern GL_TEXTURE_VIEW_NUM_LEVELS,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TOP_LEVEL_ARRAY_SIZE,
+  pattern GL_TOP_LEVEL_ARRAY_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_TYPE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_LONG,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_BINDING,
+  pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_BINDING_BUFFER,
+  pattern GL_VERTEX_BINDING_DIVISOR,
+  pattern GL_VERTEX_BINDING_OFFSET,
+  pattern GL_VERTEX_BINDING_STRIDE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VERTEX_SUBROUTINE,
+  pattern GL_VERTEX_SUBROUTINE_UNIFORM,
+  pattern GL_VERTEX_TEXTURE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_VIEW_CLASS_128_BITS,
+  pattern GL_VIEW_CLASS_16_BITS,
+  pattern GL_VIEW_CLASS_24_BITS,
+  pattern GL_VIEW_CLASS_32_BITS,
+  pattern GL_VIEW_CLASS_48_BITS,
+  pattern GL_VIEW_CLASS_64_BITS,
+  pattern GL_VIEW_CLASS_8_BITS,
+  pattern GL_VIEW_CLASS_96_BITS,
+  pattern GL_VIEW_CLASS_BPTC_FLOAT,
+  pattern GL_VIEW_CLASS_BPTC_UNORM,
+  pattern GL_VIEW_CLASS_RGTC1_RED,
+  pattern GL_VIEW_CLASS_RGTC2_RG,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGB,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA,
+  pattern GL_VIEW_COMPATIBILITY_CLASS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Core45.hs b/src/Graphics/GL/Core45.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Core45.hs
@@ -0,0 +1,2043 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Core45
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Core45 (
+  -- * Types
+  GLDEBUGPROC,
+  GLDEBUGPROCFunc,
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLhalf,
+  GLint,
+  GLint64,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLsync,
+  GLubyte,
+  GLuint,
+  GLuint64,
+  GLushort,
+  GLvoid,
+  makeGLDEBUGPROC,
+  -- * Enums
+  pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_PROGRAM,
+  pattern GL_ACTIVE_RESOURCES,
+  pattern GL_ACTIVE_SUBROUTINES,
+  pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORMS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_BLOCKS,
+  pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ACTIVE_VARIABLES,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALL_BARRIER_BITS,
+  pattern GL_ALL_SHADER_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALREADY_SIGNALED,
+  pattern GL_ALWAYS,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ANY_SAMPLES_PASSED,
+  pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ARRAY_SIZE,
+  pattern GL_ARRAY_STRIDE,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT,
+  pattern GL_ATOMIC_COUNTER_BUFFER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS,
+  pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES,
+  pattern GL_ATOMIC_COUNTER_BUFFER_BINDING,
+  pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_ATOMIC_COUNTER_BUFFER_START,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_AUTO_GENERATE_MIPMAP,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BGRA_INTEGER,
+  pattern GL_BGR_INTEGER,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLOCK_INDEX,
+  pattern GL_BLUE,
+  pattern GL_BLUE_INTEGER,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_ACCESS_FLAGS,
+  pattern GL_BUFFER_BINDING,
+  pattern GL_BUFFER_DATA_SIZE,
+  pattern GL_BUFFER_IMMUTABLE_STORAGE,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_LENGTH,
+  pattern GL_BUFFER_MAP_OFFSET,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_STORAGE_FLAGS,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BUFFER_VARIABLE,
+  pattern GL_BYTE,
+  pattern GL_CAVEAT_SUPPORT,
+  pattern GL_CCW,
+  pattern GL_CLAMP_READ_COLOR,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLEAR_BUFFER,
+  pattern GL_CLEAR_TEXTURE,
+  pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
+  pattern GL_CLIENT_STORAGE_BIT,
+  pattern GL_CLIP_DEPTH_MODE,
+  pattern GL_CLIP_DISTANCE0,
+  pattern GL_CLIP_DISTANCE1,
+  pattern GL_CLIP_DISTANCE2,
+  pattern GL_CLIP_DISTANCE3,
+  pattern GL_CLIP_DISTANCE4,
+  pattern GL_CLIP_DISTANCE5,
+  pattern GL_CLIP_DISTANCE6,
+  pattern GL_CLIP_DISTANCE7,
+  pattern GL_CLIP_ORIGIN,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ATTACHMENT0,
+  pattern GL_COLOR_ATTACHMENT1,
+  pattern GL_COLOR_ATTACHMENT10,
+  pattern GL_COLOR_ATTACHMENT11,
+  pattern GL_COLOR_ATTACHMENT12,
+  pattern GL_COLOR_ATTACHMENT13,
+  pattern GL_COLOR_ATTACHMENT14,
+  pattern GL_COLOR_ATTACHMENT15,
+  pattern GL_COLOR_ATTACHMENT16,
+  pattern GL_COLOR_ATTACHMENT17,
+  pattern GL_COLOR_ATTACHMENT18,
+  pattern GL_COLOR_ATTACHMENT19,
+  pattern GL_COLOR_ATTACHMENT2,
+  pattern GL_COLOR_ATTACHMENT20,
+  pattern GL_COLOR_ATTACHMENT21,
+  pattern GL_COLOR_ATTACHMENT22,
+  pattern GL_COLOR_ATTACHMENT23,
+  pattern GL_COLOR_ATTACHMENT24,
+  pattern GL_COLOR_ATTACHMENT25,
+  pattern GL_COLOR_ATTACHMENT26,
+  pattern GL_COLOR_ATTACHMENT27,
+  pattern GL_COLOR_ATTACHMENT28,
+  pattern GL_COLOR_ATTACHMENT29,
+  pattern GL_COLOR_ATTACHMENT3,
+  pattern GL_COLOR_ATTACHMENT30,
+  pattern GL_COLOR_ATTACHMENT31,
+  pattern GL_COLOR_ATTACHMENT4,
+  pattern GL_COLOR_ATTACHMENT5,
+  pattern GL_COLOR_ATTACHMENT6,
+  pattern GL_COLOR_ATTACHMENT7,
+  pattern GL_COLOR_ATTACHMENT8,
+  pattern GL_COLOR_ATTACHMENT9,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_COMPONENTS,
+  pattern GL_COLOR_ENCODING,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_RENDERABLE,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMMAND_BARRIER_BIT,
+  pattern GL_COMPARE_REF_TO_TEXTURE,
+  pattern GL_COMPATIBLE_SUBROUTINES,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_R11_EAC,
+  pattern GL_COMPRESSED_RED,
+  pattern GL_COMPRESSED_RED_RGTC1,
+  pattern GL_COMPRESSED_RG,
+  pattern GL_COMPRESSED_RG11_EAC,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGB8_ETC2,
+  pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_RGBA8_ETC2_EAC,
+  pattern GL_COMPRESSED_RGBA_BPTC_UNORM,
+  pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT,
+  pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT,
+  pattern GL_COMPRESSED_RG_RGTC2,
+  pattern GL_COMPRESSED_SIGNED_R11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1,
+  pattern GL_COMPRESSED_SIGNED_RG11_EAC,
+  pattern GL_COMPRESSED_SIGNED_RG_RGTC2,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
+  pattern GL_COMPRESSED_SRGB8_ETC2,
+  pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_COMPUTE_SHADER,
+  pattern GL_COMPUTE_SHADER_BIT,
+  pattern GL_COMPUTE_SUBROUTINE,
+  pattern GL_COMPUTE_SUBROUTINE_UNIFORM,
+  pattern GL_COMPUTE_TEXTURE,
+  pattern GL_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_CONDITION_SATISFIED,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT,
+  pattern GL_CONTEXT_CORE_PROFILE_BIT,
+  pattern GL_CONTEXT_FLAGS,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT,
+  pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT,
+  pattern GL_CONTEXT_LOST,
+  pattern GL_CONTEXT_PROFILE_MASK,
+  pattern GL_CONTEXT_RELEASE_BEHAVIOR,
+  pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_READ_BUFFER,
+  pattern GL_COPY_READ_BUFFER_BINDING,
+  pattern GL_COPY_WRITE_BUFFER,
+  pattern GL_COPY_WRITE_BUFFER_BINDING,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH24_STENCIL8,
+  pattern GL_DEPTH32F_STENCIL8,
+  pattern GL_DEPTH_ATTACHMENT,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLAMP,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_COMPONENT32F,
+  pattern GL_DEPTH_COMPONENTS,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_RENDERABLE,
+  pattern GL_DEPTH_STENCIL,
+  pattern GL_DEPTH_STENCIL_ATTACHMENT,
+  pattern GL_DEPTH_STENCIL_TEXTURE_MODE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DISPATCH_INDIRECT_BUFFER,
+  pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING,
+  pattern GL_DITHER,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DOUBLE_MAT2,
+  pattern GL_DOUBLE_MAT2x3,
+  pattern GL_DOUBLE_MAT2x4,
+  pattern GL_DOUBLE_MAT3,
+  pattern GL_DOUBLE_MAT3x2,
+  pattern GL_DOUBLE_MAT3x4,
+  pattern GL_DOUBLE_MAT4,
+  pattern GL_DOUBLE_MAT4x2,
+  pattern GL_DOUBLE_MAT4x3,
+  pattern GL_DOUBLE_VEC2,
+  pattern GL_DOUBLE_VEC3,
+  pattern GL_DOUBLE_VEC4,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_FRAMEBUFFER,
+  pattern GL_DRAW_FRAMEBUFFER_BINDING,
+  pattern GL_DRAW_INDIRECT_BUFFER,
+  pattern GL_DRAW_INDIRECT_BUFFER_BINDING,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_DYNAMIC_STORAGE_BIT,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EXTENSIONS,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FILL,
+  pattern GL_FILTER,
+  pattern GL_FIRST_VERTEX_CONVENTION,
+  pattern GL_FIXED,
+  pattern GL_FIXED_ONLY,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FRACTIONAL_EVEN,
+  pattern GL_FRACTIONAL_ODD,
+  pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_BIT,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRAGMENT_SUBROUTINE,
+  pattern GL_FRAGMENT_SUBROUTINE_UNIFORM,
+  pattern GL_FRAGMENT_TEXTURE,
+  pattern GL_FRAMEBUFFER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT,
+  pattern GL_FRAMEBUFFER_BINDING,
+  pattern GL_FRAMEBUFFER_BLEND,
+  pattern GL_FRAMEBUFFER_COMPLETE,
+  pattern GL_FRAMEBUFFER_DEFAULT,
+  pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT,
+  pattern GL_FRAMEBUFFER_DEFAULT_LAYERS,
+  pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES,
+  pattern GL_FRAMEBUFFER_DEFAULT_WIDTH,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER,
+  pattern GL_FRAMEBUFFER_RENDERABLE,
+  pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED,
+  pattern GL_FRAMEBUFFER_SRGB,
+  pattern GL_FRAMEBUFFER_UNDEFINED,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FULL_SUPPORT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GEOMETRY_INPUT_TYPE,
+  pattern GL_GEOMETRY_OUTPUT_TYPE,
+  pattern GL_GEOMETRY_SHADER,
+  pattern GL_GEOMETRY_SHADER_BIT,
+  pattern GL_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_GEOMETRY_SUBROUTINE,
+  pattern GL_GEOMETRY_SUBROUTINE_UNIFORM,
+  pattern GL_GEOMETRY_TEXTURE,
+  pattern GL_GEOMETRY_VERTICES_OUT,
+  pattern GL_GEQUAL,
+  pattern GL_GET_TEXTURE_IMAGE_FORMAT,
+  pattern GL_GET_TEXTURE_IMAGE_TYPE,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_INTEGER,
+  pattern GL_GUILTY_CONTEXT_RESET,
+  pattern GL_HALF_FLOAT,
+  pattern GL_HIGH_FLOAT,
+  pattern GL_HIGH_INT,
+  pattern GL_IMAGE_1D,
+  pattern GL_IMAGE_1D_ARRAY,
+  pattern GL_IMAGE_2D,
+  pattern GL_IMAGE_2D_ARRAY,
+  pattern GL_IMAGE_2D_MULTISAMPLE,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_IMAGE_2D_RECT,
+  pattern GL_IMAGE_3D,
+  pattern GL_IMAGE_BINDING_ACCESS,
+  pattern GL_IMAGE_BINDING_FORMAT,
+  pattern GL_IMAGE_BINDING_LAYER,
+  pattern GL_IMAGE_BINDING_LAYERED,
+  pattern GL_IMAGE_BINDING_LEVEL,
+  pattern GL_IMAGE_BINDING_NAME,
+  pattern GL_IMAGE_BUFFER,
+  pattern GL_IMAGE_CLASS_10_10_10_2,
+  pattern GL_IMAGE_CLASS_11_11_10,
+  pattern GL_IMAGE_CLASS_1_X_16,
+  pattern GL_IMAGE_CLASS_1_X_32,
+  pattern GL_IMAGE_CLASS_1_X_8,
+  pattern GL_IMAGE_CLASS_2_X_16,
+  pattern GL_IMAGE_CLASS_2_X_32,
+  pattern GL_IMAGE_CLASS_2_X_8,
+  pattern GL_IMAGE_CLASS_4_X_16,
+  pattern GL_IMAGE_CLASS_4_X_32,
+  pattern GL_IMAGE_CLASS_4_X_8,
+  pattern GL_IMAGE_COMPATIBILITY_CLASS,
+  pattern GL_IMAGE_CUBE,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE,
+  pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE,
+  pattern GL_IMAGE_PIXEL_FORMAT,
+  pattern GL_IMAGE_PIXEL_TYPE,
+  pattern GL_IMAGE_TEXEL_SIZE,
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INNOCENT_CONTEXT_RESET,
+  pattern GL_INT,
+  pattern GL_INTERLEAVED_ATTRIBS,
+  pattern GL_INTERNALFORMAT_ALPHA_SIZE,
+  pattern GL_INTERNALFORMAT_ALPHA_TYPE,
+  pattern GL_INTERNALFORMAT_BLUE_SIZE,
+  pattern GL_INTERNALFORMAT_BLUE_TYPE,
+  pattern GL_INTERNALFORMAT_DEPTH_SIZE,
+  pattern GL_INTERNALFORMAT_DEPTH_TYPE,
+  pattern GL_INTERNALFORMAT_GREEN_SIZE,
+  pattern GL_INTERNALFORMAT_GREEN_TYPE,
+  pattern GL_INTERNALFORMAT_PREFERRED,
+  pattern GL_INTERNALFORMAT_RED_SIZE,
+  pattern GL_INTERNALFORMAT_RED_TYPE,
+  pattern GL_INTERNALFORMAT_SHARED_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_SIZE,
+  pattern GL_INTERNALFORMAT_STENCIL_TYPE,
+  pattern GL_INTERNALFORMAT_SUPPORTED,
+  pattern GL_INT_2_10_10_10_REV,
+  pattern GL_INT_IMAGE_1D,
+  pattern GL_INT_IMAGE_1D_ARRAY,
+  pattern GL_INT_IMAGE_2D,
+  pattern GL_INT_IMAGE_2D_ARRAY,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_IMAGE_2D_RECT,
+  pattern GL_INT_IMAGE_3D,
+  pattern GL_INT_IMAGE_BUFFER,
+  pattern GL_INT_IMAGE_CUBE,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_INT_SAMPLER_1D,
+  pattern GL_INT_SAMPLER_1D_ARRAY,
+  pattern GL_INT_SAMPLER_2D,
+  pattern GL_INT_SAMPLER_2D_ARRAY,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_INT_SAMPLER_2D_RECT,
+  pattern GL_INT_SAMPLER_3D,
+  pattern GL_INT_SAMPLER_BUFFER,
+  pattern GL_INT_SAMPLER_CUBE,
+  pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION,
+  pattern GL_INVALID_INDEX,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_ISOLINES,
+  pattern GL_IS_PER_PATCH,
+  pattern GL_IS_ROW_MAJOR,
+  pattern GL_KEEP,
+  pattern GL_LAST_VERTEX_CONVENTION,
+  pattern GL_LAYER_PROVOKING_VERTEX,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINES_ADJACENCY,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_STRIP_ADJACENCY,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LOCATION,
+  pattern GL_LOCATION_COMPONENT,
+  pattern GL_LOCATION_INDEX,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOSE_CONTEXT_ON_RESET,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LOW_FLOAT,
+  pattern GL_LOW_INT,
+  pattern GL_MAJOR_VERSION,
+  pattern GL_MANUAL_GENERATE_MIPMAP,
+  pattern GL_MAP_COHERENT_BIT,
+  pattern GL_MAP_FLUSH_EXPLICIT_BIT,
+  pattern GL_MAP_INVALIDATE_BUFFER_BIT,
+  pattern GL_MAP_INVALIDATE_RANGE_BIT,
+  pattern GL_MAP_PERSISTENT_BIT,
+  pattern GL_MAP_READ_BIT,
+  pattern GL_MAP_UNSYNCHRONIZED_BIT,
+  pattern GL_MAP_WRITE_BIT,
+  pattern GL_MATRIX_STRIDE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
+  pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
+  pattern GL_MAX_CLIP_DISTANCES,
+  pattern GL_MAX_COLOR_ATTACHMENTS,
+  pattern GL_MAX_COLOR_TEXTURE_SAMPLES,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES,
+  pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_DIMENSIONS,
+  pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
+  pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
+  pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMBINED_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS,
+  pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS,
+  pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE,
+  pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS,
+  pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS,
+  pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_CULL_DISTANCES,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_DEPTH,
+  pattern GL_MAX_DEPTH_TEXTURE_SAMPLES,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_ELEMENT_INDEX,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS,
+  pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS,
+  pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS,
+  pattern GL_MAX_FRAMEBUFFER_HEIGHT,
+  pattern GL_MAX_FRAMEBUFFER_LAYERS,
+  pattern GL_MAX_FRAMEBUFFER_SAMPLES,
+  pattern GL_MAX_FRAMEBUFFER_WIDTH,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS,
+  pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS,
+  pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES,
+  pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS,
+  pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS,
+  pattern GL_MAX_HEIGHT,
+  pattern GL_MAX_IMAGE_SAMPLES,
+  pattern GL_MAX_IMAGE_UNITS,
+  pattern GL_MAX_INTEGER_SAMPLES,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_MAX_LAYERS,
+  pattern GL_MAX_NAME_LENGTH,
+  pattern GL_MAX_NUM_ACTIVE_VARIABLES,
+  pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_MAX_PATCH_VERTICES,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE,
+  pattern GL_MAX_RENDERBUFFER_SIZE,
+  pattern GL_MAX_SAMPLES,
+  pattern GL_MAX_SAMPLE_MASK_WORDS,
+  pattern GL_MAX_SERVER_WAIT_TIMEOUT,
+  pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE,
+  pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
+  pattern GL_MAX_SUBROUTINES,
+  pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
+  pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
+  pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS,
+  pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS,
+  pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS,
+  pattern GL_MAX_TESS_GEN_LEVEL,
+  pattern GL_MAX_TESS_PATCH_COMPONENTS,
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS,
+  pattern GL_MAX_UNIFORM_BLOCK_SIZE,
+  pattern GL_MAX_UNIFORM_BUFFER_BINDINGS,
+  pattern GL_MAX_UNIFORM_LOCATIONS,
+  pattern GL_MAX_VARYING_COMPONENTS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VARYING_VECTORS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTERS,
+  pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_ATTRIB_BINDINGS,
+  pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_MAX_VERTEX_ATTRIB_STRIDE,
+  pattern GL_MAX_VERTEX_IMAGE_UNIFORMS,
+  pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS,
+  pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
+  pattern GL_MAX_VERTEX_STREAMS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_BLOCKS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VERTEX_UNIFORM_VECTORS,
+  pattern GL_MAX_VIEWPORTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MAX_WIDTH,
+  pattern GL_MEDIUM_FLOAT,
+  pattern GL_MEDIUM_INT,
+  pattern GL_MIN,
+  pattern GL_MINOR_VERSION,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET,
+  pattern GL_MIN_MAP_BUFFER_ALIGNMENT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET,
+  pattern GL_MIN_SAMPLE_SHADING_VALUE,
+  pattern GL_MIPMAP,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MIRROR_CLAMP_TO_EDGE,
+  pattern GL_MULTISAMPLE,
+  pattern GL_NAME_LENGTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEGATIVE_ONE_TO_ONE,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NO_RESET_NOTIFICATION,
+  pattern GL_NUM_ACTIVE_VARIABLES,
+  pattern GL_NUM_COMPATIBLE_SUBROUTINES,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_NUM_EXTENSIONS,
+  pattern GL_NUM_PROGRAM_BINARY_FORMATS,
+  pattern GL_NUM_SAMPLE_COUNTS,
+  pattern GL_NUM_SHADER_BINARY_FORMATS,
+  pattern GL_NUM_SHADING_LANGUAGE_VERSIONS,
+  pattern GL_OBJECT_TYPE,
+  pattern GL_OFFSET,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC1_ALPHA,
+  pattern GL_ONE_MINUS_SRC1_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_PACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_PACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PATCHES,
+  pattern GL_PATCH_DEFAULT_INNER_LEVEL,
+  pattern GL_PATCH_DEFAULT_OUTER_LEVEL,
+  pattern GL_PATCH_VERTICES,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_PRIMITIVES_GENERATED,
+  pattern GL_PRIMITIVE_RESTART,
+  pattern GL_PRIMITIVE_RESTART_FIXED_INDEX,
+  pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED,
+  pattern GL_PRIMITIVE_RESTART_INDEX,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_BINARY_FORMATS,
+  pattern GL_PROGRAM_BINARY_LENGTH,
+  pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT,
+  pattern GL_PROGRAM_INPUT,
+  pattern GL_PROGRAM_OUTPUT,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_PROGRAM_PIPELINE_BINDING,
+  pattern GL_PROGRAM_POINT_SIZE,
+  pattern GL_PROGRAM_SEPARABLE,
+  pattern GL_PROVOKING_VERTEX,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_PROXY_TEXTURE_RECTANGLE,
+  pattern GL_QUADS,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
+  pattern GL_QUERY,
+  pattern GL_QUERY_BUFFER,
+  pattern GL_QUERY_BUFFER_BARRIER_BIT,
+  pattern GL_QUERY_BUFFER_BINDING,
+  pattern GL_QUERY_BY_REGION_NO_WAIT,
+  pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED,
+  pattern GL_QUERY_BY_REGION_WAIT,
+  pattern GL_QUERY_BY_REGION_WAIT_INVERTED,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_NO_WAIT,
+  pattern GL_QUERY_NO_WAIT_INVERTED,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_QUERY_RESULT_NO_WAIT,
+  pattern GL_QUERY_TARGET,
+  pattern GL_QUERY_WAIT,
+  pattern GL_QUERY_WAIT_INVERTED,
+  pattern GL_R11F_G11F_B10F,
+  pattern GL_R16,
+  pattern GL_R16F,
+  pattern GL_R16I,
+  pattern GL_R16UI,
+  pattern GL_R16_SNORM,
+  pattern GL_R32F,
+  pattern GL_R32I,
+  pattern GL_R32UI,
+  pattern GL_R3_G3_B2,
+  pattern GL_R8,
+  pattern GL_R8I,
+  pattern GL_R8UI,
+  pattern GL_R8_SNORM,
+  pattern GL_RASTERIZER_DISCARD,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_FRAMEBUFFER,
+  pattern GL_READ_FRAMEBUFFER_BINDING,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_PIXELS,
+  pattern GL_READ_PIXELS_FORMAT,
+  pattern GL_READ_PIXELS_TYPE,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_INTEGER,
+  pattern GL_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_RENDERBUFFER,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE,
+  pattern GL_RENDERBUFFER_BINDING,
+  pattern GL_RENDERBUFFER_BLUE_SIZE,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE,
+  pattern GL_RENDERBUFFER_GREEN_SIZE,
+  pattern GL_RENDERBUFFER_HEIGHT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT,
+  pattern GL_RENDERBUFFER_RED_SIZE,
+  pattern GL_RENDERBUFFER_SAMPLES,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE,
+  pattern GL_RENDERBUFFER_WIDTH,
+  pattern GL_RENDERER,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESET_NOTIFICATION_STRATEGY,
+  pattern GL_RG,
+  pattern GL_RG16,
+  pattern GL_RG16F,
+  pattern GL_RG16I,
+  pattern GL_RG16UI,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG32F,
+  pattern GL_RG32I,
+  pattern GL_RG32UI,
+  pattern GL_RG8,
+  pattern GL_RG8I,
+  pattern GL_RG8UI,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB10_A2UI,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB16F,
+  pattern GL_RGB16I,
+  pattern GL_RGB16UI,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB32F,
+  pattern GL_RGB32I,
+  pattern GL_RGB32UI,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB565,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGB8I,
+  pattern GL_RGB8UI,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGB9_E5,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA16F,
+  pattern GL_RGBA16I,
+  pattern GL_RGBA16UI,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA2,
+  pattern GL_RGBA32F,
+  pattern GL_RGBA32I,
+  pattern GL_RGBA32UI,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA8I,
+  pattern GL_RGBA8UI,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_INTEGER,
+  pattern GL_RGB_INTEGER,
+  pattern GL_RG_INTEGER,
+  pattern GL_RIGHT,
+  pattern GL_SAMPLER,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_ARRAY,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_ARRAY,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW,
+  pattern GL_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_SAMPLER_2D_RECT,
+  pattern GL_SAMPLER_2D_RECT_SHADOW,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_BINDING,
+  pattern GL_SAMPLER_BUFFER,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW,
+  pattern GL_SAMPLER_CUBE_SHADOW,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SAMPLE_MASK,
+  pattern GL_SAMPLE_MASK_VALUE,
+  pattern GL_SAMPLE_POSITION,
+  pattern GL_SAMPLE_SHADING,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SEPARATE_ATTRIBS,
+  pattern GL_SET,
+  pattern GL_SHADER,
+  pattern GL_SHADER_BINARY_FORMATS,
+  pattern GL_SHADER_COMPILER,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT,
+  pattern GL_SHADER_IMAGE_ATOMIC,
+  pattern GL_SHADER_IMAGE_LOAD,
+  pattern GL_SHADER_IMAGE_STORE,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_STORAGE_BARRIER_BIT,
+  pattern GL_SHADER_STORAGE_BLOCK,
+  pattern GL_SHADER_STORAGE_BUFFER,
+  pattern GL_SHADER_STORAGE_BUFFER_BINDING,
+  pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_SHADER_STORAGE_BUFFER_SIZE,
+  pattern GL_SHADER_STORAGE_BUFFER_START,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHORT,
+  pattern GL_SIGNALED,
+  pattern GL_SIGNED_NORMALIZED,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST,
+  pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_COLOR,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_SRGB_READ,
+  pattern GL_SRGB_WRITE,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_ATTACHMENT,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_COMPONENTS,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_INDEX1,
+  pattern GL_STENCIL_INDEX16,
+  pattern GL_STENCIL_INDEX4,
+  pattern GL_STENCIL_INDEX8,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_RENDERABLE,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SYNC_CONDITION,
+  pattern GL_SYNC_FENCE,
+  pattern GL_SYNC_FLAGS,
+  pattern GL_SYNC_FLUSH_COMMANDS_BIT,
+  pattern GL_SYNC_GPU_COMMANDS_COMPLETE,
+  pattern GL_SYNC_STATUS,
+  pattern GL_TESS_CONTROL_OUTPUT_VERTICES,
+  pattern GL_TESS_CONTROL_SHADER,
+  pattern GL_TESS_CONTROL_SHADER_BIT,
+  pattern GL_TESS_CONTROL_SUBROUTINE,
+  pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_CONTROL_TEXTURE,
+  pattern GL_TESS_EVALUATION_SHADER,
+  pattern GL_TESS_EVALUATION_SHADER_BIT,
+  pattern GL_TESS_EVALUATION_SUBROUTINE,
+  pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM,
+  pattern GL_TESS_EVALUATION_TEXTURE,
+  pattern GL_TESS_GEN_MODE,
+  pattern GL_TESS_GEN_POINT_MODE,
+  pattern GL_TESS_GEN_SPACING,
+  pattern GL_TESS_GEN_VERTEX_ORDER,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_1D_ARRAY,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_2D_ARRAY,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_ALPHA_TYPE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_BUFFER,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_BINDING_RECTANGLE,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BLUE_TYPE,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_BUFFER,
+  pattern GL_TEXTURE_BUFFER_BINDING,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING,
+  pattern GL_TEXTURE_BUFFER_OFFSET,
+  pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_TEXTURE_BUFFER_SIZE,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE,
+  pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_ARRAY,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_SEAMLESS,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_DEPTH_TYPE,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT,
+  pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS,
+  pattern GL_TEXTURE_GATHER,
+  pattern GL_TEXTURE_GATHER_SHADOW,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_GREEN_TYPE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_IMAGE_FORMAT,
+  pattern GL_TEXTURE_IMAGE_TYPE,
+  pattern GL_TEXTURE_IMMUTABLE_FORMAT,
+  pattern GL_TEXTURE_IMMUTABLE_LEVELS,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_RECTANGLE,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RED_TYPE,
+  pattern GL_TEXTURE_SAMPLES,
+  pattern GL_TEXTURE_SHADOW,
+  pattern GL_TEXTURE_SHARED_SIZE,
+  pattern GL_TEXTURE_STENCIL_SIZE,
+  pattern GL_TEXTURE_SWIZZLE_A,
+  pattern GL_TEXTURE_SWIZZLE_B,
+  pattern GL_TEXTURE_SWIZZLE_G,
+  pattern GL_TEXTURE_SWIZZLE_R,
+  pattern GL_TEXTURE_SWIZZLE_RGBA,
+  pattern GL_TEXTURE_TARGET,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT,
+  pattern GL_TEXTURE_VIEW,
+  pattern GL_TEXTURE_VIEW_MIN_LAYER,
+  pattern GL_TEXTURE_VIEW_MIN_LEVEL,
+  pattern GL_TEXTURE_VIEW_NUM_LAYERS,
+  pattern GL_TEXTURE_VIEW_NUM_LEVELS,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TIMEOUT_EXPIRED,
+  pattern GL_TIMEOUT_IGNORED,
+  pattern GL_TIMESTAMP,
+  pattern GL_TIME_ELAPSED,
+  pattern GL_TOP_LEVEL_ARRAY_SIZE,
+  pattern GL_TOP_LEVEL_ARRAY_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_TRANSFORM_FEEDBACK_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT,
+  pattern GL_TRANSFORM_FEEDBACK_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE,
+  pattern GL_TRANSFORM_FEEDBACK_PAUSED,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLES_ADJACENCY,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY,
+  pattern GL_TRUE,
+  pattern GL_TYPE,
+  pattern GL_UNDEFINED_VERTEX,
+  pattern GL_UNIFORM,
+  pattern GL_UNIFORM_ARRAY_STRIDE,
+  pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
+  pattern GL_UNIFORM_BARRIER_BIT,
+  pattern GL_UNIFORM_BLOCK,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS,
+  pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES,
+  pattern GL_UNIFORM_BLOCK_BINDING,
+  pattern GL_UNIFORM_BLOCK_DATA_SIZE,
+  pattern GL_UNIFORM_BLOCK_INDEX,
+  pattern GL_UNIFORM_BLOCK_NAME_LENGTH,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
+  pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER,
+  pattern GL_UNIFORM_BUFFER,
+  pattern GL_UNIFORM_BUFFER_BINDING,
+  pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT,
+  pattern GL_UNIFORM_BUFFER_SIZE,
+  pattern GL_UNIFORM_BUFFER_START,
+  pattern GL_UNIFORM_IS_ROW_MAJOR,
+  pattern GL_UNIFORM_MATRIX_STRIDE,
+  pattern GL_UNIFORM_NAME_LENGTH,
+  pattern GL_UNIFORM_OFFSET,
+  pattern GL_UNIFORM_SIZE,
+  pattern GL_UNIFORM_TYPE,
+  pattern GL_UNKNOWN_CONTEXT_RESET,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE,
+  pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNALED,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_24_8,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_INT_ATOMIC_COUNTER,
+  pattern GL_UNSIGNED_INT_IMAGE_1D,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY,
+  pattern GL_UNSIGNED_INT_VEC2,
+  pattern GL_UNSIGNED_INT_VEC3,
+  pattern GL_UNSIGNED_INT_VEC4,
+  pattern GL_UNSIGNED_NORMALIZED,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_LONG,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_BINDING,
+  pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET,
+  pattern GL_VERTEX_BINDING_BUFFER,
+  pattern GL_VERTEX_BINDING_DIVISOR,
+  pattern GL_VERTEX_BINDING_OFFSET,
+  pattern GL_VERTEX_BINDING_STRIDE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VERTEX_SHADER_BIT,
+  pattern GL_VERTEX_SUBROUTINE,
+  pattern GL_VERTEX_SUBROUTINE_UNIFORM,
+  pattern GL_VERTEX_TEXTURE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BOUNDS_RANGE,
+  pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX,
+  pattern GL_VIEWPORT_SUBPIXEL_BITS,
+  pattern GL_VIEW_CLASS_128_BITS,
+  pattern GL_VIEW_CLASS_16_BITS,
+  pattern GL_VIEW_CLASS_24_BITS,
+  pattern GL_VIEW_CLASS_32_BITS,
+  pattern GL_VIEW_CLASS_48_BITS,
+  pattern GL_VIEW_CLASS_64_BITS,
+  pattern GL_VIEW_CLASS_8_BITS,
+  pattern GL_VIEW_CLASS_96_BITS,
+  pattern GL_VIEW_CLASS_BPTC_FLOAT,
+  pattern GL_VIEW_CLASS_BPTC_UNORM,
+  pattern GL_VIEW_CLASS_RGTC1_RED,
+  pattern GL_VIEW_CLASS_RGTC2_RG,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGB,
+  pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA,
+  pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA,
+  pattern GL_VIEW_COMPATIBILITY_CLASS,
+  pattern GL_WAIT_FAILED,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT.hs b/src/Graphics/GL/EXT.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT.hs
@@ -0,0 +1,199 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing EXT extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT (
+  module Graphics.GL.EXT.ABGR,
+  module Graphics.GL.EXT.BGRA,
+  module Graphics.GL.EXT.BindableUniform,
+  module Graphics.GL.EXT.BlendColor,
+  module Graphics.GL.EXT.BlendEquationSeparate,
+  module Graphics.GL.EXT.BlendFuncSeparate,
+  module Graphics.GL.EXT.BlendMinmax,
+  module Graphics.GL.EXT.BlendSubtract,
+  module Graphics.GL.EXT.CMYKA,
+  module Graphics.GL.EXT.ClipVolumeHint,
+  module Graphics.GL.EXT.ColorSubtable,
+  module Graphics.GL.EXT.CompiledVertexArray,
+  module Graphics.GL.EXT.Convolution,
+  module Graphics.GL.EXT.CoordinateFrame,
+  module Graphics.GL.EXT.CopyTexture,
+  module Graphics.GL.EXT.CullVertex,
+  module Graphics.GL.EXT.DebugLabel,
+  module Graphics.GL.EXT.DebugMarker,
+  module Graphics.GL.EXT.DepthBoundsTest,
+  module Graphics.GL.EXT.DirectStateAccess,
+  module Graphics.GL.EXT.DrawBuffers2,
+  module Graphics.GL.EXT.DrawInstanced,
+  module Graphics.GL.EXT.DrawRangeElements,
+  module Graphics.GL.EXT.FogCoord,
+  module Graphics.GL.EXT.FourTwoTwoPixels,
+  module Graphics.GL.EXT.FramebufferBlit,
+  module Graphics.GL.EXT.FramebufferMultisample,
+  module Graphics.GL.EXT.FramebufferMultisampleBlitScaled,
+  module Graphics.GL.EXT.FramebufferObject,
+  module Graphics.GL.EXT.FramebufferSRGB,
+  module Graphics.GL.EXT.GPUProgramParameters,
+  module Graphics.GL.EXT.GPUShader4,
+  module Graphics.GL.EXT.GeometryShader4,
+  module Graphics.GL.EXT.Histogram,
+  module Graphics.GL.EXT.IndexArrayFormats,
+  module Graphics.GL.EXT.IndexFunc,
+  module Graphics.GL.EXT.IndexMaterial,
+  module Graphics.GL.EXT.LightTexture,
+  module Graphics.GL.EXT.MultiDrawArrays,
+  module Graphics.GL.EXT.Multisample,
+  module Graphics.GL.EXT.PackedDepthStencil,
+  module Graphics.GL.EXT.PackedFloat,
+  module Graphics.GL.EXT.PackedPixels,
+  module Graphics.GL.EXT.PalettedTexture,
+  module Graphics.GL.EXT.PixelBufferObject,
+  module Graphics.GL.EXT.PixelTransform,
+  module Graphics.GL.EXT.PointParameters,
+  module Graphics.GL.EXT.PolygonOffset,
+  module Graphics.GL.EXT.PolygonOffsetClamp,
+  module Graphics.GL.EXT.ProvokingVertex,
+  module Graphics.GL.EXT.RasterMultisample,
+  module Graphics.GL.EXT.RescaleNormal,
+  module Graphics.GL.EXT.SecondaryColor,
+  module Graphics.GL.EXT.SeparateShaderObjects,
+  module Graphics.GL.EXT.SeparateSpecularColor,
+  module Graphics.GL.EXT.ShaderImageLoadStore,
+  module Graphics.GL.EXT.SharedTexturePalette,
+  module Graphics.GL.EXT.StencilClearTag,
+  module Graphics.GL.EXT.StencilTwoSide,
+  module Graphics.GL.EXT.StencilWrap,
+  module Graphics.GL.EXT.Subtexture,
+  module Graphics.GL.EXT.Texture,
+  module Graphics.GL.EXT.Texture3D,
+  module Graphics.GL.EXT.TextureArray,
+  module Graphics.GL.EXT.TextureBufferObject,
+  module Graphics.GL.EXT.TextureCompressionLATC,
+  module Graphics.GL.EXT.TextureCompressionRGTC,
+  module Graphics.GL.EXT.TextureCompressionS3TC,
+  module Graphics.GL.EXT.TextureCubeMap,
+  module Graphics.GL.EXT.TextureEnvCombine,
+  module Graphics.GL.EXT.TextureEnvDot3,
+  module Graphics.GL.EXT.TextureFilterAnisotropic,
+  module Graphics.GL.EXT.TextureFilterMinmax,
+  module Graphics.GL.EXT.TextureInteger,
+  module Graphics.GL.EXT.TextureLODBias,
+  module Graphics.GL.EXT.TextureMirrorClamp,
+  module Graphics.GL.EXT.TextureObject,
+  module Graphics.GL.EXT.TexturePerturbNormal,
+  module Graphics.GL.EXT.TextureSNorm,
+  module Graphics.GL.EXT.TextureSRGB,
+  module Graphics.GL.EXT.TextureSRGBDecode,
+  module Graphics.GL.EXT.TextureSharedExponent,
+  module Graphics.GL.EXT.TextureSwizzle,
+  module Graphics.GL.EXT.TimerQuery,
+  module Graphics.GL.EXT.TransformFeedback,
+  module Graphics.GL.EXT.VertexArray,
+  module Graphics.GL.EXT.VertexArrayBGRA,
+  module Graphics.GL.EXT.VertexAttrib64Bit,
+  module Graphics.GL.EXT.VertexShader,
+  module Graphics.GL.EXT.VertexWeighting,
+  module Graphics.GL.EXT.X11SyncObject
+) where
+
+import Graphics.GL.EXT.ABGR
+import Graphics.GL.EXT.BGRA
+import Graphics.GL.EXT.BindableUniform
+import Graphics.GL.EXT.BlendColor
+import Graphics.GL.EXT.BlendEquationSeparate
+import Graphics.GL.EXT.BlendFuncSeparate
+import Graphics.GL.EXT.BlendMinmax
+import Graphics.GL.EXT.BlendSubtract
+import Graphics.GL.EXT.CMYKA
+import Graphics.GL.EXT.ClipVolumeHint
+import Graphics.GL.EXT.ColorSubtable
+import Graphics.GL.EXT.CompiledVertexArray
+import Graphics.GL.EXT.Convolution
+import Graphics.GL.EXT.CoordinateFrame
+import Graphics.GL.EXT.CopyTexture
+import Graphics.GL.EXT.CullVertex
+import Graphics.GL.EXT.DebugLabel
+import Graphics.GL.EXT.DebugMarker
+import Graphics.GL.EXT.DepthBoundsTest
+import Graphics.GL.EXT.DirectStateAccess
+import Graphics.GL.EXT.DrawBuffers2
+import Graphics.GL.EXT.DrawInstanced
+import Graphics.GL.EXT.DrawRangeElements
+import Graphics.GL.EXT.FogCoord
+import Graphics.GL.EXT.FourTwoTwoPixels
+import Graphics.GL.EXT.FramebufferBlit
+import Graphics.GL.EXT.FramebufferMultisample
+import Graphics.GL.EXT.FramebufferMultisampleBlitScaled
+import Graphics.GL.EXT.FramebufferObject
+import Graphics.GL.EXT.FramebufferSRGB
+import Graphics.GL.EXT.GPUProgramParameters
+import Graphics.GL.EXT.GPUShader4
+import Graphics.GL.EXT.GeometryShader4
+import Graphics.GL.EXT.Histogram
+import Graphics.GL.EXT.IndexArrayFormats
+import Graphics.GL.EXT.IndexFunc
+import Graphics.GL.EXT.IndexMaterial
+import Graphics.GL.EXT.LightTexture
+import Graphics.GL.EXT.MultiDrawArrays
+import Graphics.GL.EXT.Multisample
+import Graphics.GL.EXT.PackedDepthStencil
+import Graphics.GL.EXT.PackedFloat
+import Graphics.GL.EXT.PackedPixels
+import Graphics.GL.EXT.PalettedTexture
+import Graphics.GL.EXT.PixelBufferObject
+import Graphics.GL.EXT.PixelTransform
+import Graphics.GL.EXT.PointParameters
+import Graphics.GL.EXT.PolygonOffset
+import Graphics.GL.EXT.PolygonOffsetClamp
+import Graphics.GL.EXT.ProvokingVertex
+import Graphics.GL.EXT.RasterMultisample
+import Graphics.GL.EXT.RescaleNormal
+import Graphics.GL.EXT.SecondaryColor
+import Graphics.GL.EXT.SeparateShaderObjects
+import Graphics.GL.EXT.SeparateSpecularColor
+import Graphics.GL.EXT.ShaderImageLoadStore
+import Graphics.GL.EXT.SharedTexturePalette
+import Graphics.GL.EXT.StencilClearTag
+import Graphics.GL.EXT.StencilTwoSide
+import Graphics.GL.EXT.StencilWrap
+import Graphics.GL.EXT.Subtexture
+import Graphics.GL.EXT.Texture
+import Graphics.GL.EXT.Texture3D
+import Graphics.GL.EXT.TextureArray
+import Graphics.GL.EXT.TextureBufferObject
+import Graphics.GL.EXT.TextureCompressionLATC
+import Graphics.GL.EXT.TextureCompressionRGTC
+import Graphics.GL.EXT.TextureCompressionS3TC
+import Graphics.GL.EXT.TextureCubeMap
+import Graphics.GL.EXT.TextureEnvCombine
+import Graphics.GL.EXT.TextureEnvDot3
+import Graphics.GL.EXT.TextureFilterAnisotropic
+import Graphics.GL.EXT.TextureFilterMinmax
+import Graphics.GL.EXT.TextureInteger
+import Graphics.GL.EXT.TextureLODBias
+import Graphics.GL.EXT.TextureMirrorClamp
+import Graphics.GL.EXT.TextureObject
+import Graphics.GL.EXT.TexturePerturbNormal
+import Graphics.GL.EXT.TextureSNorm
+import Graphics.GL.EXT.TextureSRGB
+import Graphics.GL.EXT.TextureSRGBDecode
+import Graphics.GL.EXT.TextureSharedExponent
+import Graphics.GL.EXT.TextureSwizzle
+import Graphics.GL.EXT.TimerQuery
+import Graphics.GL.EXT.TransformFeedback
+import Graphics.GL.EXT.VertexArray
+import Graphics.GL.EXT.VertexArrayBGRA
+import Graphics.GL.EXT.VertexAttrib64Bit
+import Graphics.GL.EXT.VertexShader
+import Graphics.GL.EXT.VertexWeighting
+import Graphics.GL.EXT.X11SyncObject
diff --git a/src/Graphics/GL/EXT/ABGR.hs b/src/Graphics/GL/EXT/ABGR.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/ABGR.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.ABGR
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.ABGR (
+  -- * Extension Support
+  glGetEXTABGR,
+  gl_EXT_abgr,
+  -- * Enums
+  pattern GL_ABGR_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/BGRA.hs b/src/Graphics/GL/EXT/BGRA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/BGRA.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.BGRA
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.BGRA (
+  -- * Extension Support
+  glGetEXTBGRA,
+  gl_EXT_bgra,
+  -- * Enums
+  pattern GL_BGRA_EXT,
+  pattern GL_BGR_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/BindableUniform.hs b/src/Graphics/GL/EXT/BindableUniform.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/BindableUniform.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.BindableUniform
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.BindableUniform (
+  -- * Extension Support
+  glGetEXTBindableUniform,
+  gl_EXT_bindable_uniform,
+  -- * Enums
+  pattern GL_MAX_BINDABLE_UNIFORM_SIZE_EXT,
+  pattern GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT,
+  pattern GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT,
+  pattern GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT,
+  pattern GL_UNIFORM_BUFFER_BINDING_EXT,
+  pattern GL_UNIFORM_BUFFER_EXT,
+  -- * Functions
+  glGetUniformBufferSizeEXT,
+  glGetUniformOffsetEXT,
+  glUniformBufferEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/BlendColor.hs b/src/Graphics/GL/EXT/BlendColor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/BlendColor.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.BlendColor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.BlendColor (
+  -- * Extension Support
+  glGetEXTBlendColor,
+  gl_EXT_blend_color,
+  -- * Enums
+  pattern GL_BLEND_COLOR_EXT,
+  pattern GL_CONSTANT_ALPHA_EXT,
+  pattern GL_CONSTANT_COLOR_EXT,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA_EXT,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR_EXT,
+  -- * Functions
+  glBlendColorEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/BlendEquationSeparate.hs b/src/Graphics/GL/EXT/BlendEquationSeparate.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/BlendEquationSeparate.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.BlendEquationSeparate
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.BlendEquationSeparate (
+  -- * Extension Support
+  glGetEXTBlendEquationSeparate,
+  gl_EXT_blend_equation_separate,
+  -- * Enums
+  pattern GL_BLEND_EQUATION_ALPHA_EXT,
+  pattern GL_BLEND_EQUATION_RGB_EXT,
+  -- * Functions
+  glBlendEquationSeparateEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/BlendFuncSeparate.hs b/src/Graphics/GL/EXT/BlendFuncSeparate.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/BlendFuncSeparate.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.BlendFuncSeparate
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.BlendFuncSeparate (
+  -- * Extension Support
+  glGetEXTBlendFuncSeparate,
+  gl_EXT_blend_func_separate,
+  -- * Enums
+  pattern GL_BLEND_DST_ALPHA_EXT,
+  pattern GL_BLEND_DST_RGB_EXT,
+  pattern GL_BLEND_SRC_ALPHA_EXT,
+  pattern GL_BLEND_SRC_RGB_EXT,
+  -- * Functions
+  glBlendFuncSeparateEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/BlendMinmax.hs b/src/Graphics/GL/EXT/BlendMinmax.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/BlendMinmax.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.BlendMinmax
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.BlendMinmax (
+  -- * Extension Support
+  glGetEXTBlendMinmax,
+  gl_EXT_blend_minmax,
+  -- * Enums
+  pattern GL_BLEND_EQUATION_EXT,
+  pattern GL_FUNC_ADD_EXT,
+  pattern GL_MAX_EXT,
+  pattern GL_MIN_EXT,
+  -- * Functions
+  glBlendEquationEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/BlendSubtract.hs b/src/Graphics/GL/EXT/BlendSubtract.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/BlendSubtract.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.BlendSubtract
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.BlendSubtract (
+  -- * Extension Support
+  glGetEXTBlendSubtract,
+  gl_EXT_blend_subtract,
+  -- * Enums
+  pattern GL_FUNC_REVERSE_SUBTRACT_EXT,
+  pattern GL_FUNC_SUBTRACT_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/CMYKA.hs b/src/Graphics/GL/EXT/CMYKA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/CMYKA.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.CMYKA
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.CMYKA (
+  -- * Extension Support
+  glGetEXTCMYKA,
+  gl_EXT_cmyka,
+  -- * Enums
+  pattern GL_CMYKA_EXT,
+  pattern GL_CMYK_EXT,
+  pattern GL_PACK_CMYK_HINT_EXT,
+  pattern GL_UNPACK_CMYK_HINT_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/ClipVolumeHint.hs b/src/Graphics/GL/EXT/ClipVolumeHint.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/ClipVolumeHint.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.ClipVolumeHint
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.ClipVolumeHint (
+  -- * Extension Support
+  glGetEXTClipVolumeHint,
+  gl_EXT_clip_volume_hint,
+  -- * Enums
+  pattern GL_CLIP_VOLUME_CLIPPING_HINT_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/ColorSubtable.hs b/src/Graphics/GL/EXT/ColorSubtable.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/ColorSubtable.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.ColorSubtable
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.ColorSubtable (
+  -- * Extension Support
+  glGetEXTColorSubtable,
+  gl_EXT_color_subtable,
+  -- * Functions
+  glColorSubTableEXT,
+  glCopyColorSubTableEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/CompiledVertexArray.hs b/src/Graphics/GL/EXT/CompiledVertexArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/CompiledVertexArray.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.CompiledVertexArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.CompiledVertexArray (
+  -- * Extension Support
+  glGetEXTCompiledVertexArray,
+  gl_EXT_compiled_vertex_array,
+  -- * Enums
+  pattern GL_ARRAY_ELEMENT_LOCK_COUNT_EXT,
+  pattern GL_ARRAY_ELEMENT_LOCK_FIRST_EXT,
+  -- * Functions
+  glLockArraysEXT,
+  glUnlockArraysEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/Convolution.hs b/src/Graphics/GL/EXT/Convolution.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/Convolution.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.Convolution
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.Convolution (
+  -- * Extension Support
+  glGetEXTConvolution,
+  gl_EXT_convolution,
+  -- * Enums
+  pattern GL_CONVOLUTION_1D_EXT,
+  pattern GL_CONVOLUTION_2D_EXT,
+  pattern GL_CONVOLUTION_BORDER_MODE_EXT,
+  pattern GL_CONVOLUTION_FILTER_BIAS_EXT,
+  pattern GL_CONVOLUTION_FILTER_SCALE_EXT,
+  pattern GL_CONVOLUTION_FORMAT_EXT,
+  pattern GL_CONVOLUTION_HEIGHT_EXT,
+  pattern GL_CONVOLUTION_WIDTH_EXT,
+  pattern GL_MAX_CONVOLUTION_HEIGHT_EXT,
+  pattern GL_MAX_CONVOLUTION_WIDTH_EXT,
+  pattern GL_POST_CONVOLUTION_ALPHA_BIAS_EXT,
+  pattern GL_POST_CONVOLUTION_ALPHA_SCALE_EXT,
+  pattern GL_POST_CONVOLUTION_BLUE_BIAS_EXT,
+  pattern GL_POST_CONVOLUTION_BLUE_SCALE_EXT,
+  pattern GL_POST_CONVOLUTION_GREEN_BIAS_EXT,
+  pattern GL_POST_CONVOLUTION_GREEN_SCALE_EXT,
+  pattern GL_POST_CONVOLUTION_RED_BIAS_EXT,
+  pattern GL_POST_CONVOLUTION_RED_SCALE_EXT,
+  pattern GL_REDUCE_EXT,
+  pattern GL_SEPARABLE_2D_EXT,
+  -- * Functions
+  glConvolutionFilter1DEXT,
+  glConvolutionFilter2DEXT,
+  glConvolutionParameterfEXT,
+  glConvolutionParameterfvEXT,
+  glConvolutionParameteriEXT,
+  glConvolutionParameterivEXT,
+  glCopyConvolutionFilter1DEXT,
+  glCopyConvolutionFilter2DEXT,
+  glGetConvolutionFilterEXT,
+  glGetConvolutionParameterfvEXT,
+  glGetConvolutionParameterivEXT,
+  glGetSeparableFilterEXT,
+  glSeparableFilter2DEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/CoordinateFrame.hs b/src/Graphics/GL/EXT/CoordinateFrame.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/CoordinateFrame.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.CoordinateFrame
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.CoordinateFrame (
+  -- * Extension Support
+  glGetEXTCoordinateFrame,
+  gl_EXT_coordinate_frame,
+  -- * Enums
+  pattern GL_BINORMAL_ARRAY_EXT,
+  pattern GL_BINORMAL_ARRAY_POINTER_EXT,
+  pattern GL_BINORMAL_ARRAY_STRIDE_EXT,
+  pattern GL_BINORMAL_ARRAY_TYPE_EXT,
+  pattern GL_CURRENT_BINORMAL_EXT,
+  pattern GL_CURRENT_TANGENT_EXT,
+  pattern GL_MAP1_BINORMAL_EXT,
+  pattern GL_MAP1_TANGENT_EXT,
+  pattern GL_MAP2_BINORMAL_EXT,
+  pattern GL_MAP2_TANGENT_EXT,
+  pattern GL_TANGENT_ARRAY_EXT,
+  pattern GL_TANGENT_ARRAY_POINTER_EXT,
+  pattern GL_TANGENT_ARRAY_STRIDE_EXT,
+  pattern GL_TANGENT_ARRAY_TYPE_EXT,
+  -- * Functions
+  glBinormal3bEXT,
+  glBinormal3bvEXT,
+  glBinormal3dEXT,
+  glBinormal3dvEXT,
+  glBinormal3fEXT,
+  glBinormal3fvEXT,
+  glBinormal3iEXT,
+  glBinormal3ivEXT,
+  glBinormal3sEXT,
+  glBinormal3svEXT,
+  glBinormalPointerEXT,
+  glTangent3bEXT,
+  glTangent3bvEXT,
+  glTangent3dEXT,
+  glTangent3dvEXT,
+  glTangent3fEXT,
+  glTangent3fvEXT,
+  glTangent3iEXT,
+  glTangent3ivEXT,
+  glTangent3sEXT,
+  glTangent3svEXT,
+  glTangentPointerEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/CopyTexture.hs b/src/Graphics/GL/EXT/CopyTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/CopyTexture.hs
@@ -0,0 +1,26 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.CopyTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.CopyTexture (
+  -- * Extension Support
+  glGetEXTCopyTexture,
+  gl_EXT_copy_texture,
+  -- * Functions
+  glCopyTexImage1DEXT,
+  glCopyTexImage2DEXT,
+  glCopyTexSubImage1DEXT,
+  glCopyTexSubImage2DEXT,
+  glCopyTexSubImage3DEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/CullVertex.hs b/src/Graphics/GL/EXT/CullVertex.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/CullVertex.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.CullVertex
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.CullVertex (
+  -- * Extension Support
+  glGetEXTCullVertex,
+  gl_EXT_cull_vertex,
+  -- * Enums
+  pattern GL_CULL_VERTEX_EXT,
+  pattern GL_CULL_VERTEX_EYE_POSITION_EXT,
+  pattern GL_CULL_VERTEX_OBJECT_POSITION_EXT,
+  -- * Functions
+  glCullParameterdvEXT,
+  glCullParameterfvEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/DebugLabel.hs b/src/Graphics/GL/EXT/DebugLabel.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/DebugLabel.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.DebugLabel
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.DebugLabel (
+  -- * Extension Support
+  glGetEXTDebugLabel,
+  gl_EXT_debug_label,
+  -- * Enums
+  pattern GL_BUFFER_OBJECT_EXT,
+  pattern GL_PROGRAM_OBJECT_EXT,
+  pattern GL_PROGRAM_PIPELINE_OBJECT_EXT,
+  pattern GL_QUERY_OBJECT_EXT,
+  pattern GL_SAMPLER,
+  pattern GL_SHADER_OBJECT_EXT,
+  pattern GL_TRANSFORM_FEEDBACK,
+  pattern GL_VERTEX_ARRAY_OBJECT_EXT,
+  -- * Functions
+  glGetObjectLabelEXT,
+  glLabelObjectEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/DebugMarker.hs b/src/Graphics/GL/EXT/DebugMarker.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/DebugMarker.hs
@@ -0,0 +1,24 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.DebugMarker
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.DebugMarker (
+  -- * Extension Support
+  glGetEXTDebugMarker,
+  gl_EXT_debug_marker,
+  -- * Functions
+  glInsertEventMarkerEXT,
+  glPopGroupMarkerEXT,
+  glPushGroupMarkerEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/DepthBoundsTest.hs b/src/Graphics/GL/EXT/DepthBoundsTest.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/DepthBoundsTest.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.DepthBoundsTest
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.DepthBoundsTest (
+  -- * Extension Support
+  glGetEXTDepthBoundsTest,
+  gl_EXT_depth_bounds_test,
+  -- * Enums
+  pattern GL_DEPTH_BOUNDS_EXT,
+  pattern GL_DEPTH_BOUNDS_TEST_EXT,
+  -- * Functions
+  glDepthBoundsEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/DirectStateAccess.hs b/src/Graphics/GL/EXT/DirectStateAccess.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/DirectStateAccess.hs
@@ -0,0 +1,282 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.DirectStateAccess
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.DirectStateAccess (
+  -- * Extension Support
+  glGetEXTDirectStateAccess,
+  gl_EXT_direct_state_access,
+  -- * Enums
+  pattern GL_PROGRAM_MATRIX_EXT,
+  pattern GL_PROGRAM_MATRIX_STACK_DEPTH_EXT,
+  pattern GL_TRANSPOSE_PROGRAM_MATRIX_EXT,
+  -- * Functions
+  glBindMultiTextureEXT,
+  glCheckNamedFramebufferStatusEXT,
+  glClearNamedBufferDataEXT,
+  glClearNamedBufferSubDataEXT,
+  glClientAttribDefaultEXT,
+  glCompressedMultiTexImage1DEXT,
+  glCompressedMultiTexImage2DEXT,
+  glCompressedMultiTexImage3DEXT,
+  glCompressedMultiTexSubImage1DEXT,
+  glCompressedMultiTexSubImage2DEXT,
+  glCompressedMultiTexSubImage3DEXT,
+  glCompressedTextureImage1DEXT,
+  glCompressedTextureImage2DEXT,
+  glCompressedTextureImage3DEXT,
+  glCompressedTextureSubImage1DEXT,
+  glCompressedTextureSubImage2DEXT,
+  glCompressedTextureSubImage3DEXT,
+  glCopyMultiTexImage1DEXT,
+  glCopyMultiTexImage2DEXT,
+  glCopyMultiTexSubImage1DEXT,
+  glCopyMultiTexSubImage2DEXT,
+  glCopyMultiTexSubImage3DEXT,
+  glCopyTextureImage1DEXT,
+  glCopyTextureImage2DEXT,
+  glCopyTextureSubImage1DEXT,
+  glCopyTextureSubImage2DEXT,
+  glCopyTextureSubImage3DEXT,
+  glDisableClientStateIndexedEXT,
+  glDisableClientStateiEXT,
+  glDisableIndexedEXT,
+  glDisableVertexArrayAttribEXT,
+  glDisableVertexArrayEXT,
+  glEnableClientStateIndexedEXT,
+  glEnableClientStateiEXT,
+  glEnableIndexedEXT,
+  glEnableVertexArrayAttribEXT,
+  glEnableVertexArrayEXT,
+  glFlushMappedNamedBufferRangeEXT,
+  glFramebufferDrawBufferEXT,
+  glFramebufferDrawBuffersEXT,
+  glFramebufferReadBufferEXT,
+  glGenerateMultiTexMipmapEXT,
+  glGenerateTextureMipmapEXT,
+  glGetBooleanIndexedvEXT,
+  glGetCompressedMultiTexImageEXT,
+  glGetCompressedTextureImageEXT,
+  glGetDoubleIndexedvEXT,
+  glGetDoublei_vEXT,
+  glGetFloatIndexedvEXT,
+  glGetFloati_vEXT,
+  glGetFramebufferParameterivEXT,
+  glGetIntegerIndexedvEXT,
+  glGetMultiTexEnvfvEXT,
+  glGetMultiTexEnvivEXT,
+  glGetMultiTexGendvEXT,
+  glGetMultiTexGenfvEXT,
+  glGetMultiTexGenivEXT,
+  glGetMultiTexImageEXT,
+  glGetMultiTexLevelParameterfvEXT,
+  glGetMultiTexLevelParameterivEXT,
+  glGetMultiTexParameterIivEXT,
+  glGetMultiTexParameterIuivEXT,
+  glGetMultiTexParameterfvEXT,
+  glGetMultiTexParameterivEXT,
+  glGetNamedBufferParameterivEXT,
+  glGetNamedBufferPointervEXT,
+  glGetNamedBufferSubDataEXT,
+  glGetNamedFramebufferAttachmentParameterivEXT,
+  glGetNamedFramebufferParameterivEXT,
+  glGetNamedProgramLocalParameterIivEXT,
+  glGetNamedProgramLocalParameterIuivEXT,
+  glGetNamedProgramLocalParameterdvEXT,
+  glGetNamedProgramLocalParameterfvEXT,
+  glGetNamedProgramStringEXT,
+  glGetNamedProgramivEXT,
+  glGetNamedRenderbufferParameterivEXT,
+  glGetPointerIndexedvEXT,
+  glGetPointeri_vEXT,
+  glGetTextureImageEXT,
+  glGetTextureLevelParameterfvEXT,
+  glGetTextureLevelParameterivEXT,
+  glGetTextureParameterIivEXT,
+  glGetTextureParameterIuivEXT,
+  glGetTextureParameterfvEXT,
+  glGetTextureParameterivEXT,
+  glGetVertexArrayIntegeri_vEXT,
+  glGetVertexArrayIntegervEXT,
+  glGetVertexArrayPointeri_vEXT,
+  glGetVertexArrayPointervEXT,
+  glIsEnabledIndexedEXT,
+  glMapNamedBufferEXT,
+  glMapNamedBufferRangeEXT,
+  glMatrixFrustumEXT,
+  glMatrixLoadIdentityEXT,
+  glMatrixLoadTransposedEXT,
+  glMatrixLoadTransposefEXT,
+  glMatrixLoaddEXT,
+  glMatrixLoadfEXT,
+  glMatrixMultTransposedEXT,
+  glMatrixMultTransposefEXT,
+  glMatrixMultdEXT,
+  glMatrixMultfEXT,
+  glMatrixOrthoEXT,
+  glMatrixPopEXT,
+  glMatrixPushEXT,
+  glMatrixRotatedEXT,
+  glMatrixRotatefEXT,
+  glMatrixScaledEXT,
+  glMatrixScalefEXT,
+  glMatrixTranslatedEXT,
+  glMatrixTranslatefEXT,
+  glMultiTexBufferEXT,
+  glMultiTexCoordPointerEXT,
+  glMultiTexEnvfEXT,
+  glMultiTexEnvfvEXT,
+  glMultiTexEnviEXT,
+  glMultiTexEnvivEXT,
+  glMultiTexGendEXT,
+  glMultiTexGendvEXT,
+  glMultiTexGenfEXT,
+  glMultiTexGenfvEXT,
+  glMultiTexGeniEXT,
+  glMultiTexGenivEXT,
+  glMultiTexImage1DEXT,
+  glMultiTexImage2DEXT,
+  glMultiTexImage3DEXT,
+  glMultiTexParameterIivEXT,
+  glMultiTexParameterIuivEXT,
+  glMultiTexParameterfEXT,
+  glMultiTexParameterfvEXT,
+  glMultiTexParameteriEXT,
+  glMultiTexParameterivEXT,
+  glMultiTexRenderbufferEXT,
+  glMultiTexSubImage1DEXT,
+  glMultiTexSubImage2DEXT,
+  glMultiTexSubImage3DEXT,
+  glNamedBufferDataEXT,
+  glNamedBufferStorageEXT,
+  glNamedBufferSubDataEXT,
+  glNamedCopyBufferSubDataEXT,
+  glNamedFramebufferParameteriEXT,
+  glNamedFramebufferRenderbufferEXT,
+  glNamedFramebufferTexture1DEXT,
+  glNamedFramebufferTexture2DEXT,
+  glNamedFramebufferTexture3DEXT,
+  glNamedFramebufferTextureEXT,
+  glNamedFramebufferTextureFaceEXT,
+  glNamedFramebufferTextureLayerEXT,
+  glNamedProgramLocalParameter4dEXT,
+  glNamedProgramLocalParameter4dvEXT,
+  glNamedProgramLocalParameter4fEXT,
+  glNamedProgramLocalParameter4fvEXT,
+  glNamedProgramLocalParameterI4iEXT,
+  glNamedProgramLocalParameterI4ivEXT,
+  glNamedProgramLocalParameterI4uiEXT,
+  glNamedProgramLocalParameterI4uivEXT,
+  glNamedProgramLocalParameters4fvEXT,
+  glNamedProgramLocalParametersI4ivEXT,
+  glNamedProgramLocalParametersI4uivEXT,
+  glNamedProgramStringEXT,
+  glNamedRenderbufferStorageEXT,
+  glNamedRenderbufferStorageMultisampleCoverageEXT,
+  glNamedRenderbufferStorageMultisampleEXT,
+  glProgramUniform1dEXT,
+  glProgramUniform1dvEXT,
+  glProgramUniform1fEXT,
+  glProgramUniform1fvEXT,
+  glProgramUniform1iEXT,
+  glProgramUniform1ivEXT,
+  glProgramUniform1uiEXT,
+  glProgramUniform1uivEXT,
+  glProgramUniform2dEXT,
+  glProgramUniform2dvEXT,
+  glProgramUniform2fEXT,
+  glProgramUniform2fvEXT,
+  glProgramUniform2iEXT,
+  glProgramUniform2ivEXT,
+  glProgramUniform2uiEXT,
+  glProgramUniform2uivEXT,
+  glProgramUniform3dEXT,
+  glProgramUniform3dvEXT,
+  glProgramUniform3fEXT,
+  glProgramUniform3fvEXT,
+  glProgramUniform3iEXT,
+  glProgramUniform3ivEXT,
+  glProgramUniform3uiEXT,
+  glProgramUniform3uivEXT,
+  glProgramUniform4dEXT,
+  glProgramUniform4dvEXT,
+  glProgramUniform4fEXT,
+  glProgramUniform4fvEXT,
+  glProgramUniform4iEXT,
+  glProgramUniform4ivEXT,
+  glProgramUniform4uiEXT,
+  glProgramUniform4uivEXT,
+  glProgramUniformMatrix2dvEXT,
+  glProgramUniformMatrix2fvEXT,
+  glProgramUniformMatrix2x3dvEXT,
+  glProgramUniformMatrix2x3fvEXT,
+  glProgramUniformMatrix2x4dvEXT,
+  glProgramUniformMatrix2x4fvEXT,
+  glProgramUniformMatrix3dvEXT,
+  glProgramUniformMatrix3fvEXT,
+  glProgramUniformMatrix3x2dvEXT,
+  glProgramUniformMatrix3x2fvEXT,
+  glProgramUniformMatrix3x4dvEXT,
+  glProgramUniformMatrix3x4fvEXT,
+  glProgramUniformMatrix4dvEXT,
+  glProgramUniformMatrix4fvEXT,
+  glProgramUniformMatrix4x2dvEXT,
+  glProgramUniformMatrix4x2fvEXT,
+  glProgramUniformMatrix4x3dvEXT,
+  glProgramUniformMatrix4x3fvEXT,
+  glPushClientAttribDefaultEXT,
+  glTextureBufferEXT,
+  glTextureBufferRangeEXT,
+  glTextureImage1DEXT,
+  glTextureImage2DEXT,
+  glTextureImage3DEXT,
+  glTexturePageCommitmentEXT,
+  glTextureParameterIivEXT,
+  glTextureParameterIuivEXT,
+  glTextureParameterfEXT,
+  glTextureParameterfvEXT,
+  glTextureParameteriEXT,
+  glTextureParameterivEXT,
+  glTextureRenderbufferEXT,
+  glTextureStorage1DEXT,
+  glTextureStorage2DEXT,
+  glTextureStorage2DMultisampleEXT,
+  glTextureStorage3DEXT,
+  glTextureStorage3DMultisampleEXT,
+  glTextureSubImage1DEXT,
+  glTextureSubImage2DEXT,
+  glTextureSubImage3DEXT,
+  glUnmapNamedBufferEXT,
+  glVertexArrayBindVertexBufferEXT,
+  glVertexArrayColorOffsetEXT,
+  glVertexArrayEdgeFlagOffsetEXT,
+  glVertexArrayFogCoordOffsetEXT,
+  glVertexArrayIndexOffsetEXT,
+  glVertexArrayMultiTexCoordOffsetEXT,
+  glVertexArrayNormalOffsetEXT,
+  glVertexArraySecondaryColorOffsetEXT,
+  glVertexArrayTexCoordOffsetEXT,
+  glVertexArrayVertexAttribBindingEXT,
+  glVertexArrayVertexAttribDivisorEXT,
+  glVertexArrayVertexAttribFormatEXT,
+  glVertexArrayVertexAttribIFormatEXT,
+  glVertexArrayVertexAttribIOffsetEXT,
+  glVertexArrayVertexAttribLFormatEXT,
+  glVertexArrayVertexAttribLOffsetEXT,
+  glVertexArrayVertexAttribOffsetEXT,
+  glVertexArrayVertexBindingDivisorEXT,
+  glVertexArrayVertexOffsetEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/DrawBuffers2.hs b/src/Graphics/GL/EXT/DrawBuffers2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/DrawBuffers2.hs
@@ -0,0 +1,27 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.DrawBuffers2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.DrawBuffers2 (
+  -- * Extension Support
+  glGetEXTDrawBuffers2,
+  gl_EXT_draw_buffers2,
+  -- * Functions
+  glColorMaskIndexedEXT,
+  glDisableIndexedEXT,
+  glEnableIndexedEXT,
+  glGetBooleanIndexedvEXT,
+  glGetIntegerIndexedvEXT,
+  glIsEnabledIndexedEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/DrawInstanced.hs b/src/Graphics/GL/EXT/DrawInstanced.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/DrawInstanced.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.DrawInstanced
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.DrawInstanced (
+  -- * Extension Support
+  glGetEXTDrawInstanced,
+  gl_EXT_draw_instanced,
+  -- * Functions
+  glDrawArraysInstancedEXT,
+  glDrawElementsInstancedEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/DrawRangeElements.hs b/src/Graphics/GL/EXT/DrawRangeElements.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/DrawRangeElements.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.DrawRangeElements
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.DrawRangeElements (
+  -- * Extension Support
+  glGetEXTDrawRangeElements,
+  gl_EXT_draw_range_elements,
+  -- * Enums
+  pattern GL_MAX_ELEMENTS_INDICES_EXT,
+  pattern GL_MAX_ELEMENTS_VERTICES_EXT,
+  -- * Functions
+  glDrawRangeElementsEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/FogCoord.hs b/src/Graphics/GL/EXT/FogCoord.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/FogCoord.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.FogCoord
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.FogCoord (
+  -- * Extension Support
+  glGetEXTFogCoord,
+  gl_EXT_fog_coord,
+  -- * Enums
+  pattern GL_CURRENT_FOG_COORDINATE_EXT,
+  pattern GL_FOG_COORDINATE_ARRAY_EXT,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER_EXT,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE_EXT,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE_EXT,
+  pattern GL_FOG_COORDINATE_EXT,
+  pattern GL_FOG_COORDINATE_SOURCE_EXT,
+  pattern GL_FRAGMENT_DEPTH_EXT,
+  -- * Functions
+  glFogCoordPointerEXT,
+  glFogCoorddEXT,
+  glFogCoorddvEXT,
+  glFogCoordfEXT,
+  glFogCoordfvEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/FourTwoTwoPixels.hs b/src/Graphics/GL/EXT/FourTwoTwoPixels.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/FourTwoTwoPixels.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.FourTwoTwoPixels
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.FourTwoTwoPixels (
+  -- * Extension Support
+  glGetEXTFourTwoTwoPixels,
+  gl_EXT_422_pixels,
+  -- * Enums
+  pattern GL_422_AVERAGE_EXT,
+  pattern GL_422_EXT,
+  pattern GL_422_REV_AVERAGE_EXT,
+  pattern GL_422_REV_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/FramebufferBlit.hs b/src/Graphics/GL/EXT/FramebufferBlit.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/FramebufferBlit.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.FramebufferBlit
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.FramebufferBlit (
+  -- * Extension Support
+  glGetEXTFramebufferBlit,
+  gl_EXT_framebuffer_blit,
+  -- * Enums
+  pattern GL_DRAW_FRAMEBUFFER_BINDING_EXT,
+  pattern GL_DRAW_FRAMEBUFFER_EXT,
+  pattern GL_READ_FRAMEBUFFER_BINDING_EXT,
+  pattern GL_READ_FRAMEBUFFER_EXT,
+  -- * Functions
+  glBlitFramebufferEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/FramebufferMultisample.hs b/src/Graphics/GL/EXT/FramebufferMultisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/FramebufferMultisample.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.FramebufferMultisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.FramebufferMultisample (
+  -- * Extension Support
+  glGetEXTFramebufferMultisample,
+  gl_EXT_framebuffer_multisample,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT,
+  pattern GL_MAX_SAMPLES_EXT,
+  pattern GL_RENDERBUFFER_SAMPLES_EXT,
+  -- * Functions
+  glRenderbufferStorageMultisampleEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/FramebufferMultisampleBlitScaled.hs b/src/Graphics/GL/EXT/FramebufferMultisampleBlitScaled.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/FramebufferMultisampleBlitScaled.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.FramebufferMultisampleBlitScaled
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.FramebufferMultisampleBlitScaled (
+  -- * Extension Support
+  glGetEXTFramebufferMultisampleBlitScaled,
+  gl_EXT_framebuffer_multisample_blit_scaled,
+  -- * Enums
+  pattern GL_SCALED_RESOLVE_FASTEST_EXT,
+  pattern GL_SCALED_RESOLVE_NICEST_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/FramebufferObject.hs b/src/Graphics/GL/EXT/FramebufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/FramebufferObject.hs
@@ -0,0 +1,92 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.FramebufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.FramebufferObject (
+  -- * Extension Support
+  glGetEXTFramebufferObject,
+  gl_EXT_framebuffer_object,
+  -- * Enums
+  pattern GL_COLOR_ATTACHMENT0_EXT,
+  pattern GL_COLOR_ATTACHMENT10_EXT,
+  pattern GL_COLOR_ATTACHMENT11_EXT,
+  pattern GL_COLOR_ATTACHMENT12_EXT,
+  pattern GL_COLOR_ATTACHMENT13_EXT,
+  pattern GL_COLOR_ATTACHMENT14_EXT,
+  pattern GL_COLOR_ATTACHMENT15_EXT,
+  pattern GL_COLOR_ATTACHMENT1_EXT,
+  pattern GL_COLOR_ATTACHMENT2_EXT,
+  pattern GL_COLOR_ATTACHMENT3_EXT,
+  pattern GL_COLOR_ATTACHMENT4_EXT,
+  pattern GL_COLOR_ATTACHMENT5_EXT,
+  pattern GL_COLOR_ATTACHMENT6_EXT,
+  pattern GL_COLOR_ATTACHMENT7_EXT,
+  pattern GL_COLOR_ATTACHMENT8_EXT,
+  pattern GL_COLOR_ATTACHMENT9_EXT,
+  pattern GL_DEPTH_ATTACHMENT_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT,
+  pattern GL_FRAMEBUFFER_BINDING_EXT,
+  pattern GL_FRAMEBUFFER_COMPLETE_EXT,
+  pattern GL_FRAMEBUFFER_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT,
+  pattern GL_FRAMEBUFFER_UNSUPPORTED_EXT,
+  pattern GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
+  pattern GL_MAX_COLOR_ATTACHMENTS_EXT,
+  pattern GL_MAX_RENDERBUFFER_SIZE_EXT,
+  pattern GL_RENDERBUFFER_ALPHA_SIZE_EXT,
+  pattern GL_RENDERBUFFER_BINDING_EXT,
+  pattern GL_RENDERBUFFER_BLUE_SIZE_EXT,
+  pattern GL_RENDERBUFFER_DEPTH_SIZE_EXT,
+  pattern GL_RENDERBUFFER_EXT,
+  pattern GL_RENDERBUFFER_GREEN_SIZE_EXT,
+  pattern GL_RENDERBUFFER_HEIGHT_EXT,
+  pattern GL_RENDERBUFFER_INTERNAL_FORMAT_EXT,
+  pattern GL_RENDERBUFFER_RED_SIZE_EXT,
+  pattern GL_RENDERBUFFER_STENCIL_SIZE_EXT,
+  pattern GL_RENDERBUFFER_WIDTH_EXT,
+  pattern GL_STENCIL_ATTACHMENT_EXT,
+  pattern GL_STENCIL_INDEX16_EXT,
+  pattern GL_STENCIL_INDEX1_EXT,
+  pattern GL_STENCIL_INDEX4_EXT,
+  pattern GL_STENCIL_INDEX8_EXT,
+  -- * Functions
+  glBindFramebufferEXT,
+  glBindRenderbufferEXT,
+  glCheckFramebufferStatusEXT,
+  glDeleteFramebuffersEXT,
+  glDeleteRenderbuffersEXT,
+  glFramebufferRenderbufferEXT,
+  glFramebufferTexture1DEXT,
+  glFramebufferTexture2DEXT,
+  glFramebufferTexture3DEXT,
+  glGenFramebuffersEXT,
+  glGenRenderbuffersEXT,
+  glGenerateMipmapEXT,
+  glGetFramebufferAttachmentParameterivEXT,
+  glGetRenderbufferParameterivEXT,
+  glIsFramebufferEXT,
+  glIsRenderbufferEXT,
+  glRenderbufferStorageEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/FramebufferSRGB.hs b/src/Graphics/GL/EXT/FramebufferSRGB.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/FramebufferSRGB.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.FramebufferSRGB
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.FramebufferSRGB (
+  -- * Extension Support
+  glGetEXTFramebufferSRGB,
+  gl_EXT_framebuffer_sRGB,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_SRGB_CAPABLE_EXT,
+  pattern GL_FRAMEBUFFER_SRGB_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/GPUProgramParameters.hs b/src/Graphics/GL/EXT/GPUProgramParameters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/GPUProgramParameters.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.GPUProgramParameters
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.GPUProgramParameters (
+  -- * Extension Support
+  glGetEXTGPUProgramParameters,
+  gl_EXT_gpu_program_parameters,
+  -- * Functions
+  glProgramEnvParameters4fvEXT,
+  glProgramLocalParameters4fvEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/GPUShader4.hs b/src/Graphics/GL/EXT/GPUShader4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/GPUShader4.hs
@@ -0,0 +1,63 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.GPUShader4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.GPUShader4 (
+  -- * Extension Support
+  glGetEXTGPUShader4,
+  gl_EXT_gpu_shader4,
+  -- * Enums
+  pattern GL_INT_SAMPLER_1D_ARRAY_EXT,
+  pattern GL_INT_SAMPLER_1D_EXT,
+  pattern GL_INT_SAMPLER_2D_ARRAY_EXT,
+  pattern GL_INT_SAMPLER_2D_EXT,
+  pattern GL_INT_SAMPLER_2D_RECT_EXT,
+  pattern GL_INT_SAMPLER_3D_EXT,
+  pattern GL_INT_SAMPLER_BUFFER_EXT,
+  pattern GL_INT_SAMPLER_CUBE_EXT,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET_EXT,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET_EXT,
+  pattern GL_SAMPLER_1D_ARRAY_EXT,
+  pattern GL_SAMPLER_1D_ARRAY_SHADOW_EXT,
+  pattern GL_SAMPLER_2D_ARRAY_EXT,
+  pattern GL_SAMPLER_2D_ARRAY_SHADOW_EXT,
+  pattern GL_SAMPLER_BUFFER_EXT,
+  pattern GL_SAMPLER_CUBE_SHADOW_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_1D_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_3D_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT,
+  pattern GL_UNSIGNED_INT_SAMPLER_CUBE_EXT,
+  pattern GL_UNSIGNED_INT_VEC2_EXT,
+  pattern GL_UNSIGNED_INT_VEC3_EXT,
+  pattern GL_UNSIGNED_INT_VEC4_EXT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT,
+  -- * Functions
+  glBindFragDataLocationEXT,
+  glGetFragDataLocationEXT,
+  glGetUniformuivEXT,
+  glUniform1uiEXT,
+  glUniform1uivEXT,
+  glUniform2uiEXT,
+  glUniform2uivEXT,
+  glUniform3uiEXT,
+  glUniform3uivEXT,
+  glUniform4uiEXT,
+  glUniform4uivEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/GeometryShader4.hs b/src/Graphics/GL/EXT/GeometryShader4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/GeometryShader4.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.GeometryShader4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.GeometryShader4 (
+  -- * Extension Support
+  glGetEXTGeometryShader4,
+  gl_EXT_geometry_shader4,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT,
+  pattern GL_GEOMETRY_INPUT_TYPE_EXT,
+  pattern GL_GEOMETRY_OUTPUT_TYPE_EXT,
+  pattern GL_GEOMETRY_SHADER_EXT,
+  pattern GL_GEOMETRY_VERTICES_OUT_EXT,
+  pattern GL_LINES_ADJACENCY_EXT,
+  pattern GL_LINE_STRIP_ADJACENCY_EXT,
+  pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT,
+  pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT,
+  pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT,
+  pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT,
+  pattern GL_MAX_VARYING_COMPONENTS_EXT,
+  pattern GL_MAX_VERTEX_VARYING_COMPONENTS_EXT,
+  pattern GL_PROGRAM_POINT_SIZE_EXT,
+  pattern GL_TRIANGLES_ADJACENCY_EXT,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY_EXT,
+  -- * Functions
+  glProgramParameteriEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/Histogram.hs b/src/Graphics/GL/EXT/Histogram.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/Histogram.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.Histogram
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.Histogram (
+  -- * Extension Support
+  glGetEXTHistogram,
+  gl_EXT_histogram,
+  -- * Enums
+  pattern GL_HISTOGRAM_ALPHA_SIZE_EXT,
+  pattern GL_HISTOGRAM_BLUE_SIZE_EXT,
+  pattern GL_HISTOGRAM_EXT,
+  pattern GL_HISTOGRAM_FORMAT_EXT,
+  pattern GL_HISTOGRAM_GREEN_SIZE_EXT,
+  pattern GL_HISTOGRAM_LUMINANCE_SIZE_EXT,
+  pattern GL_HISTOGRAM_RED_SIZE_EXT,
+  pattern GL_HISTOGRAM_SINK_EXT,
+  pattern GL_HISTOGRAM_WIDTH_EXT,
+  pattern GL_MINMAX_EXT,
+  pattern GL_MINMAX_FORMAT_EXT,
+  pattern GL_MINMAX_SINK_EXT,
+  pattern GL_PROXY_HISTOGRAM_EXT,
+  pattern GL_TABLE_TOO_LARGE_EXT,
+  -- * Functions
+  glGetHistogramEXT,
+  glGetHistogramParameterfvEXT,
+  glGetHistogramParameterivEXT,
+  glGetMinmaxEXT,
+  glGetMinmaxParameterfvEXT,
+  glGetMinmaxParameterivEXT,
+  glHistogramEXT,
+  glMinmaxEXT,
+  glResetHistogramEXT,
+  glResetMinmaxEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/IndexArrayFormats.hs b/src/Graphics/GL/EXT/IndexArrayFormats.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/IndexArrayFormats.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.IndexArrayFormats
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.IndexArrayFormats (
+  -- * Extension Support
+  glGetEXTIndexArrayFormats,
+  gl_EXT_index_array_formats,
+  -- * Enums
+  pattern GL_IUI_N3F_V2F_EXT,
+  pattern GL_IUI_N3F_V3F_EXT,
+  pattern GL_IUI_V2F_EXT,
+  pattern GL_IUI_V3F_EXT,
+  pattern GL_T2F_IUI_N3F_V2F_EXT,
+  pattern GL_T2F_IUI_N3F_V3F_EXT,
+  pattern GL_T2F_IUI_V2F_EXT,
+  pattern GL_T2F_IUI_V3F_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/IndexFunc.hs b/src/Graphics/GL/EXT/IndexFunc.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/IndexFunc.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.IndexFunc
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.IndexFunc (
+  -- * Extension Support
+  glGetEXTIndexFunc,
+  gl_EXT_index_func,
+  -- * Enums
+  pattern GL_INDEX_TEST_EXT,
+  pattern GL_INDEX_TEST_FUNC_EXT,
+  pattern GL_INDEX_TEST_REF_EXT,
+  -- * Functions
+  glIndexFuncEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/IndexMaterial.hs b/src/Graphics/GL/EXT/IndexMaterial.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/IndexMaterial.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.IndexMaterial
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.IndexMaterial (
+  -- * Extension Support
+  glGetEXTIndexMaterial,
+  gl_EXT_index_material,
+  -- * Enums
+  pattern GL_INDEX_MATERIAL_EXT,
+  pattern GL_INDEX_MATERIAL_FACE_EXT,
+  pattern GL_INDEX_MATERIAL_PARAMETER_EXT,
+  -- * Functions
+  glIndexMaterialEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/LightTexture.hs b/src/Graphics/GL/EXT/LightTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/LightTexture.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.LightTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.LightTexture (
+  -- * Extension Support
+  glGetEXTLightTexture,
+  gl_EXT_light_texture,
+  -- * Enums
+  pattern GL_ATTENUATION_EXT,
+  pattern GL_FRAGMENT_COLOR_EXT,
+  pattern GL_FRAGMENT_DEPTH_EXT,
+  pattern GL_FRAGMENT_MATERIAL_EXT,
+  pattern GL_FRAGMENT_NORMAL_EXT,
+  pattern GL_SHADOW_ATTENUATION_EXT,
+  pattern GL_TEXTURE_APPLICATION_MODE_EXT,
+  pattern GL_TEXTURE_LIGHT_EXT,
+  pattern GL_TEXTURE_MATERIAL_FACE_EXT,
+  pattern GL_TEXTURE_MATERIAL_PARAMETER_EXT,
+  -- * Functions
+  glApplyTextureEXT,
+  glTextureLightEXT,
+  glTextureMaterialEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/MultiDrawArrays.hs b/src/Graphics/GL/EXT/MultiDrawArrays.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/MultiDrawArrays.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.MultiDrawArrays
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.MultiDrawArrays (
+  -- * Extension Support
+  glGetEXTMultiDrawArrays,
+  gl_EXT_multi_draw_arrays,
+  -- * Functions
+  glMultiDrawArraysEXT,
+  glMultiDrawElementsEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/Multisample.hs b/src/Graphics/GL/EXT/Multisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/Multisample.hs
@@ -0,0 +1,43 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.Multisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.Multisample (
+  -- * Extension Support
+  glGetEXTMultisample,
+  gl_EXT_multisample,
+  -- * Enums
+  pattern GL_1PASS_EXT,
+  pattern GL_2PASS_0_EXT,
+  pattern GL_2PASS_1_EXT,
+  pattern GL_4PASS_0_EXT,
+  pattern GL_4PASS_1_EXT,
+  pattern GL_4PASS_2_EXT,
+  pattern GL_4PASS_3_EXT,
+  pattern GL_MULTISAMPLE_BIT_EXT,
+  pattern GL_MULTISAMPLE_EXT,
+  pattern GL_SAMPLES_EXT,
+  pattern GL_SAMPLE_ALPHA_TO_MASK_EXT,
+  pattern GL_SAMPLE_ALPHA_TO_ONE_EXT,
+  pattern GL_SAMPLE_BUFFERS_EXT,
+  pattern GL_SAMPLE_MASK_EXT,
+  pattern GL_SAMPLE_MASK_INVERT_EXT,
+  pattern GL_SAMPLE_MASK_VALUE_EXT,
+  pattern GL_SAMPLE_PATTERN_EXT,
+  -- * Functions
+  glSampleMaskEXT,
+  glSamplePatternEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/PackedDepthStencil.hs b/src/Graphics/GL/EXT/PackedDepthStencil.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PackedDepthStencil.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PackedDepthStencil
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PackedDepthStencil (
+  -- * Extension Support
+  glGetEXTPackedDepthStencil,
+  gl_EXT_packed_depth_stencil,
+  -- * Enums
+  pattern GL_DEPTH24_STENCIL8_EXT,
+  pattern GL_DEPTH_STENCIL_EXT,
+  pattern GL_TEXTURE_STENCIL_SIZE_EXT,
+  pattern GL_UNSIGNED_INT_24_8_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/PackedFloat.hs b/src/Graphics/GL/EXT/PackedFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PackedFloat.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PackedFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PackedFloat (
+  -- * Extension Support
+  glGetEXTPackedFloat,
+  gl_EXT_packed_float,
+  -- * Enums
+  pattern GL_R11F_G11F_B10F_EXT,
+  pattern GL_RGBA_SIGNED_COMPONENTS_EXT,
+  pattern GL_UNSIGNED_INT_10F_11F_11F_REV_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/PackedPixels.hs b/src/Graphics/GL/EXT/PackedPixels.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PackedPixels.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PackedPixels
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PackedPixels (
+  -- * Extension Support
+  glGetEXTPackedPixels,
+  gl_EXT_packed_pixels,
+  -- * Enums
+  pattern GL_UNSIGNED_BYTE_3_3_2_EXT,
+  pattern GL_UNSIGNED_INT_10_10_10_2_EXT,
+  pattern GL_UNSIGNED_INT_8_8_8_8_EXT,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_EXT,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/PalettedTexture.hs b/src/Graphics/GL/EXT/PalettedTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PalettedTexture.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PalettedTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PalettedTexture (
+  -- * Extension Support
+  glGetEXTPalettedTexture,
+  gl_EXT_paletted_texture,
+  -- * Enums
+  pattern GL_COLOR_INDEX12_EXT,
+  pattern GL_COLOR_INDEX16_EXT,
+  pattern GL_COLOR_INDEX1_EXT,
+  pattern GL_COLOR_INDEX2_EXT,
+  pattern GL_COLOR_INDEX4_EXT,
+  pattern GL_COLOR_INDEX8_EXT,
+  pattern GL_TEXTURE_INDEX_SIZE_EXT,
+  -- * Functions
+  glColorTableEXT,
+  glGetColorTableEXT,
+  glGetColorTableParameterfvEXT,
+  glGetColorTableParameterivEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/PixelBufferObject.hs b/src/Graphics/GL/EXT/PixelBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PixelBufferObject.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PixelBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PixelBufferObject (
+  -- * Extension Support
+  glGetEXTPixelBufferObject,
+  gl_EXT_pixel_buffer_object,
+  -- * Enums
+  pattern GL_PIXEL_PACK_BUFFER_BINDING_EXT,
+  pattern GL_PIXEL_PACK_BUFFER_EXT,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING_EXT,
+  pattern GL_PIXEL_UNPACK_BUFFER_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/PixelTransform.hs b/src/Graphics/GL/EXT/PixelTransform.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PixelTransform.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PixelTransform
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PixelTransform (
+  -- * Extension Support
+  glGetEXTPixelTransform,
+  gl_EXT_pixel_transform,
+  -- * Enums
+  pattern GL_AVERAGE_EXT,
+  pattern GL_CUBIC_EXT,
+  pattern GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT,
+  pattern GL_PIXEL_CUBIC_WEIGHT_EXT,
+  pattern GL_PIXEL_MAG_FILTER_EXT,
+  pattern GL_PIXEL_MIN_FILTER_EXT,
+  pattern GL_PIXEL_TRANSFORM_2D_EXT,
+  pattern GL_PIXEL_TRANSFORM_2D_MATRIX_EXT,
+  pattern GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT,
+  -- * Functions
+  glGetPixelTransformParameterfvEXT,
+  glGetPixelTransformParameterivEXT,
+  glPixelTransformParameterfEXT,
+  glPixelTransformParameterfvEXT,
+  glPixelTransformParameteriEXT,
+  glPixelTransformParameterivEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/PointParameters.hs b/src/Graphics/GL/EXT/PointParameters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PointParameters.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PointParameters
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PointParameters (
+  -- * Extension Support
+  glGetEXTPointParameters,
+  gl_EXT_point_parameters,
+  -- * Enums
+  pattern GL_DISTANCE_ATTENUATION_EXT,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE_EXT,
+  pattern GL_POINT_SIZE_MAX_EXT,
+  pattern GL_POINT_SIZE_MIN_EXT,
+  -- * Functions
+  glPointParameterfEXT,
+  glPointParameterfvEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/PolygonOffset.hs b/src/Graphics/GL/EXT/PolygonOffset.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PolygonOffset.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PolygonOffset
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PolygonOffset (
+  -- * Extension Support
+  glGetEXTPolygonOffset,
+  gl_EXT_polygon_offset,
+  -- * Enums
+  pattern GL_POLYGON_OFFSET_BIAS_EXT,
+  pattern GL_POLYGON_OFFSET_EXT,
+  pattern GL_POLYGON_OFFSET_FACTOR_EXT,
+  -- * Functions
+  glPolygonOffsetEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/PolygonOffsetClamp.hs b/src/Graphics/GL/EXT/PolygonOffsetClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/PolygonOffsetClamp.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.PolygonOffsetClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.PolygonOffsetClamp (
+  -- * Extension Support
+  glGetEXTPolygonOffsetClamp,
+  gl_EXT_polygon_offset_clamp,
+  -- * Enums
+  pattern GL_POLYGON_OFFSET_CLAMP_EXT,
+  -- * Functions
+  glPolygonOffsetClampEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/ProvokingVertex.hs b/src/Graphics/GL/EXT/ProvokingVertex.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/ProvokingVertex.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.ProvokingVertex
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.ProvokingVertex (
+  -- * Extension Support
+  glGetEXTProvokingVertex,
+  gl_EXT_provoking_vertex,
+  -- * Enums
+  pattern GL_FIRST_VERTEX_CONVENTION_EXT,
+  pattern GL_LAST_VERTEX_CONVENTION_EXT,
+  pattern GL_PROVOKING_VERTEX_EXT,
+  pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT,
+  -- * Functions
+  glProvokingVertexEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/RasterMultisample.hs b/src/Graphics/GL/EXT/RasterMultisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/RasterMultisample.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.RasterMultisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.RasterMultisample (
+  -- * Extension Support
+  glGetEXTRasterMultisample,
+  gl_EXT_raster_multisample,
+  -- * Enums
+  pattern GL_EFFECTIVE_RASTER_SAMPLES_EXT,
+  pattern GL_MAX_RASTER_SAMPLES_EXT,
+  pattern GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT,
+  pattern GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT,
+  pattern GL_RASTER_MULTISAMPLE_EXT,
+  pattern GL_RASTER_SAMPLES_EXT,
+  -- * Functions
+  glRasterSamplesEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/RescaleNormal.hs b/src/Graphics/GL/EXT/RescaleNormal.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/RescaleNormal.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.RescaleNormal
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.RescaleNormal (
+  -- * Extension Support
+  glGetEXTRescaleNormal,
+  gl_EXT_rescale_normal,
+  -- * Enums
+  pattern GL_RESCALE_NORMAL_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/SecondaryColor.hs b/src/Graphics/GL/EXT/SecondaryColor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/SecondaryColor.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.SecondaryColor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.SecondaryColor (
+  -- * Extension Support
+  glGetEXTSecondaryColor,
+  gl_EXT_secondary_color,
+  -- * Enums
+  pattern GL_COLOR_SUM_EXT,
+  pattern GL_CURRENT_SECONDARY_COLOR_EXT,
+  pattern GL_SECONDARY_COLOR_ARRAY_EXT,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER_EXT,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE_EXT,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE_EXT,
+  -- * Functions
+  glSecondaryColor3bEXT,
+  glSecondaryColor3bvEXT,
+  glSecondaryColor3dEXT,
+  glSecondaryColor3dvEXT,
+  glSecondaryColor3fEXT,
+  glSecondaryColor3fvEXT,
+  glSecondaryColor3iEXT,
+  glSecondaryColor3ivEXT,
+  glSecondaryColor3sEXT,
+  glSecondaryColor3svEXT,
+  glSecondaryColor3ubEXT,
+  glSecondaryColor3ubvEXT,
+  glSecondaryColor3uiEXT,
+  glSecondaryColor3uivEXT,
+  glSecondaryColor3usEXT,
+  glSecondaryColor3usvEXT,
+  glSecondaryColorPointerEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/SeparateShaderObjects.hs b/src/Graphics/GL/EXT/SeparateShaderObjects.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/SeparateShaderObjects.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.SeparateShaderObjects
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.SeparateShaderObjects (
+  -- * Extension Support
+  glGetEXTSeparateShaderObjects,
+  gl_EXT_separate_shader_objects,
+  -- * Enums
+  pattern GL_ACTIVE_PROGRAM_EXT,
+  -- * Functions
+  glActiveProgramEXT,
+  glCreateShaderProgramEXT,
+  glUseShaderProgramEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/SeparateSpecularColor.hs b/src/Graphics/GL/EXT/SeparateSpecularColor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/SeparateSpecularColor.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.SeparateSpecularColor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.SeparateSpecularColor (
+  -- * Extension Support
+  glGetEXTSeparateSpecularColor,
+  gl_EXT_separate_specular_color,
+  -- * Enums
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL_EXT,
+  pattern GL_SEPARATE_SPECULAR_COLOR_EXT,
+  pattern GL_SINGLE_COLOR_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/ShaderImageLoadStore.hs b/src/Graphics/GL/EXT/ShaderImageLoadStore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/ShaderImageLoadStore.hs
@@ -0,0 +1,81 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.ShaderImageLoadStore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.ShaderImageLoadStore (
+  -- * Extension Support
+  glGetEXTShaderImageLoadStore,
+  gl_EXT_shader_image_load_store,
+  -- * Enums
+  pattern GL_ALL_BARRIER_BITS_EXT,
+  pattern GL_ATOMIC_COUNTER_BARRIER_BIT_EXT,
+  pattern GL_BUFFER_UPDATE_BARRIER_BIT_EXT,
+  pattern GL_COMMAND_BARRIER_BIT_EXT,
+  pattern GL_ELEMENT_ARRAY_BARRIER_BIT_EXT,
+  pattern GL_FRAMEBUFFER_BARRIER_BIT_EXT,
+  pattern GL_IMAGE_1D_ARRAY_EXT,
+  pattern GL_IMAGE_1D_EXT,
+  pattern GL_IMAGE_2D_ARRAY_EXT,
+  pattern GL_IMAGE_2D_EXT,
+  pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT,
+  pattern GL_IMAGE_2D_MULTISAMPLE_EXT,
+  pattern GL_IMAGE_2D_RECT_EXT,
+  pattern GL_IMAGE_3D_EXT,
+  pattern GL_IMAGE_BINDING_ACCESS_EXT,
+  pattern GL_IMAGE_BINDING_FORMAT_EXT,
+  pattern GL_IMAGE_BINDING_LAYERED_EXT,
+  pattern GL_IMAGE_BINDING_LAYER_EXT,
+  pattern GL_IMAGE_BINDING_LEVEL_EXT,
+  pattern GL_IMAGE_BINDING_NAME_EXT,
+  pattern GL_IMAGE_BUFFER_EXT,
+  pattern GL_IMAGE_CUBE_EXT,
+  pattern GL_IMAGE_CUBE_MAP_ARRAY_EXT,
+  pattern GL_INT_IMAGE_1D_ARRAY_EXT,
+  pattern GL_INT_IMAGE_1D_EXT,
+  pattern GL_INT_IMAGE_2D_ARRAY_EXT,
+  pattern GL_INT_IMAGE_2D_EXT,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT,
+  pattern GL_INT_IMAGE_2D_MULTISAMPLE_EXT,
+  pattern GL_INT_IMAGE_2D_RECT_EXT,
+  pattern GL_INT_IMAGE_3D_EXT,
+  pattern GL_INT_IMAGE_BUFFER_EXT,
+  pattern GL_INT_IMAGE_CUBE_EXT,
+  pattern GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT,
+  pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT,
+  pattern GL_MAX_IMAGE_SAMPLES_EXT,
+  pattern GL_MAX_IMAGE_UNITS_EXT,
+  pattern GL_PIXEL_BUFFER_BARRIER_BIT_EXT,
+  pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT,
+  pattern GL_TEXTURE_FETCH_BARRIER_BIT_EXT,
+  pattern GL_TEXTURE_UPDATE_BARRIER_BIT_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT,
+  pattern GL_UNIFORM_BARRIER_BIT_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_1D_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_3D_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_BUFFER_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_EXT,
+  pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT,
+  -- * Functions
+  glBindImageTextureEXT,
+  glMemoryBarrierEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/SharedTexturePalette.hs b/src/Graphics/GL/EXT/SharedTexturePalette.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/SharedTexturePalette.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.SharedTexturePalette
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.SharedTexturePalette (
+  -- * Extension Support
+  glGetEXTSharedTexturePalette,
+  gl_EXT_shared_texture_palette,
+  -- * Enums
+  pattern GL_SHARED_TEXTURE_PALETTE_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/StencilClearTag.hs b/src/Graphics/GL/EXT/StencilClearTag.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/StencilClearTag.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.StencilClearTag
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.StencilClearTag (
+  -- * Extension Support
+  glGetEXTStencilClearTag,
+  gl_EXT_stencil_clear_tag,
+  -- * Enums
+  pattern GL_STENCIL_CLEAR_TAG_VALUE_EXT,
+  pattern GL_STENCIL_TAG_BITS_EXT,
+  -- * Functions
+  glStencilClearTagEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/StencilTwoSide.hs b/src/Graphics/GL/EXT/StencilTwoSide.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/StencilTwoSide.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.StencilTwoSide
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.StencilTwoSide (
+  -- * Extension Support
+  glGetEXTStencilTwoSide,
+  gl_EXT_stencil_two_side,
+  -- * Enums
+  pattern GL_ACTIVE_STENCIL_FACE_EXT,
+  pattern GL_STENCIL_TEST_TWO_SIDE_EXT,
+  -- * Functions
+  glActiveStencilFaceEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/StencilWrap.hs b/src/Graphics/GL/EXT/StencilWrap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/StencilWrap.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.StencilWrap
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.StencilWrap (
+  -- * Extension Support
+  glGetEXTStencilWrap,
+  gl_EXT_stencil_wrap,
+  -- * Enums
+  pattern GL_DECR_WRAP_EXT,
+  pattern GL_INCR_WRAP_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/Subtexture.hs b/src/Graphics/GL/EXT/Subtexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/Subtexture.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.Subtexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.Subtexture (
+  -- * Extension Support
+  glGetEXTSubtexture,
+  gl_EXT_subtexture,
+  -- * Functions
+  glTexSubImage1DEXT,
+  glTexSubImage2DEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/Texture.hs b/src/Graphics/GL/EXT/Texture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/Texture.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.Texture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.Texture (
+  -- * Extension Support
+  glGetEXTTexture,
+  gl_EXT_texture,
+  -- * Enums
+  pattern GL_ALPHA12_EXT,
+  pattern GL_ALPHA16_EXT,
+  pattern GL_ALPHA4_EXT,
+  pattern GL_ALPHA8_EXT,
+  pattern GL_INTENSITY12_EXT,
+  pattern GL_INTENSITY16_EXT,
+  pattern GL_INTENSITY4_EXT,
+  pattern GL_INTENSITY8_EXT,
+  pattern GL_INTENSITY_EXT,
+  pattern GL_LUMINANCE12_ALPHA12_EXT,
+  pattern GL_LUMINANCE12_ALPHA4_EXT,
+  pattern GL_LUMINANCE12_EXT,
+  pattern GL_LUMINANCE16_ALPHA16_EXT,
+  pattern GL_LUMINANCE16_EXT,
+  pattern GL_LUMINANCE4_ALPHA4_EXT,
+  pattern GL_LUMINANCE4_EXT,
+  pattern GL_LUMINANCE6_ALPHA2_EXT,
+  pattern GL_LUMINANCE8_ALPHA8_EXT,
+  pattern GL_LUMINANCE8_EXT,
+  pattern GL_PROXY_TEXTURE_1D_EXT,
+  pattern GL_PROXY_TEXTURE_2D_EXT,
+  pattern GL_REPLACE_EXT,
+  pattern GL_RGB10_A2_EXT,
+  pattern GL_RGB10_EXT,
+  pattern GL_RGB12_EXT,
+  pattern GL_RGB16_EXT,
+  pattern GL_RGB2_EXT,
+  pattern GL_RGB4_EXT,
+  pattern GL_RGB5_A1_EXT,
+  pattern GL_RGB5_EXT,
+  pattern GL_RGB8_EXT,
+  pattern GL_RGBA12_EXT,
+  pattern GL_RGBA16_EXT,
+  pattern GL_RGBA2_EXT,
+  pattern GL_RGBA4_EXT,
+  pattern GL_RGBA8_EXT,
+  pattern GL_TEXTURE_ALPHA_SIZE_EXT,
+  pattern GL_TEXTURE_BLUE_SIZE_EXT,
+  pattern GL_TEXTURE_GREEN_SIZE_EXT,
+  pattern GL_TEXTURE_INTENSITY_SIZE_EXT,
+  pattern GL_TEXTURE_LUMINANCE_SIZE_EXT,
+  pattern GL_TEXTURE_RED_SIZE_EXT,
+  pattern GL_TEXTURE_TOO_LARGE_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/Texture3D.hs b/src/Graphics/GL/EXT/Texture3D.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/Texture3D.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.Texture3D
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.Texture3D (
+  -- * Extension Support
+  glGetEXTTexture3D,
+  gl_EXT_texture3D,
+  -- * Enums
+  pattern GL_MAX_3D_TEXTURE_SIZE_EXT,
+  pattern GL_PACK_IMAGE_HEIGHT_EXT,
+  pattern GL_PACK_SKIP_IMAGES_EXT,
+  pattern GL_PROXY_TEXTURE_3D_EXT,
+  pattern GL_TEXTURE_3D_EXT,
+  pattern GL_TEXTURE_DEPTH_EXT,
+  pattern GL_TEXTURE_WRAP_R_EXT,
+  pattern GL_UNPACK_IMAGE_HEIGHT_EXT,
+  pattern GL_UNPACK_SKIP_IMAGES_EXT,
+  -- * Functions
+  glTexImage3DEXT,
+  glTexSubImage3DEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TextureArray.hs b/src/Graphics/GL/EXT/TextureArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureArray.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureArray (
+  -- * Extension Support
+  glGetEXTTextureArray,
+  gl_EXT_texture_array,
+  -- * Enums
+  pattern GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT,
+  pattern GL_MAX_ARRAY_TEXTURE_LAYERS_EXT,
+  pattern GL_PROXY_TEXTURE_1D_ARRAY_EXT,
+  pattern GL_PROXY_TEXTURE_2D_ARRAY_EXT,
+  pattern GL_TEXTURE_1D_ARRAY_EXT,
+  pattern GL_TEXTURE_2D_ARRAY_EXT,
+  pattern GL_TEXTURE_BINDING_1D_ARRAY_EXT,
+  pattern GL_TEXTURE_BINDING_2D_ARRAY_EXT,
+  -- * Functions
+  glFramebufferTextureLayerEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TextureBufferObject.hs b/src/Graphics/GL/EXT/TextureBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureBufferObject.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureBufferObject (
+  -- * Extension Support
+  glGetEXTTextureBufferObject,
+  gl_EXT_texture_buffer_object,
+  -- * Enums
+  pattern GL_MAX_TEXTURE_BUFFER_SIZE_EXT,
+  pattern GL_TEXTURE_BINDING_BUFFER_EXT,
+  pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT,
+  pattern GL_TEXTURE_BUFFER_EXT,
+  pattern GL_TEXTURE_BUFFER_FORMAT_EXT,
+  -- * Functions
+  glTexBufferEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TextureCompressionLATC.hs b/src/Graphics/GL/EXT/TextureCompressionLATC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureCompressionLATC.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureCompressionLATC
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureCompressionLATC (
+  -- * Extension Support
+  glGetEXTTextureCompressionLATC,
+  gl_EXT_texture_compression_latc,
+  -- * Enums
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT,
+  pattern GL_COMPRESSED_LUMINANCE_LATC1_EXT,
+  pattern GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT,
+  pattern GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureCompressionRGTC.hs b/src/Graphics/GL/EXT/TextureCompressionRGTC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureCompressionRGTC.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureCompressionRGTC
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureCompressionRGTC (
+  -- * Extension Support
+  glGetEXTTextureCompressionRGTC,
+  gl_EXT_texture_compression_rgtc,
+  -- * Enums
+  pattern GL_COMPRESSED_RED_GREEN_RGTC2_EXT,
+  pattern GL_COMPRESSED_RED_RGTC1_EXT,
+  pattern GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
+  pattern GL_COMPRESSED_SIGNED_RED_RGTC1_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureCompressionS3TC.hs b/src/Graphics/GL/EXT/TextureCompressionS3TC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureCompressionS3TC.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureCompressionS3TC
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureCompressionS3TC (
+  -- * Extension Support
+  glGetEXTTextureCompressionS3TC,
+  gl_EXT_texture_compression_s3tc,
+  -- * Enums
+  pattern GL_COMPRESSED_RGBA_S3TC_DXT1_EXT,
+  pattern GL_COMPRESSED_RGBA_S3TC_DXT3_EXT,
+  pattern GL_COMPRESSED_RGBA_S3TC_DXT5_EXT,
+  pattern GL_COMPRESSED_RGB_S3TC_DXT1_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureCubeMap.hs b/src/Graphics/GL/EXT/TextureCubeMap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureCubeMap.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureCubeMap
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureCubeMap (
+  -- * Extension Support
+  glGetEXTTextureCubeMap,
+  gl_EXT_texture_cube_map,
+  -- * Enums
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT,
+  pattern GL_NORMAL_MAP_EXT,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP_EXT,
+  pattern GL_REFLECTION_MAP_EXT,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP_EXT,
+  pattern GL_TEXTURE_CUBE_MAP_EXT,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureEnvCombine.hs b/src/Graphics/GL/EXT/TextureEnvCombine.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureEnvCombine.hs
@@ -0,0 +1,43 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureEnvCombine
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureEnvCombine (
+  -- * Extension Support
+  glGetEXTTextureEnvCombine,
+  gl_EXT_texture_env_combine,
+  -- * Enums
+  pattern GL_ADD_SIGNED_EXT,
+  pattern GL_COMBINE_ALPHA_EXT,
+  pattern GL_COMBINE_EXT,
+  pattern GL_COMBINE_RGB_EXT,
+  pattern GL_CONSTANT_EXT,
+  pattern GL_INTERPOLATE_EXT,
+  pattern GL_OPERAND0_ALPHA_EXT,
+  pattern GL_OPERAND0_RGB_EXT,
+  pattern GL_OPERAND1_ALPHA_EXT,
+  pattern GL_OPERAND1_RGB_EXT,
+  pattern GL_OPERAND2_ALPHA_EXT,
+  pattern GL_OPERAND2_RGB_EXT,
+  pattern GL_PREVIOUS_EXT,
+  pattern GL_PRIMARY_COLOR_EXT,
+  pattern GL_RGB_SCALE_EXT,
+  pattern GL_SOURCE0_ALPHA_EXT,
+  pattern GL_SOURCE0_RGB_EXT,
+  pattern GL_SOURCE1_ALPHA_EXT,
+  pattern GL_SOURCE1_RGB_EXT,
+  pattern GL_SOURCE2_ALPHA_EXT,
+  pattern GL_SOURCE2_RGB_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureEnvDot3.hs b/src/Graphics/GL/EXT/TextureEnvDot3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureEnvDot3.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureEnvDot3
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureEnvDot3 (
+  -- * Extension Support
+  glGetEXTTextureEnvDot3,
+  gl_EXT_texture_env_dot3,
+  -- * Enums
+  pattern GL_DOT3_RGBA_EXT,
+  pattern GL_DOT3_RGB_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureFilterAnisotropic.hs b/src/Graphics/GL/EXT/TextureFilterAnisotropic.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureFilterAnisotropic.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureFilterAnisotropic
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureFilterAnisotropic (
+  -- * Extension Support
+  glGetEXTTextureFilterAnisotropic,
+  gl_EXT_texture_filter_anisotropic,
+  -- * Enums
+  pattern GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT,
+  pattern GL_TEXTURE_MAX_ANISOTROPY_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureFilterMinmax.hs b/src/Graphics/GL/EXT/TextureFilterMinmax.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureFilterMinmax.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureFilterMinmax
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureFilterMinmax (
+  -- * Extension Support
+  glGetEXTTextureFilterMinmax,
+  gl_EXT_texture_filter_minmax,
+  -- * Enums
+  pattern GL_EFFECTIVE_RASTER_SAMPLES_EXT,
+  pattern GL_MAX_RASTER_SAMPLES_EXT,
+  pattern GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT,
+  pattern GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT,
+  pattern GL_RASTER_MULTISAMPLE_EXT,
+  pattern GL_RASTER_SAMPLES_EXT,
+  -- * Functions
+  glRasterSamplesEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TextureInteger.hs b/src/Graphics/GL/EXT/TextureInteger.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureInteger.hs
@@ -0,0 +1,77 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureInteger
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureInteger (
+  -- * Extension Support
+  glGetEXTTextureInteger,
+  gl_EXT_texture_integer,
+  -- * Enums
+  pattern GL_ALPHA16I_EXT,
+  pattern GL_ALPHA16UI_EXT,
+  pattern GL_ALPHA32I_EXT,
+  pattern GL_ALPHA32UI_EXT,
+  pattern GL_ALPHA8I_EXT,
+  pattern GL_ALPHA8UI_EXT,
+  pattern GL_ALPHA_INTEGER_EXT,
+  pattern GL_BGRA_INTEGER_EXT,
+  pattern GL_BGR_INTEGER_EXT,
+  pattern GL_BLUE_INTEGER_EXT,
+  pattern GL_GREEN_INTEGER_EXT,
+  pattern GL_INTENSITY16I_EXT,
+  pattern GL_INTENSITY16UI_EXT,
+  pattern GL_INTENSITY32I_EXT,
+  pattern GL_INTENSITY32UI_EXT,
+  pattern GL_INTENSITY8I_EXT,
+  pattern GL_INTENSITY8UI_EXT,
+  pattern GL_LUMINANCE16I_EXT,
+  pattern GL_LUMINANCE16UI_EXT,
+  pattern GL_LUMINANCE32I_EXT,
+  pattern GL_LUMINANCE32UI_EXT,
+  pattern GL_LUMINANCE8I_EXT,
+  pattern GL_LUMINANCE8UI_EXT,
+  pattern GL_LUMINANCE_ALPHA16I_EXT,
+  pattern GL_LUMINANCE_ALPHA16UI_EXT,
+  pattern GL_LUMINANCE_ALPHA32I_EXT,
+  pattern GL_LUMINANCE_ALPHA32UI_EXT,
+  pattern GL_LUMINANCE_ALPHA8I_EXT,
+  pattern GL_LUMINANCE_ALPHA8UI_EXT,
+  pattern GL_LUMINANCE_ALPHA_INTEGER_EXT,
+  pattern GL_LUMINANCE_INTEGER_EXT,
+  pattern GL_RED_INTEGER_EXT,
+  pattern GL_RGB16I_EXT,
+  pattern GL_RGB16UI_EXT,
+  pattern GL_RGB32I_EXT,
+  pattern GL_RGB32UI_EXT,
+  pattern GL_RGB8I_EXT,
+  pattern GL_RGB8UI_EXT,
+  pattern GL_RGBA16I_EXT,
+  pattern GL_RGBA16UI_EXT,
+  pattern GL_RGBA32I_EXT,
+  pattern GL_RGBA32UI_EXT,
+  pattern GL_RGBA8I_EXT,
+  pattern GL_RGBA8UI_EXT,
+  pattern GL_RGBA_INTEGER_EXT,
+  pattern GL_RGBA_INTEGER_MODE_EXT,
+  pattern GL_RGB_INTEGER_EXT,
+  -- * Functions
+  glClearColorIiEXT,
+  glClearColorIuiEXT,
+  glGetTexParameterIivEXT,
+  glGetTexParameterIuivEXT,
+  glTexParameterIivEXT,
+  glTexParameterIuivEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TextureLODBias.hs b/src/Graphics/GL/EXT/TextureLODBias.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureLODBias.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureLODBias
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureLODBias (
+  -- * Extension Support
+  glGetEXTTextureLODBias,
+  gl_EXT_texture_lod_bias,
+  -- * Enums
+  pattern GL_MAX_TEXTURE_LOD_BIAS_EXT,
+  pattern GL_TEXTURE_FILTER_CONTROL_EXT,
+  pattern GL_TEXTURE_LOD_BIAS_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureMirrorClamp.hs b/src/Graphics/GL/EXT/TextureMirrorClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureMirrorClamp.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureMirrorClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureMirrorClamp (
+  -- * Extension Support
+  glGetEXTTextureMirrorClamp,
+  gl_EXT_texture_mirror_clamp,
+  -- * Enums
+  pattern GL_MIRROR_CLAMP_EXT,
+  pattern GL_MIRROR_CLAMP_TO_BORDER_EXT,
+  pattern GL_MIRROR_CLAMP_TO_EDGE_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureObject.hs b/src/Graphics/GL/EXT/TextureObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureObject.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureObject (
+  -- * Extension Support
+  glGetEXTTextureObject,
+  gl_EXT_texture_object,
+  -- * Enums
+  pattern GL_TEXTURE_1D_BINDING_EXT,
+  pattern GL_TEXTURE_2D_BINDING_EXT,
+  pattern GL_TEXTURE_3D_BINDING_EXT,
+  pattern GL_TEXTURE_PRIORITY_EXT,
+  pattern GL_TEXTURE_RESIDENT_EXT,
+  -- * Functions
+  glAreTexturesResidentEXT,
+  glBindTextureEXT,
+  glDeleteTexturesEXT,
+  glGenTexturesEXT,
+  glIsTextureEXT,
+  glPrioritizeTexturesEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TexturePerturbNormal.hs b/src/Graphics/GL/EXT/TexturePerturbNormal.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TexturePerturbNormal.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TexturePerturbNormal
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TexturePerturbNormal (
+  -- * Extension Support
+  glGetEXTTexturePerturbNormal,
+  gl_EXT_texture_perturb_normal,
+  -- * Enums
+  pattern GL_PERTURB_EXT,
+  pattern GL_TEXTURE_NORMAL_EXT,
+  -- * Functions
+  glTextureNormalEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TextureSNorm.hs b/src/Graphics/GL/EXT/TextureSNorm.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureSNorm.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureSNorm
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureSNorm (
+  -- * Extension Support
+  glGetEXTTextureSNorm,
+  gl_EXT_texture_snorm,
+  -- * Enums
+  pattern GL_ALPHA16_SNORM,
+  pattern GL_ALPHA8_SNORM,
+  pattern GL_ALPHA_SNORM,
+  pattern GL_INTENSITY16_SNORM,
+  pattern GL_INTENSITY8_SNORM,
+  pattern GL_INTENSITY_SNORM,
+  pattern GL_LUMINANCE16_ALPHA16_SNORM,
+  pattern GL_LUMINANCE16_SNORM,
+  pattern GL_LUMINANCE8_ALPHA8_SNORM,
+  pattern GL_LUMINANCE8_SNORM,
+  pattern GL_LUMINANCE_ALPHA_SNORM,
+  pattern GL_LUMINANCE_SNORM,
+  pattern GL_R16_SNORM,
+  pattern GL_R8_SNORM,
+  pattern GL_RED_SNORM,
+  pattern GL_RG16_SNORM,
+  pattern GL_RG8_SNORM,
+  pattern GL_RGB16_SNORM,
+  pattern GL_RGB8_SNORM,
+  pattern GL_RGBA16_SNORM,
+  pattern GL_RGBA8_SNORM,
+  pattern GL_RGBA_SNORM,
+  pattern GL_RGB_SNORM,
+  pattern GL_RG_SNORM,
+  pattern GL_SIGNED_NORMALIZED
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureSRGB.hs b/src/Graphics/GL/EXT/TextureSRGB.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureSRGB.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureSRGB
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureSRGB (
+  -- * Extension Support
+  glGetEXTTextureSRGB,
+  gl_EXT_texture_sRGB,
+  -- * Enums
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA_EXT,
+  pattern GL_COMPRESSED_SLUMINANCE_EXT,
+  pattern GL_COMPRESSED_SRGB_ALPHA_EXT,
+  pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
+  pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
+  pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
+  pattern GL_COMPRESSED_SRGB_EXT,
+  pattern GL_COMPRESSED_SRGB_S3TC_DXT1_EXT,
+  pattern GL_SLUMINANCE8_ALPHA8_EXT,
+  pattern GL_SLUMINANCE8_EXT,
+  pattern GL_SLUMINANCE_ALPHA_EXT,
+  pattern GL_SLUMINANCE_EXT,
+  pattern GL_SRGB8_ALPHA8_EXT,
+  pattern GL_SRGB8_EXT,
+  pattern GL_SRGB_ALPHA_EXT,
+  pattern GL_SRGB_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureSRGBDecode.hs b/src/Graphics/GL/EXT/TextureSRGBDecode.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureSRGBDecode.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureSRGBDecode
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureSRGBDecode (
+  -- * Extension Support
+  glGetEXTTextureSRGBDecode,
+  gl_EXT_texture_sRGB_decode,
+  -- * Enums
+  pattern GL_DECODE_EXT,
+  pattern GL_SKIP_DECODE_EXT,
+  pattern GL_TEXTURE_SRGB_DECODE_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureSharedExponent.hs b/src/Graphics/GL/EXT/TextureSharedExponent.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureSharedExponent.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureSharedExponent
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureSharedExponent (
+  -- * Extension Support
+  glGetEXTTextureSharedExponent,
+  gl_EXT_texture_shared_exponent,
+  -- * Enums
+  pattern GL_RGB9_E5_EXT,
+  pattern GL_TEXTURE_SHARED_SIZE_EXT,
+  pattern GL_UNSIGNED_INT_5_9_9_9_REV_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TextureSwizzle.hs b/src/Graphics/GL/EXT/TextureSwizzle.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TextureSwizzle.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TextureSwizzle
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TextureSwizzle (
+  -- * Extension Support
+  glGetEXTTextureSwizzle,
+  gl_EXT_texture_swizzle,
+  -- * Enums
+  pattern GL_TEXTURE_SWIZZLE_A_EXT,
+  pattern GL_TEXTURE_SWIZZLE_B_EXT,
+  pattern GL_TEXTURE_SWIZZLE_G_EXT,
+  pattern GL_TEXTURE_SWIZZLE_RGBA_EXT,
+  pattern GL_TEXTURE_SWIZZLE_R_EXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/TimerQuery.hs b/src/Graphics/GL/EXT/TimerQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TimerQuery.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TimerQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TimerQuery (
+  -- * Extension Support
+  glGetEXTTimerQuery,
+  gl_EXT_timer_query,
+  -- * Enums
+  pattern GL_TIME_ELAPSED_EXT,
+  -- * Functions
+  glGetQueryObjecti64vEXT,
+  glGetQueryObjectui64vEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/TransformFeedback.hs b/src/Graphics/GL/EXT/TransformFeedback.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/TransformFeedback.hs
@@ -0,0 +1,46 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.TransformFeedback
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.TransformFeedback (
+  -- * Extension Support
+  glGetEXTTransformFeedback,
+  gl_EXT_transform_feedback,
+  -- * Enums
+  pattern GL_INTERLEAVED_ATTRIBS_EXT,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT,
+  pattern GL_PRIMITIVES_GENERATED_EXT,
+  pattern GL_RASTERIZER_DISCARD_EXT,
+  pattern GL_SEPARATE_ATTRIBS_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS_EXT,
+  pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT,
+  -- * Functions
+  glBeginTransformFeedbackEXT,
+  glBindBufferBaseEXT,
+  glBindBufferOffsetEXT,
+  glBindBufferRangeEXT,
+  glEndTransformFeedbackEXT,
+  glGetTransformFeedbackVaryingEXT,
+  glTransformFeedbackVaryingsEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/VertexArray.hs b/src/Graphics/GL/EXT/VertexArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/VertexArray.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.VertexArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.VertexArray (
+  -- * Extension Support
+  glGetEXTVertexArray,
+  gl_EXT_vertex_array,
+  -- * Enums
+  pattern GL_COLOR_ARRAY_COUNT_EXT,
+  pattern GL_COLOR_ARRAY_EXT,
+  pattern GL_COLOR_ARRAY_POINTER_EXT,
+  pattern GL_COLOR_ARRAY_SIZE_EXT,
+  pattern GL_COLOR_ARRAY_STRIDE_EXT,
+  pattern GL_COLOR_ARRAY_TYPE_EXT,
+  pattern GL_EDGE_FLAG_ARRAY_COUNT_EXT,
+  pattern GL_EDGE_FLAG_ARRAY_EXT,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER_EXT,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE_EXT,
+  pattern GL_INDEX_ARRAY_COUNT_EXT,
+  pattern GL_INDEX_ARRAY_EXT,
+  pattern GL_INDEX_ARRAY_POINTER_EXT,
+  pattern GL_INDEX_ARRAY_STRIDE_EXT,
+  pattern GL_INDEX_ARRAY_TYPE_EXT,
+  pattern GL_NORMAL_ARRAY_COUNT_EXT,
+  pattern GL_NORMAL_ARRAY_EXT,
+  pattern GL_NORMAL_ARRAY_POINTER_EXT,
+  pattern GL_NORMAL_ARRAY_STRIDE_EXT,
+  pattern GL_NORMAL_ARRAY_TYPE_EXT,
+  pattern GL_TEXTURE_COORD_ARRAY_COUNT_EXT,
+  pattern GL_TEXTURE_COORD_ARRAY_EXT,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER_EXT,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE_EXT,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE_EXT,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE_EXT,
+  pattern GL_VERTEX_ARRAY_COUNT_EXT,
+  pattern GL_VERTEX_ARRAY_EXT,
+  pattern GL_VERTEX_ARRAY_POINTER_EXT,
+  pattern GL_VERTEX_ARRAY_SIZE_EXT,
+  pattern GL_VERTEX_ARRAY_STRIDE_EXT,
+  pattern GL_VERTEX_ARRAY_TYPE_EXT,
+  -- * Functions
+  glArrayElementEXT,
+  glColorPointerEXT,
+  glDrawArraysEXT,
+  glEdgeFlagPointerEXT,
+  glGetPointervEXT,
+  glIndexPointerEXT,
+  glNormalPointerEXT,
+  glTexCoordPointerEXT,
+  glVertexPointerEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/VertexArrayBGRA.hs b/src/Graphics/GL/EXT/VertexArrayBGRA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/VertexArrayBGRA.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.VertexArrayBGRA
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.VertexArrayBGRA (
+  -- * Extension Support
+  glGetEXTVertexArrayBGRA,
+  gl_EXT_vertex_array_bgra,
+  -- * Enums
+  pattern GL_BGRA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/EXT/VertexAttrib64Bit.hs b/src/Graphics/GL/EXT/VertexAttrib64Bit.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/VertexAttrib64Bit.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.VertexAttrib64Bit
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.VertexAttrib64Bit (
+  -- * Extension Support
+  glGetEXTVertexAttrib64Bit,
+  gl_EXT_vertex_attrib_64bit,
+  -- * Enums
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLE_MAT2_EXT,
+  pattern GL_DOUBLE_MAT2x3_EXT,
+  pattern GL_DOUBLE_MAT2x4_EXT,
+  pattern GL_DOUBLE_MAT3_EXT,
+  pattern GL_DOUBLE_MAT3x2_EXT,
+  pattern GL_DOUBLE_MAT3x4_EXT,
+  pattern GL_DOUBLE_MAT4_EXT,
+  pattern GL_DOUBLE_MAT4x2_EXT,
+  pattern GL_DOUBLE_MAT4x3_EXT,
+  pattern GL_DOUBLE_VEC2_EXT,
+  pattern GL_DOUBLE_VEC3_EXT,
+  pattern GL_DOUBLE_VEC4_EXT,
+  -- * Functions
+  glGetVertexAttribLdvEXT,
+  glVertexAttribL1dEXT,
+  glVertexAttribL1dvEXT,
+  glVertexAttribL2dEXT,
+  glVertexAttribL2dvEXT,
+  glVertexAttribL3dEXT,
+  glVertexAttribL3dvEXT,
+  glVertexAttribL4dEXT,
+  glVertexAttribL4dvEXT,
+  glVertexAttribLPointerEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/VertexShader.hs b/src/Graphics/GL/EXT/VertexShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/VertexShader.hs
@@ -0,0 +1,176 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.VertexShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.VertexShader (
+  -- * Extension Support
+  glGetEXTVertexShader,
+  gl_EXT_vertex_shader,
+  -- * Enums
+  pattern GL_CURRENT_VERTEX_EXT,
+  pattern GL_FULL_RANGE_EXT,
+  pattern GL_INVARIANT_DATATYPE_EXT,
+  pattern GL_INVARIANT_EXT,
+  pattern GL_INVARIANT_VALUE_EXT,
+  pattern GL_LOCAL_CONSTANT_DATATYPE_EXT,
+  pattern GL_LOCAL_CONSTANT_EXT,
+  pattern GL_LOCAL_CONSTANT_VALUE_EXT,
+  pattern GL_LOCAL_EXT,
+  pattern GL_MATRIX_EXT,
+  pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT,
+  pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT,
+  pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT,
+  pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT,
+  pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT,
+  pattern GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT,
+  pattern GL_MAX_VERTEX_SHADER_INVARIANTS_EXT,
+  pattern GL_MAX_VERTEX_SHADER_LOCALS_EXT,
+  pattern GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT,
+  pattern GL_MAX_VERTEX_SHADER_VARIANTS_EXT,
+  pattern GL_MVP_MATRIX_EXT,
+  pattern GL_NEGATIVE_ONE_EXT,
+  pattern GL_NEGATIVE_W_EXT,
+  pattern GL_NEGATIVE_X_EXT,
+  pattern GL_NEGATIVE_Y_EXT,
+  pattern GL_NEGATIVE_Z_EXT,
+  pattern GL_NORMALIZED_RANGE_EXT,
+  pattern GL_ONE_EXT,
+  pattern GL_OP_ADD_EXT,
+  pattern GL_OP_CLAMP_EXT,
+  pattern GL_OP_CROSS_PRODUCT_EXT,
+  pattern GL_OP_DOT3_EXT,
+  pattern GL_OP_DOT4_EXT,
+  pattern GL_OP_EXP_BASE_2_EXT,
+  pattern GL_OP_FLOOR_EXT,
+  pattern GL_OP_FRAC_EXT,
+  pattern GL_OP_INDEX_EXT,
+  pattern GL_OP_LOG_BASE_2_EXT,
+  pattern GL_OP_MADD_EXT,
+  pattern GL_OP_MAX_EXT,
+  pattern GL_OP_MIN_EXT,
+  pattern GL_OP_MOV_EXT,
+  pattern GL_OP_MULTIPLY_MATRIX_EXT,
+  pattern GL_OP_MUL_EXT,
+  pattern GL_OP_NEGATE_EXT,
+  pattern GL_OP_POWER_EXT,
+  pattern GL_OP_RECIP_EXT,
+  pattern GL_OP_RECIP_SQRT_EXT,
+  pattern GL_OP_ROUND_EXT,
+  pattern GL_OP_SET_GE_EXT,
+  pattern GL_OP_SET_LT_EXT,
+  pattern GL_OP_SUB_EXT,
+  pattern GL_OUTPUT_COLOR0_EXT,
+  pattern GL_OUTPUT_COLOR1_EXT,
+  pattern GL_OUTPUT_FOG_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD0_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD10_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD11_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD12_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD13_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD14_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD15_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD16_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD17_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD18_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD19_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD1_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD20_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD21_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD22_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD23_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD24_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD25_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD26_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD27_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD28_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD29_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD2_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD30_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD31_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD3_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD4_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD5_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD6_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD7_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD8_EXT,
+  pattern GL_OUTPUT_TEXTURE_COORD9_EXT,
+  pattern GL_OUTPUT_VERTEX_EXT,
+  pattern GL_SCALAR_EXT,
+  pattern GL_VARIANT_ARRAY_EXT,
+  pattern GL_VARIANT_ARRAY_POINTER_EXT,
+  pattern GL_VARIANT_ARRAY_STRIDE_EXT,
+  pattern GL_VARIANT_ARRAY_TYPE_EXT,
+  pattern GL_VARIANT_DATATYPE_EXT,
+  pattern GL_VARIANT_EXT,
+  pattern GL_VARIANT_VALUE_EXT,
+  pattern GL_VECTOR_EXT,
+  pattern GL_VERTEX_SHADER_BINDING_EXT,
+  pattern GL_VERTEX_SHADER_EXT,
+  pattern GL_VERTEX_SHADER_INSTRUCTIONS_EXT,
+  pattern GL_VERTEX_SHADER_INVARIANTS_EXT,
+  pattern GL_VERTEX_SHADER_LOCALS_EXT,
+  pattern GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT,
+  pattern GL_VERTEX_SHADER_OPTIMIZED_EXT,
+  pattern GL_VERTEX_SHADER_VARIANTS_EXT,
+  pattern GL_W_EXT,
+  pattern GL_X_EXT,
+  pattern GL_Y_EXT,
+  pattern GL_ZERO_EXT,
+  pattern GL_Z_EXT,
+  -- * Functions
+  glBeginVertexShaderEXT,
+  glBindLightParameterEXT,
+  glBindMaterialParameterEXT,
+  glBindParameterEXT,
+  glBindTexGenParameterEXT,
+  glBindTextureUnitParameterEXT,
+  glBindVertexShaderEXT,
+  glDeleteVertexShaderEXT,
+  glDisableVariantClientStateEXT,
+  glEnableVariantClientStateEXT,
+  glEndVertexShaderEXT,
+  glExtractComponentEXT,
+  glGenSymbolsEXT,
+  glGenVertexShadersEXT,
+  glGetInvariantBooleanvEXT,
+  glGetInvariantFloatvEXT,
+  glGetInvariantIntegervEXT,
+  glGetLocalConstantBooleanvEXT,
+  glGetLocalConstantFloatvEXT,
+  glGetLocalConstantIntegervEXT,
+  glGetVariantBooleanvEXT,
+  glGetVariantFloatvEXT,
+  glGetVariantIntegervEXT,
+  glGetVariantPointervEXT,
+  glInsertComponentEXT,
+  glIsVariantEnabledEXT,
+  glSetInvariantEXT,
+  glSetLocalConstantEXT,
+  glShaderOp1EXT,
+  glShaderOp2EXT,
+  glShaderOp3EXT,
+  glSwizzleEXT,
+  glVariantPointerEXT,
+  glVariantbvEXT,
+  glVariantdvEXT,
+  glVariantfvEXT,
+  glVariantivEXT,
+  glVariantsvEXT,
+  glVariantubvEXT,
+  glVariantuivEXT,
+  glVariantusvEXT,
+  glWriteMaskEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/VertexWeighting.hs b/src/Graphics/GL/EXT/VertexWeighting.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/VertexWeighting.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.VertexWeighting
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.VertexWeighting (
+  -- * Extension Support
+  glGetEXTVertexWeighting,
+  gl_EXT_vertex_weighting,
+  -- * Enums
+  pattern GL_CURRENT_VERTEX_WEIGHT_EXT,
+  pattern GL_MODELVIEW0_EXT,
+  pattern GL_MODELVIEW0_MATRIX_EXT,
+  pattern GL_MODELVIEW0_STACK_DEPTH_EXT,
+  pattern GL_MODELVIEW1_EXT,
+  pattern GL_MODELVIEW1_MATRIX_EXT,
+  pattern GL_MODELVIEW1_STACK_DEPTH_EXT,
+  pattern GL_VERTEX_WEIGHTING_EXT,
+  pattern GL_VERTEX_WEIGHT_ARRAY_EXT,
+  pattern GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT,
+  pattern GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT,
+  pattern GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT,
+  pattern GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT,
+  -- * Functions
+  glVertexWeightPointerEXT,
+  glVertexWeightfEXT,
+  glVertexWeightfvEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/EXT/X11SyncObject.hs b/src/Graphics/GL/EXT/X11SyncObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/EXT/X11SyncObject.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.EXT.X11SyncObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.EXT.X11SyncObject (
+  -- * Extension Support
+  glGetEXTX11SyncObject,
+  gl_EXT_x11_sync_object,
+  -- * Enums
+  pattern GL_SYNC_X11_FENCE_EXT,
+  -- * Functions
+  glImportSyncEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ExtensionPredicates.hs b/src/Graphics/GL/ExtensionPredicates.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ExtensionPredicates.hs
@@ -0,0 +1,5124 @@
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ExtensionPredicates
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- Extension support predicates.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ExtensionPredicates where
+
+import Control.Monad.IO.Class ( MonadIO(..) )
+import Data.Set ( member )
+import Graphics.GL.GetProcAddress ( getExtensions, extensions )
+
+-- | Is the <https://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt 3DFX_multisample> extension supported?
+glGetThreeDFXMultisample :: MonadIO m => m Bool
+glGetThreeDFXMultisample = getExtensions >>= (return . member "GL_3DFX_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt 3DFX_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetThreeDFXMultisample' in those cases instead.
+gl_3DFX_multisample :: Bool
+gl_3DFX_multisample = member "GL_3DFX_multisample" extensions
+{-# NOINLINE gl_3DFX_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/3DFX/tbuffer.txt 3DFX_tbuffer> extension supported?
+glGetThreeDFXTbuffer :: MonadIO m => m Bool
+glGetThreeDFXTbuffer = getExtensions >>= (return . member "GL_3DFX_tbuffer")
+
+-- | Is the <https://www.opengl.org/registry/specs/3DFX/tbuffer.txt 3DFX_tbuffer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetThreeDFXTbuffer' in those cases instead.
+gl_3DFX_tbuffer :: Bool
+gl_3DFX_tbuffer = member "GL_3DFX_tbuffer" extensions
+{-# NOINLINE gl_3DFX_tbuffer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/3DFX/texture_compression_FXT1.txt 3DFX_texture_compression_FXT1> extension supported?
+glGetThreeDFXTextureCompressionFXT1 :: MonadIO m => m Bool
+glGetThreeDFXTextureCompressionFXT1 = getExtensions >>= (return . member "GL_3DFX_texture_compression_FXT1")
+
+-- | Is the <https://www.opengl.org/registry/specs/3DFX/texture_compression_FXT1.txt 3DFX_texture_compression_FXT1> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetThreeDFXTextureCompressionFXT1' in those cases instead.
+gl_3DFX_texture_compression_FXT1 :: Bool
+gl_3DFX_texture_compression_FXT1 = member "GL_3DFX_texture_compression_FXT1" extensions
+{-# NOINLINE gl_3DFX_texture_compression_FXT1 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/blend_minmax_factor.txt AMD_blend_minmax_factor> extension supported?
+glGetAMDBlendMinmaxFactor :: MonadIO m => m Bool
+glGetAMDBlendMinmaxFactor = getExtensions >>= (return . member "GL_AMD_blend_minmax_factor")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/blend_minmax_factor.txt AMD_blend_minmax_factor> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDBlendMinmaxFactor' in those cases instead.
+gl_AMD_blend_minmax_factor :: Bool
+gl_AMD_blend_minmax_factor = member "GL_AMD_blend_minmax_factor" extensions
+{-# NOINLINE gl_AMD_blend_minmax_factor #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/debug_output.txt AMD_debug_output> extension supported?
+glGetAMDDebugOutput :: MonadIO m => m Bool
+glGetAMDDebugOutput = getExtensions >>= (return . member "GL_AMD_debug_output")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/debug_output.txt AMD_debug_output> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDDebugOutput' in those cases instead.
+gl_AMD_debug_output :: Bool
+gl_AMD_debug_output = member "GL_AMD_debug_output" extensions
+{-# NOINLINE gl_AMD_debug_output #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/depth_clamp_separate.txt AMD_depth_clamp_separate> extension supported?
+glGetAMDDepthClampSeparate :: MonadIO m => m Bool
+glGetAMDDepthClampSeparate = getExtensions >>= (return . member "GL_AMD_depth_clamp_separate")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/depth_clamp_separate.txt AMD_depth_clamp_separate> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDDepthClampSeparate' in those cases instead.
+gl_AMD_depth_clamp_separate :: Bool
+gl_AMD_depth_clamp_separate = member "GL_AMD_depth_clamp_separate" extensions
+{-# NOINLINE gl_AMD_depth_clamp_separate #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt AMD_draw_buffers_blend> extension supported?
+glGetAMDDrawBuffersBlend :: MonadIO m => m Bool
+glGetAMDDrawBuffersBlend = getExtensions >>= (return . member "GL_AMD_draw_buffers_blend")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt AMD_draw_buffers_blend> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDDrawBuffersBlend' in those cases instead.
+gl_AMD_draw_buffers_blend :: Bool
+gl_AMD_draw_buffers_blend = member "GL_AMD_draw_buffers_blend" extensions
+{-# NOINLINE gl_AMD_draw_buffers_blend #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/gpu_shader_int64.txt AMD_gpu_shader_int64> extension supported?
+glGetAMDGPUShaderInt64 :: MonadIO m => m Bool
+glGetAMDGPUShaderInt64 = getExtensions >>= (return . member "GL_AMD_gpu_shader_int64")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/gpu_shader_int64.txt AMD_gpu_shader_int64> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDGPUShaderInt64' in those cases instead.
+gl_AMD_gpu_shader_int64 :: Bool
+gl_AMD_gpu_shader_int64 = member "GL_AMD_gpu_shader_int64" extensions
+{-# NOINLINE gl_AMD_gpu_shader_int64 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/interleaved_elements.txt AMD_interleaved_elements> extension supported?
+glGetAMDInterleavedElements :: MonadIO m => m Bool
+glGetAMDInterleavedElements = getExtensions >>= (return . member "GL_AMD_interleaved_elements")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/interleaved_elements.txt AMD_interleaved_elements> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDInterleavedElements' in those cases instead.
+gl_AMD_interleaved_elements :: Bool
+gl_AMD_interleaved_elements = member "GL_AMD_interleaved_elements" extensions
+{-# NOINLINE gl_AMD_interleaved_elements #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt AMD_multi_draw_indirect> extension supported?
+glGetAMDMultiDrawIndirect :: MonadIO m => m Bool
+glGetAMDMultiDrawIndirect = getExtensions >>= (return . member "GL_AMD_multi_draw_indirect")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt AMD_multi_draw_indirect> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDMultiDrawIndirect' in those cases instead.
+gl_AMD_multi_draw_indirect :: Bool
+gl_AMD_multi_draw_indirect = member "GL_AMD_multi_draw_indirect" extensions
+{-# NOINLINE gl_AMD_multi_draw_indirect #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/name_gen_delete.txt AMD_name_gen_delete> extension supported?
+glGetAMDNameGenDelete :: MonadIO m => m Bool
+glGetAMDNameGenDelete = getExtensions >>= (return . member "GL_AMD_name_gen_delete")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/name_gen_delete.txt AMD_name_gen_delete> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDNameGenDelete' in those cases instead.
+gl_AMD_name_gen_delete :: Bool
+gl_AMD_name_gen_delete = member "GL_AMD_name_gen_delete" extensions
+{-# NOINLINE gl_AMD_name_gen_delete #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/occlusion_query_event.txt AMD_occlusion_query_event> extension supported?
+glGetAMDOcclusionQueryEvent :: MonadIO m => m Bool
+glGetAMDOcclusionQueryEvent = getExtensions >>= (return . member "GL_AMD_occlusion_query_event")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/occlusion_query_event.txt AMD_occlusion_query_event> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDOcclusionQueryEvent' in those cases instead.
+gl_AMD_occlusion_query_event :: Bool
+gl_AMD_occlusion_query_event = member "GL_AMD_occlusion_query_event" extensions
+{-# NOINLINE gl_AMD_occlusion_query_event #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/performance_monitor.txt AMD_performance_monitor> extension supported?
+glGetAMDPerformanceMonitor :: MonadIO m => m Bool
+glGetAMDPerformanceMonitor = getExtensions >>= (return . member "GL_AMD_performance_monitor")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/performance_monitor.txt AMD_performance_monitor> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDPerformanceMonitor' in those cases instead.
+gl_AMD_performance_monitor :: Bool
+gl_AMD_performance_monitor = member "GL_AMD_performance_monitor" extensions
+{-# NOINLINE gl_AMD_performance_monitor #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/pinned_memory.txt AMD_pinned_memory> extension supported?
+glGetAMDPinnedMemory :: MonadIO m => m Bool
+glGetAMDPinnedMemory = getExtensions >>= (return . member "GL_AMD_pinned_memory")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/pinned_memory.txt AMD_pinned_memory> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDPinnedMemory' in those cases instead.
+gl_AMD_pinned_memory :: Bool
+gl_AMD_pinned_memory = member "GL_AMD_pinned_memory" extensions
+{-# NOINLINE gl_AMD_pinned_memory #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/query_buffer_object.txt AMD_query_buffer_object> extension supported?
+glGetAMDQueryBufferObject :: MonadIO m => m Bool
+glGetAMDQueryBufferObject = getExtensions >>= (return . member "GL_AMD_query_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/query_buffer_object.txt AMD_query_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDQueryBufferObject' in those cases instead.
+gl_AMD_query_buffer_object :: Bool
+gl_AMD_query_buffer_object = member "GL_AMD_query_buffer_object" extensions
+{-# NOINLINE gl_AMD_query_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/sample_positions.txt AMD_sample_positions> extension supported?
+glGetAMDSamplePositions :: MonadIO m => m Bool
+glGetAMDSamplePositions = getExtensions >>= (return . member "GL_AMD_sample_positions")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/sample_positions.txt AMD_sample_positions> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDSamplePositions' in those cases instead.
+gl_AMD_sample_positions :: Bool
+gl_AMD_sample_positions = member "GL_AMD_sample_positions" extensions
+{-# NOINLINE gl_AMD_sample_positions #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/seamless_cubemap_per_texture.txt AMD_seamless_cubemap_per_texture> extension supported?
+glGetAMDSeamlessCubemapPerTexture :: MonadIO m => m Bool
+glGetAMDSeamlessCubemapPerTexture = getExtensions >>= (return . member "GL_AMD_seamless_cubemap_per_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/seamless_cubemap_per_texture.txt AMD_seamless_cubemap_per_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDSeamlessCubemapPerTexture' in those cases instead.
+gl_AMD_seamless_cubemap_per_texture :: Bool
+gl_AMD_seamless_cubemap_per_texture = member "GL_AMD_seamless_cubemap_per_texture" extensions
+{-# NOINLINE gl_AMD_seamless_cubemap_per_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/sparse_texture.txt AMD_sparse_texture> extension supported?
+glGetAMDSparseTexture :: MonadIO m => m Bool
+glGetAMDSparseTexture = getExtensions >>= (return . member "GL_AMD_sparse_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/sparse_texture.txt AMD_sparse_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDSparseTexture' in those cases instead.
+gl_AMD_sparse_texture :: Bool
+gl_AMD_sparse_texture = member "GL_AMD_sparse_texture" extensions
+{-# NOINLINE gl_AMD_sparse_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/stencil_operation_extended.txt AMD_stencil_operation_extended> extension supported?
+glGetAMDStencilOperationExtended :: MonadIO m => m Bool
+glGetAMDStencilOperationExtended = getExtensions >>= (return . member "GL_AMD_stencil_operation_extended")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/stencil_operation_extended.txt AMD_stencil_operation_extended> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDStencilOperationExtended' in those cases instead.
+gl_AMD_stencil_operation_extended :: Bool
+gl_AMD_stencil_operation_extended = member "GL_AMD_stencil_operation_extended" extensions
+{-# NOINLINE gl_AMD_stencil_operation_extended #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/transform_feedback4.txt AMD_transform_feedback4> extension supported?
+glGetAMDTransformFeedback4 :: MonadIO m => m Bool
+glGetAMDTransformFeedback4 = getExtensions >>= (return . member "GL_AMD_transform_feedback4")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/transform_feedback4.txt AMD_transform_feedback4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDTransformFeedback4' in those cases instead.
+gl_AMD_transform_feedback4 :: Bool
+gl_AMD_transform_feedback4 = member "GL_AMD_transform_feedback4" extensions
+{-# NOINLINE gl_AMD_transform_feedback4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt AMD_vertex_shader_tessellator> extension supported?
+glGetAMDVertexShaderTessellator :: MonadIO m => m Bool
+glGetAMDVertexShaderTessellator = getExtensions >>= (return . member "GL_AMD_vertex_shader_tessellator")
+
+-- | Is the <https://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt AMD_vertex_shader_tessellator> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAMDVertexShaderTessellator' in those cases instead.
+gl_AMD_vertex_shader_tessellator :: Bool
+gl_AMD_vertex_shader_tessellator = member "GL_AMD_vertex_shader_tessellator" extensions
+{-# NOINLINE gl_AMD_vertex_shader_tessellator #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/aux_depth_stencil.txt APPLE_aux_depth_stencil> extension supported?
+glGetAPPLEAuxDepthStencil :: MonadIO m => m Bool
+glGetAPPLEAuxDepthStencil = getExtensions >>= (return . member "GL_APPLE_aux_depth_stencil")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/aux_depth_stencil.txt APPLE_aux_depth_stencil> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEAuxDepthStencil' in those cases instead.
+gl_APPLE_aux_depth_stencil :: Bool
+gl_APPLE_aux_depth_stencil = member "GL_APPLE_aux_depth_stencil" extensions
+{-# NOINLINE gl_APPLE_aux_depth_stencil #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/client_storage.txt APPLE_client_storage> extension supported?
+glGetAPPLEClientStorage :: MonadIO m => m Bool
+glGetAPPLEClientStorage = getExtensions >>= (return . member "GL_APPLE_client_storage")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/client_storage.txt APPLE_client_storage> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEClientStorage' in those cases instead.
+gl_APPLE_client_storage :: Bool
+gl_APPLE_client_storage = member "GL_APPLE_client_storage" extensions
+{-# NOINLINE gl_APPLE_client_storage #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/element_array.txt APPLE_element_array> extension supported?
+glGetAPPLEElementArray :: MonadIO m => m Bool
+glGetAPPLEElementArray = getExtensions >>= (return . member "GL_APPLE_element_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/element_array.txt APPLE_element_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEElementArray' in those cases instead.
+gl_APPLE_element_array :: Bool
+gl_APPLE_element_array = member "GL_APPLE_element_array" extensions
+{-# NOINLINE gl_APPLE_element_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/fence.txt APPLE_fence> extension supported?
+glGetAPPLEFence :: MonadIO m => m Bool
+glGetAPPLEFence = getExtensions >>= (return . member "GL_APPLE_fence")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/fence.txt APPLE_fence> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEFence' in those cases instead.
+gl_APPLE_fence :: Bool
+gl_APPLE_fence = member "GL_APPLE_fence" extensions
+{-# NOINLINE gl_APPLE_fence #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/float_pixels.txt APPLE_float_pixels> extension supported?
+glGetAPPLEFloatPixels :: MonadIO m => m Bool
+glGetAPPLEFloatPixels = getExtensions >>= (return . member "GL_APPLE_float_pixels")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/float_pixels.txt APPLE_float_pixels> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEFloatPixels' in those cases instead.
+gl_APPLE_float_pixels :: Bool
+gl_APPLE_float_pixels = member "GL_APPLE_float_pixels" extensions
+{-# NOINLINE gl_APPLE_float_pixels #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt APPLE_flush_buffer_range> extension supported?
+glGetAPPLEFlushBufferRange :: MonadIO m => m Bool
+glGetAPPLEFlushBufferRange = getExtensions >>= (return . member "GL_APPLE_flush_buffer_range")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt APPLE_flush_buffer_range> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEFlushBufferRange' in those cases instead.
+gl_APPLE_flush_buffer_range :: Bool
+gl_APPLE_flush_buffer_range = member "GL_APPLE_flush_buffer_range" extensions
+{-# NOINLINE gl_APPLE_flush_buffer_range #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/object_purgeable.txt APPLE_object_purgeable> extension supported?
+glGetAPPLEObjectPurgeable :: MonadIO m => m Bool
+glGetAPPLEObjectPurgeable = getExtensions >>= (return . member "GL_APPLE_object_purgeable")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/object_purgeable.txt APPLE_object_purgeable> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEObjectPurgeable' in those cases instead.
+gl_APPLE_object_purgeable :: Bool
+gl_APPLE_object_purgeable = member "GL_APPLE_object_purgeable" extensions
+{-# NOINLINE gl_APPLE_object_purgeable #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/rgb_422.txt APPLE_rgb_422> extension supported?
+glGetAPPLERGB422 :: MonadIO m => m Bool
+glGetAPPLERGB422 = getExtensions >>= (return . member "GL_APPLE_rgb_422")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/rgb_422.txt APPLE_rgb_422> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLERGB422' in those cases instead.
+gl_APPLE_rgb_422 :: Bool
+gl_APPLE_rgb_422 = member "GL_APPLE_rgb_422" extensions
+{-# NOINLINE gl_APPLE_rgb_422 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/row_bytes.txt APPLE_row_bytes> extension supported?
+glGetAPPLERowBytes :: MonadIO m => m Bool
+glGetAPPLERowBytes = getExtensions >>= (return . member "GL_APPLE_row_bytes")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/row_bytes.txt APPLE_row_bytes> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLERowBytes' in those cases instead.
+gl_APPLE_row_bytes :: Bool
+gl_APPLE_row_bytes = member "GL_APPLE_row_bytes" extensions
+{-# NOINLINE gl_APPLE_row_bytes #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/specular_vector.txt APPLE_specular_vector> extension supported?
+glGetAPPLESpecularVector :: MonadIO m => m Bool
+glGetAPPLESpecularVector = getExtensions >>= (return . member "GL_APPLE_specular_vector")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/specular_vector.txt APPLE_specular_vector> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLESpecularVector' in those cases instead.
+gl_APPLE_specular_vector :: Bool
+gl_APPLE_specular_vector = member "GL_APPLE_specular_vector" extensions
+{-# NOINLINE gl_APPLE_specular_vector #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/texture_range.txt APPLE_texture_range> extension supported?
+glGetAPPLETextureRange :: MonadIO m => m Bool
+glGetAPPLETextureRange = getExtensions >>= (return . member "GL_APPLE_texture_range")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/texture_range.txt APPLE_texture_range> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLETextureRange' in those cases instead.
+gl_APPLE_texture_range :: Bool
+gl_APPLE_texture_range = member "GL_APPLE_texture_range" extensions
+{-# NOINLINE gl_APPLE_texture_range #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/transform_hint.txt APPLE_transform_hint> extension supported?
+glGetAPPLETransformHint :: MonadIO m => m Bool
+glGetAPPLETransformHint = getExtensions >>= (return . member "GL_APPLE_transform_hint")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/transform_hint.txt APPLE_transform_hint> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLETransformHint' in those cases instead.
+gl_APPLE_transform_hint :: Bool
+gl_APPLE_transform_hint = member "GL_APPLE_transform_hint" extensions
+{-# NOINLINE gl_APPLE_transform_hint #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt APPLE_vertex_array_object> extension supported?
+glGetAPPLEVertexArrayObject :: MonadIO m => m Bool
+glGetAPPLEVertexArrayObject = getExtensions >>= (return . member "GL_APPLE_vertex_array_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt APPLE_vertex_array_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEVertexArrayObject' in those cases instead.
+gl_APPLE_vertex_array_object :: Bool
+gl_APPLE_vertex_array_object = member "GL_APPLE_vertex_array_object" extensions
+{-# NOINLINE gl_APPLE_vertex_array_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt APPLE_vertex_array_range> extension supported?
+glGetAPPLEVertexArrayRange :: MonadIO m => m Bool
+glGetAPPLEVertexArrayRange = getExtensions >>= (return . member "GL_APPLE_vertex_array_range")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt APPLE_vertex_array_range> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEVertexArrayRange' in those cases instead.
+gl_APPLE_vertex_array_range :: Bool
+gl_APPLE_vertex_array_range = member "GL_APPLE_vertex_array_range" extensions
+{-# NOINLINE gl_APPLE_vertex_array_range #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt APPLE_vertex_program_evaluators> extension supported?
+glGetAPPLEVertexProgramEvaluators :: MonadIO m => m Bool
+glGetAPPLEVertexProgramEvaluators = getExtensions >>= (return . member "GL_APPLE_vertex_program_evaluators")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt APPLE_vertex_program_evaluators> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEVertexProgramEvaluators' in those cases instead.
+gl_APPLE_vertex_program_evaluators :: Bool
+gl_APPLE_vertex_program_evaluators = member "GL_APPLE_vertex_program_evaluators" extensions
+{-# NOINLINE gl_APPLE_vertex_program_evaluators #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt APPLE_ycbcr_422> extension supported?
+glGetAPPLEYCbCr422 :: MonadIO m => m Bool
+glGetAPPLEYCbCr422 = getExtensions >>= (return . member "GL_APPLE_ycbcr_422")
+
+-- | Is the <https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt APPLE_ycbcr_422> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetAPPLEYCbCr422' in those cases instead.
+gl_APPLE_ycbcr_422 :: Bool
+gl_APPLE_ycbcr_422 = member "GL_APPLE_ycbcr_422" extensions
+{-# NOINLINE gl_APPLE_ycbcr_422 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt ARB_ES2_compatibility> extension supported?
+glGetARBES2Compatibility :: MonadIO m => m Bool
+glGetARBES2Compatibility = getExtensions >>= (return . member "GL_ARB_ES2_compatibility")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt ARB_ES2_compatibility> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBES2Compatibility' in those cases instead.
+gl_ARB_ES2_compatibility :: Bool
+gl_ARB_ES2_compatibility = member "GL_ARB_ES2_compatibility" extensions
+{-# NOINLINE gl_ARB_ES2_compatibility #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_1_compatibility.txt ARB_ES3_1_compatibility> extension supported?
+glGetARBES31Compatibility :: MonadIO m => m Bool
+glGetARBES31Compatibility = getExtensions >>= (return . member "GL_ARB_ES3_1_compatibility")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_1_compatibility.txt ARB_ES3_1_compatibility> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBES31Compatibility' in those cases instead.
+gl_ARB_ES3_1_compatibility :: Bool
+gl_ARB_ES3_1_compatibility = member "GL_ARB_ES3_1_compatibility" extensions
+{-# NOINLINE gl_ARB_ES3_1_compatibility #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_2_compatibility.txt ARB_ES3_2_compatibility> extension supported?
+glGetARBES32Compatibility :: MonadIO m => m Bool
+glGetARBES32Compatibility = getExtensions >>= (return . member "GL_ARB_ES3_2_compatibility")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_2_compatibility.txt ARB_ES3_2_compatibility> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBES32Compatibility' in those cases instead.
+gl_ARB_ES3_2_compatibility :: Bool
+gl_ARB_ES3_2_compatibility = member "GL_ARB_ES3_2_compatibility" extensions
+{-# NOINLINE gl_ARB_ES3_2_compatibility #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_compatibility.txt ARB_ES3_compatibility> extension supported?
+glGetARBES3Compatibility :: MonadIO m => m Bool
+glGetARBES3Compatibility = getExtensions >>= (return . member "GL_ARB_ES3_compatibility")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_compatibility.txt ARB_ES3_compatibility> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBES3Compatibility' in those cases instead.
+gl_ARB_ES3_compatibility :: Bool
+gl_ARB_ES3_compatibility = member "GL_ARB_ES3_compatibility" extensions
+{-# NOINLINE gl_ARB_ES3_compatibility #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/base_instance.txt ARB_base_instance> extension supported?
+glGetARBBaseInstance :: MonadIO m => m Bool
+glGetARBBaseInstance = getExtensions >>= (return . member "GL_ARB_base_instance")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/base_instance.txt ARB_base_instance> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBBaseInstance' in those cases instead.
+gl_ARB_base_instance :: Bool
+gl_ARB_base_instance = member "GL_ARB_base_instance" extensions
+{-# NOINLINE gl_ARB_base_instance #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/bindless_texture.txt ARB_bindless_texture> extension supported?
+glGetARBBindlessTexture :: MonadIO m => m Bool
+glGetARBBindlessTexture = getExtensions >>= (return . member "GL_ARB_bindless_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/bindless_texture.txt ARB_bindless_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBBindlessTexture' in those cases instead.
+gl_ARB_bindless_texture :: Bool
+gl_ARB_bindless_texture = member "GL_ARB_bindless_texture" extensions
+{-# NOINLINE gl_ARB_bindless_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/blend_func_extended.txt ARB_blend_func_extended> extension supported?
+glGetARBBlendFuncExtended :: MonadIO m => m Bool
+glGetARBBlendFuncExtended = getExtensions >>= (return . member "GL_ARB_blend_func_extended")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/blend_func_extended.txt ARB_blend_func_extended> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBBlendFuncExtended' in those cases instead.
+gl_ARB_blend_func_extended :: Bool
+gl_ARB_blend_func_extended = member "GL_ARB_blend_func_extended" extensions
+{-# NOINLINE gl_ARB_blend_func_extended #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/buffer_storage.txt ARB_buffer_storage> extension supported?
+glGetARBBufferStorage :: MonadIO m => m Bool
+glGetARBBufferStorage = getExtensions >>= (return . member "GL_ARB_buffer_storage")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/buffer_storage.txt ARB_buffer_storage> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBBufferStorage' in those cases instead.
+gl_ARB_buffer_storage :: Bool
+gl_ARB_buffer_storage = member "GL_ARB_buffer_storage" extensions
+{-# NOINLINE gl_ARB_buffer_storage #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/cl_event.txt ARB_cl_event> extension supported?
+glGetARBCLEvent :: MonadIO m => m Bool
+glGetARBCLEvent = getExtensions >>= (return . member "GL_ARB_cl_event")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/cl_event.txt ARB_cl_event> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBCLEvent' in those cases instead.
+gl_ARB_cl_event :: Bool
+gl_ARB_cl_event = member "GL_ARB_cl_event" extensions
+{-# NOINLINE gl_ARB_cl_event #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/clear_buffer_object.txt ARB_clear_buffer_object> extension supported?
+glGetARBClearBufferObject :: MonadIO m => m Bool
+glGetARBClearBufferObject = getExtensions >>= (return . member "GL_ARB_clear_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/clear_buffer_object.txt ARB_clear_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBClearBufferObject' in those cases instead.
+gl_ARB_clear_buffer_object :: Bool
+gl_ARB_clear_buffer_object = member "GL_ARB_clear_buffer_object" extensions
+{-# NOINLINE gl_ARB_clear_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/clear_texture.txt ARB_clear_texture> extension supported?
+glGetARBClearTexture :: MonadIO m => m Bool
+glGetARBClearTexture = getExtensions >>= (return . member "GL_ARB_clear_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/clear_texture.txt ARB_clear_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBClearTexture' in those cases instead.
+gl_ARB_clear_texture :: Bool
+gl_ARB_clear_texture = member "GL_ARB_clear_texture" extensions
+{-# NOINLINE gl_ARB_clear_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/clip_control.txt ARB_clip_control> extension supported?
+glGetARBClipControl :: MonadIO m => m Bool
+glGetARBClipControl = getExtensions >>= (return . member "GL_ARB_clip_control")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/clip_control.txt ARB_clip_control> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBClipControl' in those cases instead.
+gl_ARB_clip_control :: Bool
+gl_ARB_clip_control = member "GL_ARB_clip_control" extensions
+{-# NOINLINE gl_ARB_clip_control #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/color_buffer_float.txt ARB_color_buffer_float> extension supported?
+glGetARBColorBufferFloat :: MonadIO m => m Bool
+glGetARBColorBufferFloat = getExtensions >>= (return . member "GL_ARB_color_buffer_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/color_buffer_float.txt ARB_color_buffer_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBColorBufferFloat' in those cases instead.
+gl_ARB_color_buffer_float :: Bool
+gl_ARB_color_buffer_float = member "GL_ARB_color_buffer_float" extensions
+{-# NOINLINE gl_ARB_color_buffer_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/compressed_texture_pixel_storage.txt ARB_compressed_texture_pixel_storage> extension supported?
+glGetARBCompressedTexturePixelStorage :: MonadIO m => m Bool
+glGetARBCompressedTexturePixelStorage = getExtensions >>= (return . member "GL_ARB_compressed_texture_pixel_storage")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/compressed_texture_pixel_storage.txt ARB_compressed_texture_pixel_storage> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBCompressedTexturePixelStorage' in those cases instead.
+gl_ARB_compressed_texture_pixel_storage :: Bool
+gl_ARB_compressed_texture_pixel_storage = member "GL_ARB_compressed_texture_pixel_storage" extensions
+{-# NOINLINE gl_ARB_compressed_texture_pixel_storage #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/compute_shader.txt ARB_compute_shader> extension supported?
+glGetARBComputeShader :: MonadIO m => m Bool
+glGetARBComputeShader = getExtensions >>= (return . member "GL_ARB_compute_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/compute_shader.txt ARB_compute_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBComputeShader' in those cases instead.
+gl_ARB_compute_shader :: Bool
+gl_ARB_compute_shader = member "GL_ARB_compute_shader" extensions
+{-# NOINLINE gl_ARB_compute_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/compute_variable_group_size.txt ARB_compute_variable_group_size> extension supported?
+glGetARBComputeVariableGroupSize :: MonadIO m => m Bool
+glGetARBComputeVariableGroupSize = getExtensions >>= (return . member "GL_ARB_compute_variable_group_size")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/compute_variable_group_size.txt ARB_compute_variable_group_size> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBComputeVariableGroupSize' in those cases instead.
+gl_ARB_compute_variable_group_size :: Bool
+gl_ARB_compute_variable_group_size = member "GL_ARB_compute_variable_group_size" extensions
+{-# NOINLINE gl_ARB_compute_variable_group_size #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/conditional_render_inverted.txt ARB_conditional_render_inverted> extension supported?
+glGetARBConditionalRenderInverted :: MonadIO m => m Bool
+glGetARBConditionalRenderInverted = getExtensions >>= (return . member "GL_ARB_conditional_render_inverted")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/conditional_render_inverted.txt ARB_conditional_render_inverted> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBConditionalRenderInverted' in those cases instead.
+gl_ARB_conditional_render_inverted :: Bool
+gl_ARB_conditional_render_inverted = member "GL_ARB_conditional_render_inverted" extensions
+{-# NOINLINE gl_ARB_conditional_render_inverted #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/copy_buffer.txt ARB_copy_buffer> extension supported?
+glGetARBCopyBuffer :: MonadIO m => m Bool
+glGetARBCopyBuffer = getExtensions >>= (return . member "GL_ARB_copy_buffer")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/copy_buffer.txt ARB_copy_buffer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBCopyBuffer' in those cases instead.
+gl_ARB_copy_buffer :: Bool
+gl_ARB_copy_buffer = member "GL_ARB_copy_buffer" extensions
+{-# NOINLINE gl_ARB_copy_buffer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/copy_image.txt ARB_copy_image> extension supported?
+glGetARBCopyImage :: MonadIO m => m Bool
+glGetARBCopyImage = getExtensions >>= (return . member "GL_ARB_copy_image")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/copy_image.txt ARB_copy_image> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBCopyImage' in those cases instead.
+gl_ARB_copy_image :: Bool
+gl_ARB_copy_image = member "GL_ARB_copy_image" extensions
+{-# NOINLINE gl_ARB_copy_image #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/cull_distance.txt ARB_cull_distance> extension supported?
+glGetARBCullDistance :: MonadIO m => m Bool
+glGetARBCullDistance = getExtensions >>= (return . member "GL_ARB_cull_distance")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/cull_distance.txt ARB_cull_distance> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBCullDistance' in those cases instead.
+gl_ARB_cull_distance :: Bool
+gl_ARB_cull_distance = member "GL_ARB_cull_distance" extensions
+{-# NOINLINE gl_ARB_cull_distance #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/debug_output.txt ARB_debug_output> extension supported?
+glGetARBDebugOutput :: MonadIO m => m Bool
+glGetARBDebugOutput = getExtensions >>= (return . member "GL_ARB_debug_output")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/debug_output.txt ARB_debug_output> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDebugOutput' in those cases instead.
+gl_ARB_debug_output :: Bool
+gl_ARB_debug_output = member "GL_ARB_debug_output" extensions
+{-# NOINLINE gl_ARB_debug_output #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt ARB_depth_buffer_float> extension supported?
+glGetARBDepthBufferFloat :: MonadIO m => m Bool
+glGetARBDepthBufferFloat = getExtensions >>= (return . member "GL_ARB_depth_buffer_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt ARB_depth_buffer_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDepthBufferFloat' in those cases instead.
+gl_ARB_depth_buffer_float :: Bool
+gl_ARB_depth_buffer_float = member "GL_ARB_depth_buffer_float" extensions
+{-# NOINLINE gl_ARB_depth_buffer_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/depth_clamp.txt ARB_depth_clamp> extension supported?
+glGetARBDepthClamp :: MonadIO m => m Bool
+glGetARBDepthClamp = getExtensions >>= (return . member "GL_ARB_depth_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/depth_clamp.txt ARB_depth_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDepthClamp' in those cases instead.
+gl_ARB_depth_clamp :: Bool
+gl_ARB_depth_clamp = member "GL_ARB_depth_clamp" extensions
+{-# NOINLINE gl_ARB_depth_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/depth_texture.txt ARB_depth_texture> extension supported?
+glGetARBDepthTexture :: MonadIO m => m Bool
+glGetARBDepthTexture = getExtensions >>= (return . member "GL_ARB_depth_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/depth_texture.txt ARB_depth_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDepthTexture' in those cases instead.
+gl_ARB_depth_texture :: Bool
+gl_ARB_depth_texture = member "GL_ARB_depth_texture" extensions
+{-# NOINLINE gl_ARB_depth_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/direct_state_access.txt ARB_direct_state_access> extension supported?
+glGetARBDirectStateAccess :: MonadIO m => m Bool
+glGetARBDirectStateAccess = getExtensions >>= (return . member "GL_ARB_direct_state_access")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/direct_state_access.txt ARB_direct_state_access> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDirectStateAccess' in those cases instead.
+gl_ARB_direct_state_access :: Bool
+gl_ARB_direct_state_access = member "GL_ARB_direct_state_access" extensions
+{-# NOINLINE gl_ARB_direct_state_access #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers.txt ARB_draw_buffers> extension supported?
+glGetARBDrawBuffers :: MonadIO m => m Bool
+glGetARBDrawBuffers = getExtensions >>= (return . member "GL_ARB_draw_buffers")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers.txt ARB_draw_buffers> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDrawBuffers' in those cases instead.
+gl_ARB_draw_buffers :: Bool
+gl_ARB_draw_buffers = member "GL_ARB_draw_buffers" extensions
+{-# NOINLINE gl_ARB_draw_buffers #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt ARB_draw_buffers_blend> extension supported?
+glGetARBDrawBuffersBlend :: MonadIO m => m Bool
+glGetARBDrawBuffersBlend = getExtensions >>= (return . member "GL_ARB_draw_buffers_blend")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt ARB_draw_buffers_blend> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDrawBuffersBlend' in those cases instead.
+gl_ARB_draw_buffers_blend :: Bool
+gl_ARB_draw_buffers_blend = member "GL_ARB_draw_buffers_blend" extensions
+{-# NOINLINE gl_ARB_draw_buffers_blend #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt ARB_draw_elements_base_vertex> extension supported?
+glGetARBDrawElementsBaseVertex :: MonadIO m => m Bool
+glGetARBDrawElementsBaseVertex = getExtensions >>= (return . member "GL_ARB_draw_elements_base_vertex")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt ARB_draw_elements_base_vertex> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDrawElementsBaseVertex' in those cases instead.
+gl_ARB_draw_elements_base_vertex :: Bool
+gl_ARB_draw_elements_base_vertex = member "GL_ARB_draw_elements_base_vertex" extensions
+{-# NOINLINE gl_ARB_draw_elements_base_vertex #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_indirect.txt ARB_draw_indirect> extension supported?
+glGetARBDrawIndirect :: MonadIO m => m Bool
+glGetARBDrawIndirect = getExtensions >>= (return . member "GL_ARB_draw_indirect")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_indirect.txt ARB_draw_indirect> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDrawIndirect' in those cases instead.
+gl_ARB_draw_indirect :: Bool
+gl_ARB_draw_indirect = member "GL_ARB_draw_indirect" extensions
+{-# NOINLINE gl_ARB_draw_indirect #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_instanced.txt ARB_draw_instanced> extension supported?
+glGetARBDrawInstanced :: MonadIO m => m Bool
+glGetARBDrawInstanced = getExtensions >>= (return . member "GL_ARB_draw_instanced")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/draw_instanced.txt ARB_draw_instanced> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBDrawInstanced' in those cases instead.
+gl_ARB_draw_instanced :: Bool
+gl_ARB_draw_instanced = member "GL_ARB_draw_instanced" extensions
+{-# NOINLINE gl_ARB_draw_instanced #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/enhanced_layouts.txt ARB_enhanced_layouts> extension supported?
+glGetARBEnhancedLayouts :: MonadIO m => m Bool
+glGetARBEnhancedLayouts = getExtensions >>= (return . member "GL_ARB_enhanced_layouts")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/enhanced_layouts.txt ARB_enhanced_layouts> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBEnhancedLayouts' in those cases instead.
+gl_ARB_enhanced_layouts :: Bool
+gl_ARB_enhanced_layouts = member "GL_ARB_enhanced_layouts" extensions
+{-# NOINLINE gl_ARB_enhanced_layouts #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/explicit_uniform_location.txt ARB_explicit_uniform_location> extension supported?
+glGetARBExplicitUniformLocation :: MonadIO m => m Bool
+glGetARBExplicitUniformLocation = getExtensions >>= (return . member "GL_ARB_explicit_uniform_location")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/explicit_uniform_location.txt ARB_explicit_uniform_location> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBExplicitUniformLocation' in those cases instead.
+gl_ARB_explicit_uniform_location :: Bool
+gl_ARB_explicit_uniform_location = member "GL_ARB_explicit_uniform_location" extensions
+{-# NOINLINE gl_ARB_explicit_uniform_location #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_program.txt ARB_fragment_program> extension supported?
+glGetARBFragmentProgram :: MonadIO m => m Bool
+glGetARBFragmentProgram = getExtensions >>= (return . member "GL_ARB_fragment_program")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_program.txt ARB_fragment_program> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBFragmentProgram' in those cases instead.
+gl_ARB_fragment_program :: Bool
+gl_ARB_fragment_program = member "GL_ARB_fragment_program" extensions
+{-# NOINLINE gl_ARB_fragment_program #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_shader.txt ARB_fragment_shader> extension supported?
+glGetARBFragmentShader :: MonadIO m => m Bool
+glGetARBFragmentShader = getExtensions >>= (return . member "GL_ARB_fragment_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_shader.txt ARB_fragment_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBFragmentShader' in those cases instead.
+gl_ARB_fragment_shader :: Bool
+gl_ARB_fragment_shader = member "GL_ARB_fragment_shader" extensions
+{-# NOINLINE gl_ARB_fragment_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_no_attachments.txt ARB_framebuffer_no_attachments> extension supported?
+glGetARBFramebufferNoAttachments :: MonadIO m => m Bool
+glGetARBFramebufferNoAttachments = getExtensions >>= (return . member "GL_ARB_framebuffer_no_attachments")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_no_attachments.txt ARB_framebuffer_no_attachments> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBFramebufferNoAttachments' in those cases instead.
+gl_ARB_framebuffer_no_attachments :: Bool
+gl_ARB_framebuffer_no_attachments = member "GL_ARB_framebuffer_no_attachments" extensions
+{-# NOINLINE gl_ARB_framebuffer_no_attachments #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt ARB_framebuffer_object> extension supported?
+glGetARBFramebufferObject :: MonadIO m => m Bool
+glGetARBFramebufferObject = getExtensions >>= (return . member "GL_ARB_framebuffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt ARB_framebuffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBFramebufferObject' in those cases instead.
+gl_ARB_framebuffer_object :: Bool
+gl_ARB_framebuffer_object = member "GL_ARB_framebuffer_object" extensions
+{-# NOINLINE gl_ARB_framebuffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt ARB_framebuffer_sRGB> extension supported?
+glGetARBFramebufferSRGB :: MonadIO m => m Bool
+glGetARBFramebufferSRGB = getExtensions >>= (return . member "GL_ARB_framebuffer_sRGB")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt ARB_framebuffer_sRGB> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBFramebufferSRGB' in those cases instead.
+gl_ARB_framebuffer_sRGB :: Bool
+gl_ARB_framebuffer_sRGB = member "GL_ARB_framebuffer_sRGB" extensions
+{-# NOINLINE gl_ARB_framebuffer_sRGB #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt ARB_geometry_shader4> extension supported?
+glGetARBGeometryShader4 :: MonadIO m => m Bool
+glGetARBGeometryShader4 = getExtensions >>= (return . member "GL_ARB_geometry_shader4")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt ARB_geometry_shader4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBGeometryShader4' in those cases instead.
+gl_ARB_geometry_shader4 :: Bool
+gl_ARB_geometry_shader4 = member "GL_ARB_geometry_shader4" extensions
+{-# NOINLINE gl_ARB_geometry_shader4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/get_program_binary.txt ARB_get_program_binary> extension supported?
+glGetARBGetProgramBinary :: MonadIO m => m Bool
+glGetARBGetProgramBinary = getExtensions >>= (return . member "GL_ARB_get_program_binary")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/get_program_binary.txt ARB_get_program_binary> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBGetProgramBinary' in those cases instead.
+gl_ARB_get_program_binary :: Bool
+gl_ARB_get_program_binary = member "GL_ARB_get_program_binary" extensions
+{-# NOINLINE gl_ARB_get_program_binary #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/get_texture_sub_image.txt ARB_get_texture_sub_image> extension supported?
+glGetARBGetTextureSubImage :: MonadIO m => m Bool
+glGetARBGetTextureSubImage = getExtensions >>= (return . member "GL_ARB_get_texture_sub_image")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/get_texture_sub_image.txt ARB_get_texture_sub_image> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBGetTextureSubImage' in those cases instead.
+gl_ARB_get_texture_sub_image :: Bool
+gl_ARB_get_texture_sub_image = member "GL_ARB_get_texture_sub_image" extensions
+{-# NOINLINE gl_ARB_get_texture_sub_image #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader5.txt ARB_gpu_shader5> extension supported?
+glGetARBGPUShader5 :: MonadIO m => m Bool
+glGetARBGPUShader5 = getExtensions >>= (return . member "GL_ARB_gpu_shader5")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader5.txt ARB_gpu_shader5> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBGPUShader5' in those cases instead.
+gl_ARB_gpu_shader5 :: Bool
+gl_ARB_gpu_shader5 = member "GL_ARB_gpu_shader5" extensions
+{-# NOINLINE gl_ARB_gpu_shader5 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt ARB_gpu_shader_fp64> extension supported?
+glGetARBGPUShaderFP64 :: MonadIO m => m Bool
+glGetARBGPUShaderFP64 = getExtensions >>= (return . member "GL_ARB_gpu_shader_fp64")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt ARB_gpu_shader_fp64> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBGPUShaderFP64' in those cases instead.
+gl_ARB_gpu_shader_fp64 :: Bool
+gl_ARB_gpu_shader_fp64 = member "GL_ARB_gpu_shader_fp64" extensions
+{-# NOINLINE gl_ARB_gpu_shader_fp64 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_int64.txt ARB_gpu_shader_int64> extension supported?
+glGetARBGPUShaderInt64 :: MonadIO m => m Bool
+glGetARBGPUShaderInt64 = getExtensions >>= (return . member "GL_ARB_gpu_shader_int64")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_int64.txt ARB_gpu_shader_int64> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBGPUShaderInt64' in those cases instead.
+gl_ARB_gpu_shader_int64 :: Bool
+gl_ARB_gpu_shader_int64 = member "GL_ARB_gpu_shader_int64" extensions
+{-# NOINLINE gl_ARB_gpu_shader_int64 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_pixel.txt ARB_half_float_pixel> extension supported?
+glGetARBHalfFloatPixel :: MonadIO m => m Bool
+glGetARBHalfFloatPixel = getExtensions >>= (return . member "GL_ARB_half_float_pixel")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_pixel.txt ARB_half_float_pixel> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBHalfFloatPixel' in those cases instead.
+gl_ARB_half_float_pixel :: Bool
+gl_ARB_half_float_pixel = member "GL_ARB_half_float_pixel" extensions
+{-# NOINLINE gl_ARB_half_float_pixel #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_vertex.txt ARB_half_float_vertex> extension supported?
+glGetARBHalfFloatVertex :: MonadIO m => m Bool
+glGetARBHalfFloatVertex = getExtensions >>= (return . member "GL_ARB_half_float_vertex")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_vertex.txt ARB_half_float_vertex> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBHalfFloatVertex' in those cases instead.
+gl_ARB_half_float_vertex :: Bool
+gl_ARB_half_float_vertex = member "GL_ARB_half_float_vertex" extensions
+{-# NOINLINE gl_ARB_half_float_vertex #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/imaging.txt ARB_imaging> extension supported?
+glGetARBImaging :: MonadIO m => m Bool
+glGetARBImaging = getExtensions >>= (return . member "GL_ARB_imaging")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/imaging.txt ARB_imaging> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBImaging' in those cases instead.
+gl_ARB_imaging :: Bool
+gl_ARB_imaging = member "GL_ARB_imaging" extensions
+{-# NOINLINE gl_ARB_imaging #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/indirect_parameters.txt ARB_indirect_parameters> extension supported?
+glGetARBIndirectParameters :: MonadIO m => m Bool
+glGetARBIndirectParameters = getExtensions >>= (return . member "GL_ARB_indirect_parameters")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/indirect_parameters.txt ARB_indirect_parameters> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBIndirectParameters' in those cases instead.
+gl_ARB_indirect_parameters :: Bool
+gl_ARB_indirect_parameters = member "GL_ARB_indirect_parameters" extensions
+{-# NOINLINE gl_ARB_indirect_parameters #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/instanced_arrays.txt ARB_instanced_arrays> extension supported?
+glGetARBInstancedArrays :: MonadIO m => m Bool
+glGetARBInstancedArrays = getExtensions >>= (return . member "GL_ARB_instanced_arrays")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/instanced_arrays.txt ARB_instanced_arrays> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBInstancedArrays' in those cases instead.
+gl_ARB_instanced_arrays :: Bool
+gl_ARB_instanced_arrays = member "GL_ARB_instanced_arrays" extensions
+{-# NOINLINE gl_ARB_instanced_arrays #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query.txt ARB_internalformat_query> extension supported?
+glGetARBInternalformatQuery :: MonadIO m => m Bool
+glGetARBInternalformatQuery = getExtensions >>= (return . member "GL_ARB_internalformat_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query.txt ARB_internalformat_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBInternalformatQuery' in those cases instead.
+gl_ARB_internalformat_query :: Bool
+gl_ARB_internalformat_query = member "GL_ARB_internalformat_query" extensions
+{-# NOINLINE gl_ARB_internalformat_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query2.txt ARB_internalformat_query2> extension supported?
+glGetARBInternalformatQuery2 :: MonadIO m => m Bool
+glGetARBInternalformatQuery2 = getExtensions >>= (return . member "GL_ARB_internalformat_query2")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query2.txt ARB_internalformat_query2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBInternalformatQuery2' in those cases instead.
+gl_ARB_internalformat_query2 :: Bool
+gl_ARB_internalformat_query2 = member "GL_ARB_internalformat_query2" extensions
+{-# NOINLINE gl_ARB_internalformat_query2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/invalidate_subdata.txt ARB_invalidate_subdata> extension supported?
+glGetARBInvalidateSubdata :: MonadIO m => m Bool
+glGetARBInvalidateSubdata = getExtensions >>= (return . member "GL_ARB_invalidate_subdata")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/invalidate_subdata.txt ARB_invalidate_subdata> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBInvalidateSubdata' in those cases instead.
+gl_ARB_invalidate_subdata :: Bool
+gl_ARB_invalidate_subdata = member "GL_ARB_invalidate_subdata" extensions
+{-# NOINLINE gl_ARB_invalidate_subdata #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_alignment.txt ARB_map_buffer_alignment> extension supported?
+glGetARBMapBufferAlignment :: MonadIO m => m Bool
+glGetARBMapBufferAlignment = getExtensions >>= (return . member "GL_ARB_map_buffer_alignment")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_alignment.txt ARB_map_buffer_alignment> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBMapBufferAlignment' in those cases instead.
+gl_ARB_map_buffer_alignment :: Bool
+gl_ARB_map_buffer_alignment = member "GL_ARB_map_buffer_alignment" extensions
+{-# NOINLINE gl_ARB_map_buffer_alignment #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_range.txt ARB_map_buffer_range> extension supported?
+glGetARBMapBufferRange :: MonadIO m => m Bool
+glGetARBMapBufferRange = getExtensions >>= (return . member "GL_ARB_map_buffer_range")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_range.txt ARB_map_buffer_range> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBMapBufferRange' in those cases instead.
+gl_ARB_map_buffer_range :: Bool
+gl_ARB_map_buffer_range = member "GL_ARB_map_buffer_range" extensions
+{-# NOINLINE gl_ARB_map_buffer_range #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/matrix_palette.txt ARB_matrix_palette> extension supported?
+glGetARBMatrixPalette :: MonadIO m => m Bool
+glGetARBMatrixPalette = getExtensions >>= (return . member "GL_ARB_matrix_palette")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/matrix_palette.txt ARB_matrix_palette> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBMatrixPalette' in those cases instead.
+gl_ARB_matrix_palette :: Bool
+gl_ARB_matrix_palette = member "GL_ARB_matrix_palette" extensions
+{-# NOINLINE gl_ARB_matrix_palette #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multi_bind.txt ARB_multi_bind> extension supported?
+glGetARBMultiBind :: MonadIO m => m Bool
+glGetARBMultiBind = getExtensions >>= (return . member "GL_ARB_multi_bind")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multi_bind.txt ARB_multi_bind> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBMultiBind' in those cases instead.
+gl_ARB_multi_bind :: Bool
+gl_ARB_multi_bind = member "GL_ARB_multi_bind" extensions
+{-# NOINLINE gl_ARB_multi_bind #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multi_draw_indirect.txt ARB_multi_draw_indirect> extension supported?
+glGetARBMultiDrawIndirect :: MonadIO m => m Bool
+glGetARBMultiDrawIndirect = getExtensions >>= (return . member "GL_ARB_multi_draw_indirect")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multi_draw_indirect.txt ARB_multi_draw_indirect> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBMultiDrawIndirect' in those cases instead.
+gl_ARB_multi_draw_indirect :: Bool
+gl_ARB_multi_draw_indirect = member "GL_ARB_multi_draw_indirect" extensions
+{-# NOINLINE gl_ARB_multi_draw_indirect #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multisample.txt ARB_multisample> extension supported?
+glGetARBMultisample :: MonadIO m => m Bool
+glGetARBMultisample = getExtensions >>= (return . member "GL_ARB_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multisample.txt ARB_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBMultisample' in those cases instead.
+gl_ARB_multisample :: Bool
+gl_ARB_multisample = member "GL_ARB_multisample" extensions
+{-# NOINLINE gl_ARB_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multitexture.txt ARB_multitexture> extension supported?
+glGetARBMultitexture :: MonadIO m => m Bool
+glGetARBMultitexture = getExtensions >>= (return . member "GL_ARB_multitexture")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/multitexture.txt ARB_multitexture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBMultitexture' in those cases instead.
+gl_ARB_multitexture :: Bool
+gl_ARB_multitexture = member "GL_ARB_multitexture" extensions
+{-# NOINLINE gl_ARB_multitexture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query.txt ARB_occlusion_query> extension supported?
+glGetARBOcclusionQuery :: MonadIO m => m Bool
+glGetARBOcclusionQuery = getExtensions >>= (return . member "GL_ARB_occlusion_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query.txt ARB_occlusion_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBOcclusionQuery' in those cases instead.
+gl_ARB_occlusion_query :: Bool
+gl_ARB_occlusion_query = member "GL_ARB_occlusion_query" extensions
+{-# NOINLINE gl_ARB_occlusion_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query2.txt ARB_occlusion_query2> extension supported?
+glGetARBOcclusionQuery2 :: MonadIO m => m Bool
+glGetARBOcclusionQuery2 = getExtensions >>= (return . member "GL_ARB_occlusion_query2")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query2.txt ARB_occlusion_query2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBOcclusionQuery2' in those cases instead.
+gl_ARB_occlusion_query2 :: Bool
+gl_ARB_occlusion_query2 = member "GL_ARB_occlusion_query2" extensions
+{-# NOINLINE gl_ARB_occlusion_query2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/parallel_shader_compile.txt ARB_parallel_shader_compile> extension supported?
+glGetARBParallelShaderCompile :: MonadIO m => m Bool
+glGetARBParallelShaderCompile = getExtensions >>= (return . member "GL_ARB_parallel_shader_compile")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/parallel_shader_compile.txt ARB_parallel_shader_compile> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBParallelShaderCompile' in those cases instead.
+gl_ARB_parallel_shader_compile :: Bool
+gl_ARB_parallel_shader_compile = member "GL_ARB_parallel_shader_compile" extensions
+{-# NOINLINE gl_ARB_parallel_shader_compile #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/pipeline_statistics_query.txt ARB_pipeline_statistics_query> extension supported?
+glGetARBPipelineStatisticsQuery :: MonadIO m => m Bool
+glGetARBPipelineStatisticsQuery = getExtensions >>= (return . member "GL_ARB_pipeline_statistics_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/pipeline_statistics_query.txt ARB_pipeline_statistics_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBPipelineStatisticsQuery' in those cases instead.
+gl_ARB_pipeline_statistics_query :: Bool
+gl_ARB_pipeline_statistics_query = member "GL_ARB_pipeline_statistics_query" extensions
+{-# NOINLINE gl_ARB_pipeline_statistics_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt ARB_pixel_buffer_object> extension supported?
+glGetARBPixelBufferObject :: MonadIO m => m Bool
+glGetARBPixelBufferObject = getExtensions >>= (return . member "GL_ARB_pixel_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt ARB_pixel_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBPixelBufferObject' in those cases instead.
+gl_ARB_pixel_buffer_object :: Bool
+gl_ARB_pixel_buffer_object = member "GL_ARB_pixel_buffer_object" extensions
+{-# NOINLINE gl_ARB_pixel_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/point_parameters.txt ARB_point_parameters> extension supported?
+glGetARBPointParameters :: MonadIO m => m Bool
+glGetARBPointParameters = getExtensions >>= (return . member "GL_ARB_point_parameters")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/point_parameters.txt ARB_point_parameters> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBPointParameters' in those cases instead.
+gl_ARB_point_parameters :: Bool
+gl_ARB_point_parameters = member "GL_ARB_point_parameters" extensions
+{-# NOINLINE gl_ARB_point_parameters #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/point_sprite.txt ARB_point_sprite> extension supported?
+glGetARBPointSprite :: MonadIO m => m Bool
+glGetARBPointSprite = getExtensions >>= (return . member "GL_ARB_point_sprite")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/point_sprite.txt ARB_point_sprite> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBPointSprite' in those cases instead.
+gl_ARB_point_sprite :: Bool
+gl_ARB_point_sprite = member "GL_ARB_point_sprite" extensions
+{-# NOINLINE gl_ARB_point_sprite #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/program_interface_query.txt ARB_program_interface_query> extension supported?
+glGetARBProgramInterfaceQuery :: MonadIO m => m Bool
+glGetARBProgramInterfaceQuery = getExtensions >>= (return . member "GL_ARB_program_interface_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/program_interface_query.txt ARB_program_interface_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBProgramInterfaceQuery' in those cases instead.
+gl_ARB_program_interface_query :: Bool
+gl_ARB_program_interface_query = member "GL_ARB_program_interface_query" extensions
+{-# NOINLINE gl_ARB_program_interface_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/provoking_vertex.txt ARB_provoking_vertex> extension supported?
+glGetARBProvokingVertex :: MonadIO m => m Bool
+glGetARBProvokingVertex = getExtensions >>= (return . member "GL_ARB_provoking_vertex")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/provoking_vertex.txt ARB_provoking_vertex> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBProvokingVertex' in those cases instead.
+gl_ARB_provoking_vertex :: Bool
+gl_ARB_provoking_vertex = member "GL_ARB_provoking_vertex" extensions
+{-# NOINLINE gl_ARB_provoking_vertex #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/query_buffer_object.txt ARB_query_buffer_object> extension supported?
+glGetARBQueryBufferObject :: MonadIO m => m Bool
+glGetARBQueryBufferObject = getExtensions >>= (return . member "GL_ARB_query_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/query_buffer_object.txt ARB_query_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBQueryBufferObject' in those cases instead.
+gl_ARB_query_buffer_object :: Bool
+gl_ARB_query_buffer_object = member "GL_ARB_query_buffer_object" extensions
+{-# NOINLINE gl_ARB_query_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/robustness.txt ARB_robustness> extension supported?
+glGetARBRobustness :: MonadIO m => m Bool
+glGetARBRobustness = getExtensions >>= (return . member "GL_ARB_robustness")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/robustness.txt ARB_robustness> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBRobustness' in those cases instead.
+gl_ARB_robustness :: Bool
+gl_ARB_robustness = member "GL_ARB_robustness" extensions
+{-# NOINLINE gl_ARB_robustness #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sample_locations.txt ARB_sample_locations> extension supported?
+glGetARBSampleLocations :: MonadIO m => m Bool
+glGetARBSampleLocations = getExtensions >>= (return . member "GL_ARB_sample_locations")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sample_locations.txt ARB_sample_locations> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSampleLocations' in those cases instead.
+gl_ARB_sample_locations :: Bool
+gl_ARB_sample_locations = member "GL_ARB_sample_locations" extensions
+{-# NOINLINE gl_ARB_sample_locations #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sample_shading.txt ARB_sample_shading> extension supported?
+glGetARBSampleShading :: MonadIO m => m Bool
+glGetARBSampleShading = getExtensions >>= (return . member "GL_ARB_sample_shading")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sample_shading.txt ARB_sample_shading> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSampleShading' in those cases instead.
+gl_ARB_sample_shading :: Bool
+gl_ARB_sample_shading = member "GL_ARB_sample_shading" extensions
+{-# NOINLINE gl_ARB_sample_shading #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sampler_objects.txt ARB_sampler_objects> extension supported?
+glGetARBSamplerObjects :: MonadIO m => m Bool
+glGetARBSamplerObjects = getExtensions >>= (return . member "GL_ARB_sampler_objects")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sampler_objects.txt ARB_sampler_objects> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSamplerObjects' in those cases instead.
+gl_ARB_sampler_objects :: Bool
+gl_ARB_sampler_objects = member "GL_ARB_sampler_objects" extensions
+{-# NOINLINE gl_ARB_sampler_objects #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt ARB_seamless_cube_map> extension supported?
+glGetARBSeamlessCubeMap :: MonadIO m => m Bool
+glGetARBSeamlessCubeMap = getExtensions >>= (return . member "GL_ARB_seamless_cube_map")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt ARB_seamless_cube_map> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSeamlessCubeMap' in those cases instead.
+gl_ARB_seamless_cube_map :: Bool
+gl_ARB_seamless_cube_map = member "GL_ARB_seamless_cube_map" extensions
+{-# NOINLINE gl_ARB_seamless_cube_map #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cubemap_per_texture.txt ARB_seamless_cubemap_per_texture> extension supported?
+glGetARBSeamlessCubemapPerTexture :: MonadIO m => m Bool
+glGetARBSeamlessCubemapPerTexture = getExtensions >>= (return . member "GL_ARB_seamless_cubemap_per_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cubemap_per_texture.txt ARB_seamless_cubemap_per_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSeamlessCubemapPerTexture' in those cases instead.
+gl_ARB_seamless_cubemap_per_texture :: Bool
+gl_ARB_seamless_cubemap_per_texture = member "GL_ARB_seamless_cubemap_per_texture" extensions
+{-# NOINLINE gl_ARB_seamless_cubemap_per_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt ARB_separate_shader_objects> extension supported?
+glGetARBSeparateShaderObjects :: MonadIO m => m Bool
+glGetARBSeparateShaderObjects = getExtensions >>= (return . member "GL_ARB_separate_shader_objects")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt ARB_separate_shader_objects> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSeparateShaderObjects' in those cases instead.
+gl_ARB_separate_shader_objects :: Bool
+gl_ARB_separate_shader_objects = member "GL_ARB_separate_shader_objects" extensions
+{-# NOINLINE gl_ARB_separate_shader_objects #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt ARB_shader_atomic_counters> extension supported?
+glGetARBShaderAtomicCounters :: MonadIO m => m Bool
+glGetARBShaderAtomicCounters = getExtensions >>= (return . member "GL_ARB_shader_atomic_counters")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt ARB_shader_atomic_counters> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShaderAtomicCounters' in those cases instead.
+gl_ARB_shader_atomic_counters :: Bool
+gl_ARB_shader_atomic_counters = member "GL_ARB_shader_atomic_counters" extensions
+{-# NOINLINE gl_ARB_shader_atomic_counters #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt ARB_shader_image_load_store> extension supported?
+glGetARBShaderImageLoadStore :: MonadIO m => m Bool
+glGetARBShaderImageLoadStore = getExtensions >>= (return . member "GL_ARB_shader_image_load_store")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt ARB_shader_image_load_store> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShaderImageLoadStore' in those cases instead.
+gl_ARB_shader_image_load_store :: Bool
+gl_ARB_shader_image_load_store = member "GL_ARB_shader_image_load_store" extensions
+{-# NOINLINE gl_ARB_shader_image_load_store #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_objects.txt ARB_shader_objects> extension supported?
+glGetARBShaderObjects :: MonadIO m => m Bool
+glGetARBShaderObjects = getExtensions >>= (return . member "GL_ARB_shader_objects")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_objects.txt ARB_shader_objects> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShaderObjects' in those cases instead.
+gl_ARB_shader_objects :: Bool
+gl_ARB_shader_objects = member "GL_ARB_shader_objects" extensions
+{-# NOINLINE gl_ARB_shader_objects #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_storage_buffer_object.txt ARB_shader_storage_buffer_object> extension supported?
+glGetARBShaderStorageBufferObject :: MonadIO m => m Bool
+glGetARBShaderStorageBufferObject = getExtensions >>= (return . member "GL_ARB_shader_storage_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_storage_buffer_object.txt ARB_shader_storage_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShaderStorageBufferObject' in those cases instead.
+gl_ARB_shader_storage_buffer_object :: Bool
+gl_ARB_shader_storage_buffer_object = member "GL_ARB_shader_storage_buffer_object" extensions
+{-# NOINLINE gl_ARB_shader_storage_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt ARB_shader_subroutine> extension supported?
+glGetARBShaderSubroutine :: MonadIO m => m Bool
+glGetARBShaderSubroutine = getExtensions >>= (return . member "GL_ARB_shader_subroutine")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt ARB_shader_subroutine> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShaderSubroutine' in those cases instead.
+gl_ARB_shader_subroutine :: Bool
+gl_ARB_shader_subroutine = member "GL_ARB_shader_subroutine" extensions
+{-# NOINLINE gl_ARB_shader_subroutine #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_100.txt ARB_shading_language_100> extension supported?
+glGetARBShadingLanguage100 :: MonadIO m => m Bool
+glGetARBShadingLanguage100 = getExtensions >>= (return . member "GL_ARB_shading_language_100")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_100.txt ARB_shading_language_100> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShadingLanguage100' in those cases instead.
+gl_ARB_shading_language_100 :: Bool
+gl_ARB_shading_language_100 = member "GL_ARB_shading_language_100" extensions
+{-# NOINLINE gl_ARB_shading_language_100 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_include.txt ARB_shading_language_include> extension supported?
+glGetARBShadingLanguageInclude :: MonadIO m => m Bool
+glGetARBShadingLanguageInclude = getExtensions >>= (return . member "GL_ARB_shading_language_include")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_include.txt ARB_shading_language_include> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShadingLanguageInclude' in those cases instead.
+gl_ARB_shading_language_include :: Bool
+gl_ARB_shading_language_include = member "GL_ARB_shading_language_include" extensions
+{-# NOINLINE gl_ARB_shading_language_include #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shadow.txt ARB_shadow> extension supported?
+glGetARBShadow :: MonadIO m => m Bool
+glGetARBShadow = getExtensions >>= (return . member "GL_ARB_shadow")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shadow.txt ARB_shadow> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShadow' in those cases instead.
+gl_ARB_shadow :: Bool
+gl_ARB_shadow = member "GL_ARB_shadow" extensions
+{-# NOINLINE gl_ARB_shadow #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shadow_ambient.txt ARB_shadow_ambient> extension supported?
+glGetARBShadowAmbient :: MonadIO m => m Bool
+glGetARBShadowAmbient = getExtensions >>= (return . member "GL_ARB_shadow_ambient")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/shadow_ambient.txt ARB_shadow_ambient> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBShadowAmbient' in those cases instead.
+gl_ARB_shadow_ambient :: Bool
+gl_ARB_shadow_ambient = member "GL_ARB_shadow_ambient" extensions
+{-# NOINLINE gl_ARB_shadow_ambient #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_buffer.txt ARB_sparse_buffer> extension supported?
+glGetARBSparseBuffer :: MonadIO m => m Bool
+glGetARBSparseBuffer = getExtensions >>= (return . member "GL_ARB_sparse_buffer")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_buffer.txt ARB_sparse_buffer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSparseBuffer' in those cases instead.
+gl_ARB_sparse_buffer :: Bool
+gl_ARB_sparse_buffer = member "GL_ARB_sparse_buffer" extensions
+{-# NOINLINE gl_ARB_sparse_buffer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_texture.txt ARB_sparse_texture> extension supported?
+glGetARBSparseTexture :: MonadIO m => m Bool
+glGetARBSparseTexture = getExtensions >>= (return . member "GL_ARB_sparse_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_texture.txt ARB_sparse_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSparseTexture' in those cases instead.
+gl_ARB_sparse_texture :: Bool
+gl_ARB_sparse_texture = member "GL_ARB_sparse_texture" extensions
+{-# NOINLINE gl_ARB_sparse_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/stencil_texturing.txt ARB_stencil_texturing> extension supported?
+glGetARBStencilTexturing :: MonadIO m => m Bool
+glGetARBStencilTexturing = getExtensions >>= (return . member "GL_ARB_stencil_texturing")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/stencil_texturing.txt ARB_stencil_texturing> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBStencilTexturing' in those cases instead.
+gl_ARB_stencil_texturing :: Bool
+gl_ARB_stencil_texturing = member "GL_ARB_stencil_texturing" extensions
+{-# NOINLINE gl_ARB_stencil_texturing #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sync.txt ARB_sync> extension supported?
+glGetARBSync :: MonadIO m => m Bool
+glGetARBSync = getExtensions >>= (return . member "GL_ARB_sync")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/sync.txt ARB_sync> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBSync' in those cases instead.
+gl_ARB_sync :: Bool
+gl_ARB_sync = member "GL_ARB_sync" extensions
+{-# NOINLINE gl_ARB_sync #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/tessellation_shader.txt ARB_tessellation_shader> extension supported?
+glGetARBTessellationShader :: MonadIO m => m Bool
+glGetARBTessellationShader = getExtensions >>= (return . member "GL_ARB_tessellation_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/tessellation_shader.txt ARB_tessellation_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTessellationShader' in those cases instead.
+gl_ARB_tessellation_shader :: Bool
+gl_ARB_tessellation_shader = member "GL_ARB_tessellation_shader" extensions
+{-# NOINLINE gl_ARB_tessellation_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_barrier.txt ARB_texture_barrier> extension supported?
+glGetARBTextureBarrier :: MonadIO m => m Bool
+glGetARBTextureBarrier = getExtensions >>= (return . member "GL_ARB_texture_barrier")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_barrier.txt ARB_texture_barrier> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureBarrier' in those cases instead.
+gl_ARB_texture_barrier :: Bool
+gl_ARB_texture_barrier = member "GL_ARB_texture_barrier" extensions
+{-# NOINLINE gl_ARB_texture_barrier #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_border_clamp.txt ARB_texture_border_clamp> extension supported?
+glGetARBTextureBorderClamp :: MonadIO m => m Bool
+glGetARBTextureBorderClamp = getExtensions >>= (return . member "GL_ARB_texture_border_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_border_clamp.txt ARB_texture_border_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureBorderClamp' in those cases instead.
+gl_ARB_texture_border_clamp :: Bool
+gl_ARB_texture_border_clamp = member "GL_ARB_texture_border_clamp" extensions
+{-# NOINLINE gl_ARB_texture_border_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt ARB_texture_buffer_object> extension supported?
+glGetARBTextureBufferObject :: MonadIO m => m Bool
+glGetARBTextureBufferObject = getExtensions >>= (return . member "GL_ARB_texture_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt ARB_texture_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureBufferObject' in those cases instead.
+gl_ARB_texture_buffer_object :: Bool
+gl_ARB_texture_buffer_object = member "GL_ARB_texture_buffer_object" extensions
+{-# NOINLINE gl_ARB_texture_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object_rgb32.txt ARB_texture_buffer_object_rgb32> extension supported?
+glGetARBTextureBufferObjectRGB32 :: MonadIO m => m Bool
+glGetARBTextureBufferObjectRGB32 = getExtensions >>= (return . member "GL_ARB_texture_buffer_object_rgb32")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object_rgb32.txt ARB_texture_buffer_object_rgb32> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureBufferObjectRGB32' in those cases instead.
+gl_ARB_texture_buffer_object_rgb32 :: Bool
+gl_ARB_texture_buffer_object_rgb32 = member "GL_ARB_texture_buffer_object_rgb32" extensions
+{-# NOINLINE gl_ARB_texture_buffer_object_rgb32 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_range.txt ARB_texture_buffer_range> extension supported?
+glGetARBTextureBufferRange :: MonadIO m => m Bool
+glGetARBTextureBufferRange = getExtensions >>= (return . member "GL_ARB_texture_buffer_range")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_range.txt ARB_texture_buffer_range> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureBufferRange' in those cases instead.
+gl_ARB_texture_buffer_range :: Bool
+gl_ARB_texture_buffer_range = member "GL_ARB_texture_buffer_range" extensions
+{-# NOINLINE gl_ARB_texture_buffer_range #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression.txt ARB_texture_compression> extension supported?
+glGetARBTextureCompression :: MonadIO m => m Bool
+glGetARBTextureCompression = getExtensions >>= (return . member "GL_ARB_texture_compression")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression.txt ARB_texture_compression> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureCompression' in those cases instead.
+gl_ARB_texture_compression :: Bool
+gl_ARB_texture_compression = member "GL_ARB_texture_compression" extensions
+{-# NOINLINE gl_ARB_texture_compression #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt ARB_texture_compression_bptc> extension supported?
+glGetARBTextureCompressionBPTC :: MonadIO m => m Bool
+glGetARBTextureCompressionBPTC = getExtensions >>= (return . member "GL_ARB_texture_compression_bptc")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt ARB_texture_compression_bptc> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureCompressionBPTC' in those cases instead.
+gl_ARB_texture_compression_bptc :: Bool
+gl_ARB_texture_compression_bptc = member "GL_ARB_texture_compression_bptc" extensions
+{-# NOINLINE gl_ARB_texture_compression_bptc #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt ARB_texture_compression_rgtc> extension supported?
+glGetARBTextureCompressionRGTC :: MonadIO m => m Bool
+glGetARBTextureCompressionRGTC = getExtensions >>= (return . member "GL_ARB_texture_compression_rgtc")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt ARB_texture_compression_rgtc> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureCompressionRGTC' in those cases instead.
+gl_ARB_texture_compression_rgtc :: Bool
+gl_ARB_texture_compression_rgtc = member "GL_ARB_texture_compression_rgtc" extensions
+{-# NOINLINE gl_ARB_texture_compression_rgtc #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt ARB_texture_cube_map> extension supported?
+glGetARBTextureCubeMap :: MonadIO m => m Bool
+glGetARBTextureCubeMap = getExtensions >>= (return . member "GL_ARB_texture_cube_map")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt ARB_texture_cube_map> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureCubeMap' in those cases instead.
+gl_ARB_texture_cube_map :: Bool
+gl_ARB_texture_cube_map = member "GL_ARB_texture_cube_map" extensions
+{-# NOINLINE gl_ARB_texture_cube_map #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map_array.txt ARB_texture_cube_map_array> extension supported?
+glGetARBTextureCubeMapArray :: MonadIO m => m Bool
+glGetARBTextureCubeMapArray = getExtensions >>= (return . member "GL_ARB_texture_cube_map_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map_array.txt ARB_texture_cube_map_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureCubeMapArray' in those cases instead.
+gl_ARB_texture_cube_map_array :: Bool
+gl_ARB_texture_cube_map_array = member "GL_ARB_texture_cube_map_array" extensions
+{-# NOINLINE gl_ARB_texture_cube_map_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_combine.txt ARB_texture_env_combine> extension supported?
+glGetARBTextureEnvCombine :: MonadIO m => m Bool
+glGetARBTextureEnvCombine = getExtensions >>= (return . member "GL_ARB_texture_env_combine")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_combine.txt ARB_texture_env_combine> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureEnvCombine' in those cases instead.
+gl_ARB_texture_env_combine :: Bool
+gl_ARB_texture_env_combine = member "GL_ARB_texture_env_combine" extensions
+{-# NOINLINE gl_ARB_texture_env_combine #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt ARB_texture_env_dot3> extension supported?
+glGetARBTextureEnvDot3 :: MonadIO m => m Bool
+glGetARBTextureEnvDot3 = getExtensions >>= (return . member "GL_ARB_texture_env_dot3")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt ARB_texture_env_dot3> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureEnvDot3' in those cases instead.
+gl_ARB_texture_env_dot3 :: Bool
+gl_ARB_texture_env_dot3 = member "GL_ARB_texture_env_dot3" extensions
+{-# NOINLINE gl_ARB_texture_env_dot3 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_filter_minmax.txt ARB_texture_filter_minmax> extension supported?
+glGetARBTextureFilterMinmax :: MonadIO m => m Bool
+glGetARBTextureFilterMinmax = getExtensions >>= (return . member "GL_ARB_texture_filter_minmax")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_filter_minmax.txt ARB_texture_filter_minmax> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureFilterMinmax' in those cases instead.
+gl_ARB_texture_filter_minmax :: Bool
+gl_ARB_texture_filter_minmax = member "GL_ARB_texture_filter_minmax" extensions
+{-# NOINLINE gl_ARB_texture_filter_minmax #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_float.txt ARB_texture_float> extension supported?
+glGetARBTextureFloat :: MonadIO m => m Bool
+glGetARBTextureFloat = getExtensions >>= (return . member "GL_ARB_texture_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_float.txt ARB_texture_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureFloat' in those cases instead.
+gl_ARB_texture_float :: Bool
+gl_ARB_texture_float = member "GL_ARB_texture_float" extensions
+{-# NOINLINE gl_ARB_texture_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_gather.txt ARB_texture_gather> extension supported?
+glGetARBTextureGather :: MonadIO m => m Bool
+glGetARBTextureGather = getExtensions >>= (return . member "GL_ARB_texture_gather")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_gather.txt ARB_texture_gather> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureGather' in those cases instead.
+gl_ARB_texture_gather :: Bool
+gl_ARB_texture_gather = member "GL_ARB_texture_gather" extensions
+{-# NOINLINE gl_ARB_texture_gather #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirror_clamp_to_edge.txt ARB_texture_mirror_clamp_to_edge> extension supported?
+glGetARBTextureMirrorClampToEdge :: MonadIO m => m Bool
+glGetARBTextureMirrorClampToEdge = getExtensions >>= (return . member "GL_ARB_texture_mirror_clamp_to_edge")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirror_clamp_to_edge.txt ARB_texture_mirror_clamp_to_edge> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureMirrorClampToEdge' in those cases instead.
+gl_ARB_texture_mirror_clamp_to_edge :: Bool
+gl_ARB_texture_mirror_clamp_to_edge = member "GL_ARB_texture_mirror_clamp_to_edge" extensions
+{-# NOINLINE gl_ARB_texture_mirror_clamp_to_edge #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirrored_repeat.txt ARB_texture_mirrored_repeat> extension supported?
+glGetARBTextureMirroredRepeat :: MonadIO m => m Bool
+glGetARBTextureMirroredRepeat = getExtensions >>= (return . member "GL_ARB_texture_mirrored_repeat")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirrored_repeat.txt ARB_texture_mirrored_repeat> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureMirroredRepeat' in those cases instead.
+gl_ARB_texture_mirrored_repeat :: Bool
+gl_ARB_texture_mirrored_repeat = member "GL_ARB_texture_mirrored_repeat" extensions
+{-# NOINLINE gl_ARB_texture_mirrored_repeat #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_multisample.txt ARB_texture_multisample> extension supported?
+glGetARBTextureMultisample :: MonadIO m => m Bool
+glGetARBTextureMultisample = getExtensions >>= (return . member "GL_ARB_texture_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_multisample.txt ARB_texture_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureMultisample' in those cases instead.
+gl_ARB_texture_multisample :: Bool
+gl_ARB_texture_multisample = member "GL_ARB_texture_multisample" extensions
+{-# NOINLINE gl_ARB_texture_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rectangle.txt ARB_texture_rectangle> extension supported?
+glGetARBTextureRectangle :: MonadIO m => m Bool
+glGetARBTextureRectangle = getExtensions >>= (return . member "GL_ARB_texture_rectangle")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rectangle.txt ARB_texture_rectangle> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureRectangle' in those cases instead.
+gl_ARB_texture_rectangle :: Bool
+gl_ARB_texture_rectangle = member "GL_ARB_texture_rectangle" extensions
+{-# NOINLINE gl_ARB_texture_rectangle #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rg.txt ARB_texture_rg> extension supported?
+glGetARBTextureRG :: MonadIO m => m Bool
+glGetARBTextureRG = getExtensions >>= (return . member "GL_ARB_texture_rg")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rg.txt ARB_texture_rg> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureRG' in those cases instead.
+gl_ARB_texture_rg :: Bool
+gl_ARB_texture_rg = member "GL_ARB_texture_rg" extensions
+{-# NOINLINE gl_ARB_texture_rg #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rgb10_a2ui.txt ARB_texture_rgb10_a2ui> extension supported?
+glGetARBTextureRGB10A2UI :: MonadIO m => m Bool
+glGetARBTextureRGB10A2UI = getExtensions >>= (return . member "GL_ARB_texture_rgb10_a2ui")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rgb10_a2ui.txt ARB_texture_rgb10_a2ui> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureRGB10A2UI' in those cases instead.
+gl_ARB_texture_rgb10_a2ui :: Bool
+gl_ARB_texture_rgb10_a2ui = member "GL_ARB_texture_rgb10_a2ui" extensions
+{-# NOINLINE gl_ARB_texture_rgb10_a2ui #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_stencil8.txt ARB_texture_stencil8> extension supported?
+glGetARBTextureStencil8 :: MonadIO m => m Bool
+glGetARBTextureStencil8 = getExtensions >>= (return . member "GL_ARB_texture_stencil8")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_stencil8.txt ARB_texture_stencil8> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureStencil8' in those cases instead.
+gl_ARB_texture_stencil8 :: Bool
+gl_ARB_texture_stencil8 = member "GL_ARB_texture_stencil8" extensions
+{-# NOINLINE gl_ARB_texture_stencil8 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage.txt ARB_texture_storage> extension supported?
+glGetARBTextureStorage :: MonadIO m => m Bool
+glGetARBTextureStorage = getExtensions >>= (return . member "GL_ARB_texture_storage")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage.txt ARB_texture_storage> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureStorage' in those cases instead.
+gl_ARB_texture_storage :: Bool
+gl_ARB_texture_storage = member "GL_ARB_texture_storage" extensions
+{-# NOINLINE gl_ARB_texture_storage #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage_multisample.txt ARB_texture_storage_multisample> extension supported?
+glGetARBTextureStorageMultisample :: MonadIO m => m Bool
+glGetARBTextureStorageMultisample = getExtensions >>= (return . member "GL_ARB_texture_storage_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage_multisample.txt ARB_texture_storage_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureStorageMultisample' in those cases instead.
+gl_ARB_texture_storage_multisample :: Bool
+gl_ARB_texture_storage_multisample = member "GL_ARB_texture_storage_multisample" extensions
+{-# NOINLINE gl_ARB_texture_storage_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_swizzle.txt ARB_texture_swizzle> extension supported?
+glGetARBTextureSwizzle :: MonadIO m => m Bool
+glGetARBTextureSwizzle = getExtensions >>= (return . member "GL_ARB_texture_swizzle")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_swizzle.txt ARB_texture_swizzle> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureSwizzle' in those cases instead.
+gl_ARB_texture_swizzle :: Bool
+gl_ARB_texture_swizzle = member "GL_ARB_texture_swizzle" extensions
+{-# NOINLINE gl_ARB_texture_swizzle #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_view.txt ARB_texture_view> extension supported?
+glGetARBTextureView :: MonadIO m => m Bool
+glGetARBTextureView = getExtensions >>= (return . member "GL_ARB_texture_view")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_view.txt ARB_texture_view> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTextureView' in those cases instead.
+gl_ARB_texture_view :: Bool
+gl_ARB_texture_view = member "GL_ARB_texture_view" extensions
+{-# NOINLINE gl_ARB_texture_view #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/timer_query.txt ARB_timer_query> extension supported?
+glGetARBTimerQuery :: MonadIO m => m Bool
+glGetARBTimerQuery = getExtensions >>= (return . member "GL_ARB_timer_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/timer_query.txt ARB_timer_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTimerQuery' in those cases instead.
+gl_ARB_timer_query :: Bool
+gl_ARB_timer_query = member "GL_ARB_timer_query" extensions
+{-# NOINLINE gl_ARB_timer_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt ARB_transform_feedback2> extension supported?
+glGetARBTransformFeedback2 :: MonadIO m => m Bool
+glGetARBTransformFeedback2 = getExtensions >>= (return . member "GL_ARB_transform_feedback2")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt ARB_transform_feedback2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTransformFeedback2' in those cases instead.
+gl_ARB_transform_feedback2 :: Bool
+gl_ARB_transform_feedback2 = member "GL_ARB_transform_feedback2" extensions
+{-# NOINLINE gl_ARB_transform_feedback2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt ARB_transform_feedback3> extension supported?
+glGetARBTransformFeedback3 :: MonadIO m => m Bool
+glGetARBTransformFeedback3 = getExtensions >>= (return . member "GL_ARB_transform_feedback3")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt ARB_transform_feedback3> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTransformFeedback3' in those cases instead.
+gl_ARB_transform_feedback3 :: Bool
+gl_ARB_transform_feedback3 = member "GL_ARB_transform_feedback3" extensions
+{-# NOINLINE gl_ARB_transform_feedback3 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt ARB_transform_feedback_instanced> extension supported?
+glGetARBTransformFeedbackInstanced :: MonadIO m => m Bool
+glGetARBTransformFeedbackInstanced = getExtensions >>= (return . member "GL_ARB_transform_feedback_instanced")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt ARB_transform_feedback_instanced> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTransformFeedbackInstanced' in those cases instead.
+gl_ARB_transform_feedback_instanced :: Bool
+gl_ARB_transform_feedback_instanced = member "GL_ARB_transform_feedback_instanced" extensions
+{-# NOINLINE gl_ARB_transform_feedback_instanced #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_overflow_query.txt ARB_transform_feedback_overflow_query> extension supported?
+glGetARBTransformFeedbackOverflowQuery :: MonadIO m => m Bool
+glGetARBTransformFeedbackOverflowQuery = getExtensions >>= (return . member "GL_ARB_transform_feedback_overflow_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_overflow_query.txt ARB_transform_feedback_overflow_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTransformFeedbackOverflowQuery' in those cases instead.
+gl_ARB_transform_feedback_overflow_query :: Bool
+gl_ARB_transform_feedback_overflow_query = member "GL_ARB_transform_feedback_overflow_query" extensions
+{-# NOINLINE gl_ARB_transform_feedback_overflow_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transpose_matrix.txt ARB_transpose_matrix> extension supported?
+glGetARBTransposeMatrix :: MonadIO m => m Bool
+glGetARBTransposeMatrix = getExtensions >>= (return . member "GL_ARB_transpose_matrix")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/transpose_matrix.txt ARB_transpose_matrix> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBTransposeMatrix' in those cases instead.
+gl_ARB_transpose_matrix :: Bool
+gl_ARB_transpose_matrix = member "GL_ARB_transpose_matrix" extensions
+{-# NOINLINE gl_ARB_transpose_matrix #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt ARB_uniform_buffer_object> extension supported?
+glGetARBUniformBufferObject :: MonadIO m => m Bool
+glGetARBUniformBufferObject = getExtensions >>= (return . member "GL_ARB_uniform_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt ARB_uniform_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBUniformBufferObject' in those cases instead.
+gl_ARB_uniform_buffer_object :: Bool
+gl_ARB_uniform_buffer_object = member "GL_ARB_uniform_buffer_object" extensions
+{-# NOINLINE gl_ARB_uniform_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_bgra.txt ARB_vertex_array_bgra> extension supported?
+glGetARBVertexArrayBGRA :: MonadIO m => m Bool
+glGetARBVertexArrayBGRA = getExtensions >>= (return . member "GL_ARB_vertex_array_bgra")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_bgra.txt ARB_vertex_array_bgra> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexArrayBGRA' in those cases instead.
+gl_ARB_vertex_array_bgra :: Bool
+gl_ARB_vertex_array_bgra = member "GL_ARB_vertex_array_bgra" extensions
+{-# NOINLINE gl_ARB_vertex_array_bgra #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt ARB_vertex_array_object> extension supported?
+glGetARBVertexArrayObject :: MonadIO m => m Bool
+glGetARBVertexArrayObject = getExtensions >>= (return . member "GL_ARB_vertex_array_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt ARB_vertex_array_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexArrayObject' in those cases instead.
+gl_ARB_vertex_array_object :: Bool
+gl_ARB_vertex_array_object = member "GL_ARB_vertex_array_object" extensions
+{-# NOINLINE gl_ARB_vertex_array_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt ARB_vertex_attrib_64bit> extension supported?
+glGetARBVertexAttrib64Bit :: MonadIO m => m Bool
+glGetARBVertexAttrib64Bit = getExtensions >>= (return . member "GL_ARB_vertex_attrib_64bit")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt ARB_vertex_attrib_64bit> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexAttrib64Bit' in those cases instead.
+gl_ARB_vertex_attrib_64bit :: Bool
+gl_ARB_vertex_attrib_64bit = member "GL_ARB_vertex_attrib_64bit" extensions
+{-# NOINLINE gl_ARB_vertex_attrib_64bit #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_binding.txt ARB_vertex_attrib_binding> extension supported?
+glGetARBVertexAttribBinding :: MonadIO m => m Bool
+glGetARBVertexAttribBinding = getExtensions >>= (return . member "GL_ARB_vertex_attrib_binding")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_binding.txt ARB_vertex_attrib_binding> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexAttribBinding' in those cases instead.
+gl_ARB_vertex_attrib_binding :: Bool
+gl_ARB_vertex_attrib_binding = member "GL_ARB_vertex_attrib_binding" extensions
+{-# NOINLINE gl_ARB_vertex_attrib_binding #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_blend.txt ARB_vertex_blend> extension supported?
+glGetARBVertexBlend :: MonadIO m => m Bool
+glGetARBVertexBlend = getExtensions >>= (return . member "GL_ARB_vertex_blend")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_blend.txt ARB_vertex_blend> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexBlend' in those cases instead.
+gl_ARB_vertex_blend :: Bool
+gl_ARB_vertex_blend = member "GL_ARB_vertex_blend" extensions
+{-# NOINLINE gl_ARB_vertex_blend #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt ARB_vertex_buffer_object> extension supported?
+glGetARBVertexBufferObject :: MonadIO m => m Bool
+glGetARBVertexBufferObject = getExtensions >>= (return . member "GL_ARB_vertex_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt ARB_vertex_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexBufferObject' in those cases instead.
+gl_ARB_vertex_buffer_object :: Bool
+gl_ARB_vertex_buffer_object = member "GL_ARB_vertex_buffer_object" extensions
+{-# NOINLINE gl_ARB_vertex_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_program.txt ARB_vertex_program> extension supported?
+glGetARBVertexProgram :: MonadIO m => m Bool
+glGetARBVertexProgram = getExtensions >>= (return . member "GL_ARB_vertex_program")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_program.txt ARB_vertex_program> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexProgram' in those cases instead.
+gl_ARB_vertex_program :: Bool
+gl_ARB_vertex_program = member "GL_ARB_vertex_program" extensions
+{-# NOINLINE gl_ARB_vertex_program #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_shader.txt ARB_vertex_shader> extension supported?
+glGetARBVertexShader :: MonadIO m => m Bool
+glGetARBVertexShader = getExtensions >>= (return . member "GL_ARB_vertex_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_shader.txt ARB_vertex_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexShader' in those cases instead.
+gl_ARB_vertex_shader :: Bool
+gl_ARB_vertex_shader = member "GL_ARB_vertex_shader" extensions
+{-# NOINLINE gl_ARB_vertex_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_10f_11f_11f_rev.txt ARB_vertex_type_10f_11f_11f_rev> extension supported?
+glGetARBVertexType10f11f11fRev :: MonadIO m => m Bool
+glGetARBVertexType10f11f11fRev = getExtensions >>= (return . member "GL_ARB_vertex_type_10f_11f_11f_rev")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_10f_11f_11f_rev.txt ARB_vertex_type_10f_11f_11f_rev> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexType10f11f11fRev' in those cases instead.
+gl_ARB_vertex_type_10f_11f_11f_rev :: Bool
+gl_ARB_vertex_type_10f_11f_11f_rev = member "GL_ARB_vertex_type_10f_11f_11f_rev" extensions
+{-# NOINLINE gl_ARB_vertex_type_10f_11f_11f_rev #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt ARB_vertex_type_2_10_10_10_rev> extension supported?
+glGetARBVertexType2101010Rev :: MonadIO m => m Bool
+glGetARBVertexType2101010Rev = getExtensions >>= (return . member "GL_ARB_vertex_type_2_10_10_10_rev")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt ARB_vertex_type_2_10_10_10_rev> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBVertexType2101010Rev' in those cases instead.
+gl_ARB_vertex_type_2_10_10_10_rev :: Bool
+gl_ARB_vertex_type_2_10_10_10_rev = member "GL_ARB_vertex_type_2_10_10_10_rev" extensions
+{-# NOINLINE gl_ARB_vertex_type_2_10_10_10_rev #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/viewport_array.txt ARB_viewport_array> extension supported?
+glGetARBViewportArray :: MonadIO m => m Bool
+glGetARBViewportArray = getExtensions >>= (return . member "GL_ARB_viewport_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/viewport_array.txt ARB_viewport_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBViewportArray' in those cases instead.
+gl_ARB_viewport_array :: Bool
+gl_ARB_viewport_array = member "GL_ARB_viewport_array" extensions
+{-# NOINLINE gl_ARB_viewport_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/window_pos.txt ARB_window_pos> extension supported?
+glGetARBWindowPos :: MonadIO m => m Bool
+glGetARBWindowPos = getExtensions >>= (return . member "GL_ARB_window_pos")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/window_pos.txt ARB_window_pos> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetARBWindowPos' in those cases instead.
+gl_ARB_window_pos :: Bool
+gl_ARB_window_pos = member "GL_ARB_window_pos" extensions
+{-# NOINLINE gl_ARB_window_pos #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/draw_buffers.txt ATI_draw_buffers> extension supported?
+glGetATIDrawBuffers :: MonadIO m => m Bool
+glGetATIDrawBuffers = getExtensions >>= (return . member "GL_ATI_draw_buffers")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/draw_buffers.txt ATI_draw_buffers> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIDrawBuffers' in those cases instead.
+gl_ATI_draw_buffers :: Bool
+gl_ATI_draw_buffers = member "GL_ATI_draw_buffers" extensions
+{-# NOINLINE gl_ATI_draw_buffers #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/element_array.txt ATI_element_array> extension supported?
+glGetATIElementArray :: MonadIO m => m Bool
+glGetATIElementArray = getExtensions >>= (return . member "GL_ATI_element_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/element_array.txt ATI_element_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIElementArray' in those cases instead.
+gl_ATI_element_array :: Bool
+gl_ATI_element_array = member "GL_ATI_element_array" extensions
+{-# NOINLINE gl_ATI_element_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/envmap_bumpmap.txt ATI_envmap_bumpmap> extension supported?
+glGetATIEnvmapBumpmap :: MonadIO m => m Bool
+glGetATIEnvmapBumpmap = getExtensions >>= (return . member "GL_ATI_envmap_bumpmap")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/envmap_bumpmap.txt ATI_envmap_bumpmap> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIEnvmapBumpmap' in those cases instead.
+gl_ATI_envmap_bumpmap :: Bool
+gl_ATI_envmap_bumpmap = member "GL_ATI_envmap_bumpmap" extensions
+{-# NOINLINE gl_ATI_envmap_bumpmap #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/fragment_shader.txt ATI_fragment_shader> extension supported?
+glGetATIFragmentShader :: MonadIO m => m Bool
+glGetATIFragmentShader = getExtensions >>= (return . member "GL_ATI_fragment_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/fragment_shader.txt ATI_fragment_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIFragmentShader' in those cases instead.
+gl_ATI_fragment_shader :: Bool
+gl_ATI_fragment_shader = member "GL_ATI_fragment_shader" extensions
+{-# NOINLINE gl_ATI_fragment_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/map_object_buffer.txt ATI_map_object_buffer> extension supported?
+glGetATIMapObjectBuffer :: MonadIO m => m Bool
+glGetATIMapObjectBuffer = getExtensions >>= (return . member "GL_ATI_map_object_buffer")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/map_object_buffer.txt ATI_map_object_buffer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIMapObjectBuffer' in those cases instead.
+gl_ATI_map_object_buffer :: Bool
+gl_ATI_map_object_buffer = member "GL_ATI_map_object_buffer" extensions
+{-# NOINLINE gl_ATI_map_object_buffer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/meminfo.txt ATI_meminfo> extension supported?
+glGetATIMeminfo :: MonadIO m => m Bool
+glGetATIMeminfo = getExtensions >>= (return . member "GL_ATI_meminfo")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/meminfo.txt ATI_meminfo> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIMeminfo' in those cases instead.
+gl_ATI_meminfo :: Bool
+gl_ATI_meminfo = member "GL_ATI_meminfo" extensions
+{-# NOINLINE gl_ATI_meminfo #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/pixel_format_float.txt ATI_pixel_format_float> extension supported?
+glGetATIPixelFormatFloat :: MonadIO m => m Bool
+glGetATIPixelFormatFloat = getExtensions >>= (return . member "GL_ATI_pixel_format_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/pixel_format_float.txt ATI_pixel_format_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIPixelFormatFloat' in those cases instead.
+gl_ATI_pixel_format_float :: Bool
+gl_ATI_pixel_format_float = member "GL_ATI_pixel_format_float" extensions
+{-# NOINLINE gl_ATI_pixel_format_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/pn_triangles.txt ATI_pn_triangles> extension supported?
+glGetATIPNTriangles :: MonadIO m => m Bool
+glGetATIPNTriangles = getExtensions >>= (return . member "GL_ATI_pn_triangles")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/pn_triangles.txt ATI_pn_triangles> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIPNTriangles' in those cases instead.
+gl_ATI_pn_triangles :: Bool
+gl_ATI_pn_triangles = member "GL_ATI_pn_triangles" extensions
+{-# NOINLINE gl_ATI_pn_triangles #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/separate_stencil.txt ATI_separate_stencil> extension supported?
+glGetATISeparateStencil :: MonadIO m => m Bool
+glGetATISeparateStencil = getExtensions >>= (return . member "GL_ATI_separate_stencil")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/separate_stencil.txt ATI_separate_stencil> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATISeparateStencil' in those cases instead.
+gl_ATI_separate_stencil :: Bool
+gl_ATI_separate_stencil = member "GL_ATI_separate_stencil" extensions
+{-# NOINLINE gl_ATI_separate_stencil #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/text_fragment_shader.txt ATI_text_fragment_shader> extension supported?
+glGetATITextFragmentShader :: MonadIO m => m Bool
+glGetATITextFragmentShader = getExtensions >>= (return . member "GL_ATI_text_fragment_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/text_fragment_shader.txt ATI_text_fragment_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATITextFragmentShader' in those cases instead.
+gl_ATI_text_fragment_shader :: Bool
+gl_ATI_text_fragment_shader = member "GL_ATI_text_fragment_shader" extensions
+{-# NOINLINE gl_ATI_text_fragment_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/texture_env_combine3.txt ATI_texture_env_combine3> extension supported?
+glGetATITextureEnvCombine3 :: MonadIO m => m Bool
+glGetATITextureEnvCombine3 = getExtensions >>= (return . member "GL_ATI_texture_env_combine3")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/texture_env_combine3.txt ATI_texture_env_combine3> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATITextureEnvCombine3' in those cases instead.
+gl_ATI_texture_env_combine3 :: Bool
+gl_ATI_texture_env_combine3 = member "GL_ATI_texture_env_combine3" extensions
+{-# NOINLINE gl_ATI_texture_env_combine3 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/texture_float.txt ATI_texture_float> extension supported?
+glGetATITextureFloat :: MonadIO m => m Bool
+glGetATITextureFloat = getExtensions >>= (return . member "GL_ATI_texture_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/texture_float.txt ATI_texture_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATITextureFloat' in those cases instead.
+gl_ATI_texture_float :: Bool
+gl_ATI_texture_float = member "GL_ATI_texture_float" extensions
+{-# NOINLINE gl_ATI_texture_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/texture_mirror_once.txt ATI_texture_mirror_once> extension supported?
+glGetATITextureMirrorOnce :: MonadIO m => m Bool
+glGetATITextureMirrorOnce = getExtensions >>= (return . member "GL_ATI_texture_mirror_once")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/texture_mirror_once.txt ATI_texture_mirror_once> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATITextureMirrorOnce' in those cases instead.
+gl_ATI_texture_mirror_once :: Bool
+gl_ATI_texture_mirror_once = member "GL_ATI_texture_mirror_once" extensions
+{-# NOINLINE gl_ATI_texture_mirror_once #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt ATI_vertex_array_object> extension supported?
+glGetATIVertexArrayObject :: MonadIO m => m Bool
+glGetATIVertexArrayObject = getExtensions >>= (return . member "GL_ATI_vertex_array_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt ATI_vertex_array_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIVertexArrayObject' in those cases instead.
+gl_ATI_vertex_array_object :: Bool
+gl_ATI_vertex_array_object = member "GL_ATI_vertex_array_object" extensions
+{-# NOINLINE gl_ATI_vertex_array_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt ATI_vertex_attrib_array_object> extension supported?
+glGetATIVertexAttribArrayObject :: MonadIO m => m Bool
+glGetATIVertexAttribArrayObject = getExtensions >>= (return . member "GL_ATI_vertex_attrib_array_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt ATI_vertex_attrib_array_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIVertexAttribArrayObject' in those cases instead.
+gl_ATI_vertex_attrib_array_object :: Bool
+gl_ATI_vertex_attrib_array_object = member "GL_ATI_vertex_attrib_array_object" extensions
+{-# NOINLINE gl_ATI_vertex_attrib_array_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_streams.txt ATI_vertex_streams> extension supported?
+glGetATIVertexStreams :: MonadIO m => m Bool
+glGetATIVertexStreams = getExtensions >>= (return . member "GL_ATI_vertex_streams")
+
+-- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_streams.txt ATI_vertex_streams> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetATIVertexStreams' in those cases instead.
+gl_ATI_vertex_streams :: Bool
+gl_ATI_vertex_streams = member "GL_ATI_vertex_streams" extensions
+{-# NOINLINE gl_ATI_vertex_streams #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/422_pixels.txt EXT_422_pixels> extension supported?
+glGetEXTFourTwoTwoPixels :: MonadIO m => m Bool
+glGetEXTFourTwoTwoPixels = getExtensions >>= (return . member "GL_EXT_422_pixels")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/422_pixels.txt EXT_422_pixels> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTFourTwoTwoPixels' in those cases instead.
+gl_EXT_422_pixels :: Bool
+gl_EXT_422_pixels = member "GL_EXT_422_pixels" extensions
+{-# NOINLINE gl_EXT_422_pixels #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/abgr.txt EXT_abgr> extension supported?
+glGetEXTABGR :: MonadIO m => m Bool
+glGetEXTABGR = getExtensions >>= (return . member "GL_EXT_abgr")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/abgr.txt EXT_abgr> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTABGR' in those cases instead.
+gl_EXT_abgr :: Bool
+gl_EXT_abgr = member "GL_EXT_abgr" extensions
+{-# NOINLINE gl_EXT_abgr #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/bgra.txt EXT_bgra> extension supported?
+glGetEXTBGRA :: MonadIO m => m Bool
+glGetEXTBGRA = getExtensions >>= (return . member "GL_EXT_bgra")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/bgra.txt EXT_bgra> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTBGRA' in those cases instead.
+gl_EXT_bgra :: Bool
+gl_EXT_bgra = member "GL_EXT_bgra" extensions
+{-# NOINLINE gl_EXT_bgra #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt EXT_bindable_uniform> extension supported?
+glGetEXTBindableUniform :: MonadIO m => m Bool
+glGetEXTBindableUniform = getExtensions >>= (return . member "GL_EXT_bindable_uniform")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt EXT_bindable_uniform> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTBindableUniform' in those cases instead.
+gl_EXT_bindable_uniform :: Bool
+gl_EXT_bindable_uniform = member "GL_EXT_bindable_uniform" extensions
+{-# NOINLINE gl_EXT_bindable_uniform #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_color.txt EXT_blend_color> extension supported?
+glGetEXTBlendColor :: MonadIO m => m Bool
+glGetEXTBlendColor = getExtensions >>= (return . member "GL_EXT_blend_color")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_color.txt EXT_blend_color> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTBlendColor' in those cases instead.
+gl_EXT_blend_color :: Bool
+gl_EXT_blend_color = member "GL_EXT_blend_color" extensions
+{-# NOINLINE gl_EXT_blend_color #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt EXT_blend_equation_separate> extension supported?
+glGetEXTBlendEquationSeparate :: MonadIO m => m Bool
+glGetEXTBlendEquationSeparate = getExtensions >>= (return . member "GL_EXT_blend_equation_separate")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt EXT_blend_equation_separate> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTBlendEquationSeparate' in those cases instead.
+gl_EXT_blend_equation_separate :: Bool
+gl_EXT_blend_equation_separate = member "GL_EXT_blend_equation_separate" extensions
+{-# NOINLINE gl_EXT_blend_equation_separate #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt EXT_blend_func_separate> extension supported?
+glGetEXTBlendFuncSeparate :: MonadIO m => m Bool
+glGetEXTBlendFuncSeparate = getExtensions >>= (return . member "GL_EXT_blend_func_separate")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt EXT_blend_func_separate> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTBlendFuncSeparate' in those cases instead.
+gl_EXT_blend_func_separate :: Bool
+gl_EXT_blend_func_separate = member "GL_EXT_blend_func_separate" extensions
+{-# NOINLINE gl_EXT_blend_func_separate #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_minmax.txt EXT_blend_minmax> extension supported?
+glGetEXTBlendMinmax :: MonadIO m => m Bool
+glGetEXTBlendMinmax = getExtensions >>= (return . member "GL_EXT_blend_minmax")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_minmax.txt EXT_blend_minmax> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTBlendMinmax' in those cases instead.
+gl_EXT_blend_minmax :: Bool
+gl_EXT_blend_minmax = member "GL_EXT_blend_minmax" extensions
+{-# NOINLINE gl_EXT_blend_minmax #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_subtract.txt EXT_blend_subtract> extension supported?
+glGetEXTBlendSubtract :: MonadIO m => m Bool
+glGetEXTBlendSubtract = getExtensions >>= (return . member "GL_EXT_blend_subtract")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_subtract.txt EXT_blend_subtract> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTBlendSubtract' in those cases instead.
+gl_EXT_blend_subtract :: Bool
+gl_EXT_blend_subtract = member "GL_EXT_blend_subtract" extensions
+{-# NOINLINE gl_EXT_blend_subtract #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/clip_volume_hint.txt EXT_clip_volume_hint> extension supported?
+glGetEXTClipVolumeHint :: MonadIO m => m Bool
+glGetEXTClipVolumeHint = getExtensions >>= (return . member "GL_EXT_clip_volume_hint")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/clip_volume_hint.txt EXT_clip_volume_hint> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTClipVolumeHint' in those cases instead.
+gl_EXT_clip_volume_hint :: Bool
+gl_EXT_clip_volume_hint = member "GL_EXT_clip_volume_hint" extensions
+{-# NOINLINE gl_EXT_clip_volume_hint #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/cmyka.txt EXT_cmyka> extension supported?
+glGetEXTCMYKA :: MonadIO m => m Bool
+glGetEXTCMYKA = getExtensions >>= (return . member "GL_EXT_cmyka")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/cmyka.txt EXT_cmyka> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTCMYKA' in those cases instead.
+gl_EXT_cmyka :: Bool
+gl_EXT_cmyka = member "GL_EXT_cmyka" extensions
+{-# NOINLINE gl_EXT_cmyka #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/color_subtable.txt EXT_color_subtable> extension supported?
+glGetEXTColorSubtable :: MonadIO m => m Bool
+glGetEXTColorSubtable = getExtensions >>= (return . member "GL_EXT_color_subtable")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/color_subtable.txt EXT_color_subtable> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTColorSubtable' in those cases instead.
+gl_EXT_color_subtable :: Bool
+gl_EXT_color_subtable = member "GL_EXT_color_subtable" extensions
+{-# NOINLINE gl_EXT_color_subtable #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt EXT_compiled_vertex_array> extension supported?
+glGetEXTCompiledVertexArray :: MonadIO m => m Bool
+glGetEXTCompiledVertexArray = getExtensions >>= (return . member "GL_EXT_compiled_vertex_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt EXT_compiled_vertex_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTCompiledVertexArray' in those cases instead.
+gl_EXT_compiled_vertex_array :: Bool
+gl_EXT_compiled_vertex_array = member "GL_EXT_compiled_vertex_array" extensions
+{-# NOINLINE gl_EXT_compiled_vertex_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/convolution.txt EXT_convolution> extension supported?
+glGetEXTConvolution :: MonadIO m => m Bool
+glGetEXTConvolution = getExtensions >>= (return . member "GL_EXT_convolution")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/convolution.txt EXT_convolution> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTConvolution' in those cases instead.
+gl_EXT_convolution :: Bool
+gl_EXT_convolution = member "GL_EXT_convolution" extensions
+{-# NOINLINE gl_EXT_convolution #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/coordinate_frame.txt EXT_coordinate_frame> extension supported?
+glGetEXTCoordinateFrame :: MonadIO m => m Bool
+glGetEXTCoordinateFrame = getExtensions >>= (return . member "GL_EXT_coordinate_frame")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/coordinate_frame.txt EXT_coordinate_frame> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTCoordinateFrame' in those cases instead.
+gl_EXT_coordinate_frame :: Bool
+gl_EXT_coordinate_frame = member "GL_EXT_coordinate_frame" extensions
+{-# NOINLINE gl_EXT_coordinate_frame #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/copy_texture.txt EXT_copy_texture> extension supported?
+glGetEXTCopyTexture :: MonadIO m => m Bool
+glGetEXTCopyTexture = getExtensions >>= (return . member "GL_EXT_copy_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/copy_texture.txt EXT_copy_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTCopyTexture' in those cases instead.
+gl_EXT_copy_texture :: Bool
+gl_EXT_copy_texture = member "GL_EXT_copy_texture" extensions
+{-# NOINLINE gl_EXT_copy_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/cull_vertex.txt EXT_cull_vertex> extension supported?
+glGetEXTCullVertex :: MonadIO m => m Bool
+glGetEXTCullVertex = getExtensions >>= (return . member "GL_EXT_cull_vertex")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/cull_vertex.txt EXT_cull_vertex> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTCullVertex' in those cases instead.
+gl_EXT_cull_vertex :: Bool
+gl_EXT_cull_vertex = member "GL_EXT_cull_vertex" extensions
+{-# NOINLINE gl_EXT_cull_vertex #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_label.txt EXT_debug_label> extension supported?
+glGetEXTDebugLabel :: MonadIO m => m Bool
+glGetEXTDebugLabel = getExtensions >>= (return . member "GL_EXT_debug_label")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_label.txt EXT_debug_label> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTDebugLabel' in those cases instead.
+gl_EXT_debug_label :: Bool
+gl_EXT_debug_label = member "GL_EXT_debug_label" extensions
+{-# NOINLINE gl_EXT_debug_label #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_marker.txt EXT_debug_marker> extension supported?
+glGetEXTDebugMarker :: MonadIO m => m Bool
+glGetEXTDebugMarker = getExtensions >>= (return . member "GL_EXT_debug_marker")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_marker.txt EXT_debug_marker> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTDebugMarker' in those cases instead.
+gl_EXT_debug_marker :: Bool
+gl_EXT_debug_marker = member "GL_EXT_debug_marker" extensions
+{-# NOINLINE gl_EXT_debug_marker #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt EXT_depth_bounds_test> extension supported?
+glGetEXTDepthBoundsTest :: MonadIO m => m Bool
+glGetEXTDepthBoundsTest = getExtensions >>= (return . member "GL_EXT_depth_bounds_test")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt EXT_depth_bounds_test> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTDepthBoundsTest' in those cases instead.
+gl_EXT_depth_bounds_test :: Bool
+gl_EXT_depth_bounds_test = member "GL_EXT_depth_bounds_test" extensions
+{-# NOINLINE gl_EXT_depth_bounds_test #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/direct_state_access.txt EXT_direct_state_access> extension supported?
+glGetEXTDirectStateAccess :: MonadIO m => m Bool
+glGetEXTDirectStateAccess = getExtensions >>= (return . member "GL_EXT_direct_state_access")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/direct_state_access.txt EXT_direct_state_access> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTDirectStateAccess' in those cases instead.
+gl_EXT_direct_state_access :: Bool
+gl_EXT_direct_state_access = member "GL_EXT_direct_state_access" extensions
+{-# NOINLINE gl_EXT_direct_state_access #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt EXT_draw_buffers2> extension supported?
+glGetEXTDrawBuffers2 :: MonadIO m => m Bool
+glGetEXTDrawBuffers2 = getExtensions >>= (return . member "GL_EXT_draw_buffers2")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt EXT_draw_buffers2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTDrawBuffers2' in those cases instead.
+gl_EXT_draw_buffers2 :: Bool
+gl_EXT_draw_buffers2 = member "GL_EXT_draw_buffers2" extensions
+{-# NOINLINE gl_EXT_draw_buffers2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/draw_instanced.txt EXT_draw_instanced> extension supported?
+glGetEXTDrawInstanced :: MonadIO m => m Bool
+glGetEXTDrawInstanced = getExtensions >>= (return . member "GL_EXT_draw_instanced")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/draw_instanced.txt EXT_draw_instanced> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTDrawInstanced' in those cases instead.
+gl_EXT_draw_instanced :: Bool
+gl_EXT_draw_instanced = member "GL_EXT_draw_instanced" extensions
+{-# NOINLINE gl_EXT_draw_instanced #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/draw_range_elements.txt EXT_draw_range_elements> extension supported?
+glGetEXTDrawRangeElements :: MonadIO m => m Bool
+glGetEXTDrawRangeElements = getExtensions >>= (return . member "GL_EXT_draw_range_elements")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/draw_range_elements.txt EXT_draw_range_elements> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTDrawRangeElements' in those cases instead.
+gl_EXT_draw_range_elements :: Bool
+gl_EXT_draw_range_elements = member "GL_EXT_draw_range_elements" extensions
+{-# NOINLINE gl_EXT_draw_range_elements #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/fog_coord.txt EXT_fog_coord> extension supported?
+glGetEXTFogCoord :: MonadIO m => m Bool
+glGetEXTFogCoord = getExtensions >>= (return . member "GL_EXT_fog_coord")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/fog_coord.txt EXT_fog_coord> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTFogCoord' in those cases instead.
+gl_EXT_fog_coord :: Bool
+gl_EXT_fog_coord = member "GL_EXT_fog_coord" extensions
+{-# NOINLINE gl_EXT_fog_coord #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt EXT_framebuffer_blit> extension supported?
+glGetEXTFramebufferBlit :: MonadIO m => m Bool
+glGetEXTFramebufferBlit = getExtensions >>= (return . member "GL_EXT_framebuffer_blit")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt EXT_framebuffer_blit> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTFramebufferBlit' in those cases instead.
+gl_EXT_framebuffer_blit :: Bool
+gl_EXT_framebuffer_blit = member "GL_EXT_framebuffer_blit" extensions
+{-# NOINLINE gl_EXT_framebuffer_blit #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt EXT_framebuffer_multisample> extension supported?
+glGetEXTFramebufferMultisample :: MonadIO m => m Bool
+glGetEXTFramebufferMultisample = getExtensions >>= (return . member "GL_EXT_framebuffer_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt EXT_framebuffer_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTFramebufferMultisample' in those cases instead.
+gl_EXT_framebuffer_multisample :: Bool
+gl_EXT_framebuffer_multisample = member "GL_EXT_framebuffer_multisample" extensions
+{-# NOINLINE gl_EXT_framebuffer_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample_blit_scaled.txt EXT_framebuffer_multisample_blit_scaled> extension supported?
+glGetEXTFramebufferMultisampleBlitScaled :: MonadIO m => m Bool
+glGetEXTFramebufferMultisampleBlitScaled = getExtensions >>= (return . member "GL_EXT_framebuffer_multisample_blit_scaled")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample_blit_scaled.txt EXT_framebuffer_multisample_blit_scaled> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTFramebufferMultisampleBlitScaled' in those cases instead.
+gl_EXT_framebuffer_multisample_blit_scaled :: Bool
+gl_EXT_framebuffer_multisample_blit_scaled = member "GL_EXT_framebuffer_multisample_blit_scaled" extensions
+{-# NOINLINE gl_EXT_framebuffer_multisample_blit_scaled #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt EXT_framebuffer_object> extension supported?
+glGetEXTFramebufferObject :: MonadIO m => m Bool
+glGetEXTFramebufferObject = getExtensions >>= (return . member "GL_EXT_framebuffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt EXT_framebuffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTFramebufferObject' in those cases instead.
+gl_EXT_framebuffer_object :: Bool
+gl_EXT_framebuffer_object = member "GL_EXT_framebuffer_object" extensions
+{-# NOINLINE gl_EXT_framebuffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_sRGB.txt EXT_framebuffer_sRGB> extension supported?
+glGetEXTFramebufferSRGB :: MonadIO m => m Bool
+glGetEXTFramebufferSRGB = getExtensions >>= (return . member "GL_EXT_framebuffer_sRGB")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_sRGB.txt EXT_framebuffer_sRGB> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTFramebufferSRGB' in those cases instead.
+gl_EXT_framebuffer_sRGB :: Bool
+gl_EXT_framebuffer_sRGB = member "GL_EXT_framebuffer_sRGB" extensions
+{-# NOINLINE gl_EXT_framebuffer_sRGB #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt EXT_geometry_shader4> extension supported?
+glGetEXTGeometryShader4 :: MonadIO m => m Bool
+glGetEXTGeometryShader4 = getExtensions >>= (return . member "GL_EXT_geometry_shader4")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt EXT_geometry_shader4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTGeometryShader4' in those cases instead.
+gl_EXT_geometry_shader4 :: Bool
+gl_EXT_geometry_shader4 = member "GL_EXT_geometry_shader4" extensions
+{-# NOINLINE gl_EXT_geometry_shader4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_program_parameters.txt EXT_gpu_program_parameters> extension supported?
+glGetEXTGPUProgramParameters :: MonadIO m => m Bool
+glGetEXTGPUProgramParameters = getExtensions >>= (return . member "GL_EXT_gpu_program_parameters")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_program_parameters.txt EXT_gpu_program_parameters> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTGPUProgramParameters' in those cases instead.
+gl_EXT_gpu_program_parameters :: Bool
+gl_EXT_gpu_program_parameters = member "GL_EXT_gpu_program_parameters" extensions
+{-# NOINLINE gl_EXT_gpu_program_parameters #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt EXT_gpu_shader4> extension supported?
+glGetEXTGPUShader4 :: MonadIO m => m Bool
+glGetEXTGPUShader4 = getExtensions >>= (return . member "GL_EXT_gpu_shader4")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt EXT_gpu_shader4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTGPUShader4' in those cases instead.
+gl_EXT_gpu_shader4 :: Bool
+gl_EXT_gpu_shader4 = member "GL_EXT_gpu_shader4" extensions
+{-# NOINLINE gl_EXT_gpu_shader4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/histogram.txt EXT_histogram> extension supported?
+glGetEXTHistogram :: MonadIO m => m Bool
+glGetEXTHistogram = getExtensions >>= (return . member "GL_EXT_histogram")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/histogram.txt EXT_histogram> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTHistogram' in those cases instead.
+gl_EXT_histogram :: Bool
+gl_EXT_histogram = member "GL_EXT_histogram" extensions
+{-# NOINLINE gl_EXT_histogram #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/index_array_formats.txt EXT_index_array_formats> extension supported?
+glGetEXTIndexArrayFormats :: MonadIO m => m Bool
+glGetEXTIndexArrayFormats = getExtensions >>= (return . member "GL_EXT_index_array_formats")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/index_array_formats.txt EXT_index_array_formats> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTIndexArrayFormats' in those cases instead.
+gl_EXT_index_array_formats :: Bool
+gl_EXT_index_array_formats = member "GL_EXT_index_array_formats" extensions
+{-# NOINLINE gl_EXT_index_array_formats #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/index_func.txt EXT_index_func> extension supported?
+glGetEXTIndexFunc :: MonadIO m => m Bool
+glGetEXTIndexFunc = getExtensions >>= (return . member "GL_EXT_index_func")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/index_func.txt EXT_index_func> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTIndexFunc' in those cases instead.
+gl_EXT_index_func :: Bool
+gl_EXT_index_func = member "GL_EXT_index_func" extensions
+{-# NOINLINE gl_EXT_index_func #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/index_material.txt EXT_index_material> extension supported?
+glGetEXTIndexMaterial :: MonadIO m => m Bool
+glGetEXTIndexMaterial = getExtensions >>= (return . member "GL_EXT_index_material")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/index_material.txt EXT_index_material> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTIndexMaterial' in those cases instead.
+gl_EXT_index_material :: Bool
+gl_EXT_index_material = member "GL_EXT_index_material" extensions
+{-# NOINLINE gl_EXT_index_material #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/light_texture.txt EXT_light_texture> extension supported?
+glGetEXTLightTexture :: MonadIO m => m Bool
+glGetEXTLightTexture = getExtensions >>= (return . member "GL_EXT_light_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/light_texture.txt EXT_light_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTLightTexture' in those cases instead.
+gl_EXT_light_texture :: Bool
+gl_EXT_light_texture = member "GL_EXT_light_texture" extensions
+{-# NOINLINE gl_EXT_light_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt EXT_multi_draw_arrays> extension supported?
+glGetEXTMultiDrawArrays :: MonadIO m => m Bool
+glGetEXTMultiDrawArrays = getExtensions >>= (return . member "GL_EXT_multi_draw_arrays")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt EXT_multi_draw_arrays> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTMultiDrawArrays' in those cases instead.
+gl_EXT_multi_draw_arrays :: Bool
+gl_EXT_multi_draw_arrays = member "GL_EXT_multi_draw_arrays" extensions
+{-# NOINLINE gl_EXT_multi_draw_arrays #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/wgl_multisample.txt EXT_multisample> extension supported?
+glGetEXTMultisample :: MonadIO m => m Bool
+glGetEXTMultisample = getExtensions >>= (return . member "GL_EXT_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/wgl_multisample.txt EXT_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTMultisample' in those cases instead.
+gl_EXT_multisample :: Bool
+gl_EXT_multisample = member "GL_EXT_multisample" extensions
+{-# NOINLINE gl_EXT_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/packed_depth_stencil.txt EXT_packed_depth_stencil> extension supported?
+glGetEXTPackedDepthStencil :: MonadIO m => m Bool
+glGetEXTPackedDepthStencil = getExtensions >>= (return . member "GL_EXT_packed_depth_stencil")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/packed_depth_stencil.txt EXT_packed_depth_stencil> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPackedDepthStencil' in those cases instead.
+gl_EXT_packed_depth_stencil :: Bool
+gl_EXT_packed_depth_stencil = member "GL_EXT_packed_depth_stencil" extensions
+{-# NOINLINE gl_EXT_packed_depth_stencil #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/packed_float.txt EXT_packed_float> extension supported?
+glGetEXTPackedFloat :: MonadIO m => m Bool
+glGetEXTPackedFloat = getExtensions >>= (return . member "GL_EXT_packed_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/packed_float.txt EXT_packed_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPackedFloat' in those cases instead.
+gl_EXT_packed_float :: Bool
+gl_EXT_packed_float = member "GL_EXT_packed_float" extensions
+{-# NOINLINE gl_EXT_packed_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/packed_pixels.txt EXT_packed_pixels> extension supported?
+glGetEXTPackedPixels :: MonadIO m => m Bool
+glGetEXTPackedPixels = getExtensions >>= (return . member "GL_EXT_packed_pixels")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/packed_pixels.txt EXT_packed_pixels> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPackedPixels' in those cases instead.
+gl_EXT_packed_pixels :: Bool
+gl_EXT_packed_pixels = member "GL_EXT_packed_pixels" extensions
+{-# NOINLINE gl_EXT_packed_pixels #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/paletted_texture.txt EXT_paletted_texture> extension supported?
+glGetEXTPalettedTexture :: MonadIO m => m Bool
+glGetEXTPalettedTexture = getExtensions >>= (return . member "GL_EXT_paletted_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/paletted_texture.txt EXT_paletted_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPalettedTexture' in those cases instead.
+gl_EXT_paletted_texture :: Bool
+gl_EXT_paletted_texture = member "GL_EXT_paletted_texture" extensions
+{-# NOINLINE gl_EXT_paletted_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_buffer_object.txt EXT_pixel_buffer_object> extension supported?
+glGetEXTPixelBufferObject :: MonadIO m => m Bool
+glGetEXTPixelBufferObject = getExtensions >>= (return . member "GL_EXT_pixel_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_buffer_object.txt EXT_pixel_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPixelBufferObject' in those cases instead.
+gl_EXT_pixel_buffer_object :: Bool
+gl_EXT_pixel_buffer_object = member "GL_EXT_pixel_buffer_object" extensions
+{-# NOINLINE gl_EXT_pixel_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_transform.txt EXT_pixel_transform> extension supported?
+glGetEXTPixelTransform :: MonadIO m => m Bool
+glGetEXTPixelTransform = getExtensions >>= (return . member "GL_EXT_pixel_transform")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_transform.txt EXT_pixel_transform> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPixelTransform' in those cases instead.
+gl_EXT_pixel_transform :: Bool
+gl_EXT_pixel_transform = member "GL_EXT_pixel_transform" extensions
+{-# NOINLINE gl_EXT_pixel_transform #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt EXT_point_parameters> extension supported?
+glGetEXTPointParameters :: MonadIO m => m Bool
+glGetEXTPointParameters = getExtensions >>= (return . member "GL_EXT_point_parameters")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt EXT_point_parameters> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPointParameters' in those cases instead.
+gl_EXT_point_parameters :: Bool
+gl_EXT_point_parameters = member "GL_EXT_point_parameters" extensions
+{-# NOINLINE gl_EXT_point_parameters #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset.txt EXT_polygon_offset> extension supported?
+glGetEXTPolygonOffset :: MonadIO m => m Bool
+glGetEXTPolygonOffset = getExtensions >>= (return . member "GL_EXT_polygon_offset")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset.txt EXT_polygon_offset> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPolygonOffset' in those cases instead.
+gl_EXT_polygon_offset :: Bool
+gl_EXT_polygon_offset = member "GL_EXT_polygon_offset" extensions
+{-# NOINLINE gl_EXT_polygon_offset #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset_clamp.txt EXT_polygon_offset_clamp> extension supported?
+glGetEXTPolygonOffsetClamp :: MonadIO m => m Bool
+glGetEXTPolygonOffsetClamp = getExtensions >>= (return . member "GL_EXT_polygon_offset_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset_clamp.txt EXT_polygon_offset_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTPolygonOffsetClamp' in those cases instead.
+gl_EXT_polygon_offset_clamp :: Bool
+gl_EXT_polygon_offset_clamp = member "GL_EXT_polygon_offset_clamp" extensions
+{-# NOINLINE gl_EXT_polygon_offset_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/provoking_vertex.txt EXT_provoking_vertex> extension supported?
+glGetEXTProvokingVertex :: MonadIO m => m Bool
+glGetEXTProvokingVertex = getExtensions >>= (return . member "GL_EXT_provoking_vertex")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/provoking_vertex.txt EXT_provoking_vertex> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTProvokingVertex' in those cases instead.
+gl_EXT_provoking_vertex :: Bool
+gl_EXT_provoking_vertex = member "GL_EXT_provoking_vertex" extensions
+{-# NOINLINE gl_EXT_provoking_vertex #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/raster_multisample.txt EXT_raster_multisample> extension supported?
+glGetEXTRasterMultisample :: MonadIO m => m Bool
+glGetEXTRasterMultisample = getExtensions >>= (return . member "GL_EXT_raster_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/raster_multisample.txt EXT_raster_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTRasterMultisample' in those cases instead.
+gl_EXT_raster_multisample :: Bool
+gl_EXT_raster_multisample = member "GL_EXT_raster_multisample" extensions
+{-# NOINLINE gl_EXT_raster_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/rescale_normal.txt EXT_rescale_normal> extension supported?
+glGetEXTRescaleNormal :: MonadIO m => m Bool
+glGetEXTRescaleNormal = getExtensions >>= (return . member "GL_EXT_rescale_normal")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/rescale_normal.txt EXT_rescale_normal> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTRescaleNormal' in those cases instead.
+gl_EXT_rescale_normal :: Bool
+gl_EXT_rescale_normal = member "GL_EXT_rescale_normal" extensions
+{-# NOINLINE gl_EXT_rescale_normal #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/secondary_color.txt EXT_secondary_color> extension supported?
+glGetEXTSecondaryColor :: MonadIO m => m Bool
+glGetEXTSecondaryColor = getExtensions >>= (return . member "GL_EXT_secondary_color")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/secondary_color.txt EXT_secondary_color> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTSecondaryColor' in those cases instead.
+gl_EXT_secondary_color :: Bool
+gl_EXT_secondary_color = member "GL_EXT_secondary_color" extensions
+{-# NOINLINE gl_EXT_secondary_color #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt EXT_separate_shader_objects> extension supported?
+glGetEXTSeparateShaderObjects :: MonadIO m => m Bool
+glGetEXTSeparateShaderObjects = getExtensions >>= (return . member "GL_EXT_separate_shader_objects")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt EXT_separate_shader_objects> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTSeparateShaderObjects' in those cases instead.
+gl_EXT_separate_shader_objects :: Bool
+gl_EXT_separate_shader_objects = member "GL_EXT_separate_shader_objects" extensions
+{-# NOINLINE gl_EXT_separate_shader_objects #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/separate_specular_color.txt EXT_separate_specular_color> extension supported?
+glGetEXTSeparateSpecularColor :: MonadIO m => m Bool
+glGetEXTSeparateSpecularColor = getExtensions >>= (return . member "GL_EXT_separate_specular_color")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/separate_specular_color.txt EXT_separate_specular_color> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTSeparateSpecularColor' in those cases instead.
+gl_EXT_separate_specular_color :: Bool
+gl_EXT_separate_specular_color = member "GL_EXT_separate_specular_color" extensions
+{-# NOINLINE gl_EXT_separate_specular_color #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt EXT_shader_image_load_store> extension supported?
+glGetEXTShaderImageLoadStore :: MonadIO m => m Bool
+glGetEXTShaderImageLoadStore = getExtensions >>= (return . member "GL_EXT_shader_image_load_store")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt EXT_shader_image_load_store> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTShaderImageLoadStore' in those cases instead.
+gl_EXT_shader_image_load_store :: Bool
+gl_EXT_shader_image_load_store = member "GL_EXT_shader_image_load_store" extensions
+{-# NOINLINE gl_EXT_shader_image_load_store #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/shared_texture_palette.txt EXT_shared_texture_palette> extension supported?
+glGetEXTSharedTexturePalette :: MonadIO m => m Bool
+glGetEXTSharedTexturePalette = getExtensions >>= (return . member "GL_EXT_shared_texture_palette")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/shared_texture_palette.txt EXT_shared_texture_palette> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTSharedTexturePalette' in those cases instead.
+gl_EXT_shared_texture_palette :: Bool
+gl_EXT_shared_texture_palette = member "GL_EXT_shared_texture_palette" extensions
+{-# NOINLINE gl_EXT_shared_texture_palette #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt EXT_stencil_clear_tag> extension supported?
+glGetEXTStencilClearTag :: MonadIO m => m Bool
+glGetEXTStencilClearTag = getExtensions >>= (return . member "GL_EXT_stencil_clear_tag")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt EXT_stencil_clear_tag> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTStencilClearTag' in those cases instead.
+gl_EXT_stencil_clear_tag :: Bool
+gl_EXT_stencil_clear_tag = member "GL_EXT_stencil_clear_tag" extensions
+{-# NOINLINE gl_EXT_stencil_clear_tag #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_two_side.txt EXT_stencil_two_side> extension supported?
+glGetEXTStencilTwoSide :: MonadIO m => m Bool
+glGetEXTStencilTwoSide = getExtensions >>= (return . member "GL_EXT_stencil_two_side")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_two_side.txt EXT_stencil_two_side> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTStencilTwoSide' in those cases instead.
+gl_EXT_stencil_two_side :: Bool
+gl_EXT_stencil_two_side = member "GL_EXT_stencil_two_side" extensions
+{-# NOINLINE gl_EXT_stencil_two_side #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_wrap.txt EXT_stencil_wrap> extension supported?
+glGetEXTStencilWrap :: MonadIO m => m Bool
+glGetEXTStencilWrap = getExtensions >>= (return . member "GL_EXT_stencil_wrap")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_wrap.txt EXT_stencil_wrap> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTStencilWrap' in those cases instead.
+gl_EXT_stencil_wrap :: Bool
+gl_EXT_stencil_wrap = member "GL_EXT_stencil_wrap" extensions
+{-# NOINLINE gl_EXT_stencil_wrap #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/subtexture.txt EXT_subtexture> extension supported?
+glGetEXTSubtexture :: MonadIO m => m Bool
+glGetEXTSubtexture = getExtensions >>= (return . member "GL_EXT_subtexture")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/subtexture.txt EXT_subtexture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTSubtexture' in those cases instead.
+gl_EXT_subtexture :: Bool
+gl_EXT_subtexture = member "GL_EXT_subtexture" extensions
+{-# NOINLINE gl_EXT_subtexture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture.txt EXT_texture> extension supported?
+glGetEXTTexture :: MonadIO m => m Bool
+glGetEXTTexture = getExtensions >>= (return . member "GL_EXT_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture.txt EXT_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTexture' in those cases instead.
+gl_EXT_texture :: Bool
+gl_EXT_texture = member "GL_EXT_texture" extensions
+{-# NOINLINE gl_EXT_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture3D.txt EXT_texture3D> extension supported?
+glGetEXTTexture3D :: MonadIO m => m Bool
+glGetEXTTexture3D = getExtensions >>= (return . member "GL_EXT_texture3D")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture3D.txt EXT_texture3D> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTexture3D' in those cases instead.
+gl_EXT_texture3D :: Bool
+gl_EXT_texture3D = member "GL_EXT_texture3D" extensions
+{-# NOINLINE gl_EXT_texture3D #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_array.txt EXT_texture_array> extension supported?
+glGetEXTTextureArray :: MonadIO m => m Bool
+glGetEXTTextureArray = getExtensions >>= (return . member "GL_EXT_texture_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_array.txt EXT_texture_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureArray' in those cases instead.
+gl_EXT_texture_array :: Bool
+gl_EXT_texture_array = member "GL_EXT_texture_array" extensions
+{-# NOINLINE gl_EXT_texture_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_buffer_object.txt EXT_texture_buffer_object> extension supported?
+glGetEXTTextureBufferObject :: MonadIO m => m Bool
+glGetEXTTextureBufferObject = getExtensions >>= (return . member "GL_EXT_texture_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_buffer_object.txt EXT_texture_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureBufferObject' in those cases instead.
+gl_EXT_texture_buffer_object :: Bool
+gl_EXT_texture_buffer_object = member "GL_EXT_texture_buffer_object" extensions
+{-# NOINLINE gl_EXT_texture_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt EXT_texture_compression_latc> extension supported?
+glGetEXTTextureCompressionLATC :: MonadIO m => m Bool
+glGetEXTTextureCompressionLATC = getExtensions >>= (return . member "GL_EXT_texture_compression_latc")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt EXT_texture_compression_latc> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureCompressionLATC' in those cases instead.
+gl_EXT_texture_compression_latc :: Bool
+gl_EXT_texture_compression_latc = member "GL_EXT_texture_compression_latc" extensions
+{-# NOINLINE gl_EXT_texture_compression_latc #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_rgtc.txt EXT_texture_compression_rgtc> extension supported?
+glGetEXTTextureCompressionRGTC :: MonadIO m => m Bool
+glGetEXTTextureCompressionRGTC = getExtensions >>= (return . member "GL_EXT_texture_compression_rgtc")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_rgtc.txt EXT_texture_compression_rgtc> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureCompressionRGTC' in those cases instead.
+gl_EXT_texture_compression_rgtc :: Bool
+gl_EXT_texture_compression_rgtc = member "GL_EXT_texture_compression_rgtc" extensions
+{-# NOINLINE gl_EXT_texture_compression_rgtc #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt EXT_texture_compression_s3tc> extension supported?
+glGetEXTTextureCompressionS3TC :: MonadIO m => m Bool
+glGetEXTTextureCompressionS3TC = getExtensions >>= (return . member "GL_EXT_texture_compression_s3tc")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt EXT_texture_compression_s3tc> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureCompressionS3TC' in those cases instead.
+gl_EXT_texture_compression_s3tc :: Bool
+gl_EXT_texture_compression_s3tc = member "GL_EXT_texture_compression_s3tc" extensions
+{-# NOINLINE gl_EXT_texture_compression_s3tc #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt EXT_texture_cube_map> extension supported?
+glGetEXTTextureCubeMap :: MonadIO m => m Bool
+glGetEXTTextureCubeMap = getExtensions >>= (return . member "GL_EXT_texture_cube_map")
+
+-- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt EXT_texture_cube_map> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureCubeMap' in those cases instead.
+gl_EXT_texture_cube_map :: Bool
+gl_EXT_texture_cube_map = member "GL_EXT_texture_cube_map" extensions
+{-# NOINLINE gl_EXT_texture_cube_map #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_combine.txt EXT_texture_env_combine> extension supported?
+glGetEXTTextureEnvCombine :: MonadIO m => m Bool
+glGetEXTTextureEnvCombine = getExtensions >>= (return . member "GL_EXT_texture_env_combine")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_combine.txt EXT_texture_env_combine> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureEnvCombine' in those cases instead.
+gl_EXT_texture_env_combine :: Bool
+gl_EXT_texture_env_combine = member "GL_EXT_texture_env_combine" extensions
+{-# NOINLINE gl_EXT_texture_env_combine #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_dot3.txt EXT_texture_env_dot3> extension supported?
+glGetEXTTextureEnvDot3 :: MonadIO m => m Bool
+glGetEXTTextureEnvDot3 = getExtensions >>= (return . member "GL_EXT_texture_env_dot3")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_dot3.txt EXT_texture_env_dot3> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureEnvDot3' in those cases instead.
+gl_EXT_texture_env_dot3 :: Bool
+gl_EXT_texture_env_dot3 = member "GL_EXT_texture_env_dot3" extensions
+{-# NOINLINE gl_EXT_texture_env_dot3 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt EXT_texture_filter_anisotropic> extension supported?
+glGetEXTTextureFilterAnisotropic :: MonadIO m => m Bool
+glGetEXTTextureFilterAnisotropic = getExtensions >>= (return . member "GL_EXT_texture_filter_anisotropic")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt EXT_texture_filter_anisotropic> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureFilterAnisotropic' in those cases instead.
+gl_EXT_texture_filter_anisotropic :: Bool
+gl_EXT_texture_filter_anisotropic = member "GL_EXT_texture_filter_anisotropic" extensions
+{-# NOINLINE gl_EXT_texture_filter_anisotropic #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_minmax.txt EXT_texture_filter_minmax> extension supported?
+glGetEXTTextureFilterMinmax :: MonadIO m => m Bool
+glGetEXTTextureFilterMinmax = getExtensions >>= (return . member "GL_EXT_texture_filter_minmax")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_minmax.txt EXT_texture_filter_minmax> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureFilterMinmax' in those cases instead.
+gl_EXT_texture_filter_minmax :: Bool
+gl_EXT_texture_filter_minmax = member "GL_EXT_texture_filter_minmax" extensions
+{-# NOINLINE gl_EXT_texture_filter_minmax #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_integer.txt EXT_texture_integer> extension supported?
+glGetEXTTextureInteger :: MonadIO m => m Bool
+glGetEXTTextureInteger = getExtensions >>= (return . member "GL_EXT_texture_integer")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_integer.txt EXT_texture_integer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureInteger' in those cases instead.
+gl_EXT_texture_integer :: Bool
+gl_EXT_texture_integer = member "GL_EXT_texture_integer" extensions
+{-# NOINLINE gl_EXT_texture_integer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt EXT_texture_lod_bias> extension supported?
+glGetEXTTextureLODBias :: MonadIO m => m Bool
+glGetEXTTextureLODBias = getExtensions >>= (return . member "GL_EXT_texture_lod_bias")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt EXT_texture_lod_bias> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureLODBias' in those cases instead.
+gl_EXT_texture_lod_bias :: Bool
+gl_EXT_texture_lod_bias = member "GL_EXT_texture_lod_bias" extensions
+{-# NOINLINE gl_EXT_texture_lod_bias #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_mirror_clamp.txt EXT_texture_mirror_clamp> extension supported?
+glGetEXTTextureMirrorClamp :: MonadIO m => m Bool
+glGetEXTTextureMirrorClamp = getExtensions >>= (return . member "GL_EXT_texture_mirror_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_mirror_clamp.txt EXT_texture_mirror_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureMirrorClamp' in those cases instead.
+gl_EXT_texture_mirror_clamp :: Bool
+gl_EXT_texture_mirror_clamp = member "GL_EXT_texture_mirror_clamp" extensions
+{-# NOINLINE gl_EXT_texture_mirror_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_object.txt EXT_texture_object> extension supported?
+glGetEXTTextureObject :: MonadIO m => m Bool
+glGetEXTTextureObject = getExtensions >>= (return . member "GL_EXT_texture_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_object.txt EXT_texture_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureObject' in those cases instead.
+gl_EXT_texture_object :: Bool
+gl_EXT_texture_object = member "GL_EXT_texture_object" extensions
+{-# NOINLINE gl_EXT_texture_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt EXT_texture_perturb_normal> extension supported?
+glGetEXTTexturePerturbNormal :: MonadIO m => m Bool
+glGetEXTTexturePerturbNormal = getExtensions >>= (return . member "GL_EXT_texture_perturb_normal")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt EXT_texture_perturb_normal> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTexturePerturbNormal' in those cases instead.
+gl_EXT_texture_perturb_normal :: Bool
+gl_EXT_texture_perturb_normal = member "GL_EXT_texture_perturb_normal" extensions
+{-# NOINLINE gl_EXT_texture_perturb_normal #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB.txt EXT_texture_sRGB> extension supported?
+glGetEXTTextureSRGB :: MonadIO m => m Bool
+glGetEXTTextureSRGB = getExtensions >>= (return . member "GL_EXT_texture_sRGB")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB.txt EXT_texture_sRGB> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureSRGB' in those cases instead.
+gl_EXT_texture_sRGB :: Bool
+gl_EXT_texture_sRGB = member "GL_EXT_texture_sRGB" extensions
+{-# NOINLINE gl_EXT_texture_sRGB #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB_decode.txt EXT_texture_sRGB_decode> extension supported?
+glGetEXTTextureSRGBDecode :: MonadIO m => m Bool
+glGetEXTTextureSRGBDecode = getExtensions >>= (return . member "GL_EXT_texture_sRGB_decode")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB_decode.txt EXT_texture_sRGB_decode> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureSRGBDecode' in those cases instead.
+gl_EXT_texture_sRGB_decode :: Bool
+gl_EXT_texture_sRGB_decode = member "GL_EXT_texture_sRGB_decode" extensions
+{-# NOINLINE gl_EXT_texture_sRGB_decode #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt EXT_texture_shared_exponent> extension supported?
+glGetEXTTextureSharedExponent :: MonadIO m => m Bool
+glGetEXTTextureSharedExponent = getExtensions >>= (return . member "GL_EXT_texture_shared_exponent")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt EXT_texture_shared_exponent> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureSharedExponent' in those cases instead.
+gl_EXT_texture_shared_exponent :: Bool
+gl_EXT_texture_shared_exponent = member "GL_EXT_texture_shared_exponent" extensions
+{-# NOINLINE gl_EXT_texture_shared_exponent #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_snorm.txt EXT_texture_snorm> extension supported?
+glGetEXTTextureSNorm :: MonadIO m => m Bool
+glGetEXTTextureSNorm = getExtensions >>= (return . member "GL_EXT_texture_snorm")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_snorm.txt EXT_texture_snorm> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureSNorm' in those cases instead.
+gl_EXT_texture_snorm :: Bool
+gl_EXT_texture_snorm = member "GL_EXT_texture_snorm" extensions
+{-# NOINLINE gl_EXT_texture_snorm #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_swizzle.txt EXT_texture_swizzle> extension supported?
+glGetEXTTextureSwizzle :: MonadIO m => m Bool
+glGetEXTTextureSwizzle = getExtensions >>= (return . member "GL_EXT_texture_swizzle")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/texture_swizzle.txt EXT_texture_swizzle> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTextureSwizzle' in those cases instead.
+gl_EXT_texture_swizzle :: Bool
+gl_EXT_texture_swizzle = member "GL_EXT_texture_swizzle" extensions
+{-# NOINLINE gl_EXT_texture_swizzle #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/timer_query.txt EXT_timer_query> extension supported?
+glGetEXTTimerQuery :: MonadIO m => m Bool
+glGetEXTTimerQuery = getExtensions >>= (return . member "GL_EXT_timer_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/timer_query.txt EXT_timer_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTimerQuery' in those cases instead.
+gl_EXT_timer_query :: Bool
+gl_EXT_timer_query = member "GL_EXT_timer_query" extensions
+{-# NOINLINE gl_EXT_timer_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/transform_feedback.txt EXT_transform_feedback> extension supported?
+glGetEXTTransformFeedback :: MonadIO m => m Bool
+glGetEXTTransformFeedback = getExtensions >>= (return . member "GL_EXT_transform_feedback")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/transform_feedback.txt EXT_transform_feedback> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTTransformFeedback' in those cases instead.
+gl_EXT_transform_feedback :: Bool
+gl_EXT_transform_feedback = member "GL_EXT_transform_feedback" extensions
+{-# NOINLINE gl_EXT_transform_feedback #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array.txt EXT_vertex_array> extension supported?
+glGetEXTVertexArray :: MonadIO m => m Bool
+glGetEXTVertexArray = getExtensions >>= (return . member "GL_EXT_vertex_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array.txt EXT_vertex_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTVertexArray' in those cases instead.
+gl_EXT_vertex_array :: Bool
+gl_EXT_vertex_array = member "GL_EXT_vertex_array" extensions
+{-# NOINLINE gl_EXT_vertex_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array_bgra.txt EXT_vertex_array_bgra> extension supported?
+glGetEXTVertexArrayBGRA :: MonadIO m => m Bool
+glGetEXTVertexArrayBGRA = getExtensions >>= (return . member "GL_EXT_vertex_array_bgra")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array_bgra.txt EXT_vertex_array_bgra> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTVertexArrayBGRA' in those cases instead.
+gl_EXT_vertex_array_bgra :: Bool
+gl_EXT_vertex_array_bgra = member "GL_EXT_vertex_array_bgra" extensions
+{-# NOINLINE gl_EXT_vertex_array_bgra #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt EXT_vertex_attrib_64bit> extension supported?
+glGetEXTVertexAttrib64Bit :: MonadIO m => m Bool
+glGetEXTVertexAttrib64Bit = getExtensions >>= (return . member "GL_EXT_vertex_attrib_64bit")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt EXT_vertex_attrib_64bit> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTVertexAttrib64Bit' in those cases instead.
+gl_EXT_vertex_attrib_64bit :: Bool
+gl_EXT_vertex_attrib_64bit = member "GL_EXT_vertex_attrib_64bit" extensions
+{-# NOINLINE gl_EXT_vertex_attrib_64bit #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_shader.txt EXT_vertex_shader> extension supported?
+glGetEXTVertexShader :: MonadIO m => m Bool
+glGetEXTVertexShader = getExtensions >>= (return . member "GL_EXT_vertex_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_shader.txt EXT_vertex_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTVertexShader' in those cases instead.
+gl_EXT_vertex_shader :: Bool
+gl_EXT_vertex_shader = member "GL_EXT_vertex_shader" extensions
+{-# NOINLINE gl_EXT_vertex_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_weighting.txt EXT_vertex_weighting> extension supported?
+glGetEXTVertexWeighting :: MonadIO m => m Bool
+glGetEXTVertexWeighting = getExtensions >>= (return . member "GL_EXT_vertex_weighting")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_weighting.txt EXT_vertex_weighting> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTVertexWeighting' in those cases instead.
+gl_EXT_vertex_weighting :: Bool
+gl_EXT_vertex_weighting = member "GL_EXT_vertex_weighting" extensions
+{-# NOINLINE gl_EXT_vertex_weighting #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/x11_sync_object.txt EXT_x11_sync_object> extension supported?
+glGetEXTX11SyncObject :: MonadIO m => m Bool
+glGetEXTX11SyncObject = getExtensions >>= (return . member "GL_EXT_x11_sync_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/x11_sync_object.txt EXT_x11_sync_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetEXTX11SyncObject' in those cases instead.
+gl_EXT_x11_sync_object :: Bool
+gl_EXT_x11_sync_object = member "GL_EXT_x11_sync_object" extensions
+{-# NOINLINE gl_EXT_x11_sync_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt GREMEDY_frame_terminator> extension supported?
+glGetGREMEDYFrameTerminator :: MonadIO m => m Bool
+glGetGREMEDYFrameTerminator = getExtensions >>= (return . member "GL_GREMEDY_frame_terminator")
+
+-- | Is the <https://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt GREMEDY_frame_terminator> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetGREMEDYFrameTerminator' in those cases instead.
+gl_GREMEDY_frame_terminator :: Bool
+gl_GREMEDY_frame_terminator = member "GL_GREMEDY_frame_terminator" extensions
+{-# NOINLINE gl_GREMEDY_frame_terminator #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/GREMEDY/string_marker.txt GREMEDY_string_marker> extension supported?
+glGetGREMEDYStringMarker :: MonadIO m => m Bool
+glGetGREMEDYStringMarker = getExtensions >>= (return . member "GL_GREMEDY_string_marker")
+
+-- | Is the <https://www.opengl.org/registry/specs/GREMEDY/string_marker.txt GREMEDY_string_marker> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetGREMEDYStringMarker' in those cases instead.
+gl_GREMEDY_string_marker :: Bool
+gl_GREMEDY_string_marker = member "GL_GREMEDY_string_marker" extensions
+{-# NOINLINE gl_GREMEDY_string_marker #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/convolution_border_modes.txt HP_convolution_border_modes> extension supported?
+glGetHPConvolutionBorderModes :: MonadIO m => m Bool
+glGetHPConvolutionBorderModes = getExtensions >>= (return . member "GL_HP_convolution_border_modes")
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/convolution_border_modes.txt HP_convolution_border_modes> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetHPConvolutionBorderModes' in those cases instead.
+gl_HP_convolution_border_modes :: Bool
+gl_HP_convolution_border_modes = member "GL_HP_convolution_border_modes" extensions
+{-# NOINLINE gl_HP_convolution_border_modes #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/image_transform.txt HP_image_transform> extension supported?
+glGetHPImageTransform :: MonadIO m => m Bool
+glGetHPImageTransform = getExtensions >>= (return . member "GL_HP_image_transform")
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/image_transform.txt HP_image_transform> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetHPImageTransform' in those cases instead.
+gl_HP_image_transform :: Bool
+gl_HP_image_transform = member "GL_HP_image_transform" extensions
+{-# NOINLINE gl_HP_image_transform #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/occlusion_test.txt HP_occlusion_test> extension supported?
+glGetHPOcclusionTest :: MonadIO m => m Bool
+glGetHPOcclusionTest = getExtensions >>= (return . member "GL_HP_occlusion_test")
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/occlusion_test.txt HP_occlusion_test> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetHPOcclusionTest' in those cases instead.
+gl_HP_occlusion_test :: Bool
+gl_HP_occlusion_test = member "GL_HP_occlusion_test" extensions
+{-# NOINLINE gl_HP_occlusion_test #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/texture_lighting.txt HP_texture_lighting> extension supported?
+glGetHPTextureLighting :: MonadIO m => m Bool
+glGetHPTextureLighting = getExtensions >>= (return . member "GL_HP_texture_lighting")
+
+-- | Is the <https://www.opengl.org/registry/specs/HP/texture_lighting.txt HP_texture_lighting> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetHPTextureLighting' in those cases instead.
+gl_HP_texture_lighting :: Bool
+gl_HP_texture_lighting = member "GL_HP_texture_lighting" extensions
+{-# NOINLINE gl_HP_texture_lighting #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/cull_vertex.txt IBM_cull_vertex> extension supported?
+glGetIBMCullVertex :: MonadIO m => m Bool
+glGetIBMCullVertex = getExtensions >>= (return . member "GL_IBM_cull_vertex")
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/cull_vertex.txt IBM_cull_vertex> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetIBMCullVertex' in those cases instead.
+gl_IBM_cull_vertex :: Bool
+gl_IBM_cull_vertex = member "GL_IBM_cull_vertex" extensions
+{-# NOINLINE gl_IBM_cull_vertex #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt IBM_multimode_draw_arrays> extension supported?
+glGetIBMMultimodeDrawArrays :: MonadIO m => m Bool
+glGetIBMMultimodeDrawArrays = getExtensions >>= (return . member "GL_IBM_multimode_draw_arrays")
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt IBM_multimode_draw_arrays> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetIBMMultimodeDrawArrays' in those cases instead.
+gl_IBM_multimode_draw_arrays :: Bool
+gl_IBM_multimode_draw_arrays = member "GL_IBM_multimode_draw_arrays" extensions
+{-# NOINLINE gl_IBM_multimode_draw_arrays #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/rasterpos_clip.txt IBM_rasterpos_clip> extension supported?
+glGetIBMRasterposClip :: MonadIO m => m Bool
+glGetIBMRasterposClip = getExtensions >>= (return . member "GL_IBM_rasterpos_clip")
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/rasterpos_clip.txt IBM_rasterpos_clip> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetIBMRasterposClip' in those cases instead.
+gl_IBM_rasterpos_clip :: Bool
+gl_IBM_rasterpos_clip = member "GL_IBM_rasterpos_clip" extensions
+{-# NOINLINE gl_IBM_rasterpos_clip #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/static_data.txt IBM_static_data> extension supported?
+glGetIBMStaticData :: MonadIO m => m Bool
+glGetIBMStaticData = getExtensions >>= (return . member "GL_IBM_static_data")
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/static_data.txt IBM_static_data> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetIBMStaticData' in those cases instead.
+gl_IBM_static_data :: Bool
+gl_IBM_static_data = member "GL_IBM_static_data" extensions
+{-# NOINLINE gl_IBM_static_data #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/texture_mirrored_repeat.txt IBM_texture_mirrored_repeat> extension supported?
+glGetIBMTextureMirroredRepeat :: MonadIO m => m Bool
+glGetIBMTextureMirroredRepeat = getExtensions >>= (return . member "GL_IBM_texture_mirrored_repeat")
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/texture_mirrored_repeat.txt IBM_texture_mirrored_repeat> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetIBMTextureMirroredRepeat' in those cases instead.
+gl_IBM_texture_mirrored_repeat :: Bool
+gl_IBM_texture_mirrored_repeat = member "GL_IBM_texture_mirrored_repeat" extensions
+{-# NOINLINE gl_IBM_texture_mirrored_repeat #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/vertex_array_lists.txt IBM_vertex_array_lists> extension supported?
+glGetIBMVertexArrayLists :: MonadIO m => m Bool
+glGetIBMVertexArrayLists = getExtensions >>= (return . member "GL_IBM_vertex_array_lists")
+
+-- | Is the <https://www.opengl.org/registry/specs/IBM/vertex_array_lists.txt IBM_vertex_array_lists> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetIBMVertexArrayLists' in those cases instead.
+gl_IBM_vertex_array_lists :: Bool
+gl_IBM_vertex_array_lists = member "GL_IBM_vertex_array_lists" extensions
+{-# NOINLINE gl_IBM_vertex_array_lists #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt INGR_blend_func_separate> extension supported?
+glGetINGRBlendFuncSeparate :: MonadIO m => m Bool
+glGetINGRBlendFuncSeparate = getExtensions >>= (return . member "GL_INGR_blend_func_separate")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt INGR_blend_func_separate> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetINGRBlendFuncSeparate' in those cases instead.
+gl_INGR_blend_func_separate :: Bool
+gl_INGR_blend_func_separate = member "GL_INGR_blend_func_separate" extensions
+{-# NOINLINE gl_INGR_blend_func_separate #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/INGR/color_clamp.txt INGR_color_clamp> extension supported?
+glGetINGRColorClamp :: MonadIO m => m Bool
+glGetINGRColorClamp = getExtensions >>= (return . member "GL_INGR_color_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/INGR/color_clamp.txt INGR_color_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetINGRColorClamp' in those cases instead.
+gl_INGR_color_clamp :: Bool
+gl_INGR_color_clamp = member "GL_INGR_color_clamp" extensions
+{-# NOINLINE gl_INGR_color_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/INGR/interlace_read.txt INGR_interlace_read> extension supported?
+glGetINGRInterlaceRead :: MonadIO m => m Bool
+glGetINGRInterlaceRead = getExtensions >>= (return . member "GL_INGR_interlace_read")
+
+-- | Is the <https://www.opengl.org/registry/specs/INGR/interlace_read.txt INGR_interlace_read> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetINGRInterlaceRead' in those cases instead.
+gl_INGR_interlace_read :: Bool
+gl_INGR_interlace_read = member "GL_INGR_interlace_read" extensions
+{-# NOINLINE gl_INGR_interlace_read #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/framebuffer_CMAA.txt INTEL_framebuffer_CMAA> extension supported?
+glGetINTELFramebufferCmaa :: MonadIO m => m Bool
+glGetINTELFramebufferCmaa = getExtensions >>= (return . member "GL_INTEL_framebuffer_CMAA")
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/framebuffer_CMAA.txt INTEL_framebuffer_CMAA> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetINTELFramebufferCmaa' in those cases instead.
+gl_INTEL_framebuffer_CMAA :: Bool
+gl_INTEL_framebuffer_CMAA = member "GL_INTEL_framebuffer_CMAA" extensions
+{-# NOINLINE gl_INTEL_framebuffer_CMAA #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/map_texture.txt INTEL_map_texture> extension supported?
+glGetINTELMapTexture :: MonadIO m => m Bool
+glGetINTELMapTexture = getExtensions >>= (return . member "GL_INTEL_map_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/map_texture.txt INTEL_map_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetINTELMapTexture' in those cases instead.
+gl_INTEL_map_texture :: Bool
+gl_INTEL_map_texture = member "GL_INTEL_map_texture" extensions
+{-# NOINLINE gl_INTEL_map_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt INTEL_parallel_arrays> extension supported?
+glGetINTELParallelArrays :: MonadIO m => m Bool
+glGetINTELParallelArrays = getExtensions >>= (return . member "GL_INTEL_parallel_arrays")
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt INTEL_parallel_arrays> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetINTELParallelArrays' in those cases instead.
+gl_INTEL_parallel_arrays :: Bool
+gl_INTEL_parallel_arrays = member "GL_INTEL_parallel_arrays" extensions
+{-# NOINLINE gl_INTEL_parallel_arrays #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/performance_query.txt INTEL_performance_query> extension supported?
+glGetINTELPerformanceQuery :: MonadIO m => m Bool
+glGetINTELPerformanceQuery = getExtensions >>= (return . member "GL_INTEL_performance_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/INTEL/performance_query.txt INTEL_performance_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetINTELPerformanceQuery' in those cases instead.
+gl_INTEL_performance_query :: Bool
+gl_INTEL_performance_query = member "GL_INTEL_performance_query" extensions
+{-# NOINLINE gl_INTEL_performance_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced> extension supported?
+glGetKHRBlendEquationAdvanced :: MonadIO m => m Bool
+glGetKHRBlendEquationAdvanced = getExtensions >>= (return . member "GL_KHR_blend_equation_advanced")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRBlendEquationAdvanced' in those cases instead.
+gl_KHR_blend_equation_advanced :: Bool
+gl_KHR_blend_equation_advanced = member "GL_KHR_blend_equation_advanced" extensions
+{-# NOINLINE gl_KHR_blend_equation_advanced #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced_coherent> extension supported?
+glGetKHRBlendEquationAdvancedCoherent :: MonadIO m => m Bool
+glGetKHRBlendEquationAdvancedCoherent = getExtensions >>= (return . member "GL_KHR_blend_equation_advanced_coherent")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced_coherent> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRBlendEquationAdvancedCoherent' in those cases instead.
+gl_KHR_blend_equation_advanced_coherent :: Bool
+gl_KHR_blend_equation_advanced_coherent = member "GL_KHR_blend_equation_advanced_coherent" extensions
+{-# NOINLINE gl_KHR_blend_equation_advanced_coherent #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/context_flush_control.txt KHR_context_flush_control> extension supported?
+glGetKHRContextFlushControl :: MonadIO m => m Bool
+glGetKHRContextFlushControl = getExtensions >>= (return . member "GL_KHR_context_flush_control")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/context_flush_control.txt KHR_context_flush_control> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRContextFlushControl' in those cases instead.
+gl_KHR_context_flush_control :: Bool
+gl_KHR_context_flush_control = member "GL_KHR_context_flush_control" extensions
+{-# NOINLINE gl_KHR_context_flush_control #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/debug.txt KHR_debug> extension supported?
+glGetKHRDebug :: MonadIO m => m Bool
+glGetKHRDebug = getExtensions >>= (return . member "GL_KHR_debug")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/debug.txt KHR_debug> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRDebug' in those cases instead.
+gl_KHR_debug :: Bool
+gl_KHR_debug = member "GL_KHR_debug" extensions
+{-# NOINLINE gl_KHR_debug #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/no_error.txt KHR_no_error> extension supported?
+glGetKHRNoError :: MonadIO m => m Bool
+glGetKHRNoError = getExtensions >>= (return . member "GL_KHR_no_error")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/no_error.txt KHR_no_error> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRNoError' in those cases instead.
+gl_KHR_no_error :: Bool
+gl_KHR_no_error = member "GL_KHR_no_error" extensions
+{-# NOINLINE gl_KHR_no_error #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/robustness.txt KHR_robustness> extension supported?
+glGetKHRRobustness :: MonadIO m => m Bool
+glGetKHRRobustness = getExtensions >>= (return . member "GL_KHR_robustness")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/robustness.txt KHR_robustness> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRRobustness' in those cases instead.
+gl_KHR_robustness :: Bool
+gl_KHR_robustness = member "GL_KHR_robustness" extensions
+{-# NOINLINE gl_KHR_robustness #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_hdr> extension supported?
+glGetKHRTextureCompressionASTCHDR :: MonadIO m => m Bool
+glGetKHRTextureCompressionASTCHDR = getExtensions >>= (return . member "GL_KHR_texture_compression_astc_hdr")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_hdr> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRTextureCompressionASTCHDR' in those cases instead.
+gl_KHR_texture_compression_astc_hdr :: Bool
+gl_KHR_texture_compression_astc_hdr = member "GL_KHR_texture_compression_astc_hdr" extensions
+{-# NOINLINE gl_KHR_texture_compression_astc_hdr #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_ldr> extension supported?
+glGetKHRTextureCompressionASTCLDR :: MonadIO m => m Bool
+glGetKHRTextureCompressionASTCLDR = getExtensions >>= (return . member "GL_KHR_texture_compression_astc_ldr")
+
+-- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_ldr> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetKHRTextureCompressionASTCLDR' in those cases instead.
+gl_KHR_texture_compression_astc_ldr :: Bool
+gl_KHR_texture_compression_astc_ldr = member "GL_KHR_texture_compression_astc_ldr" extensions
+{-# NOINLINE gl_KHR_texture_compression_astc_ldr #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/pack_invert.txt MESA_pack_invert> extension supported?
+glGetMESAPackInvert :: MonadIO m => m Bool
+glGetMESAPackInvert = getExtensions >>= (return . member "GL_MESA_pack_invert")
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/pack_invert.txt MESA_pack_invert> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetMESAPackInvert' in those cases instead.
+gl_MESA_pack_invert :: Bool
+gl_MESA_pack_invert = member "GL_MESA_pack_invert" extensions
+{-# NOINLINE gl_MESA_pack_invert #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/resize_buffers.txt MESA_resize_buffers> extension supported?
+glGetMESAResizeBuffers :: MonadIO m => m Bool
+glGetMESAResizeBuffers = getExtensions >>= (return . member "GL_MESA_resize_buffers")
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/resize_buffers.txt MESA_resize_buffers> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetMESAResizeBuffers' in those cases instead.
+gl_MESA_resize_buffers :: Bool
+gl_MESA_resize_buffers = member "GL_MESA_resize_buffers" extensions
+{-# NOINLINE gl_MESA_resize_buffers #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/window_pos.txt MESA_window_pos> extension supported?
+glGetMESAWindowPos :: MonadIO m => m Bool
+glGetMESAWindowPos = getExtensions >>= (return . member "GL_MESA_window_pos")
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/window_pos.txt MESA_window_pos> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetMESAWindowPos' in those cases instead.
+gl_MESA_window_pos :: Bool
+gl_MESA_window_pos = member "GL_MESA_window_pos" extensions
+{-# NOINLINE gl_MESA_window_pos #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/ycbcr_texture.txt MESA_ycbcr_texture> extension supported?
+glGetMESAYCbCrTexture :: MonadIO m => m Bool
+glGetMESAYCbCrTexture = getExtensions >>= (return . member "GL_MESA_ycbcr_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/MESA/ycbcr_texture.txt MESA_ycbcr_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetMESAYCbCrTexture' in those cases instead.
+gl_MESA_ycbcr_texture :: Bool
+gl_MESA_ycbcr_texture = member "GL_MESA_ycbcr_texture" extensions
+{-# NOINLINE gl_MESA_ycbcr_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/MESAX/texture_stack.txt MESAX_texture_stack> extension supported?
+glGetMESAXTextureStack :: MonadIO m => m Bool
+glGetMESAXTextureStack = getExtensions >>= (return . member "GL_MESAX_texture_stack")
+
+-- | Is the <https://www.opengl.org/registry/specs/MESAX/texture_stack.txt MESAX_texture_stack> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetMESAXTextureStack' in those cases instead.
+gl_MESAX_texture_stack :: Bool
+gl_MESAX_texture_stack = member "GL_MESAX_texture_stack" extensions
+{-# NOINLINE gl_MESAX_texture_stack #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect.txt NV_bindless_multi_draw_indirect> extension supported?
+glGetNVBindlessMultiDrawIndirect :: MonadIO m => m Bool
+glGetNVBindlessMultiDrawIndirect = getExtensions >>= (return . member "GL_NV_bindless_multi_draw_indirect")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect.txt NV_bindless_multi_draw_indirect> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVBindlessMultiDrawIndirect' in those cases instead.
+gl_NV_bindless_multi_draw_indirect :: Bool
+gl_NV_bindless_multi_draw_indirect = member "GL_NV_bindless_multi_draw_indirect" extensions
+{-# NOINLINE gl_NV_bindless_multi_draw_indirect #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect_count.txt NV_bindless_multi_draw_indirect_count> extension supported?
+glGetNVBindlessMultiDrawIndirectCount :: MonadIO m => m Bool
+glGetNVBindlessMultiDrawIndirectCount = getExtensions >>= (return . member "GL_NV_bindless_multi_draw_indirect_count")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect_count.txt NV_bindless_multi_draw_indirect_count> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVBindlessMultiDrawIndirectCount' in those cases instead.
+gl_NV_bindless_multi_draw_indirect_count :: Bool
+gl_NV_bindless_multi_draw_indirect_count = member "GL_NV_bindless_multi_draw_indirect_count" extensions
+{-# NOINLINE gl_NV_bindless_multi_draw_indirect_count #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/bindless_texture.txt NV_bindless_texture> extension supported?
+glGetNVBindlessTexture :: MonadIO m => m Bool
+glGetNVBindlessTexture = getExtensions >>= (return . member "GL_NV_bindless_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/bindless_texture.txt NV_bindless_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVBindlessTexture' in those cases instead.
+gl_NV_bindless_texture :: Bool
+gl_NV_bindless_texture = member "GL_NV_bindless_texture" extensions
+{-# NOINLINE gl_NV_bindless_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced> extension supported?
+glGetNVBlendEquationAdvanced :: MonadIO m => m Bool
+glGetNVBlendEquationAdvanced = getExtensions >>= (return . member "GL_NV_blend_equation_advanced")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVBlendEquationAdvanced' in those cases instead.
+gl_NV_blend_equation_advanced :: Bool
+gl_NV_blend_equation_advanced = member "GL_NV_blend_equation_advanced" extensions
+{-# NOINLINE gl_NV_blend_equation_advanced #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced_coherent> extension supported?
+glGetNVBlendEquationAdvancedCoherent :: MonadIO m => m Bool
+glGetNVBlendEquationAdvancedCoherent = getExtensions >>= (return . member "GL_NV_blend_equation_advanced_coherent")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced_coherent> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVBlendEquationAdvancedCoherent' in those cases instead.
+gl_NV_blend_equation_advanced_coherent :: Bool
+gl_NV_blend_equation_advanced_coherent = member "GL_NV_blend_equation_advanced_coherent" extensions
+{-# NOINLINE gl_NV_blend_equation_advanced_coherent #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/command_list.txt NV_command_list> extension supported?
+glGetNVCommandList :: MonadIO m => m Bool
+glGetNVCommandList = getExtensions >>= (return . member "GL_NV_command_list")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/command_list.txt NV_command_list> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVCommandList' in those cases instead.
+gl_NV_command_list :: Bool
+gl_NV_command_list = member "GL_NV_command_list" extensions
+{-# NOINLINE gl_NV_command_list #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/compute_program5.txt NV_compute_program5> extension supported?
+glGetNVComputeProgram5 :: MonadIO m => m Bool
+glGetNVComputeProgram5 = getExtensions >>= (return . member "GL_NV_compute_program5")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/compute_program5.txt NV_compute_program5> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVComputeProgram5' in those cases instead.
+gl_NV_compute_program5 :: Bool
+gl_NV_compute_program5 = member "GL_NV_compute_program5" extensions
+{-# NOINLINE gl_NV_compute_program5 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/conditional_render.txt NV_conditional_render> extension supported?
+glGetNVConditionalRender :: MonadIO m => m Bool
+glGetNVConditionalRender = getExtensions >>= (return . member "GL_NV_conditional_render")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/conditional_render.txt NV_conditional_render> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVConditionalRender' in those cases instead.
+gl_NV_conditional_render :: Bool
+gl_NV_conditional_render = member "GL_NV_conditional_render" extensions
+{-# NOINLINE gl_NV_conditional_render #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster.txt NV_conservative_raster> extension supported?
+glGetNVConservativeRaster :: MonadIO m => m Bool
+glGetNVConservativeRaster = getExtensions >>= (return . member "GL_NV_conservative_raster")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster.txt NV_conservative_raster> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVConservativeRaster' in those cases instead.
+gl_NV_conservative_raster :: Bool
+gl_NV_conservative_raster = member "GL_NV_conservative_raster" extensions
+{-# NOINLINE gl_NV_conservative_raster #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster_dilate.txt NV_conservative_raster_dilate> extension supported?
+glGetNVConservativeRasterDilate :: MonadIO m => m Bool
+glGetNVConservativeRasterDilate = getExtensions >>= (return . member "GL_NV_conservative_raster_dilate")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster_dilate.txt NV_conservative_raster_dilate> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVConservativeRasterDilate' in those cases instead.
+gl_NV_conservative_raster_dilate :: Bool
+gl_NV_conservative_raster_dilate = member "GL_NV_conservative_raster_dilate" extensions
+{-# NOINLINE gl_NV_conservative_raster_dilate #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt NV_copy_depth_to_color> extension supported?
+glGetNVCopyDepthToColor :: MonadIO m => m Bool
+glGetNVCopyDepthToColor = getExtensions >>= (return . member "GL_NV_copy_depth_to_color")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt NV_copy_depth_to_color> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVCopyDepthToColor' in those cases instead.
+gl_NV_copy_depth_to_color :: Bool
+gl_NV_copy_depth_to_color = member "GL_NV_copy_depth_to_color" extensions
+{-# NOINLINE gl_NV_copy_depth_to_color #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/copy_image.txt NV_copy_image> extension supported?
+glGetNVCopyImage :: MonadIO m => m Bool
+glGetNVCopyImage = getExtensions >>= (return . member "GL_NV_copy_image")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/copy_image.txt NV_copy_image> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVCopyImage' in those cases instead.
+gl_NV_copy_image :: Bool
+gl_NV_copy_image = member "GL_NV_copy_image" extensions
+{-# NOINLINE gl_NV_copy_image #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/deep_texture3D.txt NV_deep_texture3D> extension supported?
+glGetNVDeepTexture3D :: MonadIO m => m Bool
+glGetNVDeepTexture3D = getExtensions >>= (return . member "GL_NV_deep_texture3D")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/deep_texture3D.txt NV_deep_texture3D> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVDeepTexture3D' in those cases instead.
+gl_NV_deep_texture3D :: Bool
+gl_NV_deep_texture3D = member "GL_NV_deep_texture3D" extensions
+{-# NOINLINE gl_NV_deep_texture3D #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/depth_buffer_float.txt NV_depth_buffer_float> extension supported?
+glGetNVDepthBufferFloat :: MonadIO m => m Bool
+glGetNVDepthBufferFloat = getExtensions >>= (return . member "GL_NV_depth_buffer_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/depth_buffer_float.txt NV_depth_buffer_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVDepthBufferFloat' in those cases instead.
+gl_NV_depth_buffer_float :: Bool
+gl_NV_depth_buffer_float = member "GL_NV_depth_buffer_float" extensions
+{-# NOINLINE gl_NV_depth_buffer_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/depth_clamp.txt NV_depth_clamp> extension supported?
+glGetNVDepthClamp :: MonadIO m => m Bool
+glGetNVDepthClamp = getExtensions >>= (return . member "GL_NV_depth_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/depth_clamp.txt NV_depth_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVDepthClamp' in those cases instead.
+gl_NV_depth_clamp :: Bool
+gl_NV_depth_clamp = member "GL_NV_depth_clamp" extensions
+{-# NOINLINE gl_NV_depth_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/draw_texture.txt NV_draw_texture> extension supported?
+glGetNVDrawTexture :: MonadIO m => m Bool
+glGetNVDrawTexture = getExtensions >>= (return . member "GL_NV_draw_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/draw_texture.txt NV_draw_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVDrawTexture' in those cases instead.
+gl_NV_draw_texture :: Bool
+gl_NV_draw_texture = member "GL_NV_draw_texture" extensions
+{-# NOINLINE gl_NV_draw_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/evaluators.txt NV_evaluators> extension supported?
+glGetNVEvaluators :: MonadIO m => m Bool
+glGetNVEvaluators = getExtensions >>= (return . member "GL_NV_evaluators")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/evaluators.txt NV_evaluators> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVEvaluators' in those cases instead.
+gl_NV_evaluators :: Bool
+gl_NV_evaluators = member "GL_NV_evaluators" extensions
+{-# NOINLINE gl_NV_evaluators #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/explicit_multisample.txt NV_explicit_multisample> extension supported?
+glGetNVExplicitMultisample :: MonadIO m => m Bool
+glGetNVExplicitMultisample = getExtensions >>= (return . member "GL_NV_explicit_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/explicit_multisample.txt NV_explicit_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVExplicitMultisample' in those cases instead.
+gl_NV_explicit_multisample :: Bool
+gl_NV_explicit_multisample = member "GL_NV_explicit_multisample" extensions
+{-# NOINLINE gl_NV_explicit_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fence.txt NV_fence> extension supported?
+glGetNVFence :: MonadIO m => m Bool
+glGetNVFence = getExtensions >>= (return . member "GL_NV_fence")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fence.txt NV_fence> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFence' in those cases instead.
+gl_NV_fence :: Bool
+gl_NV_fence = member "GL_NV_fence" extensions
+{-# NOINLINE gl_NV_fence #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fill_rectangle.txt NV_fill_rectangle> extension supported?
+glGetNVFillRectangle :: MonadIO m => m Bool
+glGetNVFillRectangle = getExtensions >>= (return . member "GL_NV_fill_rectangle")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fill_rectangle.txt NV_fill_rectangle> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFillRectangle' in those cases instead.
+gl_NV_fill_rectangle :: Bool
+gl_NV_fill_rectangle = member "GL_NV_fill_rectangle" extensions
+{-# NOINLINE gl_NV_fill_rectangle #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/float_buffer.txt NV_float_buffer> extension supported?
+glGetNVFloatBuffer :: MonadIO m => m Bool
+glGetNVFloatBuffer = getExtensions >>= (return . member "GL_NV_float_buffer")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/float_buffer.txt NV_float_buffer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFloatBuffer' in those cases instead.
+gl_NV_float_buffer :: Bool
+gl_NV_float_buffer = member "GL_NV_float_buffer" extensions
+{-# NOINLINE gl_NV_float_buffer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fog_distance.txt NV_fog_distance> extension supported?
+glGetNVFogDistance :: MonadIO m => m Bool
+glGetNVFogDistance = getExtensions >>= (return . member "GL_NV_fog_distance")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fog_distance.txt NV_fog_distance> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFogDistance' in those cases instead.
+gl_NV_fog_distance :: Bool
+gl_NV_fog_distance = member "GL_NV_fog_distance" extensions
+{-# NOINLINE gl_NV_fog_distance #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fragment_coverage_to_color.txt NV_fragment_coverage_to_color> extension supported?
+glGetNVFragmentCoverageToColor :: MonadIO m => m Bool
+glGetNVFragmentCoverageToColor = getExtensions >>= (return . member "GL_NV_fragment_coverage_to_color")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fragment_coverage_to_color.txt NV_fragment_coverage_to_color> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFragmentCoverageToColor' in those cases instead.
+gl_NV_fragment_coverage_to_color :: Bool
+gl_NV_fragment_coverage_to_color = member "GL_NV_fragment_coverage_to_color" extensions
+{-# NOINLINE gl_NV_fragment_coverage_to_color #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program.txt NV_fragment_program> extension supported?
+glGetNVFragmentProgram :: MonadIO m => m Bool
+glGetNVFragmentProgram = getExtensions >>= (return . member "GL_NV_fragment_program")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program.txt NV_fragment_program> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFragmentProgram' in those cases instead.
+gl_NV_fragment_program :: Bool
+gl_NV_fragment_program = member "GL_NV_fragment_program" extensions
+{-# NOINLINE gl_NV_fragment_program #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program2.txt NV_fragment_program2> extension supported?
+glGetNVFragmentProgram2 :: MonadIO m => m Bool
+glGetNVFragmentProgram2 = getExtensions >>= (return . member "GL_NV_fragment_program2")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program2.txt NV_fragment_program2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFragmentProgram2' in those cases instead.
+gl_NV_fragment_program2 :: Bool
+gl_NV_fragment_program2 = member "GL_NV_fragment_program2" extensions
+{-# NOINLINE gl_NV_fragment_program2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_mixed_samples.txt NV_framebuffer_mixed_samples> extension supported?
+glGetNVFramebufferMixedSamples :: MonadIO m => m Bool
+glGetNVFramebufferMixedSamples = getExtensions >>= (return . member "GL_NV_framebuffer_mixed_samples")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_mixed_samples.txt NV_framebuffer_mixed_samples> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFramebufferMixedSamples' in those cases instead.
+gl_NV_framebuffer_mixed_samples :: Bool
+gl_NV_framebuffer_mixed_samples = member "GL_NV_framebuffer_mixed_samples" extensions
+{-# NOINLINE gl_NV_framebuffer_mixed_samples #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt NV_framebuffer_multisample_coverage> extension supported?
+glGetNVFramebufferMultisampleCoverage :: MonadIO m => m Bool
+glGetNVFramebufferMultisampleCoverage = getExtensions >>= (return . member "GL_NV_framebuffer_multisample_coverage")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt NV_framebuffer_multisample_coverage> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVFramebufferMultisampleCoverage' in those cases instead.
+gl_NV_framebuffer_multisample_coverage :: Bool
+gl_NV_framebuffer_multisample_coverage = member "GL_NV_framebuffer_multisample_coverage" extensions
+{-# NOINLINE gl_NV_framebuffer_multisample_coverage #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/geometry_program4.txt NV_geometry_program4> extension supported?
+glGetNVGeometryProgram4 :: MonadIO m => m Bool
+glGetNVGeometryProgram4 = getExtensions >>= (return . member "GL_NV_geometry_program4")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/geometry_program4.txt NV_geometry_program4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVGeometryProgram4' in those cases instead.
+gl_NV_geometry_program4 :: Bool
+gl_NV_geometry_program4 = member "GL_NV_geometry_program4" extensions
+{-# NOINLINE gl_NV_geometry_program4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program4.txt NV_gpu_program4> extension supported?
+glGetNVGPUProgram4 :: MonadIO m => m Bool
+glGetNVGPUProgram4 = getExtensions >>= (return . member "GL_NV_gpu_program4")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program4.txt NV_gpu_program4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVGPUProgram4' in those cases instead.
+gl_NV_gpu_program4 :: Bool
+gl_NV_gpu_program4 = member "GL_NV_gpu_program4" extensions
+{-# NOINLINE gl_NV_gpu_program4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program5.txt NV_gpu_program5> extension supported?
+glGetNVGPUProgram5 :: MonadIO m => m Bool
+glGetNVGPUProgram5 = getExtensions >>= (return . member "GL_NV_gpu_program5")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program5.txt NV_gpu_program5> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVGPUProgram5' in those cases instead.
+gl_NV_gpu_program5 :: Bool
+gl_NV_gpu_program5 = member "GL_NV_gpu_program5" extensions
+{-# NOINLINE gl_NV_gpu_program5 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/gpu_shader5.txt NV_gpu_shader5> extension supported?
+glGetNVGPUShader5 :: MonadIO m => m Bool
+glGetNVGPUShader5 = getExtensions >>= (return . member "GL_NV_gpu_shader5")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/gpu_shader5.txt NV_gpu_shader5> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVGPUShader5' in those cases instead.
+gl_NV_gpu_shader5 :: Bool
+gl_NV_gpu_shader5 = member "GL_NV_gpu_shader5" extensions
+{-# NOINLINE gl_NV_gpu_shader5 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/half_float.txt NV_half_float> extension supported?
+glGetNVHalfFloat :: MonadIO m => m Bool
+glGetNVHalfFloat = getExtensions >>= (return . member "GL_NV_half_float")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/half_float.txt NV_half_float> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVHalfFloat' in those cases instead.
+gl_NV_half_float :: Bool
+gl_NV_half_float = member "GL_NV_half_float" extensions
+{-# NOINLINE gl_NV_half_float #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/internalformat_sample_query.txt NV_internalformat_sample_query> extension supported?
+glGetNVInternalformatSampleQuery :: MonadIO m => m Bool
+glGetNVInternalformatSampleQuery = getExtensions >>= (return . member "GL_NV_internalformat_sample_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/internalformat_sample_query.txt NV_internalformat_sample_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVInternalformatSampleQuery' in those cases instead.
+gl_NV_internalformat_sample_query :: Bool
+gl_NV_internalformat_sample_query = member "GL_NV_internalformat_sample_query" extensions
+{-# NOINLINE gl_NV_internalformat_sample_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/light_max_exponent.txt NV_light_max_exponent> extension supported?
+glGetNVLightMaxExponent :: MonadIO m => m Bool
+glGetNVLightMaxExponent = getExtensions >>= (return . member "GL_NV_light_max_exponent")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/light_max_exponent.txt NV_light_max_exponent> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVLightMaxExponent' in those cases instead.
+gl_NV_light_max_exponent :: Bool
+gl_NV_light_max_exponent = member "GL_NV_light_max_exponent" extensions
+{-# NOINLINE gl_NV_light_max_exponent #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/multisample_coverage.txt NV_multisample_coverage> extension supported?
+glGetNVMultisampleCoverage :: MonadIO m => m Bool
+glGetNVMultisampleCoverage = getExtensions >>= (return . member "GL_NV_multisample_coverage")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/multisample_coverage.txt NV_multisample_coverage> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVMultisampleCoverage' in those cases instead.
+gl_NV_multisample_coverage :: Bool
+gl_NV_multisample_coverage = member "GL_NV_multisample_coverage" extensions
+{-# NOINLINE gl_NV_multisample_coverage #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt NV_multisample_filter_hint> extension supported?
+glGetNVMultisampleFilterHint :: MonadIO m => m Bool
+glGetNVMultisampleFilterHint = getExtensions >>= (return . member "GL_NV_multisample_filter_hint")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt NV_multisample_filter_hint> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVMultisampleFilterHint' in those cases instead.
+gl_NV_multisample_filter_hint :: Bool
+gl_NV_multisample_filter_hint = member "GL_NV_multisample_filter_hint" extensions
+{-# NOINLINE gl_NV_multisample_filter_hint #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/occlusion_query.txt NV_occlusion_query> extension supported?
+glGetNVOcclusionQuery :: MonadIO m => m Bool
+glGetNVOcclusionQuery = getExtensions >>= (return . member "GL_NV_occlusion_query")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/occlusion_query.txt NV_occlusion_query> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVOcclusionQuery' in those cases instead.
+gl_NV_occlusion_query :: Bool
+gl_NV_occlusion_query = member "GL_NV_occlusion_query" extensions
+{-# NOINLINE gl_NV_occlusion_query #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt NV_packed_depth_stencil> extension supported?
+glGetNVPackedDepthStencil :: MonadIO m => m Bool
+glGetNVPackedDepthStencil = getExtensions >>= (return . member "GL_NV_packed_depth_stencil")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt NV_packed_depth_stencil> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVPackedDepthStencil' in those cases instead.
+gl_NV_packed_depth_stencil :: Bool
+gl_NV_packed_depth_stencil = member "GL_NV_packed_depth_stencil" extensions
+{-# NOINLINE gl_NV_packed_depth_stencil #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt NV_parameter_buffer_object> extension supported?
+glGetNVParameterBufferObject :: MonadIO m => m Bool
+glGetNVParameterBufferObject = getExtensions >>= (return . member "GL_NV_parameter_buffer_object")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt NV_parameter_buffer_object> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVParameterBufferObject' in those cases instead.
+gl_NV_parameter_buffer_object :: Bool
+gl_NV_parameter_buffer_object = member "GL_NV_parameter_buffer_object" extensions
+{-# NOINLINE gl_NV_parameter_buffer_object #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering.txt NV_path_rendering> extension supported?
+glGetNVPathRendering :: MonadIO m => m Bool
+glGetNVPathRendering = getExtensions >>= (return . member "GL_NV_path_rendering")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering.txt NV_path_rendering> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVPathRendering' in those cases instead.
+gl_NV_path_rendering :: Bool
+gl_NV_path_rendering = member "GL_NV_path_rendering" extensions
+{-# NOINLINE gl_NV_path_rendering #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering_shared_edge.txt NV_path_rendering_shared_edge> extension supported?
+glGetNVPathRenderingSharedEdge :: MonadIO m => m Bool
+glGetNVPathRenderingSharedEdge = getExtensions >>= (return . member "GL_NV_path_rendering_shared_edge")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering_shared_edge.txt NV_path_rendering_shared_edge> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVPathRenderingSharedEdge' in those cases instead.
+gl_NV_path_rendering_shared_edge :: Bool
+gl_NV_path_rendering_shared_edge = member "GL_NV_path_rendering_shared_edge" extensions
+{-# NOINLINE gl_NV_path_rendering_shared_edge #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/pixel_data_range.txt NV_pixel_data_range> extension supported?
+glGetNVPixelDataRange :: MonadIO m => m Bool
+glGetNVPixelDataRange = getExtensions >>= (return . member "GL_NV_pixel_data_range")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/pixel_data_range.txt NV_pixel_data_range> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVPixelDataRange' in those cases instead.
+gl_NV_pixel_data_range :: Bool
+gl_NV_pixel_data_range = member "GL_NV_pixel_data_range" extensions
+{-# NOINLINE gl_NV_pixel_data_range #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/point_sprite.txt NV_point_sprite> extension supported?
+glGetNVPointSprite :: MonadIO m => m Bool
+glGetNVPointSprite = getExtensions >>= (return . member "GL_NV_point_sprite")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/point_sprite.txt NV_point_sprite> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVPointSprite' in those cases instead.
+gl_NV_point_sprite :: Bool
+gl_NV_point_sprite = member "GL_NV_point_sprite" extensions
+{-# NOINLINE gl_NV_point_sprite #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/present_video.txt NV_present_video> extension supported?
+glGetNVPresentVideo :: MonadIO m => m Bool
+glGetNVPresentVideo = getExtensions >>= (return . member "GL_NV_present_video")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/present_video.txt NV_present_video> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVPresentVideo' in those cases instead.
+gl_NV_present_video :: Bool
+gl_NV_present_video = member "GL_NV_present_video" extensions
+{-# NOINLINE gl_NV_present_video #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/primitive_restart.txt NV_primitive_restart> extension supported?
+glGetNVPrimitiveRestart :: MonadIO m => m Bool
+glGetNVPrimitiveRestart = getExtensions >>= (return . member "GL_NV_primitive_restart")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/primitive_restart.txt NV_primitive_restart> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVPrimitiveRestart' in those cases instead.
+gl_NV_primitive_restart :: Bool
+gl_NV_primitive_restart = member "GL_NV_primitive_restart" extensions
+{-# NOINLINE gl_NV_primitive_restart #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners.txt NV_register_combiners> extension supported?
+glGetNVRegisterCombiners :: MonadIO m => m Bool
+glGetNVRegisterCombiners = getExtensions >>= (return . member "GL_NV_register_combiners")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners.txt NV_register_combiners> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVRegisterCombiners' in those cases instead.
+gl_NV_register_combiners :: Bool
+gl_NV_register_combiners = member "GL_NV_register_combiners" extensions
+{-# NOINLINE gl_NV_register_combiners #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners2.txt NV_register_combiners2> extension supported?
+glGetNVRegisterCombiners2 :: MonadIO m => m Bool
+glGetNVRegisterCombiners2 = getExtensions >>= (return . member "GL_NV_register_combiners2")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners2.txt NV_register_combiners2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVRegisterCombiners2' in those cases instead.
+gl_NV_register_combiners2 :: Bool
+gl_NV_register_combiners2 = member "GL_NV_register_combiners2" extensions
+{-# NOINLINE gl_NV_register_combiners2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/sample_locations.txt NV_sample_locations> extension supported?
+glGetNVSampleLocations :: MonadIO m => m Bool
+glGetNVSampleLocations = getExtensions >>= (return . member "GL_NV_sample_locations")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/sample_locations.txt NV_sample_locations> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVSampleLocations' in those cases instead.
+gl_NV_sample_locations :: Bool
+gl_NV_sample_locations = member "GL_NV_sample_locations" extensions
+{-# NOINLINE gl_NV_sample_locations #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt NV_shader_buffer_load> extension supported?
+glGetNVShaderBufferLoad :: MonadIO m => m Bool
+glGetNVShaderBufferLoad = getExtensions >>= (return . member "GL_NV_shader_buffer_load")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt NV_shader_buffer_load> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVShaderBufferLoad' in those cases instead.
+gl_NV_shader_buffer_load :: Bool
+gl_NV_shader_buffer_load = member "GL_NV_shader_buffer_load" extensions
+{-# NOINLINE gl_NV_shader_buffer_load #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_store.txt NV_shader_buffer_store> extension supported?
+glGetNVShaderBufferStore :: MonadIO m => m Bool
+glGetNVShaderBufferStore = getExtensions >>= (return . member "GL_NV_shader_buffer_store")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_store.txt NV_shader_buffer_store> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVShaderBufferStore' in those cases instead.
+gl_NV_shader_buffer_store :: Bool
+gl_NV_shader_buffer_store = member "GL_NV_shader_buffer_store" extensions
+{-# NOINLINE gl_NV_shader_buffer_store #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/shader_thread_group.txt NV_shader_thread_group> extension supported?
+glGetNVShaderThreadGroup :: MonadIO m => m Bool
+glGetNVShaderThreadGroup = getExtensions >>= (return . member "GL_NV_shader_thread_group")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/shader_thread_group.txt NV_shader_thread_group> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVShaderThreadGroup' in those cases instead.
+gl_NV_shader_thread_group :: Bool
+gl_NV_shader_thread_group = member "GL_NV_shader_thread_group" extensions
+{-# NOINLINE gl_NV_shader_thread_group #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/tessellation_program5.txt NV_tessellation_program5> extension supported?
+glGetNVTessellationProgram5 :: MonadIO m => m Bool
+glGetNVTessellationProgram5 = getExtensions >>= (return . member "GL_NV_tessellation_program5")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/tessellation_program5.txt NV_tessellation_program5> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTessellationProgram5' in those cases instead.
+gl_NV_tessellation_program5 :: Bool
+gl_NV_tessellation_program5 = member "GL_NV_tessellation_program5" extensions
+{-# NOINLINE gl_NV_tessellation_program5 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texgen_emboss.txt NV_texgen_emboss> extension supported?
+glGetNVTexgenEmboss :: MonadIO m => m Bool
+glGetNVTexgenEmboss = getExtensions >>= (return . member "GL_NV_texgen_emboss")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texgen_emboss.txt NV_texgen_emboss> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTexgenEmboss' in those cases instead.
+gl_NV_texgen_emboss :: Bool
+gl_NV_texgen_emboss = member "GL_NV_texgen_emboss" extensions
+{-# NOINLINE gl_NV_texgen_emboss #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texgen_reflection.txt NV_texgen_reflection> extension supported?
+glGetNVTexgenReflection :: MonadIO m => m Bool
+glGetNVTexgenReflection = getExtensions >>= (return . member "GL_NV_texgen_reflection")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texgen_reflection.txt NV_texgen_reflection> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTexgenReflection' in those cases instead.
+gl_NV_texgen_reflection :: Bool
+gl_NV_texgen_reflection = member "GL_NV_texgen_reflection" extensions
+{-# NOINLINE gl_NV_texgen_reflection #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_barrier.txt NV_texture_barrier> extension supported?
+glGetNVTextureBarrier :: MonadIO m => m Bool
+glGetNVTextureBarrier = getExtensions >>= (return . member "GL_NV_texture_barrier")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_barrier.txt NV_texture_barrier> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureBarrier' in those cases instead.
+gl_NV_texture_barrier :: Bool
+gl_NV_texture_barrier = member "GL_NV_texture_barrier" extensions
+{-# NOINLINE gl_NV_texture_barrier #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_env_combine4.txt NV_texture_env_combine4> extension supported?
+glGetNVTextureEnvCombine4 :: MonadIO m => m Bool
+glGetNVTextureEnvCombine4 = getExtensions >>= (return . member "GL_NV_texture_env_combine4")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_env_combine4.txt NV_texture_env_combine4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureEnvCombine4' in those cases instead.
+gl_NV_texture_env_combine4 :: Bool
+gl_NV_texture_env_combine4 = member "GL_NV_texture_env_combine4" extensions
+{-# NOINLINE gl_NV_texture_env_combine4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_expand_normal.txt NV_texture_expand_normal> extension supported?
+glGetNVTextureExpandNormal :: MonadIO m => m Bool
+glGetNVTextureExpandNormal = getExtensions >>= (return . member "GL_NV_texture_expand_normal")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_expand_normal.txt NV_texture_expand_normal> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureExpandNormal' in those cases instead.
+gl_NV_texture_expand_normal :: Bool
+gl_NV_texture_expand_normal = member "GL_NV_texture_expand_normal" extensions
+{-# NOINLINE gl_NV_texture_expand_normal #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_multisample.txt NV_texture_multisample> extension supported?
+glGetNVTextureMultisample :: MonadIO m => m Bool
+glGetNVTextureMultisample = getExtensions >>= (return . member "GL_NV_texture_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_multisample.txt NV_texture_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureMultisample' in those cases instead.
+gl_NV_texture_multisample :: Bool
+gl_NV_texture_multisample = member "GL_NV_texture_multisample" extensions
+{-# NOINLINE gl_NV_texture_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_rectangle.txt NV_texture_rectangle> extension supported?
+glGetNVTextureRectangle :: MonadIO m => m Bool
+glGetNVTextureRectangle = getExtensions >>= (return . member "GL_NV_texture_rectangle")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_rectangle.txt NV_texture_rectangle> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureRectangle' in those cases instead.
+gl_NV_texture_rectangle :: Bool
+gl_NV_texture_rectangle = member "GL_NV_texture_rectangle" extensions
+{-# NOINLINE gl_NV_texture_rectangle #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader.txt NV_texture_shader> extension supported?
+glGetNVTextureShader :: MonadIO m => m Bool
+glGetNVTextureShader = getExtensions >>= (return . member "GL_NV_texture_shader")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader.txt NV_texture_shader> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureShader' in those cases instead.
+gl_NV_texture_shader :: Bool
+gl_NV_texture_shader = member "GL_NV_texture_shader" extensions
+{-# NOINLINE gl_NV_texture_shader #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader2.txt NV_texture_shader2> extension supported?
+glGetNVTextureShader2 :: MonadIO m => m Bool
+glGetNVTextureShader2 = getExtensions >>= (return . member "GL_NV_texture_shader2")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader2.txt NV_texture_shader2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureShader2' in those cases instead.
+gl_NV_texture_shader2 :: Bool
+gl_NV_texture_shader2 = member "GL_NV_texture_shader2" extensions
+{-# NOINLINE gl_NV_texture_shader2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader3.txt NV_texture_shader3> extension supported?
+glGetNVTextureShader3 :: MonadIO m => m Bool
+glGetNVTextureShader3 = getExtensions >>= (return . member "GL_NV_texture_shader3")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader3.txt NV_texture_shader3> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTextureShader3' in those cases instead.
+gl_NV_texture_shader3 :: Bool
+gl_NV_texture_shader3 = member "GL_NV_texture_shader3" extensions
+{-# NOINLINE gl_NV_texture_shader3 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback.txt NV_transform_feedback> extension supported?
+glGetNVTransformFeedback :: MonadIO m => m Bool
+glGetNVTransformFeedback = getExtensions >>= (return . member "GL_NV_transform_feedback")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback.txt NV_transform_feedback> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTransformFeedback' in those cases instead.
+gl_NV_transform_feedback :: Bool
+gl_NV_transform_feedback = member "GL_NV_transform_feedback" extensions
+{-# NOINLINE gl_NV_transform_feedback #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback2.txt NV_transform_feedback2> extension supported?
+glGetNVTransformFeedback2 :: MonadIO m => m Bool
+glGetNVTransformFeedback2 = getExtensions >>= (return . member "GL_NV_transform_feedback2")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback2.txt NV_transform_feedback2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVTransformFeedback2' in those cases instead.
+gl_NV_transform_feedback2 :: Bool
+gl_NV_transform_feedback2 = member "GL_NV_transform_feedback2" extensions
+{-# NOINLINE gl_NV_transform_feedback2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/uniform_buffer_unified_memory.txt NV_uniform_buffer_unified_memory> extension supported?
+glGetNVUniformBufferUnifiedMemory :: MonadIO m => m Bool
+glGetNVUniformBufferUnifiedMemory = getExtensions >>= (return . member "GL_NV_uniform_buffer_unified_memory")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/uniform_buffer_unified_memory.txt NV_uniform_buffer_unified_memory> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVUniformBufferUnifiedMemory' in those cases instead.
+gl_NV_uniform_buffer_unified_memory :: Bool
+gl_NV_uniform_buffer_unified_memory = member "GL_NV_uniform_buffer_unified_memory" extensions
+{-# NOINLINE gl_NV_uniform_buffer_unified_memory #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vdpau_interop.txt NV_vdpau_interop> extension supported?
+glGetNVVDPAUInterop :: MonadIO m => m Bool
+glGetNVVDPAUInterop = getExtensions >>= (return . member "GL_NV_vdpau_interop")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vdpau_interop.txt NV_vdpau_interop> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVDPAUInterop' in those cases instead.
+gl_NV_vdpau_interop :: Bool
+gl_NV_vdpau_interop = member "GL_NV_vdpau_interop" extensions
+{-# NOINLINE gl_NV_vdpau_interop #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range.txt NV_vertex_array_range> extension supported?
+glGetNVVertexArrayRange :: MonadIO m => m Bool
+glGetNVVertexArrayRange = getExtensions >>= (return . member "GL_NV_vertex_array_range")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range.txt NV_vertex_array_range> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexArrayRange' in those cases instead.
+gl_NV_vertex_array_range :: Bool
+gl_NV_vertex_array_range = member "GL_NV_vertex_array_range" extensions
+{-# NOINLINE gl_NV_vertex_array_range #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range2.txt NV_vertex_array_range2> extension supported?
+glGetNVVertexArrayRange2 :: MonadIO m => m Bool
+glGetNVVertexArrayRange2 = getExtensions >>= (return . member "GL_NV_vertex_array_range2")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range2.txt NV_vertex_array_range2> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexArrayRange2' in those cases instead.
+gl_NV_vertex_array_range2 :: Bool
+gl_NV_vertex_array_range2 = member "GL_NV_vertex_array_range2" extensions
+{-# NOINLINE gl_NV_vertex_array_range2 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt NV_vertex_attrib_integer_64bit> extension supported?
+glGetNVVertexAttribInteger64Bit :: MonadIO m => m Bool
+glGetNVVertexAttribInteger64Bit = getExtensions >>= (return . member "GL_NV_vertex_attrib_integer_64bit")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt NV_vertex_attrib_integer_64bit> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexAttribInteger64Bit' in those cases instead.
+gl_NV_vertex_attrib_integer_64bit :: Bool
+gl_NV_vertex_attrib_integer_64bit = member "GL_NV_vertex_attrib_integer_64bit" extensions
+{-# NOINLINE gl_NV_vertex_attrib_integer_64bit #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt NV_vertex_buffer_unified_memory> extension supported?
+glGetNVVertexBufferUnifiedMemory :: MonadIO m => m Bool
+glGetNVVertexBufferUnifiedMemory = getExtensions >>= (return . member "GL_NV_vertex_buffer_unified_memory")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt NV_vertex_buffer_unified_memory> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexBufferUnifiedMemory' in those cases instead.
+gl_NV_vertex_buffer_unified_memory :: Bool
+gl_NV_vertex_buffer_unified_memory = member "GL_NV_vertex_buffer_unified_memory" extensions
+{-# NOINLINE gl_NV_vertex_buffer_unified_memory #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program.txt NV_vertex_program> extension supported?
+glGetNVVertexProgram :: MonadIO m => m Bool
+glGetNVVertexProgram = getExtensions >>= (return . member "GL_NV_vertex_program")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program.txt NV_vertex_program> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexProgram' in those cases instead.
+gl_NV_vertex_program :: Bool
+gl_NV_vertex_program = member "GL_NV_vertex_program" extensions
+{-# NOINLINE gl_NV_vertex_program #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program2_option.txt NV_vertex_program2_option> extension supported?
+glGetNVVertexProgram2Option :: MonadIO m => m Bool
+glGetNVVertexProgram2Option = getExtensions >>= (return . member "GL_NV_vertex_program2_option")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program2_option.txt NV_vertex_program2_option> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexProgram2Option' in those cases instead.
+gl_NV_vertex_program2_option :: Bool
+gl_NV_vertex_program2_option = member "GL_NV_vertex_program2_option" extensions
+{-# NOINLINE gl_NV_vertex_program2_option #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program3.txt NV_vertex_program3> extension supported?
+glGetNVVertexProgram3 :: MonadIO m => m Bool
+glGetNVVertexProgram3 = getExtensions >>= (return . member "GL_NV_vertex_program3")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program3.txt NV_vertex_program3> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexProgram3' in those cases instead.
+gl_NV_vertex_program3 :: Bool
+gl_NV_vertex_program3 = member "GL_NV_vertex_program3" extensions
+{-# NOINLINE gl_NV_vertex_program3 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program4.txt NV_vertex_program4> extension supported?
+glGetNVVertexProgram4 :: MonadIO m => m Bool
+glGetNVVertexProgram4 = getExtensions >>= (return . member "GL_NV_vertex_program4")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program4.txt NV_vertex_program4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVertexProgram4' in those cases instead.
+gl_NV_vertex_program4 :: Bool
+gl_NV_vertex_program4 = member "GL_NV_vertex_program4" extensions
+{-# NOINLINE gl_NV_vertex_program4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/video_capture.txt NV_video_capture> extension supported?
+glGetNVVideoCapture :: MonadIO m => m Bool
+glGetNVVideoCapture = getExtensions >>= (return . member "GL_NV_video_capture")
+
+-- | Is the <https://www.opengl.org/registry/specs/NV/video_capture.txt NV_video_capture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVVideoCapture' in those cases instead.
+gl_NV_video_capture :: Bool
+gl_NV_video_capture = member "GL_NV_video_capture" extensions
+{-# NOINLINE gl_NV_video_capture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NVX/nvx_conditional_render.txt NVX_conditional_render> extension supported?
+glGetNVXConditionalRender :: MonadIO m => m Bool
+glGetNVXConditionalRender = getExtensions >>= (return . member "GL_NVX_conditional_render")
+
+-- | Is the <https://www.opengl.org/registry/specs/NVX/nvx_conditional_render.txt NVX_conditional_render> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVXConditionalRender' in those cases instead.
+gl_NVX_conditional_render :: Bool
+gl_NVX_conditional_render = member "GL_NVX_conditional_render" extensions
+{-# NOINLINE gl_NVX_conditional_render #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/NVX/gpu_memory_info.txt NVX_gpu_memory_info> extension supported?
+glGetNVXGPUMemoryInfo :: MonadIO m => m Bool
+glGetNVXGPUMemoryInfo = getExtensions >>= (return . member "GL_NVX_gpu_memory_info")
+
+-- | Is the <https://www.opengl.org/registry/specs/NVX/gpu_memory_info.txt NVX_gpu_memory_info> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetNVXGPUMemoryInfo' in those cases instead.
+gl_NVX_gpu_memory_info :: Bool
+gl_NVX_gpu_memory_info = member "GL_NVX_gpu_memory_info" extensions
+{-# NOINLINE gl_NVX_gpu_memory_info #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_byte_coordinates.txt OES_byte_coordinates> extension supported?
+glGetOESByteCoordinates :: MonadIO m => m Bool
+glGetOESByteCoordinates = getExtensions >>= (return . member "GL_OES_byte_coordinates")
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_byte_coordinates.txt OES_byte_coordinates> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOESByteCoordinates' in those cases instead.
+gl_OES_byte_coordinates :: Bool
+gl_OES_byte_coordinates = member "GL_OES_byte_coordinates" extensions
+{-# NOINLINE gl_OES_byte_coordinates #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_compressed_paletted_texture.txt OES_compressed_paletted_texture> extension supported?
+glGetOESCompressedPalettedTexture :: MonadIO m => m Bool
+glGetOESCompressedPalettedTexture = getExtensions >>= (return . member "GL_OES_compressed_paletted_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_compressed_paletted_texture.txt OES_compressed_paletted_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOESCompressedPalettedTexture' in those cases instead.
+gl_OES_compressed_paletted_texture :: Bool
+gl_OES_compressed_paletted_texture = member "GL_OES_compressed_paletted_texture" extensions
+{-# NOINLINE gl_OES_compressed_paletted_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt OES_fixed_point> extension supported?
+glGetOESFixedPoint :: MonadIO m => m Bool
+glGetOESFixedPoint = getExtensions >>= (return . member "GL_OES_fixed_point")
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt OES_fixed_point> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOESFixedPoint' in those cases instead.
+gl_OES_fixed_point :: Bool
+gl_OES_fixed_point = member "GL_OES_fixed_point" extensions
+{-# NOINLINE gl_OES_fixed_point #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_query_matrix.txt OES_query_matrix> extension supported?
+glGetOESQueryMatrix :: MonadIO m => m Bool
+glGetOESQueryMatrix = getExtensions >>= (return . member "GL_OES_query_matrix")
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_query_matrix.txt OES_query_matrix> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOESQueryMatrix' in those cases instead.
+gl_OES_query_matrix :: Bool
+gl_OES_query_matrix = member "GL_OES_query_matrix" extensions
+{-# NOINLINE gl_OES_query_matrix #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_read_format.txt OES_read_format> extension supported?
+glGetOESReadFormat :: MonadIO m => m Bool
+glGetOESReadFormat = getExtensions >>= (return . member "GL_OES_read_format")
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_read_format.txt OES_read_format> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOESReadFormat' in those cases instead.
+gl_OES_read_format :: Bool
+gl_OES_read_format = member "GL_OES_read_format" extensions
+{-# NOINLINE gl_OES_read_format #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_single_precision.txt OES_single_precision> extension supported?
+glGetOESSinglePrecision :: MonadIO m => m Bool
+glGetOESSinglePrecision = getExtensions >>= (return . member "GL_OES_single_precision")
+
+-- | Is the <https://www.opengl.org/registry/specs/OES/OES_single_precision.txt OES_single_precision> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOESSinglePrecision' in those cases instead.
+gl_OES_single_precision :: Bool
+gl_OES_single_precision = member "GL_OES_single_precision" extensions
+{-# NOINLINE gl_OES_single_precision #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OML/interlace.txt OML_interlace> extension supported?
+glGetOMLInterlace :: MonadIO m => m Bool
+glGetOMLInterlace = getExtensions >>= (return . member "GL_OML_interlace")
+
+-- | Is the <https://www.opengl.org/registry/specs/OML/interlace.txt OML_interlace> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOMLInterlace' in those cases instead.
+gl_OML_interlace :: Bool
+gl_OML_interlace = member "GL_OML_interlace" extensions
+{-# NOINLINE gl_OML_interlace #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OML/resample.txt OML_resample> extension supported?
+glGetOMLResample :: MonadIO m => m Bool
+glGetOMLResample = getExtensions >>= (return . member "GL_OML_resample")
+
+-- | Is the <https://www.opengl.org/registry/specs/OML/resample.txt OML_resample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOMLResample' in those cases instead.
+gl_OML_resample :: Bool
+gl_OML_resample = member "GL_OML_resample" extensions
+{-# NOINLINE gl_OML_resample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OML/subsample.txt OML_subsample> extension supported?
+glGetOMLSubsample :: MonadIO m => m Bool
+glGetOMLSubsample = getExtensions >>= (return . member "GL_OML_subsample")
+
+-- | Is the <https://www.opengl.org/registry/specs/OML/subsample.txt OML_subsample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOMLSubsample' in those cases instead.
+gl_OML_subsample :: Bool
+gl_OML_subsample = member "GL_OML_subsample" extensions
+{-# NOINLINE gl_OML_subsample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/OVR/multiview.txt OVR_multiview> extension supported?
+glGetOVRMultiview :: MonadIO m => m Bool
+glGetOVRMultiview = getExtensions >>= (return . member "GL_OVR_multiview")
+
+-- | Is the <https://www.opengl.org/registry/specs/OVR/multiview.txt OVR_multiview> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetOVRMultiview' in those cases instead.
+gl_OVR_multiview :: Bool
+gl_OVR_multiview = member "GL_OVR_multiview" extensions
+{-# NOINLINE gl_OVR_multiview #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/PGI/misc_hints.txt PGI_misc_hints> extension supported?
+glGetPGIMiscHints :: MonadIO m => m Bool
+glGetPGIMiscHints = getExtensions >>= (return . member "GL_PGI_misc_hints")
+
+-- | Is the <https://www.opengl.org/registry/specs/PGI/misc_hints.txt PGI_misc_hints> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetPGIMiscHints' in those cases instead.
+gl_PGI_misc_hints :: Bool
+gl_PGI_misc_hints = member "GL_PGI_misc_hints" extensions
+{-# NOINLINE gl_PGI_misc_hints #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/PGI/vertex_hints.txt PGI_vertex_hints> extension supported?
+glGetPGIVertexHints :: MonadIO m => m Bool
+glGetPGIVertexHints = getExtensions >>= (return . member "GL_PGI_vertex_hints")
+
+-- | Is the <https://www.opengl.org/registry/specs/PGI/vertex_hints.txt PGI_vertex_hints> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetPGIVertexHints' in those cases instead.
+gl_PGI_vertex_hints :: Bool
+gl_PGI_vertex_hints = member "GL_PGI_vertex_hints" extensions
+{-# NOINLINE gl_PGI_vertex_hints #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/REND/screen_coordinates.txt REND_screen_coordinates> extension supported?
+glGetRENDScreenCoordinates :: MonadIO m => m Bool
+glGetRENDScreenCoordinates = getExtensions >>= (return . member "GL_REND_screen_coordinates")
+
+-- | Is the <https://www.opengl.org/registry/specs/REND/screen_coordinates.txt REND_screen_coordinates> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetRENDScreenCoordinates' in those cases instead.
+gl_REND_screen_coordinates :: Bool
+gl_REND_screen_coordinates = member "GL_REND_screen_coordinates" extensions
+{-# NOINLINE gl_REND_screen_coordinates #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/S3/s3tc.txt S3_s3tc> extension supported?
+glGetS3S3TC :: MonadIO m => m Bool
+glGetS3S3TC = getExtensions >>= (return . member "GL_S3_s3tc")
+
+-- | Is the <https://www.opengl.org/registry/specs/S3/s3tc.txt S3_s3tc> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetS3S3TC' in those cases instead.
+gl_S3_s3tc :: Bool
+gl_S3_s3tc = member "GL_S3_s3tc" extensions
+{-# NOINLINE gl_S3_s3tc #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGI/color_matrix.txt SGI_color_matrix> extension supported?
+glGetSGIColorMatrix :: MonadIO m => m Bool
+glGetSGIColorMatrix = getExtensions >>= (return . member "GL_SGI_color_matrix")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGI/color_matrix.txt SGI_color_matrix> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIColorMatrix' in those cases instead.
+gl_SGI_color_matrix :: Bool
+gl_SGI_color_matrix = member "GL_SGI_color_matrix" extensions
+{-# NOINLINE gl_SGI_color_matrix #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGI/color_table.txt SGI_color_table> extension supported?
+glGetSGIColorTable :: MonadIO m => m Bool
+glGetSGIColorTable = getExtensions >>= (return . member "GL_SGI_color_table")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGI/color_table.txt SGI_color_table> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIColorTable' in those cases instead.
+gl_SGI_color_table :: Bool
+gl_SGI_color_table = member "GL_SGI_color_table" extensions
+{-# NOINLINE gl_SGI_color_table #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGI/texture_color_table.txt SGI_texture_color_table> extension supported?
+glGetSGITextureColorTable :: MonadIO m => m Bool
+glGetSGITextureColorTable = getExtensions >>= (return . member "GL_SGI_texture_color_table")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGI/texture_color_table.txt SGI_texture_color_table> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGITextureColorTable' in those cases instead.
+gl_SGI_texture_color_table :: Bool
+gl_SGI_texture_color_table = member "GL_SGI_texture_color_table" extensions
+{-# NOINLINE gl_SGI_texture_color_table #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/detail_texture.txt SGIS_detail_texture> extension supported?
+glGetSGISDetailTexture :: MonadIO m => m Bool
+glGetSGISDetailTexture = getExtensions >>= (return . member "GL_SGIS_detail_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/detail_texture.txt SGIS_detail_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISDetailTexture' in those cases instead.
+gl_SGIS_detail_texture :: Bool
+gl_SGIS_detail_texture = member "GL_SGIS_detail_texture" extensions
+{-# NOINLINE gl_SGIS_detail_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/fog_func.txt SGIS_fog_function> extension supported?
+glGetSGISFogFunction :: MonadIO m => m Bool
+glGetSGISFogFunction = getExtensions >>= (return . member "GL_SGIS_fog_function")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/fog_func.txt SGIS_fog_function> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISFogFunction' in those cases instead.
+gl_SGIS_fog_function :: Bool
+gl_SGIS_fog_function = member "GL_SGIS_fog_function" extensions
+{-# NOINLINE gl_SGIS_fog_function #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt SGIS_generate_mipmap> extension supported?
+glGetSGISGenerateMipmap :: MonadIO m => m Bool
+glGetSGISGenerateMipmap = getExtensions >>= (return . member "GL_SGIS_generate_mipmap")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt SGIS_generate_mipmap> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISGenerateMipmap' in those cases instead.
+gl_SGIS_generate_mipmap :: Bool
+gl_SGIS_generate_mipmap = member "GL_SGIS_generate_mipmap" extensions
+{-# NOINLINE gl_SGIS_generate_mipmap #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/multisample.txt SGIS_multisample> extension supported?
+glGetSGISMultisample :: MonadIO m => m Bool
+glGetSGISMultisample = getExtensions >>= (return . member "GL_SGIS_multisample")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/multisample.txt SGIS_multisample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISMultisample' in those cases instead.
+gl_SGIS_multisample :: Bool
+gl_SGIS_multisample = member "GL_SGIS_multisample" extensions
+{-# NOINLINE gl_SGIS_multisample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/pixel_texture.txt SGIS_pixel_texture> extension supported?
+glGetSGISPixelTexture :: MonadIO m => m Bool
+glGetSGISPixelTexture = getExtensions >>= (return . member "GL_SGIS_pixel_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/pixel_texture.txt SGIS_pixel_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISPixelTexture' in those cases instead.
+gl_SGIS_pixel_texture :: Bool
+gl_SGIS_pixel_texture = member "GL_SGIS_pixel_texture" extensions
+{-# NOINLINE gl_SGIS_pixel_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/point_line_texgen.txt SGIS_point_line_texgen> extension supported?
+glGetSGISPointLineTexgen :: MonadIO m => m Bool
+glGetSGISPointLineTexgen = getExtensions >>= (return . member "GL_SGIS_point_line_texgen")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/point_line_texgen.txt SGIS_point_line_texgen> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISPointLineTexgen' in those cases instead.
+gl_SGIS_point_line_texgen :: Bool
+gl_SGIS_point_line_texgen = member "GL_SGIS_point_line_texgen" extensions
+{-# NOINLINE gl_SGIS_point_line_texgen #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt SGIS_point_parameters> extension supported?
+glGetSGISPointParameters :: MonadIO m => m Bool
+glGetSGISPointParameters = getExtensions >>= (return . member "GL_SGIS_point_parameters")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt SGIS_point_parameters> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISPointParameters' in those cases instead.
+gl_SGIS_point_parameters :: Bool
+gl_SGIS_point_parameters = member "GL_SGIS_point_parameters" extensions
+{-# NOINLINE gl_SGIS_point_parameters #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt SGIS_sharpen_texture> extension supported?
+glGetSGISSharpenTexture :: MonadIO m => m Bool
+glGetSGISSharpenTexture = getExtensions >>= (return . member "GL_SGIS_sharpen_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt SGIS_sharpen_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISSharpenTexture' in those cases instead.
+gl_SGIS_sharpen_texture :: Bool
+gl_SGIS_sharpen_texture = member "GL_SGIS_sharpen_texture" extensions
+{-# NOINLINE gl_SGIS_sharpen_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture4D.txt SGIS_texture4D> extension supported?
+glGetSGISTexture4D :: MonadIO m => m Bool
+glGetSGISTexture4D = getExtensions >>= (return . member "GL_SGIS_texture4D")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture4D.txt SGIS_texture4D> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISTexture4D' in those cases instead.
+gl_SGIS_texture4D :: Bool
+gl_SGIS_texture4D = member "GL_SGIS_texture4D" extensions
+{-# NOINLINE gl_SGIS_texture4D #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_border_clamp.txt SGIS_texture_border_clamp> extension supported?
+glGetSGISTextureBorderClamp :: MonadIO m => m Bool
+glGetSGISTextureBorderClamp = getExtensions >>= (return . member "GL_SGIS_texture_border_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_border_clamp.txt SGIS_texture_border_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISTextureBorderClamp' in those cases instead.
+gl_SGIS_texture_border_clamp :: Bool
+gl_SGIS_texture_border_clamp = member "GL_SGIS_texture_border_clamp" extensions
+{-# NOINLINE gl_SGIS_texture_border_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_color_mask.txt SGIS_texture_color_mask> extension supported?
+glGetSGISTextureColorMask :: MonadIO m => m Bool
+glGetSGISTextureColorMask = getExtensions >>= (return . member "GL_SGIS_texture_color_mask")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_color_mask.txt SGIS_texture_color_mask> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISTextureColorMask' in those cases instead.
+gl_SGIS_texture_color_mask :: Bool
+gl_SGIS_texture_color_mask = member "GL_SGIS_texture_color_mask" extensions
+{-# NOINLINE gl_SGIS_texture_color_mask #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_edge_clamp.txt SGIS_texture_edge_clamp> extension supported?
+glGetSGISTextureEdgeClamp :: MonadIO m => m Bool
+glGetSGISTextureEdgeClamp = getExtensions >>= (return . member "GL_SGIS_texture_edge_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_edge_clamp.txt SGIS_texture_edge_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISTextureEdgeClamp' in those cases instead.
+gl_SGIS_texture_edge_clamp :: Bool
+gl_SGIS_texture_edge_clamp = member "GL_SGIS_texture_edge_clamp" extensions
+{-# NOINLINE gl_SGIS_texture_edge_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_filter4.txt SGIS_texture_filter4> extension supported?
+glGetSGISTextureFilter4 :: MonadIO m => m Bool
+glGetSGISTextureFilter4 = getExtensions >>= (return . member "GL_SGIS_texture_filter4")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_filter4.txt SGIS_texture_filter4> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISTextureFilter4' in those cases instead.
+gl_SGIS_texture_filter4 :: Bool
+gl_SGIS_texture_filter4 = member "GL_SGIS_texture_filter4" extensions
+{-# NOINLINE gl_SGIS_texture_filter4 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_lod.txt SGIS_texture_lod> extension supported?
+glGetSGISTextureLOD :: MonadIO m => m Bool
+glGetSGISTextureLOD = getExtensions >>= (return . member "GL_SGIS_texture_lod")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_lod.txt SGIS_texture_lod> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISTextureLOD' in those cases instead.
+gl_SGIS_texture_lod :: Bool
+gl_SGIS_texture_lod = member "GL_SGIS_texture_lod" extensions
+{-# NOINLINE gl_SGIS_texture_lod #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_select.txt SGIS_texture_select> extension supported?
+glGetSGISTextureSelect :: MonadIO m => m Bool
+glGetSGISTextureSelect = getExtensions >>= (return . member "GL_SGIS_texture_select")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_select.txt SGIS_texture_select> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGISTextureSelect' in those cases instead.
+gl_SGIS_texture_select :: Bool
+gl_SGIS_texture_select = member "GL_SGIS_texture_select" extensions
+{-# NOINLINE gl_SGIS_texture_select #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/async.txt SGIX_async> extension supported?
+glGetSGIXAsync :: MonadIO m => m Bool
+glGetSGIXAsync = getExtensions >>= (return . member "GL_SGIX_async")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/async.txt SGIX_async> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXAsync' in those cases instead.
+gl_SGIX_async :: Bool
+gl_SGIX_async = member "GL_SGIX_async" extensions
+{-# NOINLINE gl_SGIX_async #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/async_histogram.txt SGIX_async_histogram> extension supported?
+glGetSGIXAsyncHistogram :: MonadIO m => m Bool
+glGetSGIXAsyncHistogram = getExtensions >>= (return . member "GL_SGIX_async_histogram")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/async_histogram.txt SGIX_async_histogram> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXAsyncHistogram' in those cases instead.
+gl_SGIX_async_histogram :: Bool
+gl_SGIX_async_histogram = member "GL_SGIX_async_histogram" extensions
+{-# NOINLINE gl_SGIX_async_histogram #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/async_pixel.txt SGIX_async_pixel> extension supported?
+glGetSGIXAsyncPixel :: MonadIO m => m Bool
+glGetSGIXAsyncPixel = getExtensions >>= (return . member "GL_SGIX_async_pixel")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/async_pixel.txt SGIX_async_pixel> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXAsyncPixel' in those cases instead.
+gl_SGIX_async_pixel :: Bool
+gl_SGIX_async_pixel = member "GL_SGIX_async_pixel" extensions
+{-# NOINLINE gl_SGIX_async_pixel #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/blend_alpha_minmax.txt SGIX_blend_alpha_minmax> extension supported?
+glGetSGIXBlendAlphaMinmax :: MonadIO m => m Bool
+glGetSGIXBlendAlphaMinmax = getExtensions >>= (return . member "GL_SGIX_blend_alpha_minmax")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/blend_alpha_minmax.txt SGIX_blend_alpha_minmax> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXBlendAlphaMinmax' in those cases instead.
+gl_SGIX_blend_alpha_minmax :: Bool
+gl_SGIX_blend_alpha_minmax = member "GL_SGIX_blend_alpha_minmax" extensions
+{-# NOINLINE gl_SGIX_blend_alpha_minmax #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/calligraphic_fragment.txt SGIX_calligraphic_fragment> extension supported?
+glGetSGIXCalligraphicFragment :: MonadIO m => m Bool
+glGetSGIXCalligraphicFragment = getExtensions >>= (return . member "GL_SGIX_calligraphic_fragment")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/calligraphic_fragment.txt SGIX_calligraphic_fragment> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXCalligraphicFragment' in those cases instead.
+gl_SGIX_calligraphic_fragment :: Bool
+gl_SGIX_calligraphic_fragment = member "GL_SGIX_calligraphic_fragment" extensions
+{-# NOINLINE gl_SGIX_calligraphic_fragment #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/clipmap.txt SGIX_clipmap> extension supported?
+glGetSGIXClipmap :: MonadIO m => m Bool
+glGetSGIXClipmap = getExtensions >>= (return . member "GL_SGIX_clipmap")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/clipmap.txt SGIX_clipmap> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXClipmap' in those cases instead.
+gl_SGIX_clipmap :: Bool
+gl_SGIX_clipmap = member "GL_SGIX_clipmap" extensions
+{-# NOINLINE gl_SGIX_clipmap #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/convolution_accuracy.txt SGIX_convolution_accuracy> extension supported?
+glGetSGIXConvolutionAccuracy :: MonadIO m => m Bool
+glGetSGIXConvolutionAccuracy = getExtensions >>= (return . member "GL_SGIX_convolution_accuracy")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/convolution_accuracy.txt SGIX_convolution_accuracy> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXConvolutionAccuracy' in those cases instead.
+gl_SGIX_convolution_accuracy :: Bool
+gl_SGIX_convolution_accuracy = member "GL_SGIX_convolution_accuracy" extensions
+{-# NOINLINE gl_SGIX_convolution_accuracy #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/depth_texture.txt SGIX_depth_texture> extension supported?
+glGetSGIXDepthTexture :: MonadIO m => m Bool
+glGetSGIXDepthTexture = getExtensions >>= (return . member "GL_SGIX_depth_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/depth_texture.txt SGIX_depth_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXDepthTexture' in those cases instead.
+gl_SGIX_depth_texture :: Bool
+gl_SGIX_depth_texture = member "GL_SGIX_depth_texture" extensions
+{-# NOINLINE gl_SGIX_depth_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/flush_raster.txt SGIX_flush_raster> extension supported?
+glGetSGIXFlushRaster :: MonadIO m => m Bool
+glGetSGIXFlushRaster = getExtensions >>= (return . member "GL_SGIX_flush_raster")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/flush_raster.txt SGIX_flush_raster> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXFlushRaster' in those cases instead.
+gl_SGIX_flush_raster :: Bool
+gl_SGIX_flush_raster = member "GL_SGIX_flush_raster" extensions
+{-# NOINLINE gl_SGIX_flush_raster #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/fog_offset.txt SGIX_fog_offset> extension supported?
+glGetSGIXFogOffset :: MonadIO m => m Bool
+glGetSGIXFogOffset = getExtensions >>= (return . member "GL_SGIX_fog_offset")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/fog_offset.txt SGIX_fog_offset> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXFogOffset' in those cases instead.
+gl_SGIX_fog_offset :: Bool
+gl_SGIX_fog_offset = member "GL_SGIX_fog_offset" extensions
+{-# NOINLINE gl_SGIX_fog_offset #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt SGIX_fragment_lighting> extension supported?
+glGetSGIXFragmentLighting :: MonadIO m => m Bool
+glGetSGIXFragmentLighting = getExtensions >>= (return . member "GL_SGIX_fragment_lighting")
+
+-- | Is the <https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt SGIX_fragment_lighting> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXFragmentLighting' in those cases instead.
+gl_SGIX_fragment_lighting :: Bool
+gl_SGIX_fragment_lighting = member "GL_SGIX_fragment_lighting" extensions
+{-# NOINLINE gl_SGIX_fragment_lighting #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/framezoom.txt SGIX_framezoom> extension supported?
+glGetSGIXFramezoom :: MonadIO m => m Bool
+glGetSGIXFramezoom = getExtensions >>= (return . member "GL_SGIX_framezoom")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/framezoom.txt SGIX_framezoom> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXFramezoom' in those cases instead.
+gl_SGIX_framezoom :: Bool
+gl_SGIX_framezoom = member "GL_SGIX_framezoom" extensions
+{-# NOINLINE gl_SGIX_framezoom #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/igloo_interface.txt SGIX_igloo_interface> extension supported?
+glGetSGIXIglooInterface :: MonadIO m => m Bool
+glGetSGIXIglooInterface = getExtensions >>= (return . member "GL_SGIX_igloo_interface")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/igloo_interface.txt SGIX_igloo_interface> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXIglooInterface' in those cases instead.
+gl_SGIX_igloo_interface :: Bool
+gl_SGIX_igloo_interface = member "GL_SGIX_igloo_interface" extensions
+{-# NOINLINE gl_SGIX_igloo_interface #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/instruments.txt SGIX_instruments> extension supported?
+glGetSGIXInstruments :: MonadIO m => m Bool
+glGetSGIXInstruments = getExtensions >>= (return . member "GL_SGIX_instruments")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/instruments.txt SGIX_instruments> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXInstruments' in those cases instead.
+gl_SGIX_instruments :: Bool
+gl_SGIX_instruments = member "GL_SGIX_instruments" extensions
+{-# NOINLINE gl_SGIX_instruments #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/interlace.txt SGIX_interlace> extension supported?
+glGetSGIXInterlace :: MonadIO m => m Bool
+glGetSGIXInterlace = getExtensions >>= (return . member "GL_SGIX_interlace")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/interlace.txt SGIX_interlace> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXInterlace' in those cases instead.
+gl_SGIX_interlace :: Bool
+gl_SGIX_interlace = member "GL_SGIX_interlace" extensions
+{-# NOINLINE gl_SGIX_interlace #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/ir_instrument1.txt SGIX_ir_instrument1> extension supported?
+glGetSGIXIrInstrument1 :: MonadIO m => m Bool
+glGetSGIXIrInstrument1 = getExtensions >>= (return . member "GL_SGIX_ir_instrument1")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/ir_instrument1.txt SGIX_ir_instrument1> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXIrInstrument1' in those cases instead.
+gl_SGIX_ir_instrument1 :: Bool
+gl_SGIX_ir_instrument1 = member "GL_SGIX_ir_instrument1" extensions
+{-# NOINLINE gl_SGIX_ir_instrument1 #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/list_priority.txt SGIX_list_priority> extension supported?
+glGetSGIXListPriority :: MonadIO m => m Bool
+glGetSGIXListPriority = getExtensions >>= (return . member "GL_SGIX_list_priority")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/list_priority.txt SGIX_list_priority> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXListPriority' in those cases instead.
+gl_SGIX_list_priority :: Bool
+gl_SGIX_list_priority = member "GL_SGIX_list_priority" extensions
+{-# NOINLINE gl_SGIX_list_priority #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt SGIX_pixel_texture> extension supported?
+glGetSGIXPixelTexture :: MonadIO m => m Bool
+glGetSGIXPixelTexture = getExtensions >>= (return . member "GL_SGIX_pixel_texture")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt SGIX_pixel_texture> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXPixelTexture' in those cases instead.
+gl_SGIX_pixel_texture :: Bool
+gl_SGIX_pixel_texture = member "GL_SGIX_pixel_texture" extensions
+{-# NOINLINE gl_SGIX_pixel_texture #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/pixel_tiles.txt SGIX_pixel_tiles> extension supported?
+glGetSGIXPixelTiles :: MonadIO m => m Bool
+glGetSGIXPixelTiles = getExtensions >>= (return . member "GL_SGIX_pixel_tiles")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/pixel_tiles.txt SGIX_pixel_tiles> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXPixelTiles' in those cases instead.
+gl_SGIX_pixel_tiles :: Bool
+gl_SGIX_pixel_tiles = member "GL_SGIX_pixel_tiles" extensions
+{-# NOINLINE gl_SGIX_pixel_tiles #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/polynomial_ffd.txt SGIX_polynomial_ffd> extension supported?
+glGetSGIXPolynomialFFD :: MonadIO m => m Bool
+glGetSGIXPolynomialFFD = getExtensions >>= (return . member "GL_SGIX_polynomial_ffd")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/polynomial_ffd.txt SGIX_polynomial_ffd> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXPolynomialFFD' in those cases instead.
+gl_SGIX_polynomial_ffd :: Bool
+gl_SGIX_polynomial_ffd = member "GL_SGIX_polynomial_ffd" extensions
+{-# NOINLINE gl_SGIX_polynomial_ffd #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/reference_plane.txt SGIX_reference_plane> extension supported?
+glGetSGIXReferencePlane :: MonadIO m => m Bool
+glGetSGIXReferencePlane = getExtensions >>= (return . member "GL_SGIX_reference_plane")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/reference_plane.txt SGIX_reference_plane> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXReferencePlane' in those cases instead.
+gl_SGIX_reference_plane :: Bool
+gl_SGIX_reference_plane = member "GL_SGIX_reference_plane" extensions
+{-# NOINLINE gl_SGIX_reference_plane #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/resample.txt SGIX_resample> extension supported?
+glGetSGIXResample :: MonadIO m => m Bool
+glGetSGIXResample = getExtensions >>= (return . member "GL_SGIX_resample")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/resample.txt SGIX_resample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXResample' in those cases instead.
+gl_SGIX_resample :: Bool
+gl_SGIX_resample = member "GL_SGIX_resample" extensions
+{-# NOINLINE gl_SGIX_resample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/scalebias_hint.txt SGIX_scalebias_hint> extension supported?
+glGetSGIXScalebiasHint :: MonadIO m => m Bool
+glGetSGIXScalebiasHint = getExtensions >>= (return . member "GL_SGIX_scalebias_hint")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/scalebias_hint.txt SGIX_scalebias_hint> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXScalebiasHint' in those cases instead.
+gl_SGIX_scalebias_hint :: Bool
+gl_SGIX_scalebias_hint = member "GL_SGIX_scalebias_hint" extensions
+{-# NOINLINE gl_SGIX_scalebias_hint #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow.txt SGIX_shadow> extension supported?
+glGetSGIXShadow :: MonadIO m => m Bool
+glGetSGIXShadow = getExtensions >>= (return . member "GL_SGIX_shadow")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow.txt SGIX_shadow> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXShadow' in those cases instead.
+gl_SGIX_shadow :: Bool
+gl_SGIX_shadow = member "GL_SGIX_shadow" extensions
+{-# NOINLINE gl_SGIX_shadow #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow_ambient.txt SGIX_shadow_ambient> extension supported?
+glGetSGIXShadowAmbient :: MonadIO m => m Bool
+glGetSGIXShadowAmbient = getExtensions >>= (return . member "GL_SGIX_shadow_ambient")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow_ambient.txt SGIX_shadow_ambient> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXShadowAmbient' in those cases instead.
+gl_SGIX_shadow_ambient :: Bool
+gl_SGIX_shadow_ambient = member "GL_SGIX_shadow_ambient" extensions
+{-# NOINLINE gl_SGIX_shadow_ambient #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/sprite.txt SGIX_sprite> extension supported?
+glGetSGIXSprite :: MonadIO m => m Bool
+glGetSGIXSprite = getExtensions >>= (return . member "GL_SGIX_sprite")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/sprite.txt SGIX_sprite> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXSprite' in those cases instead.
+gl_SGIX_sprite :: Bool
+gl_SGIX_sprite = member "GL_SGIX_sprite" extensions
+{-# NOINLINE gl_SGIX_sprite #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/subsample.txt SGIX_subsample> extension supported?
+glGetSGIXSubsample :: MonadIO m => m Bool
+glGetSGIXSubsample = getExtensions >>= (return . member "GL_SGIX_subsample")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/subsample.txt SGIX_subsample> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXSubsample' in those cases instead.
+gl_SGIX_subsample :: Bool
+gl_SGIX_subsample = member "GL_SGIX_subsample" extensions
+{-# NOINLINE gl_SGIX_subsample #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt SGIX_tag_sample_buffer> extension supported?
+glGetSGIXTagSampleBuffer :: MonadIO m => m Bool
+glGetSGIXTagSampleBuffer = getExtensions >>= (return . member "GL_SGIX_tag_sample_buffer")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt SGIX_tag_sample_buffer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXTagSampleBuffer' in those cases instead.
+gl_SGIX_tag_sample_buffer :: Bool
+gl_SGIX_tag_sample_buffer = member "GL_SGIX_tag_sample_buffer" extensions
+{-# NOINLINE gl_SGIX_tag_sample_buffer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_env_add.txt SGIX_texture_add_env> extension supported?
+glGetSGIXTextureAddEnv :: MonadIO m => m Bool
+glGetSGIXTextureAddEnv = getExtensions >>= (return . member "GL_SGIX_texture_add_env")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_env_add.txt SGIX_texture_add_env> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXTextureAddEnv' in those cases instead.
+gl_SGIX_texture_add_env :: Bool
+gl_SGIX_texture_add_env = member "GL_SGIX_texture_add_env" extensions
+{-# NOINLINE gl_SGIX_texture_add_env #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_coordinate_clamp.txt SGIX_texture_coordinate_clamp> extension supported?
+glGetSGIXTextureCoordinateClamp :: MonadIO m => m Bool
+glGetSGIXTextureCoordinateClamp = getExtensions >>= (return . member "GL_SGIX_texture_coordinate_clamp")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_coordinate_clamp.txt SGIX_texture_coordinate_clamp> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXTextureCoordinateClamp' in those cases instead.
+gl_SGIX_texture_coordinate_clamp :: Bool
+gl_SGIX_texture_coordinate_clamp = member "GL_SGIX_texture_coordinate_clamp" extensions
+{-# NOINLINE gl_SGIX_texture_coordinate_clamp #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_lod_bias.txt SGIX_texture_lod_bias> extension supported?
+glGetSGIXTextureLODBias :: MonadIO m => m Bool
+glGetSGIXTextureLODBias = getExtensions >>= (return . member "GL_SGIX_texture_lod_bias")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_lod_bias.txt SGIX_texture_lod_bias> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXTextureLODBias' in those cases instead.
+gl_SGIX_texture_lod_bias :: Bool
+gl_SGIX_texture_lod_bias = member "GL_SGIX_texture_lod_bias" extensions
+{-# NOINLINE gl_SGIX_texture_lod_bias #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_multi_buffer.txt SGIX_texture_multi_buffer> extension supported?
+glGetSGIXTextureMultiBuffer :: MonadIO m => m Bool
+glGetSGIXTextureMultiBuffer = getExtensions >>= (return . member "GL_SGIX_texture_multi_buffer")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_multi_buffer.txt SGIX_texture_multi_buffer> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXTextureMultiBuffer' in those cases instead.
+gl_SGIX_texture_multi_buffer :: Bool
+gl_SGIX_texture_multi_buffer = member "GL_SGIX_texture_multi_buffer" extensions
+{-# NOINLINE gl_SGIX_texture_multi_buffer #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_scale_bias.txt SGIX_texture_scale_bias> extension supported?
+glGetSGIXTextureScaleBias :: MonadIO m => m Bool
+glGetSGIXTextureScaleBias = getExtensions >>= (return . member "GL_SGIX_texture_scale_bias")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_scale_bias.txt SGIX_texture_scale_bias> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXTextureScaleBias' in those cases instead.
+gl_SGIX_texture_scale_bias :: Bool
+gl_SGIX_texture_scale_bias = member "GL_SGIX_texture_scale_bias" extensions
+{-# NOINLINE gl_SGIX_texture_scale_bias #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt SGIX_vertex_preclip> extension supported?
+glGetSGIXVertexPreclip :: MonadIO m => m Bool
+glGetSGIXVertexPreclip = getExtensions >>= (return . member "GL_SGIX_vertex_preclip")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt SGIX_vertex_preclip> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXVertexPreclip' in those cases instead.
+gl_SGIX_vertex_preclip :: Bool
+gl_SGIX_vertex_preclip = member "GL_SGIX_vertex_preclip" extensions
+{-# NOINLINE gl_SGIX_vertex_preclip #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcb.txt SGIX_ycrcb> extension supported?
+glGetSGIXYCrCb :: MonadIO m => m Bool
+glGetSGIXYCrCb = getExtensions >>= (return . member "GL_SGIX_ycrcb")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcb.txt SGIX_ycrcb> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXYCrCb' in those cases instead.
+gl_SGIX_ycrcb :: Bool
+gl_SGIX_ycrcb = member "GL_SGIX_ycrcb" extensions
+{-# NOINLINE gl_SGIX_ycrcb #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcba.txt SGIX_ycrcba> extension supported?
+glGetSGIXYCrCbA :: MonadIO m => m Bool
+glGetSGIXYCrCbA = getExtensions >>= (return . member "GL_SGIX_ycrcba")
+
+-- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcba.txt SGIX_ycrcba> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSGIXYCrCbA' in those cases instead.
+gl_SGIX_ycrcba :: Bool
+gl_SGIX_ycrcba = member "GL_SGIX_ycrcba" extensions
+{-# NOINLINE gl_SGIX_ycrcba #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/convolution_border_modes.txt SUN_convolution_border_modes> extension supported?
+glGetSUNConvolutionBorderModes :: MonadIO m => m Bool
+glGetSUNConvolutionBorderModes = getExtensions >>= (return . member "GL_SUN_convolution_border_modes")
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/convolution_border_modes.txt SUN_convolution_border_modes> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSUNConvolutionBorderModes' in those cases instead.
+gl_SUN_convolution_border_modes :: Bool
+gl_SUN_convolution_border_modes = member "GL_SUN_convolution_border_modes" extensions
+{-# NOINLINE gl_SUN_convolution_border_modes #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/global_alpha.txt SUN_global_alpha> extension supported?
+glGetSUNGlobalAlpha :: MonadIO m => m Bool
+glGetSUNGlobalAlpha = getExtensions >>= (return . member "GL_SUN_global_alpha")
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/global_alpha.txt SUN_global_alpha> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSUNGlobalAlpha' in those cases instead.
+gl_SUN_global_alpha :: Bool
+gl_SUN_global_alpha = member "GL_SUN_global_alpha" extensions
+{-# NOINLINE gl_SUN_global_alpha #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/mesh_array.txt SUN_mesh_array> extension supported?
+glGetSUNMeshArray :: MonadIO m => m Bool
+glGetSUNMeshArray = getExtensions >>= (return . member "GL_SUN_mesh_array")
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/mesh_array.txt SUN_mesh_array> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSUNMeshArray' in those cases instead.
+gl_SUN_mesh_array :: Bool
+gl_SUN_mesh_array = member "GL_SUN_mesh_array" extensions
+{-# NOINLINE gl_SUN_mesh_array #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/slice_accum.txt SUN_slice_accum> extension supported?
+glGetSUNSliceAccum :: MonadIO m => m Bool
+glGetSUNSliceAccum = getExtensions >>= (return . member "GL_SUN_slice_accum")
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/slice_accum.txt SUN_slice_accum> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSUNSliceAccum' in those cases instead.
+gl_SUN_slice_accum :: Bool
+gl_SUN_slice_accum = member "GL_SUN_slice_accum" extensions
+{-# NOINLINE gl_SUN_slice_accum #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/triangle_list.txt SUN_triangle_list> extension supported?
+glGetSUNTriangleList :: MonadIO m => m Bool
+glGetSUNTriangleList = getExtensions >>= (return . member "GL_SUN_triangle_list")
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/triangle_list.txt SUN_triangle_list> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSUNTriangleList' in those cases instead.
+gl_SUN_triangle_list :: Bool
+gl_SUN_triangle_list = member "GL_SUN_triangle_list" extensions
+{-# NOINLINE gl_SUN_triangle_list #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/vertex.txt SUN_vertex> extension supported?
+glGetSUNVertex :: MonadIO m => m Bool
+glGetSUNVertex = getExtensions >>= (return . member "GL_SUN_vertex")
+
+-- | Is the <https://www.opengl.org/registry/specs/SUN/vertex.txt SUN_vertex> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSUNVertex' in those cases instead.
+gl_SUN_vertex :: Bool
+gl_SUN_vertex = member "GL_SUN_vertex" extensions
+{-# NOINLINE gl_SUN_vertex #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/SUNX/constant_data.txt SUNX_constant_data> extension supported?
+glGetSUNXConstantData :: MonadIO m => m Bool
+glGetSUNXConstantData = getExtensions >>= (return . member "GL_SUNX_constant_data")
+
+-- | Is the <https://www.opengl.org/registry/specs/SUNX/constant_data.txt SUNX_constant_data> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetSUNXConstantData' in those cases instead.
+gl_SUNX_constant_data :: Bool
+gl_SUNX_constant_data = member "GL_SUNX_constant_data" extensions
+{-# NOINLINE gl_SUNX_constant_data #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/WIN/phong_shading.txt WIN_phong_shading> extension supported?
+glGetWINPhongShading :: MonadIO m => m Bool
+glGetWINPhongShading = getExtensions >>= (return . member "GL_WIN_phong_shading")
+
+-- | Is the <https://www.opengl.org/registry/specs/WIN/phong_shading.txt WIN_phong_shading> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetWINPhongShading' in those cases instead.
+gl_WIN_phong_shading :: Bool
+gl_WIN_phong_shading = member "GL_WIN_phong_shading" extensions
+{-# NOINLINE gl_WIN_phong_shading #-}
+
+-- | Is the <https://www.opengl.org/registry/specs/WIN/specular_fog.txt WIN_specular_fog> extension supported?
+glGetWINSpecularFog :: MonadIO m => m Bool
+glGetWINSpecularFog = getExtensions >>= (return . member "GL_WIN_specular_fog")
+
+-- | Is the <https://www.opengl.org/registry/specs/WIN/specular_fog.txt WIN_specular_fog> extension supported?
+-- Note that in the presence of multiple contexts with different capabilities,
+-- this might be wrong. Use 'glGetWINSpecularFog' in those cases instead.
+gl_WIN_specular_fog :: Bool
+gl_WIN_specular_fog = member "GL_WIN_specular_fog" extensions
+{-# NOINLINE gl_WIN_specular_fog #-}
diff --git a/src/Graphics/GL/Foreign.hs b/src/Graphics/GL/Foreign.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Foreign.hs
@@ -0,0 +1,3556 @@
+{-# LANGUAGE CPP #-}
+{-# OPTIONS_HADDOCK hide #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Foreign
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All foreign imports.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Foreign where
+
+import Foreign.C.Types
+import Foreign.Ptr
+import Graphics.GL.Types
+import Numeric.Fixed
+import Numeric.Half
+
+foreign import CALLCONV "dynamic" dyn201
+  :: FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
+  ->         GLDEBUGPROC -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn202
+  :: FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
+  ->         GLDEBUGPROCAMD -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn203
+  :: FunPtr (GLDEBUGPROCARB -> Ptr a -> IO ())
+  ->         GLDEBUGPROCARB -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn204
+  :: FunPtr (GLDEBUGPROCKHR -> Ptr a -> IO ())
+  ->         GLDEBUGPROCKHR -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn376
+  :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn375
+  :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn69
+  :: FunPtr (GLbitfield -> IO ())
+  ->         GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn122
+  :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+  ->         GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn190
+  :: FunPtr (GLboolean -> IO ())
+  ->         GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn107
+  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn36
+  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn718
+  :: FunPtr (GLbyte -> GLbyte -> IO ())
+  ->         GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn458
+  :: FunPtr (GLbyte -> IO ())
+  ->         GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn215
+  :: FunPtr (GLclampd -> GLclampd -> IO ())
+  ->         GLclampd -> GLclampd -> IO ()
+
+foreign import CALLCONV "dynamic" dyn692
+  :: FunPtr (GLclampf -> GLboolean -> IO ())
+  ->         GLclampf -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn222
+  :: FunPtr (GLclampf -> GLclampf -> IO ())
+  ->         GLclampf -> GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn80
+  :: FunPtr (GLclampf -> IO ())
+  ->         GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn691
+  :: FunPtr (GLclampx -> GLboolean -> IO ())
+  ->         GLclampx -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn292
+  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn108
+  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn38
+  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn216
+  :: FunPtr (GLdouble -> GLdouble -> IO ())
+  ->         GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn78
+  :: FunPtr (GLdouble -> IO ())
+  ->         GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn275
+  :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
+  ->         GLenum -> GLbitfield -> IO GLsync
+
+foreign import CALLCONV "dynamic" dyn444
+  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn332
+  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn553
+  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn548
+  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn542
+  :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn535
+  :: FunPtr (GLenum -> GLbyte -> IO ())
+  ->         GLenum -> GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn9
+  :: FunPtr (GLenum -> GLclampf -> IO ())
+  ->         GLenum -> GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn512
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn516
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn518
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn209
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn492
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn489
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn543
+  :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn537
+  :: FunPtr (GLenum -> GLdouble -> IO ())
+  ->         GLenum -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn257
+  :: FunPtr (GLenum -> GLeglImageOES -> IO ())
+  ->         GLenum -> GLeglImageOES -> IO ()
+
+foreign import CALLCONV "dynamic" dyn520
+  :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn725
+  :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn560
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn134
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn133
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn53
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn315
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn316
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn70
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn558
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn559
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn343
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn342
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn205
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn450
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ()
+
+foreign import CALLCONV "dynamic" dyn442
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn287
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn286
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn285
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn282
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn296
+  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
+  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn710
+  :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn31
+  :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint)
+  ->         GLenum -> GLenum -> GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn350
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn317
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn318
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn354
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn314
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn399
+  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
+  ->         GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ()
+
+foreign import CALLCONV "dynamic" dyn161
+  :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+  ->         GLenum -> GLenum -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn160
+  :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn351
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn168
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn169
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn138
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn139
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn140
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn352
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn353
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn172
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn171
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn566
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn143
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn170
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn565
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn142
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn564
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn141
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn561
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn562
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn563
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn166
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn165
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn709
+  :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn62
+  :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn604
+  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn320
+  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn531
+  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn163
+  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn71
+  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn130
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn341
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn159
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn699
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ()
+
+foreign import CALLCONV "dynamic" dyn738
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn674
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn445
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn446
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn447
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn206
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn626
+  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn207
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn288
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn291
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn289
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn290
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn284
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn717
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn208
+  :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn29
+  :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn51
+  :: FunPtr (GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn495
+  :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
+  ->         GLenum -> GLenum -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn28
+  :: FunPtr (GLenum -> GLenum -> IO GLuint)
+  ->         GLenum -> GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn313
+  :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn349
+  :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn162
+  :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn131
+  :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn132
+  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn400
+  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn311
+  :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn409
+  :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn312
+  :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
+  ->         GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn530
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn529
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn528
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn241
+  :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn556
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn552
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn494
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn491
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn547
+  :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn1
+  :: FunPtr (GLenum -> GLfixed -> IO ())
+  ->         GLenum -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn517
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn519
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn210
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn493
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn490
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn544
+  :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn0
+  :: FunPtr (GLenum -> GLfloat -> IO ())
+  ->         GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn554
+  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn549
+  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn545
+  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn538
+  :: FunPtr (GLenum -> GLhalfNV -> IO ())
+  ->         GLenum -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn451
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn405
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn175
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn176
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn144
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn145
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn731
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn146
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn734
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn13
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn557
+  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn408
+  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ())
+  ->         GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn406
+  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn407
+  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn72
+  :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLfloat -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn179
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn741
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn178
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn735
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn271
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn149
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn177
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn264
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn740
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn148
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn550
+  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn739
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn147
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn726
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn727
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn730
+  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn263
+  :: FunPtr (GLenum -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn231
+  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn230
+  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn228
+  :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn443
+  :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn600
+  :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
+  ->         GLenum -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn55
+  :: FunPtr (GLenum -> GLint -> IO ())
+  ->         GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn279
+  :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+  ->         GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn588
+  :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn386
+  :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
+  ->         GLenum -> GLint -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn73
+  :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn74
+  :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ())
+  ->         GLenum -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn75
+  :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn321
+  :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
+  ->         GLenum -> GLint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn463
+  :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
+  ->         GLenum -> GLintptr -> GLbitfield -> IO GLsync
+
+foreign import CALLCONV "dynamic" dyn525
+  :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn496
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+  ->         GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn61
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
+  ->         GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn277
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn64
+  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+  ->         GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn65
+  :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
+  ->         GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn555
+  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn551
+  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn546
+  :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn540
+  :: FunPtr (GLenum -> GLshort -> IO ())
+  ->         GLenum -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn462
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn728
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn732
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn737
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn675
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn736
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn240
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn245
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn244
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn243
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn242
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn377
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn239
+  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn164
+  :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn129
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn676
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn729
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn733
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn464
+  :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn238
+  :: FunPtr (GLenum -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn199
+  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
+  ->         GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn677
+  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> GLsizei -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn469
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn225
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn224
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn196
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn448
+  :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
+  ->         GLenum -> GLsizei -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn46
+  :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn63
+  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+  ->         GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn59
+  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+  ->         GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn60
+  :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ())
+  ->         GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn618
+  :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn770
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn348
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn497
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn664
+  :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn591
+  :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
+  ->         GLenum -> GLuint -> GLenum -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn391
+  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn346
+  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn347
+  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn619
+  :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn620
+  :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn256
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn480
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn624
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn283
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn621
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn367
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn485
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn22
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn23
+  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ())
+  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn247
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn21
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn20
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn250
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn249
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn248
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn617
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn615
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn616
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn121
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn8
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn120
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn7
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn119
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn6
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn703
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn702
+  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn17
+  :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn532
+  :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn58
+  :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
+  ->         GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn16
+  :: FunPtr (GLenum -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn403
+  :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
+  ->         GLenum -> GLuint -> IO (Ptr GLubyte)
+
+foreign import CALLCONV "dynamic" dyn473
+  :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+  ->         GLenum -> GLuint -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn319
+  :: FunPtr (GLenum -> GLuint -> IO GLuint)
+  ->         GLenum -> GLuint -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn387
+  :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> GLuint -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn309
+  :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn327
+  :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn266
+  :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn338
+  :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn336
+  :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn235
+  :: FunPtr (GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn213
+  :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn339
+  :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
+  ->         GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn4
+  :: FunPtr (GLenum -> IO ())
+  ->         GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn402
+  :: FunPtr (GLenum -> IO (Ptr GLubyte))
+  ->         GLenum -> IO (Ptr GLubyte)
+
+foreign import CALLCONV "dynamic" dyn472
+  :: FunPtr (GLenum -> IO GLboolean)
+  ->         GLenum -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn67
+  :: FunPtr (GLenum -> IO GLenum)
+  ->         GLenum -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn197
+  :: FunPtr (GLenum -> IO GLhandleARB)
+  ->         GLenum -> IO GLhandleARB
+
+foreign import CALLCONV "dynamic" dyn673
+  :: FunPtr (GLenum -> IO GLint)
+  ->         GLenum -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn30
+  :: FunPtr (GLenum -> IO GLuint)
+  ->         GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn401
+  :: FunPtr (GLenum -> IO GLushort)
+  ->         GLenum -> IO GLushort
+
+foreign import CALLCONV "dynamic" dyn267
+  :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn310
+  :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
+  ->         GLenum -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn536
+  :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
+  ->         GLenum -> Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn198
+  :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint)
+  ->         GLenum -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn92
+  :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+  ->         GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn94
+  :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+  ->         GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn93
+  :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+  ->         GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn539
+  :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
+  ->         GLenum -> Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn135
+  :: FunPtr (GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn521
+  :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn337
+  :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
+  ->         GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn541
+  :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+  ->         GLenum -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn526
+  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
+  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn527
+  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn124
+  :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+  ->         GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn234
+  :: FunPtr (GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ())
+  ->         GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn340
+  :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
+  ->         GLenum -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn385
+  :: FunPtr (GLenum -> Ptr GLushort -> IO ())
+  ->         GLenum -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn596
+  :: FunPtr (GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum)
+  ->         GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn524
+  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn523
+  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn522
+  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn229
+  :: FunPtr (GLenum -> Ptr a -> IO ())
+  ->         GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn293
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn255
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn50
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn105
+  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn223
+  :: FunPtr (GLfixed -> GLfixed -> IO ())
+  ->         GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn81
+  :: FunPtr (GLfixed -> IO ())
+  ->         GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn690
+  :: FunPtr (GLfloat -> GLboolean -> IO ())
+  ->         GLfloat -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn724
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn719
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn109
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn609
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn95
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn251
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn49
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn40
+  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn721
+  :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn221
+  :: FunPtr (GLfloat -> GLfloat -> IO ())
+  ->         GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn79
+  :: FunPtr (GLfloat -> IO ())
+  ->         GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn111
+  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn97
+  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn723
+  :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn280
+  :: FunPtr (GLhalfNV -> IO ())
+  ->         GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn368
+  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn369
+  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
+  ->         GLhandleARB -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn14
+  :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
+  ->         GLhandleARB -> GLhandleARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn428
+  :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLhandleARB -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn432
+  :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
+  ->         GLhandleARB -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn704
+  :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
+  ->         GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn334
+  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
+  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn305
+  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
+  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn299
+  :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
+  ->         GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn19
+  :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ())
+  ->         GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn136
+  :: FunPtr (GLhandleARB -> IO ())
+  ->         GLhandleARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn308
+  :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
+  ->         GLhandleARB -> Ptr GLcharARB -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn803
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn796
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn501
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn498
+  :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn776
+  :: FunPtr (GLint -> GLdouble -> IO ())
+  ->         GLint -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn127
+  :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+  ->         GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn126
+  :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+  ->         GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn118
+  :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
+  ->         GLint -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn125
+  :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn128
+  :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLint -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn503
+  :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+  ->         GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn500
+  :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ())
+  ->         GLint -> GLfixed -> GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn804
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn797
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn502
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn499
+  :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn778
+  :: FunPtr (GLint -> GLfloat -> IO ())
+  ->         GLint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn56
+  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+  ->         GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn252
+  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn76
+  :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn42
+  :: FunPtr (GLint -> GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn668
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn667
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn174
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn694
+  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn265
+  :: FunPtr (GLint -> GLint -> IO ())
+  ->         GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn805
+  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn798
+  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn791
+  :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn780
+  :: FunPtr (GLint -> GLint64 -> IO ())
+  ->         GLint -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn806
+  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn799
+  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn792
+  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn781
+  :: FunPtr (GLint -> GLint64EXT -> IO ())
+  ->         GLint -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn810
+  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+  ->         GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn811
+  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+  ->         GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn486
+  :: FunPtr (GLint -> GLsizei -> IO ())
+  ->         GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn777
+  :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn779
+  :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn784
+  :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn782
+  :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn783
+  :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn790
+  :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn788
+  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn789
+  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+  ->         GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn807
+  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn800
+  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn793
+  :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn785
+  :: FunPtr (GLint -> GLuint -> IO ())
+  ->         GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn808
+  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn801
+  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn794
+  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn786
+  :: FunPtr (GLint -> GLuint64 -> IO ())
+  ->         GLint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn809
+  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn802
+  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn795
+  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn787
+  :: FunPtr (GLint -> GLuint64EXT -> IO ())
+  ->         GLint -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn481
+  :: FunPtr (GLint -> GLushort -> IO ())
+  ->         GLint -> GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn12
+  :: FunPtr (GLint -> IO ())
+  ->         GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn261
+  :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ())
+  ->         GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn878
+  :: FunPtr (GLint -> Ptr GLbyte -> IO ())
+  ->         GLint -> Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn366
+  :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
+  ->         GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn365
+  :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
+  ->         GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn212
+  :: FunPtr (GLint -> Ptr GLchar -> IO ())
+  ->         GLint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn475
+  :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean)
+  ->         GLint -> Ptr GLchar -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn879
+  :: FunPtr (GLint -> Ptr GLdouble -> IO ())
+  ->         GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn233
+  :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ())
+  ->         GLint -> Ptr GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn880
+  :: FunPtr (GLint -> Ptr GLfloat -> IO ())
+  ->         GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn881
+  :: FunPtr (GLint -> Ptr GLint -> IO ())
+  ->         GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn882
+  :: FunPtr (GLint -> Ptr GLshort -> IO ())
+  ->         GLint -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn513
+  :: FunPtr (GLint -> Ptr GLubyte -> IO ())
+  ->         GLint -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn514
+  :: FunPtr (GLint -> Ptr GLuint -> IO ())
+  ->         GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn515
+  :: FunPtr (GLint -> Ptr GLushort -> IO ())
+  ->         GLint -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn227
+  :: FunPtr (GLintptr -> IO ())
+  ->         GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn253
+  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn112
+  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn44
+  :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn665
+  :: FunPtr (GLshort -> GLshort -> IO ())
+  ->         GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn459
+  :: FunPtr (GLshort -> IO ())
+  ->         GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn274
+  :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
+  ->         GLsizei -> GLenum -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn273
+  :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn189
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn712
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn707
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn714
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn711
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn66
+  :: FunPtr (GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn246
+  :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn48
+  :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ())
+  ->         GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn47
+  :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
+  ->         GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn260
+  :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
+  ->         GLsizei -> GLsizei -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn706
+  :: FunPtr (GLsizei -> GLuint -> IO ())
+  ->         GLsizei -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn258
+  :: FunPtr (GLsizei -> IO ())
+  ->         GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn294
+  :: FunPtr (GLsizei -> IO GLuint)
+  ->         GLsizei -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn465
+  :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
+  ->         GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn232
+  :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
+  ->         GLsizei -> Ptr GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn191
+  :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn771
+  :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
+  ->         GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn773
+  :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
+  ->         GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn466
+  :: FunPtr (GLsizei -> Ptr GLint -> IO ())
+  ->         GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn449
+  :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
+  ->         GLsizei -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn701
+  :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+  ->         GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn192
+  :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+  ->         GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn11
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
+  ->         GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn611
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
+  ->         GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()
+
+foreign import CALLCONV "dynamic" dyn612
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ())
+  ->         GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn610
+  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
+  ->         GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn817
+  :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
+  ->         GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn589
+  :: FunPtr (GLsizei -> Ptr a -> GLenum -> IO GLuint)
+  ->         GLsizei -> Ptr a -> GLenum -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn259
+  :: FunPtr (GLsizei -> Ptr a -> IO ())
+  ->         GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn876
+  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
+  ->         GLsync -> GLbitfield -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn91
+  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
+  ->         GLsync -> GLbitfield -> GLuint64 -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn404
+  :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+  ->         GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn214
+  :: FunPtr (GLsync -> IO ())
+  ->         GLsync -> IO ()
+
+foreign import CALLCONV "dynamic" dyn478
+  :: FunPtr (GLsync -> IO GLboolean)
+  ->         GLsync -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn116
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn114
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn113
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn99
+  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
+  ->         GLubyte -> GLubyte -> GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn460
+  :: FunPtr (GLubyte -> IO ())
+  ->         GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn813
+  :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
+  ->         GLuint -> GLbitfield -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn693
+  :: FunPtr (GLuint -> GLbitfield -> IO ())
+  ->         GLuint -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn123
+  :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+  ->         GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn698
+  :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn666
+  :: FunPtr (GLuint -> GLboolean -> IO ())
+  ->         GLuint -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn848
+  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn844
+  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn219
+  :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn837
+  :: FunPtr (GLuint -> GLdouble -> IO ())
+  ->         GLuint -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn869
+  :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn870
+  :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn54
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn82
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn752
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn753
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn763
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn584
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn574
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn573
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn743
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn570
+  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn52
+  :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn417
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn359
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn416
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn364
+  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn483
+  :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn412
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn180
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn181
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn150
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn151
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn152
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn414
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn270
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn85
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn188
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn186
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn768
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn158
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn184
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn167
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn767
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn156
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn765
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn154
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn744
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn745
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn748
+  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn484
+  :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn86
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn87
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn88
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn323
+  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn83
+  :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn758
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn762
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn760
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn756
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn755
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn747
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn750
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn746
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn749
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn585
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn821
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn379
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn601
+  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn84
+  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn599
+  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
+  ->         GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn577
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn769
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn713
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn301
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn578
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn575
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn579
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn576
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn572
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn742
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn394
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn395
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn581
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn582
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn300
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn583
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn580
+  :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn708
+  :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn362
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn363
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn360
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn421
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn361
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn822
+  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> GLuint -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn15
+  :: FunPtr (GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn504
+  :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
+  ->         GLuint -> GLenum -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn479
+  :: FunPtr (GLuint -> GLenum -> IO GLboolean)
+  ->         GLuint -> GLenum -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn68
+  :: FunPtr (GLuint -> GLenum -> IO GLenum)
+  ->         GLuint -> GLenum -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn357
+  :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn344
+  :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn393
+  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn392
+  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn269
+  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn438
+  :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn345
+  :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn331
+  :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn355
+  :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn439
+  :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn396
+  :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn371
+  :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn398
+  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn356
+  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn598
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn597
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn595
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
+  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn614
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLint -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn613
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn700
+  :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn684
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn680
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn686
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn678
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn687
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn849
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn688
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn220
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn477
+  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+  ->         GLuint -> GLfloat -> GLfloat -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn838
+  :: FunPtr (GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn850
+  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn845
+  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn842
+  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn839
+  :: FunPtr (GLuint -> GLhalfNV -> IO ())
+  ->         GLuint -> GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn507
+  :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
+  ->         GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn333
+  :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
+  ->         GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
+
+foreign import CALLCONV "dynamic" dyn653
+  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn645
+  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn637
+  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn627
+  :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn852
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn854
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn871
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn853
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn411
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn89
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn625
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn857
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn858
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn856
+  :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn413
+  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn415
+  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn654
+  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn646
+  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn638
+  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn628
+  :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn187
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn185
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn655
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn751
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn419
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn90
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn157
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn324
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn471
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn183
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn647
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn766
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn155
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn639
+  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn764
+  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn153
+  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn696
+  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn629
+  :: FunPtr (GLuint -> GLint -> GLint -> IO ())
+  ->         GLuint -> GLint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn656
+  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn648
+  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn640
+  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn630
+  :: FunPtr (GLuint -> GLint -> GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn657
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn649
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn641
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn631
+  :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn661
+  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn662
+  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn452
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn453
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn455
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn454
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn632
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn457
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn456
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn636
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn322
+  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr a -> IO ())
+  ->         GLuint -> GLint -> GLsizei -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn715
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn658
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn650
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn642
+  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn633
+  :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
+  ->         GLuint -> GLint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn659
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn651
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn643
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn634
+  :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
+  ->         GLuint -> GLint -> GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn660
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn652
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn644
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn635
+  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn470
+  :: FunPtr (GLuint -> GLint -> IO ())
+  ->         GLuint -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn423
+  :: FunPtr (GLuint -> GLint -> IO GLint)
+  ->         GLuint -> GLint -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn425
+  :: FunPtr (GLuint -> GLint -> IO GLintptr)
+  ->         GLuint -> GLint -> IO GLintptr
+
+foreign import CALLCONV "dynamic" dyn426
+  :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn427
+  :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn431
+  :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn429
+  :: FunPtr (GLuint -> GLint -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLint -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn430
+  :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> GLint -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn435
+  :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn433
+  :: FunPtr (GLuint -> GLint -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLint -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn434
+  :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> GLint -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn867
+  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn865
+  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn863
+  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn859
+  :: FunPtr (GLuint -> GLint64EXT -> IO ())
+  ->         GLuint -> GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn505
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+  ->         GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn568
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
+  ->         GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn278
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn358
+  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+  ->         GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn851
+  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn846
+  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn843
+  :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn841
+  :: FunPtr (GLuint -> GLshort -> IO ())
+  ->         GLuint -> GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn757
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn761
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn759
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn586
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn754
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn594
+  :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn587
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn603
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn605
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
+  ->         GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn602
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn374
+  :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat)
+  ->         GLuint -> GLsizei -> GLsizei -> IO GLfloat
+
+foreign import CALLCONV "dynamic" dyn211
+  :: FunPtr (GLuint -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn774
+  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
+  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn137
+  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn424
+  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn218
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn468
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn281
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn325
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn326
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn217
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn872
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn775
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn695
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn873
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn328
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn388
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn306
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn622
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn623
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn593
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn874
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn389
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn390
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn303
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn27
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn877
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn33
+  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
+  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn569
+  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+  ->         GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn567
+  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+  ->         GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn682
+  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn847
+  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn510
+  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn508
+  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn716
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn35
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn833
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn397
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn34
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()
+
+foreign import CALLCONV "dynamic" dyn832
+  :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn592
+  :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn437
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
+
+foreign import CALLCONV "dynamic" dyn440
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn441
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn297
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn436
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn380
+  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr a -> IO ())
+  ->         GLuint -> GLuint -> GLenum -> Ptr a -> IO ()
+
+foreign import CALLCONV "dynamic" dyn254
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn511
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn509
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn476
+  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn25
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn26
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn827
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn830
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn828
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn57
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn182
+  :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLint -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn173
+  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn32
+  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn831
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn571
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn302
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn298
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn304
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn836
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn812
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn382
+  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn467
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn835
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn834
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn829
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
+
+foreign import CALLCONV "dynamic" dyn772
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
+
+foreign import CALLCONV "dynamic" dyn705
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()
+
+foreign import CALLCONV "dynamic" dyn226
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn855
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn77
+  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn101
+  :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn378
+  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn24
+  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn3
+  :: FunPtr (GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn418
+  :: FunPtr (GLuint -> GLuint -> IO GLuint64)
+  ->         GLuint -> GLuint -> IO GLuint64
+
+foreign import CALLCONV "dynamic" dyn482
+  :: FunPtr (GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn18
+  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
+  ->         GLuint -> GLuint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn384
+  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn420
+  :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn607
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn608
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn868
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn866
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn864
+  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn861
+  :: FunPtr (GLuint -> GLuint64EXT -> IO ())
+  ->         GLuint -> GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn2
+  :: FunPtr (GLuint -> IO ())
+  ->         GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn506
+  :: FunPtr (GLuint -> IO (Ptr a))
+  ->         GLuint -> IO (Ptr a)
+
+foreign import CALLCONV "dynamic" dyn272
+  :: FunPtr (GLuint -> IO GLboolean)
+  ->         GLuint -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn295
+  :: FunPtr (GLuint -> IO GLuint)
+  ->         GLuint -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn410
+  :: FunPtr (GLuint -> IO GLuint64)
+  ->         GLuint -> IO GLuint64
+
+foreign import CALLCONV "dynamic" dyn823
+  :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+  ->         GLuint -> Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn5
+  :: FunPtr (GLuint -> Ptr GLchar -> IO ())
+  ->         GLuint -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn307
+  :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+  ->         GLuint -> Ptr GLchar -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn422
+  :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
+  ->         GLuint -> Ptr GLchar -> IO GLuint
+
+foreign import CALLCONV "dynamic" dyn824
+  :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+  ->         GLuint -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn373
+  :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+  ->         GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn840
+  :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
+  ->         GLuint -> Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn697
+  :: FunPtr (GLuint -> Ptr GLint -> IO ())
+  ->         GLuint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn381
+  :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn860
+  :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
+  ->         GLuint -> Ptr GLint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn237
+  :: FunPtr (GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+  ->         GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn825
+  :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+  ->         GLuint -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn372
+  :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+  ->         GLuint -> Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn193
+  :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+  ->         GLuint -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn875
+  :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
+  ->         GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum
+
+foreign import CALLCONV "dynamic" dyn862
+  :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
+  ->         GLuint -> Ptr GLuint64EXT -> IO ()
+
+foreign import CALLCONV "dynamic" dyn826
+  :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+  ->         GLuint -> Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn488
+  :: FunPtr (GLuint64 -> GLenum -> IO ())
+  ->         GLuint64 -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn487
+  :: FunPtr (GLuint64 -> IO ())
+  ->         GLuint64 -> IO ()
+
+foreign import CALLCONV "dynamic" dyn474
+  :: FunPtr (GLuint64 -> IO GLboolean)
+  ->         GLuint64 -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn117
+  :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
+  ->         GLushort -> GLushort -> GLushort -> GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn103
+  :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
+  ->         GLushort -> GLushort -> GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn461
+  :: FunPtr (GLushort -> IO ())
+  ->         GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn814
+  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+  ->         GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn819
+  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
+  ->         GLvdpauSurfaceNV -> GLenum -> IO ()
+
+foreign import CALLCONV "dynamic" dyn820
+  :: FunPtr (GLvdpauSurfaceNV -> IO ())
+  ->         GLvdpauSurfaceNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn816
+  :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
+  ->         GLvdpauSurfaceNV -> IO GLboolean
+
+foreign import CALLCONV "dynamic" dyn10
+  :: FunPtr (IO ())
+  ->         IO ()
+
+foreign import CALLCONV "dynamic" dyn330
+  :: FunPtr (IO GLenum)
+  ->         IO GLenum
+
+foreign import CALLCONV "dynamic" dyn195
+  :: FunPtr (IO GLhandleARB)
+  ->         IO GLhandleARB
+
+foreign import CALLCONV "dynamic" dyn335
+  :: FunPtr (IO GLint)
+  ->         IO GLint
+
+foreign import CALLCONV "dynamic" dyn194
+  :: FunPtr (IO GLuint)
+  ->         IO GLuint
+
+foreign import CALLCONV "dynamic" dyn262
+  :: FunPtr (Ptr GLboolean -> IO ())
+  ->         Ptr GLboolean -> IO ()
+
+foreign import CALLCONV "dynamic" dyn37
+  :: FunPtr (Ptr GLbyte -> IO ())
+  ->         Ptr GLbyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn383
+  :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
+  ->         Ptr GLchar -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn39
+  :: FunPtr (Ptr GLdouble -> IO ())
+  ->         Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn669
+  :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
+  ->         Ptr GLdouble -> Ptr GLdouble -> IO ()
+
+foreign import CALLCONV "dynamic" dyn533
+  :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ())
+  ->         Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn534
+  :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ())
+  ->         Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn106
+  :: FunPtr (Ptr GLfixed -> IO ())
+  ->         Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn672
+  :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ())
+  ->         Ptr GLfixed -> Ptr GLfixed -> IO ()
+
+foreign import CALLCONV "dynamic" dyn663
+  :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield)
+  ->         Ptr GLfixed -> Ptr GLint -> IO GLbitfield
+
+foreign import CALLCONV "dynamic" dyn41
+  :: FunPtr (Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn96
+  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn110
+  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn720
+  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn722
+  :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn98
+  :: FunPtr (Ptr GLhalfNV -> IO ())
+  ->         Ptr GLhalfNV -> IO ()
+
+foreign import CALLCONV "dynamic" dyn329
+  :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+  ->         Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn43
+  :: FunPtr (Ptr GLint -> IO ())
+  ->         Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn606
+  :: FunPtr (Ptr GLint -> IO GLint)
+  ->         Ptr GLint -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn670
+  :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
+  ->         Ptr GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn45
+  :: FunPtr (Ptr GLshort -> IO ())
+  ->         Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn671
+  :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
+  ->         Ptr GLshort -> Ptr GLshort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn100
+  :: FunPtr (Ptr GLubyte -> IO ())
+  ->         Ptr GLubyte -> IO ()
+
+foreign import CALLCONV "dynamic" dyn115
+  :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn268
+  :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+  ->         Ptr GLuint -> GLint -> Ptr GLint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn102
+  :: FunPtr (Ptr GLuint -> IO ())
+  ->         Ptr GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn276
+  :: FunPtr (Ptr GLuint -> IO GLint)
+  ->         Ptr GLuint -> IO GLint
+
+foreign import CALLCONV "dynamic" dyn689
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn679
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn681
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn685
+  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn683
+  :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+  ->         Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()
+
+foreign import CALLCONV "dynamic" dyn236
+  :: FunPtr (Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+  ->         Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
+
+foreign import CALLCONV "dynamic" dyn104
+  :: FunPtr (Ptr GLushort -> IO ())
+  ->         Ptr GLushort -> IO ()
+
+foreign import CALLCONV "dynamic" dyn818
+  :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
+  ->         Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV
+
+foreign import CALLCONV "dynamic" dyn590
+  :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
+  ->         Ptr a -> GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn370
+  :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+  ->         Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
+
+foreign import CALLCONV "dynamic" dyn200
+  :: FunPtr (Ptr a -> Ptr b -> GLbitfield -> IO GLsync)
+  ->         Ptr a -> Ptr b -> GLbitfield -> IO GLsync
+
+foreign import CALLCONV "dynamic" dyn815
+  :: FunPtr (Ptr a -> Ptr b -> IO ())
+  ->         Ptr a -> Ptr b -> IO ()
+
diff --git a/src/Graphics/GL/Functions.hs b/src/Graphics/GL/Functions.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Functions.hs
@@ -0,0 +1,49502 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Functions
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All raw functions from the
+-- <http://www.opengl.org/registry/ OpenGL registry>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Functions (
+  glAccum,
+  glAccumxOES,
+  glActiveProgramEXT,
+  glActiveShaderProgram,
+  glActiveShaderProgramEXT,
+  glActiveStencilFaceEXT,
+  glActiveTexture,
+  glActiveTextureARB,
+  glActiveVaryingNV,
+  glAlphaFragmentOp1ATI,
+  glAlphaFragmentOp2ATI,
+  glAlphaFragmentOp3ATI,
+  glAlphaFunc,
+  glAlphaFuncQCOM,
+  glAlphaFuncx,
+  glAlphaFuncxOES,
+  glApplyFramebufferAttachmentCMAAINTEL,
+  glApplyTextureEXT,
+  glAreProgramsResidentNV,
+  glAreTexturesResident,
+  glAreTexturesResidentEXT,
+  glArrayElement,
+  glArrayElementEXT,
+  glArrayObjectATI,
+  glAsyncMarkerSGIX,
+  glAttachObjectARB,
+  glAttachShader,
+  glBegin,
+  glBeginConditionalRender,
+  glBeginConditionalRenderNV,
+  glBeginConditionalRenderNVX,
+  glBeginFragmentShaderATI,
+  glBeginOcclusionQueryNV,
+  glBeginPerfMonitorAMD,
+  glBeginPerfQueryINTEL,
+  glBeginQuery,
+  glBeginQueryARB,
+  glBeginQueryEXT,
+  glBeginQueryIndexed,
+  glBeginTransformFeedback,
+  glBeginTransformFeedbackEXT,
+  glBeginTransformFeedbackNV,
+  glBeginVertexShaderEXT,
+  glBeginVideoCaptureNV,
+  glBindAttribLocation,
+  glBindAttribLocationARB,
+  glBindBuffer,
+  glBindBufferARB,
+  glBindBufferBase,
+  glBindBufferBaseEXT,
+  glBindBufferBaseNV,
+  glBindBufferOffsetEXT,
+  glBindBufferOffsetNV,
+  glBindBufferRange,
+  glBindBufferRangeEXT,
+  glBindBufferRangeNV,
+  glBindBuffersBase,
+  glBindBuffersRange,
+  glBindFragDataLocation,
+  glBindFragDataLocationEXT,
+  glBindFragDataLocationIndexed,
+  glBindFragDataLocationIndexedEXT,
+  glBindFragmentShaderATI,
+  glBindFramebuffer,
+  glBindFramebufferEXT,
+  glBindFramebufferOES,
+  glBindImageTexture,
+  glBindImageTextureEXT,
+  glBindImageTextures,
+  glBindLightParameterEXT,
+  glBindMaterialParameterEXT,
+  glBindMultiTextureEXT,
+  glBindParameterEXT,
+  glBindProgramARB,
+  glBindProgramNV,
+  glBindProgramPipeline,
+  glBindProgramPipelineEXT,
+  glBindRenderbuffer,
+  glBindRenderbufferEXT,
+  glBindRenderbufferOES,
+  glBindSampler,
+  glBindSamplers,
+  glBindTexGenParameterEXT,
+  glBindTexture,
+  glBindTextureEXT,
+  glBindTextureUnit,
+  glBindTextureUnitParameterEXT,
+  glBindTextures,
+  glBindTransformFeedback,
+  glBindTransformFeedbackNV,
+  glBindVertexArray,
+  glBindVertexArrayAPPLE,
+  glBindVertexArrayOES,
+  glBindVertexBuffer,
+  glBindVertexBuffers,
+  glBindVertexShaderEXT,
+  glBindVideoCaptureStreamBufferNV,
+  glBindVideoCaptureStreamTextureNV,
+  glBinormal3bEXT,
+  glBinormal3bvEXT,
+  glBinormal3dEXT,
+  glBinormal3dvEXT,
+  glBinormal3fEXT,
+  glBinormal3fvEXT,
+  glBinormal3iEXT,
+  glBinormal3ivEXT,
+  glBinormal3sEXT,
+  glBinormal3svEXT,
+  glBinormalPointerEXT,
+  glBitmap,
+  glBitmapxOES,
+  glBlendBarrier,
+  glBlendBarrierKHR,
+  glBlendBarrierNV,
+  glBlendColor,
+  glBlendColorEXT,
+  glBlendColorxOES,
+  glBlendEquation,
+  glBlendEquationEXT,
+  glBlendEquationIndexedAMD,
+  glBlendEquationOES,
+  glBlendEquationSeparate,
+  glBlendEquationSeparateEXT,
+  glBlendEquationSeparateIndexedAMD,
+  glBlendEquationSeparateOES,
+  glBlendEquationSeparatei,
+  glBlendEquationSeparateiARB,
+  glBlendEquationSeparateiEXT,
+  glBlendEquationSeparateiOES,
+  glBlendEquationi,
+  glBlendEquationiARB,
+  glBlendEquationiEXT,
+  glBlendEquationiOES,
+  glBlendFunc,
+  glBlendFuncIndexedAMD,
+  glBlendFuncSeparate,
+  glBlendFuncSeparateEXT,
+  glBlendFuncSeparateINGR,
+  glBlendFuncSeparateIndexedAMD,
+  glBlendFuncSeparateOES,
+  glBlendFuncSeparatei,
+  glBlendFuncSeparateiARB,
+  glBlendFuncSeparateiEXT,
+  glBlendFuncSeparateiOES,
+  glBlendFunci,
+  glBlendFunciARB,
+  glBlendFunciEXT,
+  glBlendFunciOES,
+  glBlendParameteriNV,
+  glBlitFramebuffer,
+  glBlitFramebufferANGLE,
+  glBlitFramebufferEXT,
+  glBlitFramebufferNV,
+  glBlitNamedFramebuffer,
+  glBufferAddressRangeNV,
+  glBufferData,
+  glBufferDataARB,
+  glBufferPageCommitmentARB,
+  glBufferParameteriAPPLE,
+  glBufferStorage,
+  glBufferStorageEXT,
+  glBufferSubData,
+  glBufferSubDataARB,
+  glCallCommandListNV,
+  glCallList,
+  glCallLists,
+  glCheckFramebufferStatus,
+  glCheckFramebufferStatusEXT,
+  glCheckFramebufferStatusOES,
+  glCheckNamedFramebufferStatus,
+  glCheckNamedFramebufferStatusEXT,
+  glClampColor,
+  glClampColorARB,
+  glClear,
+  glClearAccum,
+  glClearAccumxOES,
+  glClearBufferData,
+  glClearBufferSubData,
+  glClearBufferfi,
+  glClearBufferfv,
+  glClearBufferiv,
+  glClearBufferuiv,
+  glClearColor,
+  glClearColorIiEXT,
+  glClearColorIuiEXT,
+  glClearColorx,
+  glClearColorxOES,
+  glClearDepth,
+  glClearDepthdNV,
+  glClearDepthf,
+  glClearDepthfOES,
+  glClearDepthx,
+  glClearDepthxOES,
+  glClearIndex,
+  glClearNamedBufferData,
+  glClearNamedBufferDataEXT,
+  glClearNamedBufferSubData,
+  glClearNamedBufferSubDataEXT,
+  glClearNamedFramebufferfi,
+  glClearNamedFramebufferfv,
+  glClearNamedFramebufferiv,
+  glClearNamedFramebufferuiv,
+  glClearStencil,
+  glClearTexImage,
+  glClearTexSubImage,
+  glClientActiveTexture,
+  glClientActiveTextureARB,
+  glClientActiveVertexStreamATI,
+  glClientAttribDefaultEXT,
+  glClientWaitSync,
+  glClientWaitSyncAPPLE,
+  glClipControl,
+  glClipPlane,
+  glClipPlanef,
+  glClipPlanefIMG,
+  glClipPlanefOES,
+  glClipPlanex,
+  glClipPlanexIMG,
+  glClipPlanexOES,
+  glColor3b,
+  glColor3bv,
+  glColor3d,
+  glColor3dv,
+  glColor3f,
+  glColor3fVertex3fSUN,
+  glColor3fVertex3fvSUN,
+  glColor3fv,
+  glColor3hNV,
+  glColor3hvNV,
+  glColor3i,
+  glColor3iv,
+  glColor3s,
+  glColor3sv,
+  glColor3ub,
+  glColor3ubv,
+  glColor3ui,
+  glColor3uiv,
+  glColor3us,
+  glColor3usv,
+  glColor3xOES,
+  glColor3xvOES,
+  glColor4b,
+  glColor4bv,
+  glColor4d,
+  glColor4dv,
+  glColor4f,
+  glColor4fNormal3fVertex3fSUN,
+  glColor4fNormal3fVertex3fvSUN,
+  glColor4fv,
+  glColor4hNV,
+  glColor4hvNV,
+  glColor4i,
+  glColor4iv,
+  glColor4s,
+  glColor4sv,
+  glColor4ub,
+  glColor4ubVertex2fSUN,
+  glColor4ubVertex2fvSUN,
+  glColor4ubVertex3fSUN,
+  glColor4ubVertex3fvSUN,
+  glColor4ubv,
+  glColor4ui,
+  glColor4uiv,
+  glColor4us,
+  glColor4usv,
+  glColor4x,
+  glColor4xOES,
+  glColor4xvOES,
+  glColorFormatNV,
+  glColorFragmentOp1ATI,
+  glColorFragmentOp2ATI,
+  glColorFragmentOp3ATI,
+  glColorMask,
+  glColorMaskIndexedEXT,
+  glColorMaski,
+  glColorMaskiEXT,
+  glColorMaskiOES,
+  glColorMaterial,
+  glColorP3ui,
+  glColorP3uiv,
+  glColorP4ui,
+  glColorP4uiv,
+  glColorPointer,
+  glColorPointerEXT,
+  glColorPointerListIBM,
+  glColorPointervINTEL,
+  glColorSubTable,
+  glColorSubTableEXT,
+  glColorTable,
+  glColorTableEXT,
+  glColorTableParameterfv,
+  glColorTableParameterfvSGI,
+  glColorTableParameteriv,
+  glColorTableParameterivSGI,
+  glColorTableSGI,
+  glCombinerInputNV,
+  glCombinerOutputNV,
+  glCombinerParameterfNV,
+  glCombinerParameterfvNV,
+  glCombinerParameteriNV,
+  glCombinerParameterivNV,
+  glCombinerStageParameterfvNV,
+  glCommandListSegmentsNV,
+  glCompileCommandListNV,
+  glCompileShader,
+  glCompileShaderARB,
+  glCompileShaderIncludeARB,
+  glCompressedMultiTexImage1DEXT,
+  glCompressedMultiTexImage2DEXT,
+  glCompressedMultiTexImage3DEXT,
+  glCompressedMultiTexSubImage1DEXT,
+  glCompressedMultiTexSubImage2DEXT,
+  glCompressedMultiTexSubImage3DEXT,
+  glCompressedTexImage1D,
+  glCompressedTexImage1DARB,
+  glCompressedTexImage2D,
+  glCompressedTexImage2DARB,
+  glCompressedTexImage3D,
+  glCompressedTexImage3DARB,
+  glCompressedTexImage3DOES,
+  glCompressedTexSubImage1D,
+  glCompressedTexSubImage1DARB,
+  glCompressedTexSubImage2D,
+  glCompressedTexSubImage2DARB,
+  glCompressedTexSubImage3D,
+  glCompressedTexSubImage3DARB,
+  glCompressedTexSubImage3DOES,
+  glCompressedTextureImage1DEXT,
+  glCompressedTextureImage2DEXT,
+  glCompressedTextureImage3DEXT,
+  glCompressedTextureSubImage1D,
+  glCompressedTextureSubImage1DEXT,
+  glCompressedTextureSubImage2D,
+  glCompressedTextureSubImage2DEXT,
+  glCompressedTextureSubImage3D,
+  glCompressedTextureSubImage3DEXT,
+  glConservativeRasterParameterfNV,
+  glConvolutionFilter1D,
+  glConvolutionFilter1DEXT,
+  glConvolutionFilter2D,
+  glConvolutionFilter2DEXT,
+  glConvolutionParameterf,
+  glConvolutionParameterfEXT,
+  glConvolutionParameterfv,
+  glConvolutionParameterfvEXT,
+  glConvolutionParameteri,
+  glConvolutionParameteriEXT,
+  glConvolutionParameteriv,
+  glConvolutionParameterivEXT,
+  glConvolutionParameterxOES,
+  glConvolutionParameterxvOES,
+  glCopyBufferSubData,
+  glCopyBufferSubDataNV,
+  glCopyColorSubTable,
+  glCopyColorSubTableEXT,
+  glCopyColorTable,
+  glCopyColorTableSGI,
+  glCopyConvolutionFilter1D,
+  glCopyConvolutionFilter1DEXT,
+  glCopyConvolutionFilter2D,
+  glCopyConvolutionFilter2DEXT,
+  glCopyImageSubData,
+  glCopyImageSubDataEXT,
+  glCopyImageSubDataNV,
+  glCopyImageSubDataOES,
+  glCopyMultiTexImage1DEXT,
+  glCopyMultiTexImage2DEXT,
+  glCopyMultiTexSubImage1DEXT,
+  glCopyMultiTexSubImage2DEXT,
+  glCopyMultiTexSubImage3DEXT,
+  glCopyNamedBufferSubData,
+  glCopyPathNV,
+  glCopyPixels,
+  glCopyTexImage1D,
+  glCopyTexImage1DEXT,
+  glCopyTexImage2D,
+  glCopyTexImage2DEXT,
+  glCopyTexSubImage1D,
+  glCopyTexSubImage1DEXT,
+  glCopyTexSubImage2D,
+  glCopyTexSubImage2DEXT,
+  glCopyTexSubImage3D,
+  glCopyTexSubImage3DEXT,
+  glCopyTexSubImage3DOES,
+  glCopyTextureImage1DEXT,
+  glCopyTextureImage2DEXT,
+  glCopyTextureLevelsAPPLE,
+  glCopyTextureSubImage1D,
+  glCopyTextureSubImage1DEXT,
+  glCopyTextureSubImage2D,
+  glCopyTextureSubImage2DEXT,
+  glCopyTextureSubImage3D,
+  glCopyTextureSubImage3DEXT,
+  glCoverFillPathInstancedNV,
+  glCoverFillPathNV,
+  glCoverStrokePathInstancedNV,
+  glCoverStrokePathNV,
+  glCoverageMaskNV,
+  glCoverageModulationNV,
+  glCoverageModulationTableNV,
+  glCoverageOperationNV,
+  glCreateBuffers,
+  glCreateCommandListsNV,
+  glCreateFramebuffers,
+  glCreatePerfQueryINTEL,
+  glCreateProgram,
+  glCreateProgramObjectARB,
+  glCreateProgramPipelines,
+  glCreateQueries,
+  glCreateRenderbuffers,
+  glCreateSamplers,
+  glCreateShader,
+  glCreateShaderObjectARB,
+  glCreateShaderProgramEXT,
+  glCreateShaderProgramv,
+  glCreateShaderProgramvEXT,
+  glCreateStatesNV,
+  glCreateSyncFromCLeventARB,
+  glCreateTextures,
+  glCreateTransformFeedbacks,
+  glCreateVertexArrays,
+  glCullFace,
+  glCullParameterdvEXT,
+  glCullParameterfvEXT,
+  glCurrentPaletteMatrixARB,
+  glCurrentPaletteMatrixOES,
+  glDebugMessageCallback,
+  glDebugMessageCallbackAMD,
+  glDebugMessageCallbackARB,
+  glDebugMessageCallbackKHR,
+  glDebugMessageControl,
+  glDebugMessageControlARB,
+  glDebugMessageControlKHR,
+  glDebugMessageEnableAMD,
+  glDebugMessageInsert,
+  glDebugMessageInsertAMD,
+  glDebugMessageInsertARB,
+  glDebugMessageInsertKHR,
+  glDeformSGIX,
+  glDeformationMap3dSGIX,
+  glDeformationMap3fSGIX,
+  glDeleteAsyncMarkersSGIX,
+  glDeleteBuffers,
+  glDeleteBuffersARB,
+  glDeleteCommandListsNV,
+  glDeleteFencesAPPLE,
+  glDeleteFencesNV,
+  glDeleteFragmentShaderATI,
+  glDeleteFramebuffers,
+  glDeleteFramebuffersEXT,
+  glDeleteFramebuffersOES,
+  glDeleteLists,
+  glDeleteNamedStringARB,
+  glDeleteNamesAMD,
+  glDeleteObjectARB,
+  glDeleteOcclusionQueriesNV,
+  glDeletePathsNV,
+  glDeletePerfMonitorsAMD,
+  glDeletePerfQueryINTEL,
+  glDeleteProgram,
+  glDeleteProgramPipelines,
+  glDeleteProgramPipelinesEXT,
+  glDeleteProgramsARB,
+  glDeleteProgramsNV,
+  glDeleteQueries,
+  glDeleteQueriesARB,
+  glDeleteQueriesEXT,
+  glDeleteRenderbuffers,
+  glDeleteRenderbuffersEXT,
+  glDeleteRenderbuffersOES,
+  glDeleteSamplers,
+  glDeleteShader,
+  glDeleteStatesNV,
+  glDeleteSync,
+  glDeleteSyncAPPLE,
+  glDeleteTextures,
+  glDeleteTexturesEXT,
+  glDeleteTransformFeedbacks,
+  glDeleteTransformFeedbacksNV,
+  glDeleteVertexArrays,
+  glDeleteVertexArraysAPPLE,
+  glDeleteVertexArraysOES,
+  glDeleteVertexShaderEXT,
+  glDepthBoundsEXT,
+  glDepthBoundsdNV,
+  glDepthFunc,
+  glDepthMask,
+  glDepthRange,
+  glDepthRangeArrayfvNV,
+  glDepthRangeArrayv,
+  glDepthRangeIndexed,
+  glDepthRangeIndexedfNV,
+  glDepthRangedNV,
+  glDepthRangef,
+  glDepthRangefOES,
+  glDepthRangex,
+  glDepthRangexOES,
+  glDetachObjectARB,
+  glDetachShader,
+  glDetailTexFuncSGIS,
+  glDisable,
+  glDisableClientState,
+  glDisableClientStateIndexedEXT,
+  glDisableClientStateiEXT,
+  glDisableDriverControlQCOM,
+  glDisableIndexedEXT,
+  glDisableVariantClientStateEXT,
+  glDisableVertexArrayAttrib,
+  glDisableVertexArrayAttribEXT,
+  glDisableVertexArrayEXT,
+  glDisableVertexAttribAPPLE,
+  glDisableVertexAttribArray,
+  glDisableVertexAttribArrayARB,
+  glDisablei,
+  glDisableiEXT,
+  glDisableiNV,
+  glDisableiOES,
+  glDiscardFramebufferEXT,
+  glDispatchCompute,
+  glDispatchComputeGroupSizeARB,
+  glDispatchComputeIndirect,
+  glDrawArrays,
+  glDrawArraysEXT,
+  glDrawArraysIndirect,
+  glDrawArraysInstanced,
+  glDrawArraysInstancedANGLE,
+  glDrawArraysInstancedARB,
+  glDrawArraysInstancedBaseInstance,
+  glDrawArraysInstancedBaseInstanceEXT,
+  glDrawArraysInstancedEXT,
+  glDrawArraysInstancedNV,
+  glDrawBuffer,
+  glDrawBuffers,
+  glDrawBuffersARB,
+  glDrawBuffersATI,
+  glDrawBuffersEXT,
+  glDrawBuffersIndexedEXT,
+  glDrawBuffersNV,
+  glDrawCommandsAddressNV,
+  glDrawCommandsNV,
+  glDrawCommandsStatesAddressNV,
+  glDrawCommandsStatesNV,
+  glDrawElementArrayAPPLE,
+  glDrawElementArrayATI,
+  glDrawElements,
+  glDrawElementsBaseVertex,
+  glDrawElementsBaseVertexEXT,
+  glDrawElementsBaseVertexOES,
+  glDrawElementsIndirect,
+  glDrawElementsInstanced,
+  glDrawElementsInstancedANGLE,
+  glDrawElementsInstancedARB,
+  glDrawElementsInstancedBaseInstance,
+  glDrawElementsInstancedBaseInstanceEXT,
+  glDrawElementsInstancedBaseVertex,
+  glDrawElementsInstancedBaseVertexBaseInstance,
+  glDrawElementsInstancedBaseVertexBaseInstanceEXT,
+  glDrawElementsInstancedBaseVertexEXT,
+  glDrawElementsInstancedBaseVertexOES,
+  glDrawElementsInstancedEXT,
+  glDrawElementsInstancedNV,
+  glDrawMeshArraysSUN,
+  glDrawPixels,
+  glDrawRangeElementArrayAPPLE,
+  glDrawRangeElementArrayATI,
+  glDrawRangeElements,
+  glDrawRangeElementsBaseVertex,
+  glDrawRangeElementsBaseVertexEXT,
+  glDrawRangeElementsBaseVertexOES,
+  glDrawRangeElementsEXT,
+  glDrawTexfOES,
+  glDrawTexfvOES,
+  glDrawTexiOES,
+  glDrawTexivOES,
+  glDrawTexsOES,
+  glDrawTexsvOES,
+  glDrawTextureNV,
+  glDrawTexxOES,
+  glDrawTexxvOES,
+  glDrawTransformFeedback,
+  glDrawTransformFeedbackInstanced,
+  glDrawTransformFeedbackNV,
+  glDrawTransformFeedbackStream,
+  glDrawTransformFeedbackStreamInstanced,
+  glEGLImageTargetRenderbufferStorageOES,
+  glEGLImageTargetTexture2DOES,
+  glEdgeFlag,
+  glEdgeFlagFormatNV,
+  glEdgeFlagPointer,
+  glEdgeFlagPointerEXT,
+  glEdgeFlagPointerListIBM,
+  glEdgeFlagv,
+  glElementPointerAPPLE,
+  glElementPointerATI,
+  glEnable,
+  glEnableClientState,
+  glEnableClientStateIndexedEXT,
+  glEnableClientStateiEXT,
+  glEnableDriverControlQCOM,
+  glEnableIndexedEXT,
+  glEnableVariantClientStateEXT,
+  glEnableVertexArrayAttrib,
+  glEnableVertexArrayAttribEXT,
+  glEnableVertexArrayEXT,
+  glEnableVertexAttribAPPLE,
+  glEnableVertexAttribArray,
+  glEnableVertexAttribArrayARB,
+  glEnablei,
+  glEnableiEXT,
+  glEnableiNV,
+  glEnableiOES,
+  glEnd,
+  glEndConditionalRender,
+  glEndConditionalRenderNV,
+  glEndConditionalRenderNVX,
+  glEndFragmentShaderATI,
+  glEndList,
+  glEndOcclusionQueryNV,
+  glEndPerfMonitorAMD,
+  glEndPerfQueryINTEL,
+  glEndQuery,
+  glEndQueryARB,
+  glEndQueryEXT,
+  glEndQueryIndexed,
+  glEndTilingQCOM,
+  glEndTransformFeedback,
+  glEndTransformFeedbackEXT,
+  glEndTransformFeedbackNV,
+  glEndVertexShaderEXT,
+  glEndVideoCaptureNV,
+  glEvalCoord1d,
+  glEvalCoord1dv,
+  glEvalCoord1f,
+  glEvalCoord1fv,
+  glEvalCoord1xOES,
+  glEvalCoord1xvOES,
+  glEvalCoord2d,
+  glEvalCoord2dv,
+  glEvalCoord2f,
+  glEvalCoord2fv,
+  glEvalCoord2xOES,
+  glEvalCoord2xvOES,
+  glEvalMapsNV,
+  glEvalMesh1,
+  glEvalMesh2,
+  glEvalPoint1,
+  glEvalPoint2,
+  glEvaluateDepthValuesARB,
+  glExecuteProgramNV,
+  glExtGetBufferPointervQCOM,
+  glExtGetBuffersQCOM,
+  glExtGetFramebuffersQCOM,
+  glExtGetProgramBinarySourceQCOM,
+  glExtGetProgramsQCOM,
+  glExtGetRenderbuffersQCOM,
+  glExtGetShadersQCOM,
+  glExtGetTexLevelParameterivQCOM,
+  glExtGetTexSubImageQCOM,
+  glExtGetTexturesQCOM,
+  glExtIsProgramBinaryQCOM,
+  glExtTexObjectStateOverrideiQCOM,
+  glExtractComponentEXT,
+  glFeedbackBuffer,
+  glFeedbackBufferxOES,
+  glFenceSync,
+  glFenceSyncAPPLE,
+  glFinalCombinerInputNV,
+  glFinish,
+  glFinishAsyncSGIX,
+  glFinishFenceAPPLE,
+  glFinishFenceNV,
+  glFinishObjectAPPLE,
+  glFinishTextureSUNX,
+  glFlush,
+  glFlushMappedBufferRange,
+  glFlushMappedBufferRangeAPPLE,
+  glFlushMappedBufferRangeEXT,
+  glFlushMappedNamedBufferRange,
+  glFlushMappedNamedBufferRangeEXT,
+  glFlushPixelDataRangeNV,
+  glFlushRasterSGIX,
+  glFlushStaticDataIBM,
+  glFlushVertexArrayRangeAPPLE,
+  glFlushVertexArrayRangeNV,
+  glFogCoordFormatNV,
+  glFogCoordPointer,
+  glFogCoordPointerEXT,
+  glFogCoordPointerListIBM,
+  glFogCoordd,
+  glFogCoorddEXT,
+  glFogCoorddv,
+  glFogCoorddvEXT,
+  glFogCoordf,
+  glFogCoordfEXT,
+  glFogCoordfv,
+  glFogCoordfvEXT,
+  glFogCoordhNV,
+  glFogCoordhvNV,
+  glFogFuncSGIS,
+  glFogf,
+  glFogfv,
+  glFogi,
+  glFogiv,
+  glFogx,
+  glFogxOES,
+  glFogxv,
+  glFogxvOES,
+  glFragmentColorMaterialSGIX,
+  glFragmentCoverageColorNV,
+  glFragmentLightModelfSGIX,
+  glFragmentLightModelfvSGIX,
+  glFragmentLightModeliSGIX,
+  glFragmentLightModelivSGIX,
+  glFragmentLightfSGIX,
+  glFragmentLightfvSGIX,
+  glFragmentLightiSGIX,
+  glFragmentLightivSGIX,
+  glFragmentMaterialfSGIX,
+  glFragmentMaterialfvSGIX,
+  glFragmentMaterialiSGIX,
+  glFragmentMaterialivSGIX,
+  glFrameTerminatorGREMEDY,
+  glFrameZoomSGIX,
+  glFramebufferDrawBufferEXT,
+  glFramebufferDrawBuffersEXT,
+  glFramebufferParameteri,
+  glFramebufferReadBufferEXT,
+  glFramebufferRenderbuffer,
+  glFramebufferRenderbufferEXT,
+  glFramebufferRenderbufferOES,
+  glFramebufferSampleLocationsfvARB,
+  glFramebufferSampleLocationsfvNV,
+  glFramebufferTexture,
+  glFramebufferTexture1D,
+  glFramebufferTexture1DEXT,
+  glFramebufferTexture2D,
+  glFramebufferTexture2DEXT,
+  glFramebufferTexture2DMultisampleEXT,
+  glFramebufferTexture2DMultisampleIMG,
+  glFramebufferTexture2DOES,
+  glFramebufferTexture3D,
+  glFramebufferTexture3DEXT,
+  glFramebufferTexture3DOES,
+  glFramebufferTextureARB,
+  glFramebufferTextureEXT,
+  glFramebufferTextureFaceARB,
+  glFramebufferTextureFaceEXT,
+  glFramebufferTextureLayer,
+  glFramebufferTextureLayerARB,
+  glFramebufferTextureLayerEXT,
+  glFramebufferTextureMultisampleMultiviewOVR,
+  glFramebufferTextureMultiviewOVR,
+  glFramebufferTextureOES,
+  glFreeObjectBufferATI,
+  glFrontFace,
+  glFrustum,
+  glFrustumf,
+  glFrustumfOES,
+  glFrustumx,
+  glFrustumxOES,
+  glGenAsyncMarkersSGIX,
+  glGenBuffers,
+  glGenBuffersARB,
+  glGenFencesAPPLE,
+  glGenFencesNV,
+  glGenFragmentShadersATI,
+  glGenFramebuffers,
+  glGenFramebuffersEXT,
+  glGenFramebuffersOES,
+  glGenLists,
+  glGenNamesAMD,
+  glGenOcclusionQueriesNV,
+  glGenPathsNV,
+  glGenPerfMonitorsAMD,
+  glGenProgramPipelines,
+  glGenProgramPipelinesEXT,
+  glGenProgramsARB,
+  glGenProgramsNV,
+  glGenQueries,
+  glGenQueriesARB,
+  glGenQueriesEXT,
+  glGenRenderbuffers,
+  glGenRenderbuffersEXT,
+  glGenRenderbuffersOES,
+  glGenSamplers,
+  glGenSymbolsEXT,
+  glGenTextures,
+  glGenTexturesEXT,
+  glGenTransformFeedbacks,
+  glGenTransformFeedbacksNV,
+  glGenVertexArrays,
+  glGenVertexArraysAPPLE,
+  glGenVertexArraysOES,
+  glGenVertexShadersEXT,
+  glGenerateMipmap,
+  glGenerateMipmapEXT,
+  glGenerateMipmapOES,
+  glGenerateMultiTexMipmapEXT,
+  glGenerateTextureMipmap,
+  glGenerateTextureMipmapEXT,
+  glGetActiveAtomicCounterBufferiv,
+  glGetActiveAttrib,
+  glGetActiveAttribARB,
+  glGetActiveSubroutineName,
+  glGetActiveSubroutineUniformName,
+  glGetActiveSubroutineUniformiv,
+  glGetActiveUniform,
+  glGetActiveUniformARB,
+  glGetActiveUniformBlockName,
+  glGetActiveUniformBlockiv,
+  glGetActiveUniformName,
+  glGetActiveUniformsiv,
+  glGetActiveVaryingNV,
+  glGetArrayObjectfvATI,
+  glGetArrayObjectivATI,
+  glGetAttachedObjectsARB,
+  glGetAttachedShaders,
+  glGetAttribLocation,
+  glGetAttribLocationARB,
+  glGetBooleanIndexedvEXT,
+  glGetBooleani_v,
+  glGetBooleanv,
+  glGetBufferParameteri64v,
+  glGetBufferParameteriv,
+  glGetBufferParameterivARB,
+  glGetBufferParameterui64vNV,
+  glGetBufferPointerv,
+  glGetBufferPointervARB,
+  glGetBufferPointervOES,
+  glGetBufferSubData,
+  glGetBufferSubDataARB,
+  glGetClipPlane,
+  glGetClipPlanef,
+  glGetClipPlanefOES,
+  glGetClipPlanex,
+  glGetClipPlanexOES,
+  glGetColorTable,
+  glGetColorTableEXT,
+  glGetColorTableParameterfv,
+  glGetColorTableParameterfvEXT,
+  glGetColorTableParameterfvSGI,
+  glGetColorTableParameteriv,
+  glGetColorTableParameterivEXT,
+  glGetColorTableParameterivSGI,
+  glGetColorTableSGI,
+  glGetCombinerInputParameterfvNV,
+  glGetCombinerInputParameterivNV,
+  glGetCombinerOutputParameterfvNV,
+  glGetCombinerOutputParameterivNV,
+  glGetCombinerStageParameterfvNV,
+  glGetCommandHeaderNV,
+  glGetCompressedMultiTexImageEXT,
+  glGetCompressedTexImage,
+  glGetCompressedTexImageARB,
+  glGetCompressedTextureImage,
+  glGetCompressedTextureImageEXT,
+  glGetCompressedTextureSubImage,
+  glGetConvolutionFilter,
+  glGetConvolutionFilterEXT,
+  glGetConvolutionParameterfv,
+  glGetConvolutionParameterfvEXT,
+  glGetConvolutionParameteriv,
+  glGetConvolutionParameterivEXT,
+  glGetConvolutionParameterxvOES,
+  glGetCoverageModulationTableNV,
+  glGetDebugMessageLog,
+  glGetDebugMessageLogAMD,
+  glGetDebugMessageLogARB,
+  glGetDebugMessageLogKHR,
+  glGetDetailTexFuncSGIS,
+  glGetDoubleIndexedvEXT,
+  glGetDoublei_v,
+  glGetDoublei_vEXT,
+  glGetDoublev,
+  glGetDriverControlStringQCOM,
+  glGetDriverControlsQCOM,
+  glGetError,
+  glGetFenceivNV,
+  glGetFinalCombinerInputParameterfvNV,
+  glGetFinalCombinerInputParameterivNV,
+  glGetFirstPerfQueryIdINTEL,
+  glGetFixedv,
+  glGetFixedvOES,
+  glGetFloatIndexedvEXT,
+  glGetFloati_v,
+  glGetFloati_vEXT,
+  glGetFloati_vNV,
+  glGetFloatv,
+  glGetFogFuncSGIS,
+  glGetFragDataIndex,
+  glGetFragDataIndexEXT,
+  glGetFragDataLocation,
+  glGetFragDataLocationEXT,
+  glGetFragmentLightfvSGIX,
+  glGetFragmentLightivSGIX,
+  glGetFragmentMaterialfvSGIX,
+  glGetFragmentMaterialivSGIX,
+  glGetFramebufferAttachmentParameteriv,
+  glGetFramebufferAttachmentParameterivEXT,
+  glGetFramebufferAttachmentParameterivOES,
+  glGetFramebufferParameteriv,
+  glGetFramebufferParameterivEXT,
+  glGetGraphicsResetStatus,
+  glGetGraphicsResetStatusARB,
+  glGetGraphicsResetStatusEXT,
+  glGetGraphicsResetStatusKHR,
+  glGetHandleARB,
+  glGetHistogram,
+  glGetHistogramEXT,
+  glGetHistogramParameterfv,
+  glGetHistogramParameterfvEXT,
+  glGetHistogramParameteriv,
+  glGetHistogramParameterivEXT,
+  glGetHistogramParameterxvOES,
+  glGetImageHandleARB,
+  glGetImageHandleNV,
+  glGetImageTransformParameterfvHP,
+  glGetImageTransformParameterivHP,
+  glGetInfoLogARB,
+  glGetInstrumentsSGIX,
+  glGetInteger64i_v,
+  glGetInteger64v,
+  glGetInteger64vAPPLE,
+  glGetIntegerIndexedvEXT,
+  glGetIntegeri_v,
+  glGetIntegeri_vEXT,
+  glGetIntegerui64i_vNV,
+  glGetIntegerui64vNV,
+  glGetIntegerv,
+  glGetInternalformatSampleivNV,
+  glGetInternalformati64v,
+  glGetInternalformativ,
+  glGetInvariantBooleanvEXT,
+  glGetInvariantFloatvEXT,
+  glGetInvariantIntegervEXT,
+  glGetLightfv,
+  glGetLightiv,
+  glGetLightxOES,
+  glGetLightxv,
+  glGetLightxvOES,
+  glGetListParameterfvSGIX,
+  glGetListParameterivSGIX,
+  glGetLocalConstantBooleanvEXT,
+  glGetLocalConstantFloatvEXT,
+  glGetLocalConstantIntegervEXT,
+  glGetMapAttribParameterfvNV,
+  glGetMapAttribParameterivNV,
+  glGetMapControlPointsNV,
+  glGetMapParameterfvNV,
+  glGetMapParameterivNV,
+  glGetMapdv,
+  glGetMapfv,
+  glGetMapiv,
+  glGetMapxvOES,
+  glGetMaterialfv,
+  glGetMaterialiv,
+  glGetMaterialxOES,
+  glGetMaterialxv,
+  glGetMaterialxvOES,
+  glGetMinmax,
+  glGetMinmaxEXT,
+  glGetMinmaxParameterfv,
+  glGetMinmaxParameterfvEXT,
+  glGetMinmaxParameteriv,
+  glGetMinmaxParameterivEXT,
+  glGetMultiTexEnvfvEXT,
+  glGetMultiTexEnvivEXT,
+  glGetMultiTexGendvEXT,
+  glGetMultiTexGenfvEXT,
+  glGetMultiTexGenivEXT,
+  glGetMultiTexImageEXT,
+  glGetMultiTexLevelParameterfvEXT,
+  glGetMultiTexLevelParameterivEXT,
+  glGetMultiTexParameterIivEXT,
+  glGetMultiTexParameterIuivEXT,
+  glGetMultiTexParameterfvEXT,
+  glGetMultiTexParameterivEXT,
+  glGetMultisamplefv,
+  glGetMultisamplefvNV,
+  glGetNamedBufferParameteri64v,
+  glGetNamedBufferParameteriv,
+  glGetNamedBufferParameterivEXT,
+  glGetNamedBufferParameterui64vNV,
+  glGetNamedBufferPointerv,
+  glGetNamedBufferPointervEXT,
+  glGetNamedBufferSubData,
+  glGetNamedBufferSubDataEXT,
+  glGetNamedFramebufferAttachmentParameteriv,
+  glGetNamedFramebufferAttachmentParameterivEXT,
+  glGetNamedFramebufferParameteriv,
+  glGetNamedFramebufferParameterivEXT,
+  glGetNamedProgramLocalParameterIivEXT,
+  glGetNamedProgramLocalParameterIuivEXT,
+  glGetNamedProgramLocalParameterdvEXT,
+  glGetNamedProgramLocalParameterfvEXT,
+  glGetNamedProgramStringEXT,
+  glGetNamedProgramivEXT,
+  glGetNamedRenderbufferParameteriv,
+  glGetNamedRenderbufferParameterivEXT,
+  glGetNamedStringARB,
+  glGetNamedStringivARB,
+  glGetNextPerfQueryIdINTEL,
+  glGetObjectBufferfvATI,
+  glGetObjectBufferivATI,
+  glGetObjectLabel,
+  glGetObjectLabelEXT,
+  glGetObjectLabelKHR,
+  glGetObjectParameterfvARB,
+  glGetObjectParameterivAPPLE,
+  glGetObjectParameterivARB,
+  glGetObjectPtrLabel,
+  glGetObjectPtrLabelKHR,
+  glGetOcclusionQueryivNV,
+  glGetOcclusionQueryuivNV,
+  glGetPathColorGenfvNV,
+  glGetPathColorGenivNV,
+  glGetPathCommandsNV,
+  glGetPathCoordsNV,
+  glGetPathDashArrayNV,
+  glGetPathLengthNV,
+  glGetPathMetricRangeNV,
+  glGetPathMetricsNV,
+  glGetPathParameterfvNV,
+  glGetPathParameterivNV,
+  glGetPathSpacingNV,
+  glGetPathTexGenfvNV,
+  glGetPathTexGenivNV,
+  glGetPerfCounterInfoINTEL,
+  glGetPerfMonitorCounterDataAMD,
+  glGetPerfMonitorCounterInfoAMD,
+  glGetPerfMonitorCounterStringAMD,
+  glGetPerfMonitorCountersAMD,
+  glGetPerfMonitorGroupStringAMD,
+  glGetPerfMonitorGroupsAMD,
+  glGetPerfQueryDataINTEL,
+  glGetPerfQueryIdByNameINTEL,
+  glGetPerfQueryInfoINTEL,
+  glGetPixelMapfv,
+  glGetPixelMapuiv,
+  glGetPixelMapusv,
+  glGetPixelMapxv,
+  glGetPixelTexGenParameterfvSGIS,
+  glGetPixelTexGenParameterivSGIS,
+  glGetPixelTransformParameterfvEXT,
+  glGetPixelTransformParameterivEXT,
+  glGetPointerIndexedvEXT,
+  glGetPointeri_vEXT,
+  glGetPointerv,
+  glGetPointervEXT,
+  glGetPointervKHR,
+  glGetPolygonStipple,
+  glGetProgramBinary,
+  glGetProgramBinaryOES,
+  glGetProgramEnvParameterIivNV,
+  glGetProgramEnvParameterIuivNV,
+  glGetProgramEnvParameterdvARB,
+  glGetProgramEnvParameterfvARB,
+  glGetProgramInfoLog,
+  glGetProgramInterfaceiv,
+  glGetProgramLocalParameterIivNV,
+  glGetProgramLocalParameterIuivNV,
+  glGetProgramLocalParameterdvARB,
+  glGetProgramLocalParameterfvARB,
+  glGetProgramNamedParameterdvNV,
+  glGetProgramNamedParameterfvNV,
+  glGetProgramParameterdvNV,
+  glGetProgramParameterfvNV,
+  glGetProgramPipelineInfoLog,
+  glGetProgramPipelineInfoLogEXT,
+  glGetProgramPipelineiv,
+  glGetProgramPipelineivEXT,
+  glGetProgramResourceIndex,
+  glGetProgramResourceLocation,
+  glGetProgramResourceLocationIndex,
+  glGetProgramResourceLocationIndexEXT,
+  glGetProgramResourceName,
+  glGetProgramResourcefvNV,
+  glGetProgramResourceiv,
+  glGetProgramStageiv,
+  glGetProgramStringARB,
+  glGetProgramStringNV,
+  glGetProgramSubroutineParameteruivNV,
+  glGetProgramiv,
+  glGetProgramivARB,
+  glGetProgramivNV,
+  glGetQueryBufferObjecti64v,
+  glGetQueryBufferObjectiv,
+  glGetQueryBufferObjectui64v,
+  glGetQueryBufferObjectuiv,
+  glGetQueryIndexediv,
+  glGetQueryObjecti64v,
+  glGetQueryObjecti64vEXT,
+  glGetQueryObjectiv,
+  glGetQueryObjectivARB,
+  glGetQueryObjectivEXT,
+  glGetQueryObjectui64v,
+  glGetQueryObjectui64vEXT,
+  glGetQueryObjectuiv,
+  glGetQueryObjectuivARB,
+  glGetQueryObjectuivEXT,
+  glGetQueryiv,
+  glGetQueryivARB,
+  glGetQueryivEXT,
+  glGetRenderbufferParameteriv,
+  glGetRenderbufferParameterivEXT,
+  glGetRenderbufferParameterivOES,
+  glGetSamplerParameterIiv,
+  glGetSamplerParameterIivEXT,
+  glGetSamplerParameterIivOES,
+  glGetSamplerParameterIuiv,
+  glGetSamplerParameterIuivEXT,
+  glGetSamplerParameterIuivOES,
+  glGetSamplerParameterfv,
+  glGetSamplerParameteriv,
+  glGetSeparableFilter,
+  glGetSeparableFilterEXT,
+  glGetShaderInfoLog,
+  glGetShaderPrecisionFormat,
+  glGetShaderSource,
+  glGetShaderSourceARB,
+  glGetShaderiv,
+  glGetSharpenTexFuncSGIS,
+  glGetStageIndexNV,
+  glGetString,
+  glGetStringi,
+  glGetSubroutineIndex,
+  glGetSubroutineUniformLocation,
+  glGetSynciv,
+  glGetSyncivAPPLE,
+  glGetTexBumpParameterfvATI,
+  glGetTexBumpParameterivATI,
+  glGetTexEnvfv,
+  glGetTexEnviv,
+  glGetTexEnvxv,
+  glGetTexEnvxvOES,
+  glGetTexFilterFuncSGIS,
+  glGetTexGendv,
+  glGetTexGenfv,
+  glGetTexGenfvOES,
+  glGetTexGeniv,
+  glGetTexGenivOES,
+  glGetTexGenxvOES,
+  glGetTexImage,
+  glGetTexLevelParameterfv,
+  glGetTexLevelParameteriv,
+  glGetTexLevelParameterxvOES,
+  glGetTexParameterIiv,
+  glGetTexParameterIivEXT,
+  glGetTexParameterIivOES,
+  glGetTexParameterIuiv,
+  glGetTexParameterIuivEXT,
+  glGetTexParameterIuivOES,
+  glGetTexParameterPointervAPPLE,
+  glGetTexParameterfv,
+  glGetTexParameteriv,
+  glGetTexParameterxv,
+  glGetTexParameterxvOES,
+  glGetTextureHandleARB,
+  glGetTextureHandleNV,
+  glGetTextureImage,
+  glGetTextureImageEXT,
+  glGetTextureLevelParameterfv,
+  glGetTextureLevelParameterfvEXT,
+  glGetTextureLevelParameteriv,
+  glGetTextureLevelParameterivEXT,
+  glGetTextureParameterIiv,
+  glGetTextureParameterIivEXT,
+  glGetTextureParameterIuiv,
+  glGetTextureParameterIuivEXT,
+  glGetTextureParameterfv,
+  glGetTextureParameterfvEXT,
+  glGetTextureParameteriv,
+  glGetTextureParameterivEXT,
+  glGetTextureSamplerHandleARB,
+  glGetTextureSamplerHandleNV,
+  glGetTextureSubImage,
+  glGetTrackMatrixivNV,
+  glGetTransformFeedbackVarying,
+  glGetTransformFeedbackVaryingEXT,
+  glGetTransformFeedbackVaryingNV,
+  glGetTransformFeedbacki64_v,
+  glGetTransformFeedbacki_v,
+  glGetTransformFeedbackiv,
+  glGetTranslatedShaderSourceANGLE,
+  glGetUniformBlockIndex,
+  glGetUniformBufferSizeEXT,
+  glGetUniformIndices,
+  glGetUniformLocation,
+  glGetUniformLocationARB,
+  glGetUniformOffsetEXT,
+  glGetUniformSubroutineuiv,
+  glGetUniformdv,
+  glGetUniformfv,
+  glGetUniformfvARB,
+  glGetUniformi64vARB,
+  glGetUniformi64vNV,
+  glGetUniformiv,
+  glGetUniformivARB,
+  glGetUniformui64vARB,
+  glGetUniformui64vNV,
+  glGetUniformuiv,
+  glGetUniformuivEXT,
+  glGetVariantArrayObjectfvATI,
+  glGetVariantArrayObjectivATI,
+  glGetVariantBooleanvEXT,
+  glGetVariantFloatvEXT,
+  glGetVariantIntegervEXT,
+  glGetVariantPointervEXT,
+  glGetVaryingLocationNV,
+  glGetVertexArrayIndexed64iv,
+  glGetVertexArrayIndexediv,
+  glGetVertexArrayIntegeri_vEXT,
+  glGetVertexArrayIntegervEXT,
+  glGetVertexArrayPointeri_vEXT,
+  glGetVertexArrayPointervEXT,
+  glGetVertexArrayiv,
+  glGetVertexAttribArrayObjectfvATI,
+  glGetVertexAttribArrayObjectivATI,
+  glGetVertexAttribIiv,
+  glGetVertexAttribIivEXT,
+  glGetVertexAttribIuiv,
+  glGetVertexAttribIuivEXT,
+  glGetVertexAttribLdv,
+  glGetVertexAttribLdvEXT,
+  glGetVertexAttribLi64vNV,
+  glGetVertexAttribLui64vARB,
+  glGetVertexAttribLui64vNV,
+  glGetVertexAttribPointerv,
+  glGetVertexAttribPointervARB,
+  glGetVertexAttribPointervNV,
+  glGetVertexAttribdv,
+  glGetVertexAttribdvARB,
+  glGetVertexAttribdvNV,
+  glGetVertexAttribfv,
+  glGetVertexAttribfvARB,
+  glGetVertexAttribfvNV,
+  glGetVertexAttribiv,
+  glGetVertexAttribivARB,
+  glGetVertexAttribivNV,
+  glGetVideoCaptureStreamdvNV,
+  glGetVideoCaptureStreamfvNV,
+  glGetVideoCaptureStreamivNV,
+  glGetVideoCaptureivNV,
+  glGetVideoi64vNV,
+  glGetVideoivNV,
+  glGetVideoui64vNV,
+  glGetVideouivNV,
+  glGetnColorTable,
+  glGetnColorTableARB,
+  glGetnCompressedTexImage,
+  glGetnCompressedTexImageARB,
+  glGetnConvolutionFilter,
+  glGetnConvolutionFilterARB,
+  glGetnHistogram,
+  glGetnHistogramARB,
+  glGetnMapdv,
+  glGetnMapdvARB,
+  glGetnMapfv,
+  glGetnMapfvARB,
+  glGetnMapiv,
+  glGetnMapivARB,
+  glGetnMinmax,
+  glGetnMinmaxARB,
+  glGetnPixelMapfv,
+  glGetnPixelMapfvARB,
+  glGetnPixelMapuiv,
+  glGetnPixelMapuivARB,
+  glGetnPixelMapusv,
+  glGetnPixelMapusvARB,
+  glGetnPolygonStipple,
+  glGetnPolygonStippleARB,
+  glGetnSeparableFilter,
+  glGetnSeparableFilterARB,
+  glGetnTexImage,
+  glGetnTexImageARB,
+  glGetnUniformdv,
+  glGetnUniformdvARB,
+  glGetnUniformfv,
+  glGetnUniformfvARB,
+  glGetnUniformfvEXT,
+  glGetnUniformfvKHR,
+  glGetnUniformi64vARB,
+  glGetnUniformiv,
+  glGetnUniformivARB,
+  glGetnUniformivEXT,
+  glGetnUniformivKHR,
+  glGetnUniformui64vARB,
+  glGetnUniformuiv,
+  glGetnUniformuivARB,
+  glGetnUniformuivKHR,
+  glGlobalAlphaFactorbSUN,
+  glGlobalAlphaFactordSUN,
+  glGlobalAlphaFactorfSUN,
+  glGlobalAlphaFactoriSUN,
+  glGlobalAlphaFactorsSUN,
+  glGlobalAlphaFactorubSUN,
+  glGlobalAlphaFactoruiSUN,
+  glGlobalAlphaFactorusSUN,
+  glHint,
+  glHintPGI,
+  glHistogram,
+  glHistogramEXT,
+  glIglooInterfaceSGIX,
+  glImageTransformParameterfHP,
+  glImageTransformParameterfvHP,
+  glImageTransformParameteriHP,
+  glImageTransformParameterivHP,
+  glImportSyncEXT,
+  glIndexFormatNV,
+  glIndexFuncEXT,
+  glIndexMask,
+  glIndexMaterialEXT,
+  glIndexPointer,
+  glIndexPointerEXT,
+  glIndexPointerListIBM,
+  glIndexd,
+  glIndexdv,
+  glIndexf,
+  glIndexfv,
+  glIndexi,
+  glIndexiv,
+  glIndexs,
+  glIndexsv,
+  glIndexub,
+  glIndexubv,
+  glIndexxOES,
+  glIndexxvOES,
+  glInitNames,
+  glInsertComponentEXT,
+  glInsertEventMarkerEXT,
+  glInstrumentsBufferSGIX,
+  glInterleavedArrays,
+  glInterpolatePathsNV,
+  glInvalidateBufferData,
+  glInvalidateBufferSubData,
+  glInvalidateFramebuffer,
+  glInvalidateNamedFramebufferData,
+  glInvalidateNamedFramebufferSubData,
+  glInvalidateSubFramebuffer,
+  glInvalidateTexImage,
+  glInvalidateTexSubImage,
+  glIsAsyncMarkerSGIX,
+  glIsBuffer,
+  glIsBufferARB,
+  glIsBufferResidentNV,
+  glIsCommandListNV,
+  glIsEnabled,
+  glIsEnabledIndexedEXT,
+  glIsEnabledi,
+  glIsEnablediEXT,
+  glIsEnablediNV,
+  glIsEnablediOES,
+  glIsFenceAPPLE,
+  glIsFenceNV,
+  glIsFramebuffer,
+  glIsFramebufferEXT,
+  glIsFramebufferOES,
+  glIsImageHandleResidentARB,
+  glIsImageHandleResidentNV,
+  glIsList,
+  glIsNameAMD,
+  glIsNamedBufferResidentNV,
+  glIsNamedStringARB,
+  glIsObjectBufferATI,
+  glIsOcclusionQueryNV,
+  glIsPathNV,
+  glIsPointInFillPathNV,
+  glIsPointInStrokePathNV,
+  glIsProgram,
+  glIsProgramARB,
+  glIsProgramNV,
+  glIsProgramPipeline,
+  glIsProgramPipelineEXT,
+  glIsQuery,
+  glIsQueryARB,
+  glIsQueryEXT,
+  glIsRenderbuffer,
+  glIsRenderbufferEXT,
+  glIsRenderbufferOES,
+  glIsSampler,
+  glIsShader,
+  glIsStateNV,
+  glIsSync,
+  glIsSyncAPPLE,
+  glIsTexture,
+  glIsTextureEXT,
+  glIsTextureHandleResidentARB,
+  glIsTextureHandleResidentNV,
+  glIsTransformFeedback,
+  glIsTransformFeedbackNV,
+  glIsVariantEnabledEXT,
+  glIsVertexArray,
+  glIsVertexArrayAPPLE,
+  glIsVertexArrayOES,
+  glIsVertexAttribEnabledAPPLE,
+  glLabelObjectEXT,
+  glLightEnviSGIX,
+  glLightModelf,
+  glLightModelfv,
+  glLightModeli,
+  glLightModeliv,
+  glLightModelx,
+  glLightModelxOES,
+  glLightModelxv,
+  glLightModelxvOES,
+  glLightf,
+  glLightfv,
+  glLighti,
+  glLightiv,
+  glLightx,
+  glLightxOES,
+  glLightxv,
+  glLightxvOES,
+  glLineStipple,
+  glLineWidth,
+  glLineWidthx,
+  glLineWidthxOES,
+  glLinkProgram,
+  glLinkProgramARB,
+  glListBase,
+  glListDrawCommandsStatesClientNV,
+  glListParameterfSGIX,
+  glListParameterfvSGIX,
+  glListParameteriSGIX,
+  glListParameterivSGIX,
+  glLoadIdentity,
+  glLoadIdentityDeformationMapSGIX,
+  glLoadMatrixd,
+  glLoadMatrixf,
+  glLoadMatrixx,
+  glLoadMatrixxOES,
+  glLoadName,
+  glLoadPaletteFromModelViewMatrixOES,
+  glLoadProgramNV,
+  glLoadTransposeMatrixd,
+  glLoadTransposeMatrixdARB,
+  glLoadTransposeMatrixf,
+  glLoadTransposeMatrixfARB,
+  glLoadTransposeMatrixxOES,
+  glLockArraysEXT,
+  glLogicOp,
+  glMakeBufferNonResidentNV,
+  glMakeBufferResidentNV,
+  glMakeImageHandleNonResidentARB,
+  glMakeImageHandleNonResidentNV,
+  glMakeImageHandleResidentARB,
+  glMakeImageHandleResidentNV,
+  glMakeNamedBufferNonResidentNV,
+  glMakeNamedBufferResidentNV,
+  glMakeTextureHandleNonResidentARB,
+  glMakeTextureHandleNonResidentNV,
+  glMakeTextureHandleResidentARB,
+  glMakeTextureHandleResidentNV,
+  glMap1d,
+  glMap1f,
+  glMap1xOES,
+  glMap2d,
+  glMap2f,
+  glMap2xOES,
+  glMapBuffer,
+  glMapBufferARB,
+  glMapBufferOES,
+  glMapBufferRange,
+  glMapBufferRangeEXT,
+  glMapControlPointsNV,
+  glMapGrid1d,
+  glMapGrid1f,
+  glMapGrid1xOES,
+  glMapGrid2d,
+  glMapGrid2f,
+  glMapGrid2xOES,
+  glMapNamedBuffer,
+  glMapNamedBufferEXT,
+  glMapNamedBufferRange,
+  glMapNamedBufferRangeEXT,
+  glMapObjectBufferATI,
+  glMapParameterfvNV,
+  glMapParameterivNV,
+  glMapTexture2DINTEL,
+  glMapVertexAttrib1dAPPLE,
+  glMapVertexAttrib1fAPPLE,
+  glMapVertexAttrib2dAPPLE,
+  glMapVertexAttrib2fAPPLE,
+  glMaterialf,
+  glMaterialfv,
+  glMateriali,
+  glMaterialiv,
+  glMaterialx,
+  glMaterialxOES,
+  glMaterialxv,
+  glMaterialxvOES,
+  glMatrixFrustumEXT,
+  glMatrixIndexPointerARB,
+  glMatrixIndexPointerOES,
+  glMatrixIndexubvARB,
+  glMatrixIndexuivARB,
+  glMatrixIndexusvARB,
+  glMatrixLoad3x2fNV,
+  glMatrixLoad3x3fNV,
+  glMatrixLoadIdentityEXT,
+  glMatrixLoadTranspose3x3fNV,
+  glMatrixLoadTransposedEXT,
+  glMatrixLoadTransposefEXT,
+  glMatrixLoaddEXT,
+  glMatrixLoadfEXT,
+  glMatrixMode,
+  glMatrixMult3x2fNV,
+  glMatrixMult3x3fNV,
+  glMatrixMultTranspose3x3fNV,
+  glMatrixMultTransposedEXT,
+  glMatrixMultTransposefEXT,
+  glMatrixMultdEXT,
+  glMatrixMultfEXT,
+  glMatrixOrthoEXT,
+  glMatrixPopEXT,
+  glMatrixPushEXT,
+  glMatrixRotatedEXT,
+  glMatrixRotatefEXT,
+  glMatrixScaledEXT,
+  glMatrixScalefEXT,
+  glMatrixTranslatedEXT,
+  glMatrixTranslatefEXT,
+  glMaxShaderCompilerThreadsARB,
+  glMemoryBarrier,
+  glMemoryBarrierByRegion,
+  glMemoryBarrierEXT,
+  glMinSampleShading,
+  glMinSampleShadingARB,
+  glMinSampleShadingOES,
+  glMinmax,
+  glMinmaxEXT,
+  glMultMatrixd,
+  glMultMatrixf,
+  glMultMatrixx,
+  glMultMatrixxOES,
+  glMultTransposeMatrixd,
+  glMultTransposeMatrixdARB,
+  glMultTransposeMatrixf,
+  glMultTransposeMatrixfARB,
+  glMultTransposeMatrixxOES,
+  glMultiDrawArrays,
+  glMultiDrawArraysEXT,
+  glMultiDrawArraysIndirect,
+  glMultiDrawArraysIndirectAMD,
+  glMultiDrawArraysIndirectBindlessCountNV,
+  glMultiDrawArraysIndirectBindlessNV,
+  glMultiDrawArraysIndirectCountARB,
+  glMultiDrawArraysIndirectEXT,
+  glMultiDrawElementArrayAPPLE,
+  glMultiDrawElements,
+  glMultiDrawElementsBaseVertex,
+  glMultiDrawElementsBaseVertexEXT,
+  glMultiDrawElementsBaseVertexOES,
+  glMultiDrawElementsEXT,
+  glMultiDrawElementsIndirect,
+  glMultiDrawElementsIndirectAMD,
+  glMultiDrawElementsIndirectBindlessCountNV,
+  glMultiDrawElementsIndirectBindlessNV,
+  glMultiDrawElementsIndirectCountARB,
+  glMultiDrawElementsIndirectEXT,
+  glMultiDrawRangeElementArrayAPPLE,
+  glMultiModeDrawArraysIBM,
+  glMultiModeDrawElementsIBM,
+  glMultiTexBufferEXT,
+  glMultiTexCoord1bOES,
+  glMultiTexCoord1bvOES,
+  glMultiTexCoord1d,
+  glMultiTexCoord1dARB,
+  glMultiTexCoord1dv,
+  glMultiTexCoord1dvARB,
+  glMultiTexCoord1f,
+  glMultiTexCoord1fARB,
+  glMultiTexCoord1fv,
+  glMultiTexCoord1fvARB,
+  glMultiTexCoord1hNV,
+  glMultiTexCoord1hvNV,
+  glMultiTexCoord1i,
+  glMultiTexCoord1iARB,
+  glMultiTexCoord1iv,
+  glMultiTexCoord1ivARB,
+  glMultiTexCoord1s,
+  glMultiTexCoord1sARB,
+  glMultiTexCoord1sv,
+  glMultiTexCoord1svARB,
+  glMultiTexCoord1xOES,
+  glMultiTexCoord1xvOES,
+  glMultiTexCoord2bOES,
+  glMultiTexCoord2bvOES,
+  glMultiTexCoord2d,
+  glMultiTexCoord2dARB,
+  glMultiTexCoord2dv,
+  glMultiTexCoord2dvARB,
+  glMultiTexCoord2f,
+  glMultiTexCoord2fARB,
+  glMultiTexCoord2fv,
+  glMultiTexCoord2fvARB,
+  glMultiTexCoord2hNV,
+  glMultiTexCoord2hvNV,
+  glMultiTexCoord2i,
+  glMultiTexCoord2iARB,
+  glMultiTexCoord2iv,
+  glMultiTexCoord2ivARB,
+  glMultiTexCoord2s,
+  glMultiTexCoord2sARB,
+  glMultiTexCoord2sv,
+  glMultiTexCoord2svARB,
+  glMultiTexCoord2xOES,
+  glMultiTexCoord2xvOES,
+  glMultiTexCoord3bOES,
+  glMultiTexCoord3bvOES,
+  glMultiTexCoord3d,
+  glMultiTexCoord3dARB,
+  glMultiTexCoord3dv,
+  glMultiTexCoord3dvARB,
+  glMultiTexCoord3f,
+  glMultiTexCoord3fARB,
+  glMultiTexCoord3fv,
+  glMultiTexCoord3fvARB,
+  glMultiTexCoord3hNV,
+  glMultiTexCoord3hvNV,
+  glMultiTexCoord3i,
+  glMultiTexCoord3iARB,
+  glMultiTexCoord3iv,
+  glMultiTexCoord3ivARB,
+  glMultiTexCoord3s,
+  glMultiTexCoord3sARB,
+  glMultiTexCoord3sv,
+  glMultiTexCoord3svARB,
+  glMultiTexCoord3xOES,
+  glMultiTexCoord3xvOES,
+  glMultiTexCoord4bOES,
+  glMultiTexCoord4bvOES,
+  glMultiTexCoord4d,
+  glMultiTexCoord4dARB,
+  glMultiTexCoord4dv,
+  glMultiTexCoord4dvARB,
+  glMultiTexCoord4f,
+  glMultiTexCoord4fARB,
+  glMultiTexCoord4fv,
+  glMultiTexCoord4fvARB,
+  glMultiTexCoord4hNV,
+  glMultiTexCoord4hvNV,
+  glMultiTexCoord4i,
+  glMultiTexCoord4iARB,
+  glMultiTexCoord4iv,
+  glMultiTexCoord4ivARB,
+  glMultiTexCoord4s,
+  glMultiTexCoord4sARB,
+  glMultiTexCoord4sv,
+  glMultiTexCoord4svARB,
+  glMultiTexCoord4x,
+  glMultiTexCoord4xOES,
+  glMultiTexCoord4xvOES,
+  glMultiTexCoordP1ui,
+  glMultiTexCoordP1uiv,
+  glMultiTexCoordP2ui,
+  glMultiTexCoordP2uiv,
+  glMultiTexCoordP3ui,
+  glMultiTexCoordP3uiv,
+  glMultiTexCoordP4ui,
+  glMultiTexCoordP4uiv,
+  glMultiTexCoordPointerEXT,
+  glMultiTexEnvfEXT,
+  glMultiTexEnvfvEXT,
+  glMultiTexEnviEXT,
+  glMultiTexEnvivEXT,
+  glMultiTexGendEXT,
+  glMultiTexGendvEXT,
+  glMultiTexGenfEXT,
+  glMultiTexGenfvEXT,
+  glMultiTexGeniEXT,
+  glMultiTexGenivEXT,
+  glMultiTexImage1DEXT,
+  glMultiTexImage2DEXT,
+  glMultiTexImage3DEXT,
+  glMultiTexParameterIivEXT,
+  glMultiTexParameterIuivEXT,
+  glMultiTexParameterfEXT,
+  glMultiTexParameterfvEXT,
+  glMultiTexParameteriEXT,
+  glMultiTexParameterivEXT,
+  glMultiTexRenderbufferEXT,
+  glMultiTexSubImage1DEXT,
+  glMultiTexSubImage2DEXT,
+  glMultiTexSubImage3DEXT,
+  glNamedBufferData,
+  glNamedBufferDataEXT,
+  glNamedBufferPageCommitmentARB,
+  glNamedBufferPageCommitmentEXT,
+  glNamedBufferStorage,
+  glNamedBufferStorageEXT,
+  glNamedBufferSubData,
+  glNamedBufferSubDataEXT,
+  glNamedCopyBufferSubDataEXT,
+  glNamedFramebufferDrawBuffer,
+  glNamedFramebufferDrawBuffers,
+  glNamedFramebufferParameteri,
+  glNamedFramebufferParameteriEXT,
+  glNamedFramebufferReadBuffer,
+  glNamedFramebufferRenderbuffer,
+  glNamedFramebufferRenderbufferEXT,
+  glNamedFramebufferSampleLocationsfvARB,
+  glNamedFramebufferSampleLocationsfvNV,
+  glNamedFramebufferTexture,
+  glNamedFramebufferTexture1DEXT,
+  glNamedFramebufferTexture2DEXT,
+  glNamedFramebufferTexture3DEXT,
+  glNamedFramebufferTextureEXT,
+  glNamedFramebufferTextureFaceEXT,
+  glNamedFramebufferTextureLayer,
+  glNamedFramebufferTextureLayerEXT,
+  glNamedProgramLocalParameter4dEXT,
+  glNamedProgramLocalParameter4dvEXT,
+  glNamedProgramLocalParameter4fEXT,
+  glNamedProgramLocalParameter4fvEXT,
+  glNamedProgramLocalParameterI4iEXT,
+  glNamedProgramLocalParameterI4ivEXT,
+  glNamedProgramLocalParameterI4uiEXT,
+  glNamedProgramLocalParameterI4uivEXT,
+  glNamedProgramLocalParameters4fvEXT,
+  glNamedProgramLocalParametersI4ivEXT,
+  glNamedProgramLocalParametersI4uivEXT,
+  glNamedProgramStringEXT,
+  glNamedRenderbufferStorage,
+  glNamedRenderbufferStorageEXT,
+  glNamedRenderbufferStorageMultisample,
+  glNamedRenderbufferStorageMultisampleCoverageEXT,
+  glNamedRenderbufferStorageMultisampleEXT,
+  glNamedStringARB,
+  glNewList,
+  glNewObjectBufferATI,
+  glNormal3b,
+  glNormal3bv,
+  glNormal3d,
+  glNormal3dv,
+  glNormal3f,
+  glNormal3fVertex3fSUN,
+  glNormal3fVertex3fvSUN,
+  glNormal3fv,
+  glNormal3hNV,
+  glNormal3hvNV,
+  glNormal3i,
+  glNormal3iv,
+  glNormal3s,
+  glNormal3sv,
+  glNormal3x,
+  glNormal3xOES,
+  glNormal3xvOES,
+  glNormalFormatNV,
+  glNormalP3ui,
+  glNormalP3uiv,
+  glNormalPointer,
+  glNormalPointerEXT,
+  glNormalPointerListIBM,
+  glNormalPointervINTEL,
+  glNormalStream3bATI,
+  glNormalStream3bvATI,
+  glNormalStream3dATI,
+  glNormalStream3dvATI,
+  glNormalStream3fATI,
+  glNormalStream3fvATI,
+  glNormalStream3iATI,
+  glNormalStream3ivATI,
+  glNormalStream3sATI,
+  glNormalStream3svATI,
+  glObjectLabel,
+  glObjectLabelKHR,
+  glObjectPtrLabel,
+  glObjectPtrLabelKHR,
+  glObjectPurgeableAPPLE,
+  glObjectUnpurgeableAPPLE,
+  glOrtho,
+  glOrthof,
+  glOrthofOES,
+  glOrthox,
+  glOrthoxOES,
+  glPNTrianglesfATI,
+  glPNTrianglesiATI,
+  glPassTexCoordATI,
+  glPassThrough,
+  glPassThroughxOES,
+  glPatchParameterfv,
+  glPatchParameteri,
+  glPatchParameteriEXT,
+  glPatchParameteriOES,
+  glPathColorGenNV,
+  glPathCommandsNV,
+  glPathCoordsNV,
+  glPathCoverDepthFuncNV,
+  glPathDashArrayNV,
+  glPathFogGenNV,
+  glPathGlyphIndexArrayNV,
+  glPathGlyphIndexRangeNV,
+  glPathGlyphRangeNV,
+  glPathGlyphsNV,
+  glPathMemoryGlyphIndexArrayNV,
+  glPathParameterfNV,
+  glPathParameterfvNV,
+  glPathParameteriNV,
+  glPathParameterivNV,
+  glPathStencilDepthOffsetNV,
+  glPathStencilFuncNV,
+  glPathStringNV,
+  glPathSubCommandsNV,
+  glPathSubCoordsNV,
+  glPathTexGenNV,
+  glPauseTransformFeedback,
+  glPauseTransformFeedbackNV,
+  glPixelDataRangeNV,
+  glPixelMapfv,
+  glPixelMapuiv,
+  glPixelMapusv,
+  glPixelMapx,
+  glPixelStoref,
+  glPixelStorei,
+  glPixelStorex,
+  glPixelTexGenParameterfSGIS,
+  glPixelTexGenParameterfvSGIS,
+  glPixelTexGenParameteriSGIS,
+  glPixelTexGenParameterivSGIS,
+  glPixelTexGenSGIX,
+  glPixelTransferf,
+  glPixelTransferi,
+  glPixelTransferxOES,
+  glPixelTransformParameterfEXT,
+  glPixelTransformParameterfvEXT,
+  glPixelTransformParameteriEXT,
+  glPixelTransformParameterivEXT,
+  glPixelZoom,
+  glPixelZoomxOES,
+  glPointAlongPathNV,
+  glPointParameterf,
+  glPointParameterfARB,
+  glPointParameterfEXT,
+  glPointParameterfSGIS,
+  glPointParameterfv,
+  glPointParameterfvARB,
+  glPointParameterfvEXT,
+  glPointParameterfvSGIS,
+  glPointParameteri,
+  glPointParameteriNV,
+  glPointParameteriv,
+  glPointParameterivNV,
+  glPointParameterx,
+  glPointParameterxOES,
+  glPointParameterxv,
+  glPointParameterxvOES,
+  glPointSize,
+  glPointSizePointerOES,
+  glPointSizex,
+  glPointSizexOES,
+  glPollAsyncSGIX,
+  glPollInstrumentsSGIX,
+  glPolygonMode,
+  glPolygonModeNV,
+  glPolygonOffset,
+  glPolygonOffsetClampEXT,
+  glPolygonOffsetEXT,
+  glPolygonOffsetx,
+  glPolygonOffsetxOES,
+  glPolygonStipple,
+  glPopAttrib,
+  glPopClientAttrib,
+  glPopDebugGroup,
+  glPopDebugGroupKHR,
+  glPopGroupMarkerEXT,
+  glPopMatrix,
+  glPopName,
+  glPresentFrameDualFillNV,
+  glPresentFrameKeyedNV,
+  glPrimitiveBoundingBox,
+  glPrimitiveBoundingBoxARB,
+  glPrimitiveBoundingBoxEXT,
+  glPrimitiveBoundingBoxOES,
+  glPrimitiveRestartIndex,
+  glPrimitiveRestartIndexNV,
+  glPrimitiveRestartNV,
+  glPrioritizeTextures,
+  glPrioritizeTexturesEXT,
+  glPrioritizeTexturesxOES,
+  glProgramBinary,
+  glProgramBinaryOES,
+  glProgramBufferParametersIivNV,
+  glProgramBufferParametersIuivNV,
+  glProgramBufferParametersfvNV,
+  glProgramEnvParameter4dARB,
+  glProgramEnvParameter4dvARB,
+  glProgramEnvParameter4fARB,
+  glProgramEnvParameter4fvARB,
+  glProgramEnvParameterI4iNV,
+  glProgramEnvParameterI4ivNV,
+  glProgramEnvParameterI4uiNV,
+  glProgramEnvParameterI4uivNV,
+  glProgramEnvParameters4fvEXT,
+  glProgramEnvParametersI4ivNV,
+  glProgramEnvParametersI4uivNV,
+  glProgramLocalParameter4dARB,
+  glProgramLocalParameter4dvARB,
+  glProgramLocalParameter4fARB,
+  glProgramLocalParameter4fvARB,
+  glProgramLocalParameterI4iNV,
+  glProgramLocalParameterI4ivNV,
+  glProgramLocalParameterI4uiNV,
+  glProgramLocalParameterI4uivNV,
+  glProgramLocalParameters4fvEXT,
+  glProgramLocalParametersI4ivNV,
+  glProgramLocalParametersI4uivNV,
+  glProgramNamedParameter4dNV,
+  glProgramNamedParameter4dvNV,
+  glProgramNamedParameter4fNV,
+  glProgramNamedParameter4fvNV,
+  glProgramParameter4dNV,
+  glProgramParameter4dvNV,
+  glProgramParameter4fNV,
+  glProgramParameter4fvNV,
+  glProgramParameteri,
+  glProgramParameteriARB,
+  glProgramParameteriEXT,
+  glProgramParameters4dvNV,
+  glProgramParameters4fvNV,
+  glProgramPathFragmentInputGenNV,
+  glProgramStringARB,
+  glProgramSubroutineParametersuivNV,
+  glProgramUniform1d,
+  glProgramUniform1dEXT,
+  glProgramUniform1dv,
+  glProgramUniform1dvEXT,
+  glProgramUniform1f,
+  glProgramUniform1fEXT,
+  glProgramUniform1fv,
+  glProgramUniform1fvEXT,
+  glProgramUniform1i,
+  glProgramUniform1i64ARB,
+  glProgramUniform1i64NV,
+  glProgramUniform1i64vARB,
+  glProgramUniform1i64vNV,
+  glProgramUniform1iEXT,
+  glProgramUniform1iv,
+  glProgramUniform1ivEXT,
+  glProgramUniform1ui,
+  glProgramUniform1ui64ARB,
+  glProgramUniform1ui64NV,
+  glProgramUniform1ui64vARB,
+  glProgramUniform1ui64vNV,
+  glProgramUniform1uiEXT,
+  glProgramUniform1uiv,
+  glProgramUniform1uivEXT,
+  glProgramUniform2d,
+  glProgramUniform2dEXT,
+  glProgramUniform2dv,
+  glProgramUniform2dvEXT,
+  glProgramUniform2f,
+  glProgramUniform2fEXT,
+  glProgramUniform2fv,
+  glProgramUniform2fvEXT,
+  glProgramUniform2i,
+  glProgramUniform2i64ARB,
+  glProgramUniform2i64NV,
+  glProgramUniform2i64vARB,
+  glProgramUniform2i64vNV,
+  glProgramUniform2iEXT,
+  glProgramUniform2iv,
+  glProgramUniform2ivEXT,
+  glProgramUniform2ui,
+  glProgramUniform2ui64ARB,
+  glProgramUniform2ui64NV,
+  glProgramUniform2ui64vARB,
+  glProgramUniform2ui64vNV,
+  glProgramUniform2uiEXT,
+  glProgramUniform2uiv,
+  glProgramUniform2uivEXT,
+  glProgramUniform3d,
+  glProgramUniform3dEXT,
+  glProgramUniform3dv,
+  glProgramUniform3dvEXT,
+  glProgramUniform3f,
+  glProgramUniform3fEXT,
+  glProgramUniform3fv,
+  glProgramUniform3fvEXT,
+  glProgramUniform3i,
+  glProgramUniform3i64ARB,
+  glProgramUniform3i64NV,
+  glProgramUniform3i64vARB,
+  glProgramUniform3i64vNV,
+  glProgramUniform3iEXT,
+  glProgramUniform3iv,
+  glProgramUniform3ivEXT,
+  glProgramUniform3ui,
+  glProgramUniform3ui64ARB,
+  glProgramUniform3ui64NV,
+  glProgramUniform3ui64vARB,
+  glProgramUniform3ui64vNV,
+  glProgramUniform3uiEXT,
+  glProgramUniform3uiv,
+  glProgramUniform3uivEXT,
+  glProgramUniform4d,
+  glProgramUniform4dEXT,
+  glProgramUniform4dv,
+  glProgramUniform4dvEXT,
+  glProgramUniform4f,
+  glProgramUniform4fEXT,
+  glProgramUniform4fv,
+  glProgramUniform4fvEXT,
+  glProgramUniform4i,
+  glProgramUniform4i64ARB,
+  glProgramUniform4i64NV,
+  glProgramUniform4i64vARB,
+  glProgramUniform4i64vNV,
+  glProgramUniform4iEXT,
+  glProgramUniform4iv,
+  glProgramUniform4ivEXT,
+  glProgramUniform4ui,
+  glProgramUniform4ui64ARB,
+  glProgramUniform4ui64NV,
+  glProgramUniform4ui64vARB,
+  glProgramUniform4ui64vNV,
+  glProgramUniform4uiEXT,
+  glProgramUniform4uiv,
+  glProgramUniform4uivEXT,
+  glProgramUniformHandleui64ARB,
+  glProgramUniformHandleui64NV,
+  glProgramUniformHandleui64vARB,
+  glProgramUniformHandleui64vNV,
+  glProgramUniformMatrix2dv,
+  glProgramUniformMatrix2dvEXT,
+  glProgramUniformMatrix2fv,
+  glProgramUniformMatrix2fvEXT,
+  glProgramUniformMatrix2x3dv,
+  glProgramUniformMatrix2x3dvEXT,
+  glProgramUniformMatrix2x3fv,
+  glProgramUniformMatrix2x3fvEXT,
+  glProgramUniformMatrix2x4dv,
+  glProgramUniformMatrix2x4dvEXT,
+  glProgramUniformMatrix2x4fv,
+  glProgramUniformMatrix2x4fvEXT,
+  glProgramUniformMatrix3dv,
+  glProgramUniformMatrix3dvEXT,
+  glProgramUniformMatrix3fv,
+  glProgramUniformMatrix3fvEXT,
+  glProgramUniformMatrix3x2dv,
+  glProgramUniformMatrix3x2dvEXT,
+  glProgramUniformMatrix3x2fv,
+  glProgramUniformMatrix3x2fvEXT,
+  glProgramUniformMatrix3x4dv,
+  glProgramUniformMatrix3x4dvEXT,
+  glProgramUniformMatrix3x4fv,
+  glProgramUniformMatrix3x4fvEXT,
+  glProgramUniformMatrix4dv,
+  glProgramUniformMatrix4dvEXT,
+  glProgramUniformMatrix4fv,
+  glProgramUniformMatrix4fvEXT,
+  glProgramUniformMatrix4x2dv,
+  glProgramUniformMatrix4x2dvEXT,
+  glProgramUniformMatrix4x2fv,
+  glProgramUniformMatrix4x2fvEXT,
+  glProgramUniformMatrix4x3dv,
+  glProgramUniformMatrix4x3dvEXT,
+  glProgramUniformMatrix4x3fv,
+  glProgramUniformMatrix4x3fvEXT,
+  glProgramUniformui64NV,
+  glProgramUniformui64vNV,
+  glProgramVertexLimitNV,
+  glProvokingVertex,
+  glProvokingVertexEXT,
+  glPushAttrib,
+  glPushClientAttrib,
+  glPushClientAttribDefaultEXT,
+  glPushDebugGroup,
+  glPushDebugGroupKHR,
+  glPushGroupMarkerEXT,
+  glPushMatrix,
+  glPushName,
+  glQueryCounter,
+  glQueryCounterEXT,
+  glQueryMatrixxOES,
+  glQueryObjectParameteruiAMD,
+  glRasterPos2d,
+  glRasterPos2dv,
+  glRasterPos2f,
+  glRasterPos2fv,
+  glRasterPos2i,
+  glRasterPos2iv,
+  glRasterPos2s,
+  glRasterPos2sv,
+  glRasterPos2xOES,
+  glRasterPos2xvOES,
+  glRasterPos3d,
+  glRasterPos3dv,
+  glRasterPos3f,
+  glRasterPos3fv,
+  glRasterPos3i,
+  glRasterPos3iv,
+  glRasterPos3s,
+  glRasterPos3sv,
+  glRasterPos3xOES,
+  glRasterPos3xvOES,
+  glRasterPos4d,
+  glRasterPos4dv,
+  glRasterPos4f,
+  glRasterPos4fv,
+  glRasterPos4i,
+  glRasterPos4iv,
+  glRasterPos4s,
+  glRasterPos4sv,
+  glRasterPos4xOES,
+  glRasterPos4xvOES,
+  glRasterSamplesEXT,
+  glReadBuffer,
+  glReadBufferIndexedEXT,
+  glReadBufferNV,
+  glReadInstrumentsSGIX,
+  glReadPixels,
+  glReadnPixels,
+  glReadnPixelsARB,
+  glReadnPixelsEXT,
+  glReadnPixelsKHR,
+  glRectd,
+  glRectdv,
+  glRectf,
+  glRectfv,
+  glRecti,
+  glRectiv,
+  glRects,
+  glRectsv,
+  glRectxOES,
+  glRectxvOES,
+  glReferencePlaneSGIX,
+  glReleaseShaderCompiler,
+  glRenderMode,
+  glRenderbufferStorage,
+  glRenderbufferStorageEXT,
+  glRenderbufferStorageMultisample,
+  glRenderbufferStorageMultisampleANGLE,
+  glRenderbufferStorageMultisampleAPPLE,
+  glRenderbufferStorageMultisampleCoverageNV,
+  glRenderbufferStorageMultisampleEXT,
+  glRenderbufferStorageMultisampleIMG,
+  glRenderbufferStorageMultisampleNV,
+  glRenderbufferStorageOES,
+  glReplacementCodePointerSUN,
+  glReplacementCodeubSUN,
+  glReplacementCodeubvSUN,
+  glReplacementCodeuiColor3fVertex3fSUN,
+  glReplacementCodeuiColor3fVertex3fvSUN,
+  glReplacementCodeuiColor4fNormal3fVertex3fSUN,
+  glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
+  glReplacementCodeuiColor4ubVertex3fSUN,
+  glReplacementCodeuiColor4ubVertex3fvSUN,
+  glReplacementCodeuiNormal3fVertex3fSUN,
+  glReplacementCodeuiNormal3fVertex3fvSUN,
+  glReplacementCodeuiSUN,
+  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
+  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
+  glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
+  glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
+  glReplacementCodeuiTexCoord2fVertex3fSUN,
+  glReplacementCodeuiTexCoord2fVertex3fvSUN,
+  glReplacementCodeuiVertex3fSUN,
+  glReplacementCodeuiVertex3fvSUN,
+  glReplacementCodeuivSUN,
+  glReplacementCodeusSUN,
+  glReplacementCodeusvSUN,
+  glRequestResidentProgramsNV,
+  glResetHistogram,
+  glResetHistogramEXT,
+  glResetMinmax,
+  glResetMinmaxEXT,
+  glResizeBuffersMESA,
+  glResolveDepthValuesNV,
+  glResolveMultisampleFramebufferAPPLE,
+  glResumeTransformFeedback,
+  glResumeTransformFeedbackNV,
+  glRotated,
+  glRotatef,
+  glRotatex,
+  glRotatexOES,
+  glSampleCoverage,
+  glSampleCoverageARB,
+  glSampleCoveragex,
+  glSampleCoveragexOES,
+  glSampleMapATI,
+  glSampleMaskEXT,
+  glSampleMaskIndexedNV,
+  glSampleMaskSGIS,
+  glSampleMaski,
+  glSamplePatternEXT,
+  glSamplePatternSGIS,
+  glSamplerParameterIiv,
+  glSamplerParameterIivEXT,
+  glSamplerParameterIivOES,
+  glSamplerParameterIuiv,
+  glSamplerParameterIuivEXT,
+  glSamplerParameterIuivOES,
+  glSamplerParameterf,
+  glSamplerParameterfv,
+  glSamplerParameteri,
+  glSamplerParameteriv,
+  glScaled,
+  glScalef,
+  glScalex,
+  glScalexOES,
+  glScissor,
+  glScissorArrayv,
+  glScissorArrayvNV,
+  glScissorIndexed,
+  glScissorIndexedNV,
+  glScissorIndexedv,
+  glScissorIndexedvNV,
+  glSecondaryColor3b,
+  glSecondaryColor3bEXT,
+  glSecondaryColor3bv,
+  glSecondaryColor3bvEXT,
+  glSecondaryColor3d,
+  glSecondaryColor3dEXT,
+  glSecondaryColor3dv,
+  glSecondaryColor3dvEXT,
+  glSecondaryColor3f,
+  glSecondaryColor3fEXT,
+  glSecondaryColor3fv,
+  glSecondaryColor3fvEXT,
+  glSecondaryColor3hNV,
+  glSecondaryColor3hvNV,
+  glSecondaryColor3i,
+  glSecondaryColor3iEXT,
+  glSecondaryColor3iv,
+  glSecondaryColor3ivEXT,
+  glSecondaryColor3s,
+  glSecondaryColor3sEXT,
+  glSecondaryColor3sv,
+  glSecondaryColor3svEXT,
+  glSecondaryColor3ub,
+  glSecondaryColor3ubEXT,
+  glSecondaryColor3ubv,
+  glSecondaryColor3ubvEXT,
+  glSecondaryColor3ui,
+  glSecondaryColor3uiEXT,
+  glSecondaryColor3uiv,
+  glSecondaryColor3uivEXT,
+  glSecondaryColor3us,
+  glSecondaryColor3usEXT,
+  glSecondaryColor3usv,
+  glSecondaryColor3usvEXT,
+  glSecondaryColorFormatNV,
+  glSecondaryColorP3ui,
+  glSecondaryColorP3uiv,
+  glSecondaryColorPointer,
+  glSecondaryColorPointerEXT,
+  glSecondaryColorPointerListIBM,
+  glSelectBuffer,
+  glSelectPerfMonitorCountersAMD,
+  glSeparableFilter2D,
+  glSeparableFilter2DEXT,
+  glSetFenceAPPLE,
+  glSetFenceNV,
+  glSetFragmentShaderConstantATI,
+  glSetInvariantEXT,
+  glSetLocalConstantEXT,
+  glSetMultisamplefvAMD,
+  glShadeModel,
+  glShaderBinary,
+  glShaderOp1EXT,
+  glShaderOp2EXT,
+  glShaderOp3EXT,
+  glShaderSource,
+  glShaderSourceARB,
+  glShaderStorageBlockBinding,
+  glSharpenTexFuncSGIS,
+  glSpriteParameterfSGIX,
+  glSpriteParameterfvSGIX,
+  glSpriteParameteriSGIX,
+  glSpriteParameterivSGIX,
+  glStartInstrumentsSGIX,
+  glStartTilingQCOM,
+  glStateCaptureNV,
+  glStencilClearTagEXT,
+  glStencilFillPathInstancedNV,
+  glStencilFillPathNV,
+  glStencilFunc,
+  glStencilFuncSeparate,
+  glStencilFuncSeparateATI,
+  glStencilMask,
+  glStencilMaskSeparate,
+  glStencilOp,
+  glStencilOpSeparate,
+  glStencilOpSeparateATI,
+  glStencilOpValueAMD,
+  glStencilStrokePathInstancedNV,
+  glStencilStrokePathNV,
+  glStencilThenCoverFillPathInstancedNV,
+  glStencilThenCoverFillPathNV,
+  glStencilThenCoverStrokePathInstancedNV,
+  glStencilThenCoverStrokePathNV,
+  glStopInstrumentsSGIX,
+  glStringMarkerGREMEDY,
+  glSubpixelPrecisionBiasNV,
+  glSwizzleEXT,
+  glSyncTextureINTEL,
+  glTagSampleBufferSGIX,
+  glTangent3bEXT,
+  glTangent3bvEXT,
+  glTangent3dEXT,
+  glTangent3dvEXT,
+  glTangent3fEXT,
+  glTangent3fvEXT,
+  glTangent3iEXT,
+  glTangent3ivEXT,
+  glTangent3sEXT,
+  glTangent3svEXT,
+  glTangentPointerEXT,
+  glTbufferMask3DFX,
+  glTessellationFactorAMD,
+  glTessellationModeAMD,
+  glTestFenceAPPLE,
+  glTestFenceNV,
+  glTestObjectAPPLE,
+  glTexBuffer,
+  glTexBufferARB,
+  glTexBufferEXT,
+  glTexBufferOES,
+  glTexBufferRange,
+  glTexBufferRangeEXT,
+  glTexBufferRangeOES,
+  glTexBumpParameterfvATI,
+  glTexBumpParameterivATI,
+  glTexCoord1bOES,
+  glTexCoord1bvOES,
+  glTexCoord1d,
+  glTexCoord1dv,
+  glTexCoord1f,
+  glTexCoord1fv,
+  glTexCoord1hNV,
+  glTexCoord1hvNV,
+  glTexCoord1i,
+  glTexCoord1iv,
+  glTexCoord1s,
+  glTexCoord1sv,
+  glTexCoord1xOES,
+  glTexCoord1xvOES,
+  glTexCoord2bOES,
+  glTexCoord2bvOES,
+  glTexCoord2d,
+  glTexCoord2dv,
+  glTexCoord2f,
+  glTexCoord2fColor3fVertex3fSUN,
+  glTexCoord2fColor3fVertex3fvSUN,
+  glTexCoord2fColor4fNormal3fVertex3fSUN,
+  glTexCoord2fColor4fNormal3fVertex3fvSUN,
+  glTexCoord2fColor4ubVertex3fSUN,
+  glTexCoord2fColor4ubVertex3fvSUN,
+  glTexCoord2fNormal3fVertex3fSUN,
+  glTexCoord2fNormal3fVertex3fvSUN,
+  glTexCoord2fVertex3fSUN,
+  glTexCoord2fVertex3fvSUN,
+  glTexCoord2fv,
+  glTexCoord2hNV,
+  glTexCoord2hvNV,
+  glTexCoord2i,
+  glTexCoord2iv,
+  glTexCoord2s,
+  glTexCoord2sv,
+  glTexCoord2xOES,
+  glTexCoord2xvOES,
+  glTexCoord3bOES,
+  glTexCoord3bvOES,
+  glTexCoord3d,
+  glTexCoord3dv,
+  glTexCoord3f,
+  glTexCoord3fv,
+  glTexCoord3hNV,
+  glTexCoord3hvNV,
+  glTexCoord3i,
+  glTexCoord3iv,
+  glTexCoord3s,
+  glTexCoord3sv,
+  glTexCoord3xOES,
+  glTexCoord3xvOES,
+  glTexCoord4bOES,
+  glTexCoord4bvOES,
+  glTexCoord4d,
+  glTexCoord4dv,
+  glTexCoord4f,
+  glTexCoord4fColor4fNormal3fVertex4fSUN,
+  glTexCoord4fColor4fNormal3fVertex4fvSUN,
+  glTexCoord4fVertex4fSUN,
+  glTexCoord4fVertex4fvSUN,
+  glTexCoord4fv,
+  glTexCoord4hNV,
+  glTexCoord4hvNV,
+  glTexCoord4i,
+  glTexCoord4iv,
+  glTexCoord4s,
+  glTexCoord4sv,
+  glTexCoord4xOES,
+  glTexCoord4xvOES,
+  glTexCoordFormatNV,
+  glTexCoordP1ui,
+  glTexCoordP1uiv,
+  glTexCoordP2ui,
+  glTexCoordP2uiv,
+  glTexCoordP3ui,
+  glTexCoordP3uiv,
+  glTexCoordP4ui,
+  glTexCoordP4uiv,
+  glTexCoordPointer,
+  glTexCoordPointerEXT,
+  glTexCoordPointerListIBM,
+  glTexCoordPointervINTEL,
+  glTexEnvf,
+  glTexEnvfv,
+  glTexEnvi,
+  glTexEnviv,
+  glTexEnvx,
+  glTexEnvxOES,
+  glTexEnvxv,
+  glTexEnvxvOES,
+  glTexFilterFuncSGIS,
+  glTexGend,
+  glTexGendv,
+  glTexGenf,
+  glTexGenfOES,
+  glTexGenfv,
+  glTexGenfvOES,
+  glTexGeni,
+  glTexGeniOES,
+  glTexGeniv,
+  glTexGenivOES,
+  glTexGenxOES,
+  glTexGenxvOES,
+  glTexImage1D,
+  glTexImage2D,
+  glTexImage2DMultisample,
+  glTexImage2DMultisampleCoverageNV,
+  glTexImage3D,
+  glTexImage3DEXT,
+  glTexImage3DMultisample,
+  glTexImage3DMultisampleCoverageNV,
+  glTexImage3DOES,
+  glTexImage4DSGIS,
+  glTexPageCommitmentARB,
+  glTexPageCommitmentEXT,
+  glTexParameterIiv,
+  glTexParameterIivEXT,
+  glTexParameterIivOES,
+  glTexParameterIuiv,
+  glTexParameterIuivEXT,
+  glTexParameterIuivOES,
+  glTexParameterf,
+  glTexParameterfv,
+  glTexParameteri,
+  glTexParameteriv,
+  glTexParameterx,
+  glTexParameterxOES,
+  glTexParameterxv,
+  glTexParameterxvOES,
+  glTexRenderbufferNV,
+  glTexStorage1D,
+  glTexStorage1DEXT,
+  glTexStorage2D,
+  glTexStorage2DEXT,
+  glTexStorage2DMultisample,
+  glTexStorage3D,
+  glTexStorage3DEXT,
+  glTexStorage3DMultisample,
+  glTexStorage3DMultisampleOES,
+  glTexStorageSparseAMD,
+  glTexSubImage1D,
+  glTexSubImage1DEXT,
+  glTexSubImage2D,
+  glTexSubImage2DEXT,
+  glTexSubImage3D,
+  glTexSubImage3DEXT,
+  glTexSubImage3DOES,
+  glTexSubImage4DSGIS,
+  glTextureBarrier,
+  glTextureBarrierNV,
+  glTextureBuffer,
+  glTextureBufferEXT,
+  glTextureBufferRange,
+  glTextureBufferRangeEXT,
+  glTextureColorMaskSGIS,
+  glTextureImage1DEXT,
+  glTextureImage2DEXT,
+  glTextureImage2DMultisampleCoverageNV,
+  glTextureImage2DMultisampleNV,
+  glTextureImage3DEXT,
+  glTextureImage3DMultisampleCoverageNV,
+  glTextureImage3DMultisampleNV,
+  glTextureLightEXT,
+  glTextureMaterialEXT,
+  glTextureNormalEXT,
+  glTexturePageCommitmentEXT,
+  glTextureParameterIiv,
+  glTextureParameterIivEXT,
+  glTextureParameterIuiv,
+  glTextureParameterIuivEXT,
+  glTextureParameterf,
+  glTextureParameterfEXT,
+  glTextureParameterfv,
+  glTextureParameterfvEXT,
+  glTextureParameteri,
+  glTextureParameteriEXT,
+  glTextureParameteriv,
+  glTextureParameterivEXT,
+  glTextureRangeAPPLE,
+  glTextureRenderbufferEXT,
+  glTextureStorage1D,
+  glTextureStorage1DEXT,
+  glTextureStorage2D,
+  glTextureStorage2DEXT,
+  glTextureStorage2DMultisample,
+  glTextureStorage2DMultisampleEXT,
+  glTextureStorage3D,
+  glTextureStorage3DEXT,
+  glTextureStorage3DMultisample,
+  glTextureStorage3DMultisampleEXT,
+  glTextureStorageSparseAMD,
+  glTextureSubImage1D,
+  glTextureSubImage1DEXT,
+  glTextureSubImage2D,
+  glTextureSubImage2DEXT,
+  glTextureSubImage3D,
+  glTextureSubImage3DEXT,
+  glTextureView,
+  glTextureViewEXT,
+  glTextureViewOES,
+  glTrackMatrixNV,
+  glTransformFeedbackAttribsNV,
+  glTransformFeedbackBufferBase,
+  glTransformFeedbackBufferRange,
+  glTransformFeedbackStreamAttribsNV,
+  glTransformFeedbackVaryings,
+  glTransformFeedbackVaryingsEXT,
+  glTransformFeedbackVaryingsNV,
+  glTransformPathNV,
+  glTranslated,
+  glTranslatef,
+  glTranslatex,
+  glTranslatexOES,
+  glUniform1d,
+  glUniform1dv,
+  glUniform1f,
+  glUniform1fARB,
+  glUniform1fv,
+  glUniform1fvARB,
+  glUniform1i,
+  glUniform1i64ARB,
+  glUniform1i64NV,
+  glUniform1i64vARB,
+  glUniform1i64vNV,
+  glUniform1iARB,
+  glUniform1iv,
+  glUniform1ivARB,
+  glUniform1ui,
+  glUniform1ui64ARB,
+  glUniform1ui64NV,
+  glUniform1ui64vARB,
+  glUniform1ui64vNV,
+  glUniform1uiEXT,
+  glUniform1uiv,
+  glUniform1uivEXT,
+  glUniform2d,
+  glUniform2dv,
+  glUniform2f,
+  glUniform2fARB,
+  glUniform2fv,
+  glUniform2fvARB,
+  glUniform2i,
+  glUniform2i64ARB,
+  glUniform2i64NV,
+  glUniform2i64vARB,
+  glUniform2i64vNV,
+  glUniform2iARB,
+  glUniform2iv,
+  glUniform2ivARB,
+  glUniform2ui,
+  glUniform2ui64ARB,
+  glUniform2ui64NV,
+  glUniform2ui64vARB,
+  glUniform2ui64vNV,
+  glUniform2uiEXT,
+  glUniform2uiv,
+  glUniform2uivEXT,
+  glUniform3d,
+  glUniform3dv,
+  glUniform3f,
+  glUniform3fARB,
+  glUniform3fv,
+  glUniform3fvARB,
+  glUniform3i,
+  glUniform3i64ARB,
+  glUniform3i64NV,
+  glUniform3i64vARB,
+  glUniform3i64vNV,
+  glUniform3iARB,
+  glUniform3iv,
+  glUniform3ivARB,
+  glUniform3ui,
+  glUniform3ui64ARB,
+  glUniform3ui64NV,
+  glUniform3ui64vARB,
+  glUniform3ui64vNV,
+  glUniform3uiEXT,
+  glUniform3uiv,
+  glUniform3uivEXT,
+  glUniform4d,
+  glUniform4dv,
+  glUniform4f,
+  glUniform4fARB,
+  glUniform4fv,
+  glUniform4fvARB,
+  glUniform4i,
+  glUniform4i64ARB,
+  glUniform4i64NV,
+  glUniform4i64vARB,
+  glUniform4i64vNV,
+  glUniform4iARB,
+  glUniform4iv,
+  glUniform4ivARB,
+  glUniform4ui,
+  glUniform4ui64ARB,
+  glUniform4ui64NV,
+  glUniform4ui64vARB,
+  glUniform4ui64vNV,
+  glUniform4uiEXT,
+  glUniform4uiv,
+  glUniform4uivEXT,
+  glUniformBlockBinding,
+  glUniformBufferEXT,
+  glUniformHandleui64ARB,
+  glUniformHandleui64NV,
+  glUniformHandleui64vARB,
+  glUniformHandleui64vNV,
+  glUniformMatrix2dv,
+  glUniformMatrix2fv,
+  glUniformMatrix2fvARB,
+  glUniformMatrix2x3dv,
+  glUniformMatrix2x3fv,
+  glUniformMatrix2x3fvNV,
+  glUniformMatrix2x4dv,
+  glUniformMatrix2x4fv,
+  glUniformMatrix2x4fvNV,
+  glUniformMatrix3dv,
+  glUniformMatrix3fv,
+  glUniformMatrix3fvARB,
+  glUniformMatrix3x2dv,
+  glUniformMatrix3x2fv,
+  glUniformMatrix3x2fvNV,
+  glUniformMatrix3x4dv,
+  glUniformMatrix3x4fv,
+  glUniformMatrix3x4fvNV,
+  glUniformMatrix4dv,
+  glUniformMatrix4fv,
+  glUniformMatrix4fvARB,
+  glUniformMatrix4x2dv,
+  glUniformMatrix4x2fv,
+  glUniformMatrix4x2fvNV,
+  glUniformMatrix4x3dv,
+  glUniformMatrix4x3fv,
+  glUniformMatrix4x3fvNV,
+  glUniformSubroutinesuiv,
+  glUniformui64NV,
+  glUniformui64vNV,
+  glUnlockArraysEXT,
+  glUnmapBuffer,
+  glUnmapBufferARB,
+  glUnmapBufferOES,
+  glUnmapNamedBuffer,
+  glUnmapNamedBufferEXT,
+  glUnmapObjectBufferATI,
+  glUnmapTexture2DINTEL,
+  glUpdateObjectBufferATI,
+  glUseProgram,
+  glUseProgramObjectARB,
+  glUseProgramStages,
+  glUseProgramStagesEXT,
+  glUseShaderProgramEXT,
+  glVDPAUFiniNV,
+  glVDPAUGetSurfaceivNV,
+  glVDPAUInitNV,
+  glVDPAUIsSurfaceNV,
+  glVDPAUMapSurfacesNV,
+  glVDPAURegisterOutputSurfaceNV,
+  glVDPAURegisterVideoSurfaceNV,
+  glVDPAUSurfaceAccessNV,
+  glVDPAUUnmapSurfacesNV,
+  glVDPAUUnregisterSurfaceNV,
+  glValidateProgram,
+  glValidateProgramARB,
+  glValidateProgramPipeline,
+  glValidateProgramPipelineEXT,
+  glVariantArrayObjectATI,
+  glVariantPointerEXT,
+  glVariantbvEXT,
+  glVariantdvEXT,
+  glVariantfvEXT,
+  glVariantivEXT,
+  glVariantsvEXT,
+  glVariantubvEXT,
+  glVariantuivEXT,
+  glVariantusvEXT,
+  glVertex2bOES,
+  glVertex2bvOES,
+  glVertex2d,
+  glVertex2dv,
+  glVertex2f,
+  glVertex2fv,
+  glVertex2hNV,
+  glVertex2hvNV,
+  glVertex2i,
+  glVertex2iv,
+  glVertex2s,
+  glVertex2sv,
+  glVertex2xOES,
+  glVertex2xvOES,
+  glVertex3bOES,
+  glVertex3bvOES,
+  glVertex3d,
+  glVertex3dv,
+  glVertex3f,
+  glVertex3fv,
+  glVertex3hNV,
+  glVertex3hvNV,
+  glVertex3i,
+  glVertex3iv,
+  glVertex3s,
+  glVertex3sv,
+  glVertex3xOES,
+  glVertex3xvOES,
+  glVertex4bOES,
+  glVertex4bvOES,
+  glVertex4d,
+  glVertex4dv,
+  glVertex4f,
+  glVertex4fv,
+  glVertex4hNV,
+  glVertex4hvNV,
+  glVertex4i,
+  glVertex4iv,
+  glVertex4s,
+  glVertex4sv,
+  glVertex4xOES,
+  glVertex4xvOES,
+  glVertexArrayAttribBinding,
+  glVertexArrayAttribFormat,
+  glVertexArrayAttribIFormat,
+  glVertexArrayAttribLFormat,
+  glVertexArrayBindVertexBufferEXT,
+  glVertexArrayBindingDivisor,
+  glVertexArrayColorOffsetEXT,
+  glVertexArrayEdgeFlagOffsetEXT,
+  glVertexArrayElementBuffer,
+  glVertexArrayFogCoordOffsetEXT,
+  glVertexArrayIndexOffsetEXT,
+  glVertexArrayMultiTexCoordOffsetEXT,
+  glVertexArrayNormalOffsetEXT,
+  glVertexArrayParameteriAPPLE,
+  glVertexArrayRangeAPPLE,
+  glVertexArrayRangeNV,
+  glVertexArraySecondaryColorOffsetEXT,
+  glVertexArrayTexCoordOffsetEXT,
+  glVertexArrayVertexAttribBindingEXT,
+  glVertexArrayVertexAttribDivisorEXT,
+  glVertexArrayVertexAttribFormatEXT,
+  glVertexArrayVertexAttribIFormatEXT,
+  glVertexArrayVertexAttribIOffsetEXT,
+  glVertexArrayVertexAttribLFormatEXT,
+  glVertexArrayVertexAttribLOffsetEXT,
+  glVertexArrayVertexAttribOffsetEXT,
+  glVertexArrayVertexBindingDivisorEXT,
+  glVertexArrayVertexBuffer,
+  glVertexArrayVertexBuffers,
+  glVertexArrayVertexOffsetEXT,
+  glVertexAttrib1d,
+  glVertexAttrib1dARB,
+  glVertexAttrib1dNV,
+  glVertexAttrib1dv,
+  glVertexAttrib1dvARB,
+  glVertexAttrib1dvNV,
+  glVertexAttrib1f,
+  glVertexAttrib1fARB,
+  glVertexAttrib1fNV,
+  glVertexAttrib1fv,
+  glVertexAttrib1fvARB,
+  glVertexAttrib1fvNV,
+  glVertexAttrib1hNV,
+  glVertexAttrib1hvNV,
+  glVertexAttrib1s,
+  glVertexAttrib1sARB,
+  glVertexAttrib1sNV,
+  glVertexAttrib1sv,
+  glVertexAttrib1svARB,
+  glVertexAttrib1svNV,
+  glVertexAttrib2d,
+  glVertexAttrib2dARB,
+  glVertexAttrib2dNV,
+  glVertexAttrib2dv,
+  glVertexAttrib2dvARB,
+  glVertexAttrib2dvNV,
+  glVertexAttrib2f,
+  glVertexAttrib2fARB,
+  glVertexAttrib2fNV,
+  glVertexAttrib2fv,
+  glVertexAttrib2fvARB,
+  glVertexAttrib2fvNV,
+  glVertexAttrib2hNV,
+  glVertexAttrib2hvNV,
+  glVertexAttrib2s,
+  glVertexAttrib2sARB,
+  glVertexAttrib2sNV,
+  glVertexAttrib2sv,
+  glVertexAttrib2svARB,
+  glVertexAttrib2svNV,
+  glVertexAttrib3d,
+  glVertexAttrib3dARB,
+  glVertexAttrib3dNV,
+  glVertexAttrib3dv,
+  glVertexAttrib3dvARB,
+  glVertexAttrib3dvNV,
+  glVertexAttrib3f,
+  glVertexAttrib3fARB,
+  glVertexAttrib3fNV,
+  glVertexAttrib3fv,
+  glVertexAttrib3fvARB,
+  glVertexAttrib3fvNV,
+  glVertexAttrib3hNV,
+  glVertexAttrib3hvNV,
+  glVertexAttrib3s,
+  glVertexAttrib3sARB,
+  glVertexAttrib3sNV,
+  glVertexAttrib3sv,
+  glVertexAttrib3svARB,
+  glVertexAttrib3svNV,
+  glVertexAttrib4Nbv,
+  glVertexAttrib4NbvARB,
+  glVertexAttrib4Niv,
+  glVertexAttrib4NivARB,
+  glVertexAttrib4Nsv,
+  glVertexAttrib4NsvARB,
+  glVertexAttrib4Nub,
+  glVertexAttrib4NubARB,
+  glVertexAttrib4Nubv,
+  glVertexAttrib4NubvARB,
+  glVertexAttrib4Nuiv,
+  glVertexAttrib4NuivARB,
+  glVertexAttrib4Nusv,
+  glVertexAttrib4NusvARB,
+  glVertexAttrib4bv,
+  glVertexAttrib4bvARB,
+  glVertexAttrib4d,
+  glVertexAttrib4dARB,
+  glVertexAttrib4dNV,
+  glVertexAttrib4dv,
+  glVertexAttrib4dvARB,
+  glVertexAttrib4dvNV,
+  glVertexAttrib4f,
+  glVertexAttrib4fARB,
+  glVertexAttrib4fNV,
+  glVertexAttrib4fv,
+  glVertexAttrib4fvARB,
+  glVertexAttrib4fvNV,
+  glVertexAttrib4hNV,
+  glVertexAttrib4hvNV,
+  glVertexAttrib4iv,
+  glVertexAttrib4ivARB,
+  glVertexAttrib4s,
+  glVertexAttrib4sARB,
+  glVertexAttrib4sNV,
+  glVertexAttrib4sv,
+  glVertexAttrib4svARB,
+  glVertexAttrib4svNV,
+  glVertexAttrib4ubNV,
+  glVertexAttrib4ubv,
+  glVertexAttrib4ubvARB,
+  glVertexAttrib4ubvNV,
+  glVertexAttrib4uiv,
+  glVertexAttrib4uivARB,
+  glVertexAttrib4usv,
+  glVertexAttrib4usvARB,
+  glVertexAttribArrayObjectATI,
+  glVertexAttribBinding,
+  glVertexAttribDivisor,
+  glVertexAttribDivisorANGLE,
+  glVertexAttribDivisorARB,
+  glVertexAttribDivisorEXT,
+  glVertexAttribDivisorNV,
+  glVertexAttribFormat,
+  glVertexAttribFormatNV,
+  glVertexAttribI1i,
+  glVertexAttribI1iEXT,
+  glVertexAttribI1iv,
+  glVertexAttribI1ivEXT,
+  glVertexAttribI1ui,
+  glVertexAttribI1uiEXT,
+  glVertexAttribI1uiv,
+  glVertexAttribI1uivEXT,
+  glVertexAttribI2i,
+  glVertexAttribI2iEXT,
+  glVertexAttribI2iv,
+  glVertexAttribI2ivEXT,
+  glVertexAttribI2ui,
+  glVertexAttribI2uiEXT,
+  glVertexAttribI2uiv,
+  glVertexAttribI2uivEXT,
+  glVertexAttribI3i,
+  glVertexAttribI3iEXT,
+  glVertexAttribI3iv,
+  glVertexAttribI3ivEXT,
+  glVertexAttribI3ui,
+  glVertexAttribI3uiEXT,
+  glVertexAttribI3uiv,
+  glVertexAttribI3uivEXT,
+  glVertexAttribI4bv,
+  glVertexAttribI4bvEXT,
+  glVertexAttribI4i,
+  glVertexAttribI4iEXT,
+  glVertexAttribI4iv,
+  glVertexAttribI4ivEXT,
+  glVertexAttribI4sv,
+  glVertexAttribI4svEXT,
+  glVertexAttribI4ubv,
+  glVertexAttribI4ubvEXT,
+  glVertexAttribI4ui,
+  glVertexAttribI4uiEXT,
+  glVertexAttribI4uiv,
+  glVertexAttribI4uivEXT,
+  glVertexAttribI4usv,
+  glVertexAttribI4usvEXT,
+  glVertexAttribIFormat,
+  glVertexAttribIFormatNV,
+  glVertexAttribIPointer,
+  glVertexAttribIPointerEXT,
+  glVertexAttribL1d,
+  glVertexAttribL1dEXT,
+  glVertexAttribL1dv,
+  glVertexAttribL1dvEXT,
+  glVertexAttribL1i64NV,
+  glVertexAttribL1i64vNV,
+  glVertexAttribL1ui64ARB,
+  glVertexAttribL1ui64NV,
+  glVertexAttribL1ui64vARB,
+  glVertexAttribL1ui64vNV,
+  glVertexAttribL2d,
+  glVertexAttribL2dEXT,
+  glVertexAttribL2dv,
+  glVertexAttribL2dvEXT,
+  glVertexAttribL2i64NV,
+  glVertexAttribL2i64vNV,
+  glVertexAttribL2ui64NV,
+  glVertexAttribL2ui64vNV,
+  glVertexAttribL3d,
+  glVertexAttribL3dEXT,
+  glVertexAttribL3dv,
+  glVertexAttribL3dvEXT,
+  glVertexAttribL3i64NV,
+  glVertexAttribL3i64vNV,
+  glVertexAttribL3ui64NV,
+  glVertexAttribL3ui64vNV,
+  glVertexAttribL4d,
+  glVertexAttribL4dEXT,
+  glVertexAttribL4dv,
+  glVertexAttribL4dvEXT,
+  glVertexAttribL4i64NV,
+  glVertexAttribL4i64vNV,
+  glVertexAttribL4ui64NV,
+  glVertexAttribL4ui64vNV,
+  glVertexAttribLFormat,
+  glVertexAttribLFormatNV,
+  glVertexAttribLPointer,
+  glVertexAttribLPointerEXT,
+  glVertexAttribP1ui,
+  glVertexAttribP1uiv,
+  glVertexAttribP2ui,
+  glVertexAttribP2uiv,
+  glVertexAttribP3ui,
+  glVertexAttribP3uiv,
+  glVertexAttribP4ui,
+  glVertexAttribP4uiv,
+  glVertexAttribParameteriAMD,
+  glVertexAttribPointer,
+  glVertexAttribPointerARB,
+  glVertexAttribPointerNV,
+  glVertexAttribs1dvNV,
+  glVertexAttribs1fvNV,
+  glVertexAttribs1hvNV,
+  glVertexAttribs1svNV,
+  glVertexAttribs2dvNV,
+  glVertexAttribs2fvNV,
+  glVertexAttribs2hvNV,
+  glVertexAttribs2svNV,
+  glVertexAttribs3dvNV,
+  glVertexAttribs3fvNV,
+  glVertexAttribs3hvNV,
+  glVertexAttribs3svNV,
+  glVertexAttribs4dvNV,
+  glVertexAttribs4fvNV,
+  glVertexAttribs4hvNV,
+  glVertexAttribs4svNV,
+  glVertexAttribs4ubvNV,
+  glVertexBindingDivisor,
+  glVertexBlendARB,
+  glVertexBlendEnvfATI,
+  glVertexBlendEnviATI,
+  glVertexFormatNV,
+  glVertexP2ui,
+  glVertexP2uiv,
+  glVertexP3ui,
+  glVertexP3uiv,
+  glVertexP4ui,
+  glVertexP4uiv,
+  glVertexPointer,
+  glVertexPointerEXT,
+  glVertexPointerListIBM,
+  glVertexPointervINTEL,
+  glVertexStream1dATI,
+  glVertexStream1dvATI,
+  glVertexStream1fATI,
+  glVertexStream1fvATI,
+  glVertexStream1iATI,
+  glVertexStream1ivATI,
+  glVertexStream1sATI,
+  glVertexStream1svATI,
+  glVertexStream2dATI,
+  glVertexStream2dvATI,
+  glVertexStream2fATI,
+  glVertexStream2fvATI,
+  glVertexStream2iATI,
+  glVertexStream2ivATI,
+  glVertexStream2sATI,
+  glVertexStream2svATI,
+  glVertexStream3dATI,
+  glVertexStream3dvATI,
+  glVertexStream3fATI,
+  glVertexStream3fvATI,
+  glVertexStream3iATI,
+  glVertexStream3ivATI,
+  glVertexStream3sATI,
+  glVertexStream3svATI,
+  glVertexStream4dATI,
+  glVertexStream4dvATI,
+  glVertexStream4fATI,
+  glVertexStream4fvATI,
+  glVertexStream4iATI,
+  glVertexStream4ivATI,
+  glVertexStream4sATI,
+  glVertexStream4svATI,
+  glVertexWeightPointerEXT,
+  glVertexWeightfEXT,
+  glVertexWeightfvEXT,
+  glVertexWeighthNV,
+  glVertexWeighthvNV,
+  glVideoCaptureNV,
+  glVideoCaptureStreamParameterdvNV,
+  glVideoCaptureStreamParameterfvNV,
+  glVideoCaptureStreamParameterivNV,
+  glViewport,
+  glViewportArrayv,
+  glViewportArrayvNV,
+  glViewportIndexedf,
+  glViewportIndexedfNV,
+  glViewportIndexedfv,
+  glViewportIndexedfvNV,
+  glWaitSync,
+  glWaitSyncAPPLE,
+  glWeightPathsNV,
+  glWeightPointerARB,
+  glWeightPointerOES,
+  glWeightbvARB,
+  glWeightdvARB,
+  glWeightfvARB,
+  glWeightivARB,
+  glWeightsvARB,
+  glWeightubvARB,
+  glWeightuivARB,
+  glWeightusvARB,
+  glWindowPos2d,
+  glWindowPos2dARB,
+  glWindowPos2dMESA,
+  glWindowPos2dv,
+  glWindowPos2dvARB,
+  glWindowPos2dvMESA,
+  glWindowPos2f,
+  glWindowPos2fARB,
+  glWindowPos2fMESA,
+  glWindowPos2fv,
+  glWindowPos2fvARB,
+  glWindowPos2fvMESA,
+  glWindowPos2i,
+  glWindowPos2iARB,
+  glWindowPos2iMESA,
+  glWindowPos2iv,
+  glWindowPos2ivARB,
+  glWindowPos2ivMESA,
+  glWindowPos2s,
+  glWindowPos2sARB,
+  glWindowPos2sMESA,
+  glWindowPos2sv,
+  glWindowPos2svARB,
+  glWindowPos2svMESA,
+  glWindowPos3d,
+  glWindowPos3dARB,
+  glWindowPos3dMESA,
+  glWindowPos3dv,
+  glWindowPos3dvARB,
+  glWindowPos3dvMESA,
+  glWindowPos3f,
+  glWindowPos3fARB,
+  glWindowPos3fMESA,
+  glWindowPos3fv,
+  glWindowPos3fvARB,
+  glWindowPos3fvMESA,
+  glWindowPos3i,
+  glWindowPos3iARB,
+  glWindowPos3iMESA,
+  glWindowPos3iv,
+  glWindowPos3ivARB,
+  glWindowPos3ivMESA,
+  glWindowPos3s,
+  glWindowPos3sARB,
+  glWindowPos3sMESA,
+  glWindowPos3sv,
+  glWindowPos3svARB,
+  glWindowPos3svMESA,
+  glWindowPos4dMESA,
+  glWindowPos4dvMESA,
+  glWindowPos4fMESA,
+  glWindowPos4fvMESA,
+  glWindowPos4iMESA,
+  glWindowPos4ivMESA,
+  glWindowPos4sMESA,
+  glWindowPos4svMESA,
+  glWriteMaskEXT
+) where
+
+import Control.Monad.IO.Class ( MonadIO(..) )
+import Foreign.Marshal.Error ( throwIf )
+import Foreign.Ptr ( Ptr, FunPtr, nullFunPtr )
+import System.IO.Unsafe ( unsafePerformIO )
+
+import Graphics.GL.Foreign
+import Graphics.GL.GetProcAddress ( getProcAddress )
+import Graphics.GL.Types
+
+getCommand :: String -> IO (FunPtr a)
+getCommand cmd =
+  throwIfNullFunPtr ("unknown OpenGL command " ++ cmd) $ getProcAddress cmd
+
+throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
+throwIfNullFunPtr = throwIf (== nullFunPtr) . const
+
+-- glAccum ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAccum.xml OpenGL 2.x>.
+glAccum
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type [AccumOp](Graphics-GL-Groups.html#AccumOp).
+  -> GLfloat -- ^ @value@ of type @CoordF@.
+  -> m ()
+glAccum v1 v2 = liftIO $ dyn0 ptr_glAccum v1 v2
+
+{-# NOINLINE ptr_glAccum #-}
+ptr_glAccum :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glAccum = unsafePerformIO $ getCommand "glAccum"
+
+-- glAccumxOES -----------------------------------------------------------------
+
+glAccumxOES
+  :: MonadIO m
+  => GLenum -- ^ @op@.
+  -> GLfixed -- ^ @value@.
+  -> m ()
+glAccumxOES v1 v2 = liftIO $ dyn1 ptr_glAccumxOES v1 v2
+
+{-# NOINLINE ptr_glAccumxOES #-}
+ptr_glAccumxOES :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glAccumxOES = unsafePerformIO $ getCommand "glAccumxOES"
+
+-- glActiveProgramEXT ----------------------------------------------------------
+
+glActiveProgramEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m ()
+glActiveProgramEXT v1 = liftIO $ dyn2 ptr_glActiveProgramEXT v1
+
+{-# NOINLINE ptr_glActiveProgramEXT #-}
+ptr_glActiveProgramEXT :: FunPtr (GLuint -> IO ())
+ptr_glActiveProgramEXT = unsafePerformIO $ getCommand "glActiveProgramEXT"
+
+-- glActiveShaderProgram -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glActiveShaderProgram.xhtml OpenGL 4.x>.
+glActiveShaderProgram
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLuint -- ^ @program@.
+  -> m ()
+glActiveShaderProgram v1 v2 = liftIO $ dyn3 ptr_glActiveShaderProgram v1 v2
+
+{-# NOINLINE ptr_glActiveShaderProgram #-}
+ptr_glActiveShaderProgram :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glActiveShaderProgram = unsafePerformIO $ getCommand "glActiveShaderProgram"
+
+-- glActiveShaderProgramEXT ----------------------------------------------------
+
+glActiveShaderProgramEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLuint -- ^ @program@.
+  -> m ()
+glActiveShaderProgramEXT v1 v2 = liftIO $ dyn3 ptr_glActiveShaderProgramEXT v1 v2
+
+{-# NOINLINE ptr_glActiveShaderProgramEXT #-}
+ptr_glActiveShaderProgramEXT :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glActiveShaderProgramEXT = unsafePerformIO $ getCommand "glActiveShaderProgramEXT"
+
+-- glActiveStencilFaceEXT ------------------------------------------------------
+
+glActiveStencilFaceEXT
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
+  -> m ()
+glActiveStencilFaceEXT v1 = liftIO $ dyn4 ptr_glActiveStencilFaceEXT v1
+
+{-# NOINLINE ptr_glActiveStencilFaceEXT #-}
+ptr_glActiveStencilFaceEXT :: FunPtr (GLenum -> IO ())
+ptr_glActiveStencilFaceEXT = unsafePerformIO $ getCommand "glActiveStencilFaceEXT"
+
+-- glActiveTexture -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glActiveTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glActiveTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glActiveTexture.xhtml OpenGL 4.x>.
+glActiveTexture
+  :: MonadIO m
+  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  -> m ()
+glActiveTexture v1 = liftIO $ dyn4 ptr_glActiveTexture v1
+
+{-# NOINLINE ptr_glActiveTexture #-}
+ptr_glActiveTexture :: FunPtr (GLenum -> IO ())
+ptr_glActiveTexture = unsafePerformIO $ getCommand "glActiveTexture"
+
+-- glActiveTextureARB ----------------------------------------------------------
+
+-- | This command is an alias for 'glActiveTexture'.
+glActiveTextureARB
+  :: MonadIO m
+  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  -> m ()
+glActiveTextureARB v1 = liftIO $ dyn4 ptr_glActiveTextureARB v1
+
+{-# NOINLINE ptr_glActiveTextureARB #-}
+ptr_glActiveTextureARB :: FunPtr (GLenum -> IO ())
+ptr_glActiveTextureARB = unsafePerformIO $ getCommand "glActiveTextureARB"
+
+-- glActiveVaryingNV -----------------------------------------------------------
+
+glActiveVaryingNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m ()
+glActiveVaryingNV v1 v2 = liftIO $ dyn5 ptr_glActiveVaryingNV v1 v2
+
+{-# NOINLINE ptr_glActiveVaryingNV #-}
+ptr_glActiveVaryingNV :: FunPtr (GLuint -> Ptr GLchar -> IO ())
+ptr_glActiveVaryingNV = unsafePerformIO $ getCommand "glActiveVaryingNV"
+
+-- glAlphaFragmentOp1ATI -------------------------------------------------------
+
+glAlphaFragmentOp1ATI
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  -> GLuint -- ^ @dst@.
+  -> GLuint -- ^ @dstMod@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg1Rep@.
+  -> GLuint -- ^ @arg1Mod@.
+  -> m ()
+glAlphaFragmentOp1ATI v1 v2 v3 v4 v5 v6 = liftIO $ dyn6 ptr_glAlphaFragmentOp1ATI v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glAlphaFragmentOp1ATI #-}
+ptr_glAlphaFragmentOp1ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glAlphaFragmentOp1ATI = unsafePerformIO $ getCommand "glAlphaFragmentOp1ATI"
+
+-- glAlphaFragmentOp2ATI -------------------------------------------------------
+
+glAlphaFragmentOp2ATI
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  -> GLuint -- ^ @dst@.
+  -> GLuint -- ^ @dstMod@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg1Rep@.
+  -> GLuint -- ^ @arg1Mod@.
+  -> GLuint -- ^ @arg2@.
+  -> GLuint -- ^ @arg2Rep@.
+  -> GLuint -- ^ @arg2Mod@.
+  -> m ()
+glAlphaFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn7 ptr_glAlphaFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glAlphaFragmentOp2ATI #-}
+ptr_glAlphaFragmentOp2ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glAlphaFragmentOp2ATI = unsafePerformIO $ getCommand "glAlphaFragmentOp2ATI"
+
+-- glAlphaFragmentOp3ATI -------------------------------------------------------
+
+glAlphaFragmentOp3ATI
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  -> GLuint -- ^ @dst@.
+  -> GLuint -- ^ @dstMod@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg1Rep@.
+  -> GLuint -- ^ @arg1Mod@.
+  -> GLuint -- ^ @arg2@.
+  -> GLuint -- ^ @arg2Rep@.
+  -> GLuint -- ^ @arg2Mod@.
+  -> GLuint -- ^ @arg3@.
+  -> GLuint -- ^ @arg3Rep@.
+  -> GLuint -- ^ @arg3Mod@.
+  -> m ()
+glAlphaFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn8 ptr_glAlphaFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glAlphaFragmentOp3ATI #-}
+ptr_glAlphaFragmentOp3ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glAlphaFragmentOp3ATI = unsafePerformIO $ getCommand "glAlphaFragmentOp3ATI"
+
+-- glAlphaFunc -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAlphaFunc.xml OpenGL 2.x>.
+glAlphaFunc
+  :: MonadIO m
+  => GLenum -- ^ @func@ of type [AlphaFunction](Graphics-GL-Groups.html#AlphaFunction).
+  -> GLfloat -- ^ @ref@.
+  -> m ()
+glAlphaFunc v1 v2 = liftIO $ dyn0 ptr_glAlphaFunc v1 v2
+
+{-# NOINLINE ptr_glAlphaFunc #-}
+ptr_glAlphaFunc :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glAlphaFunc = unsafePerformIO $ getCommand "glAlphaFunc"
+
+-- glAlphaFuncQCOM -------------------------------------------------------------
+
+glAlphaFuncQCOM
+  :: MonadIO m
+  => GLenum -- ^ @func@.
+  -> GLclampf -- ^ @ref@.
+  -> m ()
+glAlphaFuncQCOM v1 v2 = liftIO $ dyn9 ptr_glAlphaFuncQCOM v1 v2
+
+{-# NOINLINE ptr_glAlphaFuncQCOM #-}
+ptr_glAlphaFuncQCOM :: FunPtr (GLenum -> GLclampf -> IO ())
+ptr_glAlphaFuncQCOM = unsafePerformIO $ getCommand "glAlphaFuncQCOM"
+
+-- glAlphaFuncx ----------------------------------------------------------------
+
+glAlphaFuncx
+  :: MonadIO m
+  => GLenum -- ^ @func@.
+  -> GLfixed -- ^ @ref@.
+  -> m ()
+glAlphaFuncx v1 v2 = liftIO $ dyn1 ptr_glAlphaFuncx v1 v2
+
+{-# NOINLINE ptr_glAlphaFuncx #-}
+ptr_glAlphaFuncx :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glAlphaFuncx = unsafePerformIO $ getCommand "glAlphaFuncx"
+
+-- glAlphaFuncxOES -------------------------------------------------------------
+
+glAlphaFuncxOES
+  :: MonadIO m
+  => GLenum -- ^ @func@.
+  -> GLfixed -- ^ @ref@ of type @ClampedFixed@.
+  -> m ()
+glAlphaFuncxOES v1 v2 = liftIO $ dyn1 ptr_glAlphaFuncxOES v1 v2
+
+{-# NOINLINE ptr_glAlphaFuncxOES #-}
+ptr_glAlphaFuncxOES :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glAlphaFuncxOES = unsafePerformIO $ getCommand "glAlphaFuncxOES"
+
+-- glApplyFramebufferAttachmentCMAAINTEL ---------------------------------------
+
+glApplyFramebufferAttachmentCMAAINTEL
+  :: MonadIO m
+  => m ()
+glApplyFramebufferAttachmentCMAAINTEL = liftIO $ dyn10 ptr_glApplyFramebufferAttachmentCMAAINTEL
+
+{-# NOINLINE ptr_glApplyFramebufferAttachmentCMAAINTEL #-}
+ptr_glApplyFramebufferAttachmentCMAAINTEL :: FunPtr (IO ())
+ptr_glApplyFramebufferAttachmentCMAAINTEL = unsafePerformIO $ getCommand "glApplyFramebufferAttachmentCMAAINTEL"
+
+-- glApplyTextureEXT -----------------------------------------------------------
+
+glApplyTextureEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type @LightTextureModeEXT@.
+  -> m ()
+glApplyTextureEXT v1 = liftIO $ dyn4 ptr_glApplyTextureEXT v1
+
+{-# NOINLINE ptr_glApplyTextureEXT #-}
+ptr_glApplyTextureEXT :: FunPtr (GLenum -> IO ())
+ptr_glApplyTextureEXT = unsafePerformIO $ getCommand "glApplyTextureEXT"
+
+-- glAreProgramsResidentNV -----------------------------------------------------
+
+glAreProgramsResidentNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
+  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glAreProgramsResidentNV v1 v2 v3 = liftIO $ dyn11 ptr_glAreProgramsResidentNV v1 v2 v3
+
+{-# NOINLINE ptr_glAreProgramsResidentNV #-}
+ptr_glAreProgramsResidentNV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
+ptr_glAreProgramsResidentNV = unsafePerformIO $ getCommand "glAreProgramsResidentNV"
+
+-- glAreTexturesResident -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAreTexturesResident.xml OpenGL 2.x>.
+glAreTexturesResident
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glAreTexturesResident v1 v2 v3 = liftIO $ dyn11 ptr_glAreTexturesResident v1 v2 v3
+
+{-# NOINLINE ptr_glAreTexturesResident #-}
+ptr_glAreTexturesResident :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
+ptr_glAreTexturesResident = unsafePerformIO $ getCommand "glAreTexturesResident"
+
+-- glAreTexturesResidentEXT ----------------------------------------------------
+
+glAreTexturesResidentEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glAreTexturesResidentEXT v1 v2 v3 = liftIO $ dyn11 ptr_glAreTexturesResidentEXT v1 v2 v3
+
+{-# NOINLINE ptr_glAreTexturesResidentEXT #-}
+ptr_glAreTexturesResidentEXT :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
+ptr_glAreTexturesResidentEXT = unsafePerformIO $ getCommand "glAreTexturesResidentEXT"
+
+-- glArrayElement --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glArrayElement.xml OpenGL 2.x>.
+glArrayElement
+  :: MonadIO m
+  => GLint -- ^ @i@.
+  -> m ()
+glArrayElement v1 = liftIO $ dyn12 ptr_glArrayElement v1
+
+{-# NOINLINE ptr_glArrayElement #-}
+ptr_glArrayElement :: FunPtr (GLint -> IO ())
+ptr_glArrayElement = unsafePerformIO $ getCommand "glArrayElement"
+
+-- glArrayElementEXT -----------------------------------------------------------
+
+-- | This command is an alias for 'glArrayElement'.
+glArrayElementEXT
+  :: MonadIO m
+  => GLint -- ^ @i@.
+  -> m ()
+glArrayElementEXT v1 = liftIO $ dyn12 ptr_glArrayElementEXT v1
+
+{-# NOINLINE ptr_glArrayElementEXT #-}
+ptr_glArrayElementEXT :: FunPtr (GLint -> IO ())
+ptr_glArrayElementEXT = unsafePerformIO $ getCommand "glArrayElementEXT"
+
+-- glArrayObjectATI ------------------------------------------------------------
+
+glArrayObjectATI
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @ScalarType@.
+  -> GLsizei -- ^ @stride@.
+  -> GLuint -- ^ @buffer@.
+  -> GLuint -- ^ @offset@.
+  -> m ()
+glArrayObjectATI v1 v2 v3 v4 v5 v6 = liftIO $ dyn13 ptr_glArrayObjectATI v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glArrayObjectATI #-}
+ptr_glArrayObjectATI :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
+ptr_glArrayObjectATI = unsafePerformIO $ getCommand "glArrayObjectATI"
+
+-- glAsyncMarkerSGIX -----------------------------------------------------------
+
+glAsyncMarkerSGIX
+  :: MonadIO m
+  => GLuint -- ^ @marker@.
+  -> m ()
+glAsyncMarkerSGIX v1 = liftIO $ dyn2 ptr_glAsyncMarkerSGIX v1
+
+{-# NOINLINE ptr_glAsyncMarkerSGIX #-}
+ptr_glAsyncMarkerSGIX :: FunPtr (GLuint -> IO ())
+ptr_glAsyncMarkerSGIX = unsafePerformIO $ getCommand "glAsyncMarkerSGIX"
+
+-- glAttachObjectARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glAttachShader'.
+glAttachObjectARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @containerObj@ of type @handleARB@.
+  -> GLhandleARB -- ^ @obj@ of type @handleARB@.
+  -> m ()
+glAttachObjectARB v1 v2 = liftIO $ dyn14 ptr_glAttachObjectARB v1 v2
+
+{-# NOINLINE ptr_glAttachObjectARB #-}
+ptr_glAttachObjectARB :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
+ptr_glAttachObjectARB = unsafePerformIO $ getCommand "glAttachObjectARB"
+
+-- glAttachShader --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glAttachShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glAttachShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glAttachShader.xhtml OpenGL 4.x>.
+glAttachShader
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @shader@.
+  -> m ()
+glAttachShader v1 v2 = liftIO $ dyn3 ptr_glAttachShader v1 v2
+
+{-# NOINLINE ptr_glAttachShader #-}
+ptr_glAttachShader :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glAttachShader = unsafePerformIO $ getCommand "glAttachShader"
+
+-- glBegin ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBegin.xml OpenGL 2.x>.
+glBegin
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> m ()
+glBegin v1 = liftIO $ dyn4 ptr_glBegin v1
+
+{-# NOINLINE ptr_glBegin #-}
+ptr_glBegin :: FunPtr (GLenum -> IO ())
+ptr_glBegin = unsafePerformIO $ getCommand "glBegin"
+
+-- glBeginConditionalRender ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml OpenGL 4.x>.
+glBeginConditionalRender
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @mode@ of type @TypeEnum@.
+  -> m ()
+glBeginConditionalRender v1 v2 = liftIO $ dyn15 ptr_glBeginConditionalRender v1 v2
+
+{-# NOINLINE ptr_glBeginConditionalRender #-}
+ptr_glBeginConditionalRender :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glBeginConditionalRender = unsafePerformIO $ getCommand "glBeginConditionalRender"
+
+-- glBeginConditionalRenderNV --------------------------------------------------
+
+-- | This command is an alias for 'glBeginConditionalRender'.
+glBeginConditionalRenderNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @mode@ of type @TypeEnum@.
+  -> m ()
+glBeginConditionalRenderNV v1 v2 = liftIO $ dyn15 ptr_glBeginConditionalRenderNV v1 v2
+
+{-# NOINLINE ptr_glBeginConditionalRenderNV #-}
+ptr_glBeginConditionalRenderNV :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glBeginConditionalRenderNV = unsafePerformIO $ getCommand "glBeginConditionalRenderNV"
+
+-- glBeginConditionalRenderNVX -------------------------------------------------
+
+glBeginConditionalRenderNVX
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glBeginConditionalRenderNVX v1 = liftIO $ dyn2 ptr_glBeginConditionalRenderNVX v1
+
+{-# NOINLINE ptr_glBeginConditionalRenderNVX #-}
+ptr_glBeginConditionalRenderNVX :: FunPtr (GLuint -> IO ())
+ptr_glBeginConditionalRenderNVX = unsafePerformIO $ getCommand "glBeginConditionalRenderNVX"
+
+-- glBeginFragmentShaderATI ----------------------------------------------------
+
+glBeginFragmentShaderATI
+  :: MonadIO m
+  => m ()
+glBeginFragmentShaderATI = liftIO $ dyn10 ptr_glBeginFragmentShaderATI
+
+{-# NOINLINE ptr_glBeginFragmentShaderATI #-}
+ptr_glBeginFragmentShaderATI :: FunPtr (IO ())
+ptr_glBeginFragmentShaderATI = unsafePerformIO $ getCommand "glBeginFragmentShaderATI"
+
+-- glBeginOcclusionQueryNV -----------------------------------------------------
+
+glBeginOcclusionQueryNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glBeginOcclusionQueryNV v1 = liftIO $ dyn2 ptr_glBeginOcclusionQueryNV v1
+
+{-# NOINLINE ptr_glBeginOcclusionQueryNV #-}
+ptr_glBeginOcclusionQueryNV :: FunPtr (GLuint -> IO ())
+ptr_glBeginOcclusionQueryNV = unsafePerformIO $ getCommand "glBeginOcclusionQueryNV"
+
+-- glBeginPerfMonitorAMD -------------------------------------------------------
+
+glBeginPerfMonitorAMD
+  :: MonadIO m
+  => GLuint -- ^ @monitor@.
+  -> m ()
+glBeginPerfMonitorAMD v1 = liftIO $ dyn2 ptr_glBeginPerfMonitorAMD v1
+
+{-# NOINLINE ptr_glBeginPerfMonitorAMD #-}
+ptr_glBeginPerfMonitorAMD :: FunPtr (GLuint -> IO ())
+ptr_glBeginPerfMonitorAMD = unsafePerformIO $ getCommand "glBeginPerfMonitorAMD"
+
+-- glBeginPerfQueryINTEL -------------------------------------------------------
+
+glBeginPerfQueryINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryHandle@.
+  -> m ()
+glBeginPerfQueryINTEL v1 = liftIO $ dyn2 ptr_glBeginPerfQueryINTEL v1
+
+{-# NOINLINE ptr_glBeginPerfQueryINTEL #-}
+ptr_glBeginPerfQueryINTEL :: FunPtr (GLuint -> IO ())
+ptr_glBeginPerfQueryINTEL = unsafePerformIO $ getCommand "glBeginPerfQueryINTEL"
+
+-- glBeginQuery ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBeginQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml OpenGL 4.x>.
+glBeginQuery
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @id@.
+  -> m ()
+glBeginQuery v1 v2 = liftIO $ dyn16 ptr_glBeginQuery v1 v2
+
+{-# NOINLINE ptr_glBeginQuery #-}
+ptr_glBeginQuery :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBeginQuery = unsafePerformIO $ getCommand "glBeginQuery"
+
+-- glBeginQueryARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glBeginQuery'.
+glBeginQueryARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @id@.
+  -> m ()
+glBeginQueryARB v1 v2 = liftIO $ dyn16 ptr_glBeginQueryARB v1 v2
+
+{-# NOINLINE ptr_glBeginQueryARB #-}
+ptr_glBeginQueryARB :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBeginQueryARB = unsafePerformIO $ getCommand "glBeginQueryARB"
+
+-- glBeginQueryEXT -------------------------------------------------------------
+
+glBeginQueryEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @id@.
+  -> m ()
+glBeginQueryEXT v1 v2 = liftIO $ dyn16 ptr_glBeginQueryEXT v1 v2
+
+{-# NOINLINE ptr_glBeginQueryEXT #-}
+ptr_glBeginQueryEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBeginQueryEXT = unsafePerformIO $ getCommand "glBeginQueryEXT"
+
+-- glBeginQueryIndexed ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
+glBeginQueryIndexed
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @id@.
+  -> m ()
+glBeginQueryIndexed v1 v2 v3 = liftIO $ dyn17 ptr_glBeginQueryIndexed v1 v2 v3
+
+{-# NOINLINE ptr_glBeginQueryIndexed #-}
+ptr_glBeginQueryIndexed :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+ptr_glBeginQueryIndexed = unsafePerformIO $ getCommand "glBeginQueryIndexed"
+
+-- glBeginTransformFeedback ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml OpenGL 4.x>.
+glBeginTransformFeedback
+  :: MonadIO m
+  => GLenum -- ^ @primitiveMode@.
+  -> m ()
+glBeginTransformFeedback v1 = liftIO $ dyn4 ptr_glBeginTransformFeedback v1
+
+{-# NOINLINE ptr_glBeginTransformFeedback #-}
+ptr_glBeginTransformFeedback :: FunPtr (GLenum -> IO ())
+ptr_glBeginTransformFeedback = unsafePerformIO $ getCommand "glBeginTransformFeedback"
+
+-- glBeginTransformFeedbackEXT -------------------------------------------------
+
+-- | This command is an alias for 'glBeginTransformFeedback'.
+glBeginTransformFeedbackEXT
+  :: MonadIO m
+  => GLenum -- ^ @primitiveMode@.
+  -> m ()
+glBeginTransformFeedbackEXT v1 = liftIO $ dyn4 ptr_glBeginTransformFeedbackEXT v1
+
+{-# NOINLINE ptr_glBeginTransformFeedbackEXT #-}
+ptr_glBeginTransformFeedbackEXT :: FunPtr (GLenum -> IO ())
+ptr_glBeginTransformFeedbackEXT = unsafePerformIO $ getCommand "glBeginTransformFeedbackEXT"
+
+-- glBeginTransformFeedbackNV --------------------------------------------------
+
+-- | This command is an alias for 'glBeginTransformFeedback'.
+glBeginTransformFeedbackNV
+  :: MonadIO m
+  => GLenum -- ^ @primitiveMode@.
+  -> m ()
+glBeginTransformFeedbackNV v1 = liftIO $ dyn4 ptr_glBeginTransformFeedbackNV v1
+
+{-# NOINLINE ptr_glBeginTransformFeedbackNV #-}
+ptr_glBeginTransformFeedbackNV :: FunPtr (GLenum -> IO ())
+ptr_glBeginTransformFeedbackNV = unsafePerformIO $ getCommand "glBeginTransformFeedbackNV"
+
+-- glBeginVertexShaderEXT ------------------------------------------------------
+
+glBeginVertexShaderEXT
+  :: MonadIO m
+  => m ()
+glBeginVertexShaderEXT = liftIO $ dyn10 ptr_glBeginVertexShaderEXT
+
+{-# NOINLINE ptr_glBeginVertexShaderEXT #-}
+ptr_glBeginVertexShaderEXT :: FunPtr (IO ())
+ptr_glBeginVertexShaderEXT = unsafePerformIO $ getCommand "glBeginVertexShaderEXT"
+
+-- glBeginVideoCaptureNV -------------------------------------------------------
+
+glBeginVideoCaptureNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> m ()
+glBeginVideoCaptureNV v1 = liftIO $ dyn2 ptr_glBeginVideoCaptureNV v1
+
+{-# NOINLINE ptr_glBeginVideoCaptureNV #-}
+ptr_glBeginVideoCaptureNV :: FunPtr (GLuint -> IO ())
+ptr_glBeginVideoCaptureNV = unsafePerformIO $ getCommand "glBeginVideoCaptureNV"
+
+-- glBindAttribLocation --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindAttribLocation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindAttribLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindAttribLocation.xhtml OpenGL 4.x>.
+glBindAttribLocation
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m ()
+glBindAttribLocation v1 v2 v3 = liftIO $ dyn18 ptr_glBindAttribLocation v1 v2 v3
+
+{-# NOINLINE ptr_glBindAttribLocation #-}
+ptr_glBindAttribLocation :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
+ptr_glBindAttribLocation = unsafePerformIO $ getCommand "glBindAttribLocation"
+
+-- glBindAttribLocationARB -----------------------------------------------------
+
+-- | This command is an alias for 'glBindAttribLocation'.
+glBindAttribLocationARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLcharARB -- ^ @name@.
+  -> m ()
+glBindAttribLocationARB v1 v2 v3 = liftIO $ dyn19 ptr_glBindAttribLocationARB v1 v2 v3
+
+{-# NOINLINE ptr_glBindAttribLocationARB #-}
+ptr_glBindAttribLocationARB :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ())
+ptr_glBindAttribLocationARB = unsafePerformIO $ getCommand "glBindAttribLocationARB"
+
+-- glBindBuffer ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBuffer.xhtml OpenGL 4.x>.
+glBindBuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glBindBuffer v1 v2 = liftIO $ dyn16 ptr_glBindBuffer v1 v2
+
+{-# NOINLINE ptr_glBindBuffer #-}
+ptr_glBindBuffer :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindBuffer = unsafePerformIO $ getCommand "glBindBuffer"
+
+-- glBindBufferARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glBindBuffer'.
+glBindBufferARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glBindBufferARB v1 v2 = liftIO $ dyn16 ptr_glBindBufferARB v1 v2
+
+{-# NOINLINE ptr_glBindBufferARB #-}
+ptr_glBindBufferARB :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindBufferARB = unsafePerformIO $ getCommand "glBindBufferARB"
+
+-- glBindBufferBase ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferBase.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferBase.xhtml OpenGL 4.x>.
+glBindBufferBase
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glBindBufferBase v1 v2 v3 = liftIO $ dyn17 ptr_glBindBufferBase v1 v2 v3
+
+{-# NOINLINE ptr_glBindBufferBase #-}
+ptr_glBindBufferBase :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+ptr_glBindBufferBase = unsafePerformIO $ getCommand "glBindBufferBase"
+
+-- glBindBufferBaseEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glBindBufferBase'.
+glBindBufferBaseEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glBindBufferBaseEXT v1 v2 v3 = liftIO $ dyn17 ptr_glBindBufferBaseEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBindBufferBaseEXT #-}
+ptr_glBindBufferBaseEXT :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+ptr_glBindBufferBaseEXT = unsafePerformIO $ getCommand "glBindBufferBaseEXT"
+
+-- glBindBufferBaseNV ----------------------------------------------------------
+
+-- | This command is an alias for 'glBindBufferBase'.
+glBindBufferBaseNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glBindBufferBaseNV v1 v2 v3 = liftIO $ dyn17 ptr_glBindBufferBaseNV v1 v2 v3
+
+{-# NOINLINE ptr_glBindBufferBaseNV #-}
+ptr_glBindBufferBaseNV :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+ptr_glBindBufferBaseNV = unsafePerformIO $ getCommand "glBindBufferBaseNV"
+
+-- glBindBufferOffsetEXT -------------------------------------------------------
+
+glBindBufferOffsetEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> m ()
+glBindBufferOffsetEXT v1 v2 v3 v4 = liftIO $ dyn20 ptr_glBindBufferOffsetEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindBufferOffsetEXT #-}
+ptr_glBindBufferOffsetEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
+ptr_glBindBufferOffsetEXT = unsafePerformIO $ getCommand "glBindBufferOffsetEXT"
+
+-- glBindBufferOffsetNV --------------------------------------------------------
+
+-- | This command is an alias for 'glBindBufferOffsetEXT'.
+glBindBufferOffsetNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> m ()
+glBindBufferOffsetNV v1 v2 v3 v4 = liftIO $ dyn20 ptr_glBindBufferOffsetNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindBufferOffsetNV #-}
+ptr_glBindBufferOffsetNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
+ptr_glBindBufferOffsetNV = unsafePerformIO $ getCommand "glBindBufferOffsetNV"
+
+-- glBindBufferRange -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferRange.xhtml OpenGL 4.x>.
+glBindBufferRange
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glBindBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn21 ptr_glBindBufferRange v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBindBufferRange #-}
+ptr_glBindBufferRange :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glBindBufferRange = unsafePerformIO $ getCommand "glBindBufferRange"
+
+-- glBindBufferRangeEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glBindBufferRange'.
+glBindBufferRangeEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glBindBufferRangeEXT v1 v2 v3 v4 v5 = liftIO $ dyn21 ptr_glBindBufferRangeEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBindBufferRangeEXT #-}
+ptr_glBindBufferRangeEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glBindBufferRangeEXT = unsafePerformIO $ getCommand "glBindBufferRangeEXT"
+
+-- glBindBufferRangeNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glBindBufferRange'.
+glBindBufferRangeNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glBindBufferRangeNV v1 v2 v3 v4 v5 = liftIO $ dyn21 ptr_glBindBufferRangeNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBindBufferRangeNV #-}
+ptr_glBindBufferRangeNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glBindBufferRangeNV = unsafePerformIO $ getCommand "glBindBufferRangeNV"
+
+-- glBindBuffersBase -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersBase.xhtml OpenGL 4.x>.
+glBindBuffersBase
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glBindBuffersBase v1 v2 v3 v4 = liftIO $ dyn22 ptr_glBindBuffersBase v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindBuffersBase #-}
+ptr_glBindBuffersBase :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glBindBuffersBase = unsafePerformIO $ getCommand "glBindBuffersBase"
+
+-- glBindBuffersRange ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersRange.xhtml OpenGL 4.x>.
+glBindBuffersRange
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLintptr -- ^ @offsets@ pointing to @count@ elements of type @GLintptr@.
+  -> Ptr GLsizeiptr -- ^ @sizes@ pointing to @count@ elements of type @GLsizeiptr@.
+  -> m ()
+glBindBuffersRange v1 v2 v3 v4 v5 v6 = liftIO $ dyn23 ptr_glBindBuffersRange v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glBindBuffersRange #-}
+ptr_glBindBuffersRange :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ())
+ptr_glBindBuffersRange = unsafePerformIO $ getCommand "glBindBuffersRange"
+
+-- glBindFragDataLocation ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFragDataLocation.xhtml OpenGL 4.x>.
+glBindFragDataLocation
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @color@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m ()
+glBindFragDataLocation v1 v2 v3 = liftIO $ dyn18 ptr_glBindFragDataLocation v1 v2 v3
+
+{-# NOINLINE ptr_glBindFragDataLocation #-}
+ptr_glBindFragDataLocation :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
+ptr_glBindFragDataLocation = unsafePerformIO $ getCommand "glBindFragDataLocation"
+
+-- glBindFragDataLocationEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glBindFragDataLocation'.
+glBindFragDataLocationEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @color@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m ()
+glBindFragDataLocationEXT v1 v2 v3 = liftIO $ dyn18 ptr_glBindFragDataLocationEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBindFragDataLocationEXT #-}
+ptr_glBindFragDataLocationEXT :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
+ptr_glBindFragDataLocationEXT = unsafePerformIO $ getCommand "glBindFragDataLocationEXT"
+
+-- glBindFragDataLocationIndexed -----------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocationIndexed.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFragDataLocationIndexed.xhtml OpenGL 4.x>.
+glBindFragDataLocationIndexed
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @colorNumber@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m ()
+glBindFragDataLocationIndexed v1 v2 v3 v4 = liftIO $ dyn24 ptr_glBindFragDataLocationIndexed v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindFragDataLocationIndexed #-}
+ptr_glBindFragDataLocationIndexed :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
+ptr_glBindFragDataLocationIndexed = unsafePerformIO $ getCommand "glBindFragDataLocationIndexed"
+
+-- glBindFragDataLocationIndexedEXT --------------------------------------------
+
+-- | This command is an alias for 'glBindFragDataLocationIndexed'.
+glBindFragDataLocationIndexedEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @colorNumber@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m ()
+glBindFragDataLocationIndexedEXT v1 v2 v3 v4 = liftIO $ dyn24 ptr_glBindFragDataLocationIndexedEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindFragDataLocationIndexedEXT #-}
+ptr_glBindFragDataLocationIndexedEXT :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
+ptr_glBindFragDataLocationIndexedEXT = unsafePerformIO $ getCommand "glBindFragDataLocationIndexedEXT"
+
+-- glBindFragmentShaderATI -----------------------------------------------------
+
+glBindFragmentShaderATI
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glBindFragmentShaderATI v1 = liftIO $ dyn2 ptr_glBindFragmentShaderATI v1
+
+{-# NOINLINE ptr_glBindFragmentShaderATI #-}
+ptr_glBindFragmentShaderATI :: FunPtr (GLuint -> IO ())
+ptr_glBindFragmentShaderATI = unsafePerformIO $ getCommand "glBindFragmentShaderATI"
+
+-- glBindFramebuffer -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFramebuffer.xhtml OpenGL 4.x>.
+glBindFramebuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLuint -- ^ @framebuffer@.
+  -> m ()
+glBindFramebuffer v1 v2 = liftIO $ dyn16 ptr_glBindFramebuffer v1 v2
+
+{-# NOINLINE ptr_glBindFramebuffer #-}
+ptr_glBindFramebuffer :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindFramebuffer = unsafePerformIO $ getCommand "glBindFramebuffer"
+
+-- glBindFramebufferEXT --------------------------------------------------------
+
+glBindFramebufferEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLuint -- ^ @framebuffer@.
+  -> m ()
+glBindFramebufferEXT v1 v2 = liftIO $ dyn16 ptr_glBindFramebufferEXT v1 v2
+
+{-# NOINLINE ptr_glBindFramebufferEXT #-}
+ptr_glBindFramebufferEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindFramebufferEXT = unsafePerformIO $ getCommand "glBindFramebufferEXT"
+
+-- glBindFramebufferOES --------------------------------------------------------
+
+glBindFramebufferOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @framebuffer@.
+  -> m ()
+glBindFramebufferOES v1 v2 = liftIO $ dyn16 ptr_glBindFramebufferOES v1 v2
+
+{-# NOINLINE ptr_glBindFramebufferOES #-}
+ptr_glBindFramebufferOES :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindFramebufferOES = unsafePerformIO $ getCommand "glBindFramebufferOES"
+
+-- glBindImageTexture ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindImageTexture.xhtml OpenGL 4.x>.
+glBindImageTexture
+  :: MonadIO m
+  => GLuint -- ^ @unit@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLint -- ^ @layer@.
+  -> GLenum -- ^ @access@.
+  -> GLenum -- ^ @format@.
+  -> m ()
+glBindImageTexture v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn25 ptr_glBindImageTexture v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glBindImageTexture #-}
+ptr_glBindImageTexture :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ())
+ptr_glBindImageTexture = unsafePerformIO $ getCommand "glBindImageTexture"
+
+-- glBindImageTextureEXT -------------------------------------------------------
+
+glBindImageTextureEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLint -- ^ @layer@.
+  -> GLenum -- ^ @access@.
+  -> GLint -- ^ @format@.
+  -> m ()
+glBindImageTextureEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn26 ptr_glBindImageTextureEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glBindImageTextureEXT #-}
+ptr_glBindImageTextureEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ())
+ptr_glBindImageTextureEXT = unsafePerformIO $ getCommand "glBindImageTextureEXT"
+
+-- glBindImageTextures ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindImageTextures.xhtml OpenGL 4.x>.
+glBindImageTextures
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glBindImageTextures v1 v2 v3 = liftIO $ dyn27 ptr_glBindImageTextures v1 v2 v3
+
+{-# NOINLINE ptr_glBindImageTextures #-}
+ptr_glBindImageTextures :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glBindImageTextures = unsafePerformIO $ getCommand "glBindImageTextures"
+
+-- glBindLightParameterEXT -----------------------------------------------------
+
+glBindLightParameterEXT
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @value@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
+  -> m GLuint
+glBindLightParameterEXT v1 v2 = liftIO $ dyn28 ptr_glBindLightParameterEXT v1 v2
+
+{-# NOINLINE ptr_glBindLightParameterEXT #-}
+ptr_glBindLightParameterEXT :: FunPtr (GLenum -> GLenum -> IO GLuint)
+ptr_glBindLightParameterEXT = unsafePerformIO $ getCommand "glBindLightParameterEXT"
+
+-- glBindMaterialParameterEXT --------------------------------------------------
+
+glBindMaterialParameterEXT
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @value@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> m GLuint
+glBindMaterialParameterEXT v1 v2 = liftIO $ dyn28 ptr_glBindMaterialParameterEXT v1 v2
+
+{-# NOINLINE ptr_glBindMaterialParameterEXT #-}
+ptr_glBindMaterialParameterEXT :: FunPtr (GLenum -> GLenum -> IO GLuint)
+ptr_glBindMaterialParameterEXT = unsafePerformIO $ getCommand "glBindMaterialParameterEXT"
+
+-- glBindMultiTextureEXT -------------------------------------------------------
+
+glBindMultiTextureEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> m ()
+glBindMultiTextureEXT v1 v2 v3 = liftIO $ dyn29 ptr_glBindMultiTextureEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBindMultiTextureEXT #-}
+ptr_glBindMultiTextureEXT :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glBindMultiTextureEXT = unsafePerformIO $ getCommand "glBindMultiTextureEXT"
+
+-- glBindParameterEXT ----------------------------------------------------------
+
+glBindParameterEXT
+  :: MonadIO m
+  => GLenum -- ^ @value@ of type @VertexShaderParameterEXT@.
+  -> m GLuint
+glBindParameterEXT v1 = liftIO $ dyn30 ptr_glBindParameterEXT v1
+
+{-# NOINLINE ptr_glBindParameterEXT #-}
+ptr_glBindParameterEXT :: FunPtr (GLenum -> IO GLuint)
+ptr_glBindParameterEXT = unsafePerformIO $ getCommand "glBindParameterEXT"
+
+-- glBindProgramARB ------------------------------------------------------------
+
+glBindProgramARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @program@.
+  -> m ()
+glBindProgramARB v1 v2 = liftIO $ dyn16 ptr_glBindProgramARB v1 v2
+
+{-# NOINLINE ptr_glBindProgramARB #-}
+ptr_glBindProgramARB :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindProgramARB = unsafePerformIO $ getCommand "glBindProgramARB"
+
+-- glBindProgramNV -------------------------------------------------------------
+
+-- | This command is an alias for 'glBindProgramARB'.
+glBindProgramNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @id@.
+  -> m ()
+glBindProgramNV v1 v2 = liftIO $ dyn16 ptr_glBindProgramNV v1 v2
+
+{-# NOINLINE ptr_glBindProgramNV #-}
+ptr_glBindProgramNV :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindProgramNV = unsafePerformIO $ getCommand "glBindProgramNV"
+
+-- glBindProgramPipeline -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindProgramPipeline.xhtml OpenGL 4.x>.
+glBindProgramPipeline
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> m ()
+glBindProgramPipeline v1 = liftIO $ dyn2 ptr_glBindProgramPipeline v1
+
+{-# NOINLINE ptr_glBindProgramPipeline #-}
+ptr_glBindProgramPipeline :: FunPtr (GLuint -> IO ())
+ptr_glBindProgramPipeline = unsafePerformIO $ getCommand "glBindProgramPipeline"
+
+-- glBindProgramPipelineEXT ----------------------------------------------------
+
+glBindProgramPipelineEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> m ()
+glBindProgramPipelineEXT v1 = liftIO $ dyn2 ptr_glBindProgramPipelineEXT v1
+
+{-# NOINLINE ptr_glBindProgramPipelineEXT #-}
+ptr_glBindProgramPipelineEXT :: FunPtr (GLuint -> IO ())
+ptr_glBindProgramPipelineEXT = unsafePerformIO $ getCommand "glBindProgramPipelineEXT"
+
+-- glBindRenderbuffer ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindRenderbuffer.xhtml OpenGL 4.x>.
+glBindRenderbuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glBindRenderbuffer v1 v2 = liftIO $ dyn16 ptr_glBindRenderbuffer v1 v2
+
+{-# NOINLINE ptr_glBindRenderbuffer #-}
+ptr_glBindRenderbuffer :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindRenderbuffer = unsafePerformIO $ getCommand "glBindRenderbuffer"
+
+-- glBindRenderbufferEXT -------------------------------------------------------
+
+glBindRenderbufferEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glBindRenderbufferEXT v1 v2 = liftIO $ dyn16 ptr_glBindRenderbufferEXT v1 v2
+
+{-# NOINLINE ptr_glBindRenderbufferEXT #-}
+ptr_glBindRenderbufferEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindRenderbufferEXT = unsafePerformIO $ getCommand "glBindRenderbufferEXT"
+
+-- glBindRenderbufferOES -------------------------------------------------------
+
+glBindRenderbufferOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glBindRenderbufferOES v1 v2 = liftIO $ dyn16 ptr_glBindRenderbufferOES v1 v2
+
+{-# NOINLINE ptr_glBindRenderbufferOES #-}
+ptr_glBindRenderbufferOES :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindRenderbufferOES = unsafePerformIO $ getCommand "glBindRenderbufferOES"
+
+-- glBindSampler ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindSampler.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindSampler.xhtml OpenGL 4.x>.
+glBindSampler
+  :: MonadIO m
+  => GLuint -- ^ @unit@.
+  -> GLuint -- ^ @sampler@.
+  -> m ()
+glBindSampler v1 v2 = liftIO $ dyn3 ptr_glBindSampler v1 v2
+
+{-# NOINLINE ptr_glBindSampler #-}
+ptr_glBindSampler :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glBindSampler = unsafePerformIO $ getCommand "glBindSampler"
+
+-- glBindSamplers --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindSamplers.xhtml OpenGL 4.x>.
+glBindSamplers
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glBindSamplers v1 v2 v3 = liftIO $ dyn27 ptr_glBindSamplers v1 v2 v3
+
+{-# NOINLINE ptr_glBindSamplers #-}
+ptr_glBindSamplers :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glBindSamplers = unsafePerformIO $ getCommand "glBindSamplers"
+
+-- glBindTexGenParameterEXT ----------------------------------------------------
+
+glBindTexGenParameterEXT
+  :: MonadIO m
+  => GLenum -- ^ @unit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @value@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> m GLuint
+glBindTexGenParameterEXT v1 v2 v3 = liftIO $ dyn31 ptr_glBindTexGenParameterEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBindTexGenParameterEXT #-}
+ptr_glBindTexGenParameterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint)
+ptr_glBindTexGenParameterEXT = unsafePerformIO $ getCommand "glBindTexGenParameterEXT"
+
+-- glBindTexture ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindTexture.xhtml OpenGL 4.x>.
+glBindTexture
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> m ()
+glBindTexture v1 v2 = liftIO $ dyn16 ptr_glBindTexture v1 v2
+
+{-# NOINLINE ptr_glBindTexture #-}
+ptr_glBindTexture :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindTexture = unsafePerformIO $ getCommand "glBindTexture"
+
+-- glBindTextureEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glBindTexture'.
+glBindTextureEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> m ()
+glBindTextureEXT v1 v2 = liftIO $ dyn16 ptr_glBindTextureEXT v1 v2
+
+{-# NOINLINE ptr_glBindTextureEXT #-}
+ptr_glBindTextureEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindTextureEXT = unsafePerformIO $ getCommand "glBindTextureEXT"
+
+-- glBindTextureUnit -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTextureUnit.xhtml OpenGL 4.x>.
+glBindTextureUnit
+  :: MonadIO m
+  => GLuint -- ^ @unit@.
+  -> GLuint -- ^ @texture@.
+  -> m ()
+glBindTextureUnit v1 v2 = liftIO $ dyn3 ptr_glBindTextureUnit v1 v2
+
+{-# NOINLINE ptr_glBindTextureUnit #-}
+ptr_glBindTextureUnit :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glBindTextureUnit = unsafePerformIO $ getCommand "glBindTextureUnit"
+
+-- glBindTextureUnitParameterEXT -----------------------------------------------
+
+glBindTextureUnitParameterEXT
+  :: MonadIO m
+  => GLenum -- ^ @unit@ of type @TextureUnit@.
+  -> GLenum -- ^ @value@ of type @VertexShaderTextureUnitParameter@.
+  -> m GLuint
+glBindTextureUnitParameterEXT v1 v2 = liftIO $ dyn28 ptr_glBindTextureUnitParameterEXT v1 v2
+
+{-# NOINLINE ptr_glBindTextureUnitParameterEXT #-}
+ptr_glBindTextureUnitParameterEXT :: FunPtr (GLenum -> GLenum -> IO GLuint)
+ptr_glBindTextureUnitParameterEXT = unsafePerformIO $ getCommand "glBindTextureUnitParameterEXT"
+
+-- glBindTextures --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTextures.xhtml OpenGL 4.x>.
+glBindTextures
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glBindTextures v1 v2 v3 = liftIO $ dyn27 ptr_glBindTextures v1 v2 v3
+
+{-# NOINLINE ptr_glBindTextures #-}
+ptr_glBindTextures :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glBindTextures = unsafePerformIO $ getCommand "glBindTextures"
+
+-- glBindTransformFeedback -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTransformFeedback.xhtml OpenGL 4.x>.
+glBindTransformFeedback
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @id@.
+  -> m ()
+glBindTransformFeedback v1 v2 = liftIO $ dyn16 ptr_glBindTransformFeedback v1 v2
+
+{-# NOINLINE ptr_glBindTransformFeedback #-}
+ptr_glBindTransformFeedback :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindTransformFeedback = unsafePerformIO $ getCommand "glBindTransformFeedback"
+
+-- glBindTransformFeedbackNV ---------------------------------------------------
+
+glBindTransformFeedbackNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLuint -- ^ @id@.
+  -> m ()
+glBindTransformFeedbackNV v1 v2 = liftIO $ dyn16 ptr_glBindTransformFeedbackNV v1 v2
+
+{-# NOINLINE ptr_glBindTransformFeedbackNV #-}
+ptr_glBindTransformFeedbackNV :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glBindTransformFeedbackNV = unsafePerformIO $ getCommand "glBindTransformFeedbackNV"
+
+-- glBindVertexArray -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindVertexArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindVertexArray.xhtml OpenGL 4.x>.
+glBindVertexArray
+  :: MonadIO m
+  => GLuint -- ^ @array@.
+  -> m ()
+glBindVertexArray v1 = liftIO $ dyn2 ptr_glBindVertexArray v1
+
+{-# NOINLINE ptr_glBindVertexArray #-}
+ptr_glBindVertexArray :: FunPtr (GLuint -> IO ())
+ptr_glBindVertexArray = unsafePerformIO $ getCommand "glBindVertexArray"
+
+-- glBindVertexArrayAPPLE ------------------------------------------------------
+
+glBindVertexArrayAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @array@.
+  -> m ()
+glBindVertexArrayAPPLE v1 = liftIO $ dyn2 ptr_glBindVertexArrayAPPLE v1
+
+{-# NOINLINE ptr_glBindVertexArrayAPPLE #-}
+ptr_glBindVertexArrayAPPLE :: FunPtr (GLuint -> IO ())
+ptr_glBindVertexArrayAPPLE = unsafePerformIO $ getCommand "glBindVertexArrayAPPLE"
+
+-- glBindVertexArrayOES --------------------------------------------------------
+
+-- | This command is an alias for 'glBindVertexArray'.
+glBindVertexArrayOES
+  :: MonadIO m
+  => GLuint -- ^ @array@.
+  -> m ()
+glBindVertexArrayOES v1 = liftIO $ dyn2 ptr_glBindVertexArrayOES v1
+
+{-# NOINLINE ptr_glBindVertexArrayOES #-}
+ptr_glBindVertexArrayOES :: FunPtr (GLuint -> IO ())
+ptr_glBindVertexArrayOES = unsafePerformIO $ getCommand "glBindVertexArrayOES"
+
+-- glBindVertexBuffer ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffer.xhtml OpenGL 4.x>.
+glBindVertexBuffer
+  :: MonadIO m
+  => GLuint -- ^ @bindingindex@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glBindVertexBuffer v1 v2 v3 v4 = liftIO $ dyn32 ptr_glBindVertexBuffer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindVertexBuffer #-}
+ptr_glBindVertexBuffer :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
+ptr_glBindVertexBuffer = unsafePerformIO $ getCommand "glBindVertexBuffer"
+
+-- glBindVertexBuffers ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffers.xhtml OpenGL 4.x>.
+glBindVertexBuffers
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLintptr -- ^ @offsets@ pointing to @count@ elements of type @GLintptr@.
+  -> Ptr GLsizei -- ^ @strides@ pointing to @count@ elements of type @GLsizei@.
+  -> m ()
+glBindVertexBuffers v1 v2 v3 v4 v5 = liftIO $ dyn33 ptr_glBindVertexBuffers v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBindVertexBuffers #-}
+ptr_glBindVertexBuffers :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
+ptr_glBindVertexBuffers = unsafePerformIO $ getCommand "glBindVertexBuffers"
+
+-- glBindVertexShaderEXT -------------------------------------------------------
+
+glBindVertexShaderEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glBindVertexShaderEXT v1 = liftIO $ dyn2 ptr_glBindVertexShaderEXT v1
+
+{-# NOINLINE ptr_glBindVertexShaderEXT #-}
+ptr_glBindVertexShaderEXT :: FunPtr (GLuint -> IO ())
+ptr_glBindVertexShaderEXT = unsafePerformIO $ getCommand "glBindVertexShaderEXT"
+
+-- glBindVideoCaptureStreamBufferNV --------------------------------------------
+
+glBindVideoCaptureStreamBufferNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @frame_region@.
+  -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
+  -> m ()
+glBindVideoCaptureStreamBufferNV v1 v2 v3 v4 = liftIO $ dyn34 ptr_glBindVideoCaptureStreamBufferNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBindVideoCaptureStreamBufferNV #-}
+ptr_glBindVideoCaptureStreamBufferNV :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ())
+ptr_glBindVideoCaptureStreamBufferNV = unsafePerformIO $ getCommand "glBindVideoCaptureStreamBufferNV"
+
+-- glBindVideoCaptureStreamTextureNV -------------------------------------------
+
+glBindVideoCaptureStreamTextureNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @frame_region@.
+  -> GLenum -- ^ @target@.
+  -> GLuint -- ^ @texture@.
+  -> m ()
+glBindVideoCaptureStreamTextureNV v1 v2 v3 v4 v5 = liftIO $ dyn35 ptr_glBindVideoCaptureStreamTextureNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBindVideoCaptureStreamTextureNV #-}
+ptr_glBindVideoCaptureStreamTextureNV :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glBindVideoCaptureStreamTextureNV = unsafePerformIO $ getCommand "glBindVideoCaptureStreamTextureNV"
+
+-- glBinormal3bEXT -------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glBinormal3bvEXT'.
+glBinormal3bEXT
+  :: MonadIO m
+  => GLbyte -- ^ @bx@.
+  -> GLbyte -- ^ @by@.
+  -> GLbyte -- ^ @bz@.
+  -> m ()
+glBinormal3bEXT v1 v2 v3 = liftIO $ dyn36 ptr_glBinormal3bEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBinormal3bEXT #-}
+ptr_glBinormal3bEXT :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glBinormal3bEXT = unsafePerformIO $ getCommand "glBinormal3bEXT"
+
+-- glBinormal3bvEXT ------------------------------------------------------------
+
+glBinormal3bvEXT
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @GLbyte@.
+  -> m ()
+glBinormal3bvEXT v1 = liftIO $ dyn37 ptr_glBinormal3bvEXT v1
+
+{-# NOINLINE ptr_glBinormal3bvEXT #-}
+ptr_glBinormal3bvEXT :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glBinormal3bvEXT = unsafePerformIO $ getCommand "glBinormal3bvEXT"
+
+-- glBinormal3dEXT -------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glBinormal3dvEXT'.
+glBinormal3dEXT
+  :: MonadIO m
+  => GLdouble -- ^ @bx@ of type @CoordD@.
+  -> GLdouble -- ^ @by@ of type @CoordD@.
+  -> GLdouble -- ^ @bz@ of type @CoordD@.
+  -> m ()
+glBinormal3dEXT v1 v2 v3 = liftIO $ dyn38 ptr_glBinormal3dEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBinormal3dEXT #-}
+ptr_glBinormal3dEXT :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glBinormal3dEXT = unsafePerformIO $ getCommand "glBinormal3dEXT"
+
+-- glBinormal3dvEXT ------------------------------------------------------------
+
+glBinormal3dvEXT
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glBinormal3dvEXT v1 = liftIO $ dyn39 ptr_glBinormal3dvEXT v1
+
+{-# NOINLINE ptr_glBinormal3dvEXT #-}
+ptr_glBinormal3dvEXT :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glBinormal3dvEXT = unsafePerformIO $ getCommand "glBinormal3dvEXT"
+
+-- glBinormal3fEXT -------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glBinormal3fvEXT'.
+glBinormal3fEXT
+  :: MonadIO m
+  => GLfloat -- ^ @bx@ of type @CoordF@.
+  -> GLfloat -- ^ @by@ of type @CoordF@.
+  -> GLfloat -- ^ @bz@ of type @CoordF@.
+  -> m ()
+glBinormal3fEXT v1 v2 v3 = liftIO $ dyn40 ptr_glBinormal3fEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBinormal3fEXT #-}
+ptr_glBinormal3fEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glBinormal3fEXT = unsafePerformIO $ getCommand "glBinormal3fEXT"
+
+-- glBinormal3fvEXT ------------------------------------------------------------
+
+glBinormal3fvEXT
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glBinormal3fvEXT v1 = liftIO $ dyn41 ptr_glBinormal3fvEXT v1
+
+{-# NOINLINE ptr_glBinormal3fvEXT #-}
+ptr_glBinormal3fvEXT :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glBinormal3fvEXT = unsafePerformIO $ getCommand "glBinormal3fvEXT"
+
+-- glBinormal3iEXT -------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glBinormal3ivEXT'.
+glBinormal3iEXT
+  :: MonadIO m
+  => GLint -- ^ @bx@.
+  -> GLint -- ^ @by@.
+  -> GLint -- ^ @bz@.
+  -> m ()
+glBinormal3iEXT v1 v2 v3 = liftIO $ dyn42 ptr_glBinormal3iEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBinormal3iEXT #-}
+ptr_glBinormal3iEXT :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glBinormal3iEXT = unsafePerformIO $ getCommand "glBinormal3iEXT"
+
+-- glBinormal3ivEXT ------------------------------------------------------------
+
+glBinormal3ivEXT
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glBinormal3ivEXT v1 = liftIO $ dyn43 ptr_glBinormal3ivEXT v1
+
+{-# NOINLINE ptr_glBinormal3ivEXT #-}
+ptr_glBinormal3ivEXT :: FunPtr (Ptr GLint -> IO ())
+ptr_glBinormal3ivEXT = unsafePerformIO $ getCommand "glBinormal3ivEXT"
+
+-- glBinormal3sEXT -------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glBinormal3svEXT'.
+glBinormal3sEXT
+  :: MonadIO m
+  => GLshort -- ^ @bx@.
+  -> GLshort -- ^ @by@.
+  -> GLshort -- ^ @bz@.
+  -> m ()
+glBinormal3sEXT v1 v2 v3 = liftIO $ dyn44 ptr_glBinormal3sEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBinormal3sEXT #-}
+ptr_glBinormal3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glBinormal3sEXT = unsafePerformIO $ getCommand "glBinormal3sEXT"
+
+-- glBinormal3svEXT ------------------------------------------------------------
+
+glBinormal3svEXT
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glBinormal3svEXT v1 = liftIO $ dyn45 ptr_glBinormal3svEXT v1
+
+{-# NOINLINE ptr_glBinormal3svEXT #-}
+ptr_glBinormal3svEXT :: FunPtr (Ptr GLshort -> IO ())
+ptr_glBinormal3svEXT = unsafePerformIO $ getCommand "glBinormal3svEXT"
+
+-- glBinormalPointerEXT --------------------------------------------------------
+
+glBinormalPointerEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type @BinormalPointerTypeEXT@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glBinormalPointerEXT v1 v2 v3 = liftIO $ dyn46 ptr_glBinormalPointerEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBinormalPointerEXT #-}
+ptr_glBinormalPointerEXT :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glBinormalPointerEXT = unsafePerformIO $ getCommand "glBinormalPointerEXT"
+
+-- glBitmap --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBitmap.xml OpenGL 2.x>.
+glBitmap
+  :: MonadIO m
+  => GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLfloat -- ^ @xorig@ of type @CoordF@.
+  -> GLfloat -- ^ @yorig@ of type @CoordF@.
+  -> GLfloat -- ^ @xmove@ of type @CoordF@.
+  -> GLfloat -- ^ @ymove@ of type @CoordF@.
+  -> Ptr GLubyte -- ^ @bitmap@ pointing to @COMPSIZE(width,height)@ elements of type @GLubyte@.
+  -> m ()
+glBitmap v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn47 ptr_glBitmap v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glBitmap #-}
+ptr_glBitmap :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
+ptr_glBitmap = unsafePerformIO $ getCommand "glBitmap"
+
+-- glBitmapxOES ----------------------------------------------------------------
+
+glBitmapxOES
+  :: MonadIO m
+  => GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLfixed -- ^ @xorig@.
+  -> GLfixed -- ^ @yorig@.
+  -> GLfixed -- ^ @xmove@.
+  -> GLfixed -- ^ @ymove@.
+  -> Ptr GLubyte -- ^ @bitmap@ pointing to @COMPSIZE(width,height)@ elements of type @GLubyte@.
+  -> m ()
+glBitmapxOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn48 ptr_glBitmapxOES v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glBitmapxOES #-}
+ptr_glBitmapxOES :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ())
+ptr_glBitmapxOES = unsafePerformIO $ getCommand "glBitmapxOES"
+
+-- glBlendBarrier --------------------------------------------------------------
+
+glBlendBarrier
+  :: MonadIO m
+  => m ()
+glBlendBarrier = liftIO $ dyn10 ptr_glBlendBarrier
+
+{-# NOINLINE ptr_glBlendBarrier #-}
+ptr_glBlendBarrier :: FunPtr (IO ())
+ptr_glBlendBarrier = unsafePerformIO $ getCommand "glBlendBarrier"
+
+-- glBlendBarrierKHR -----------------------------------------------------------
+
+-- | This command is an alias for 'glBlendBarrier'.
+glBlendBarrierKHR
+  :: MonadIO m
+  => m ()
+glBlendBarrierKHR = liftIO $ dyn10 ptr_glBlendBarrierKHR
+
+{-# NOINLINE ptr_glBlendBarrierKHR #-}
+ptr_glBlendBarrierKHR :: FunPtr (IO ())
+ptr_glBlendBarrierKHR = unsafePerformIO $ getCommand "glBlendBarrierKHR"
+
+-- glBlendBarrierNV ------------------------------------------------------------
+
+-- | This command is an alias for 'glBlendBarrier'.
+glBlendBarrierNV
+  :: MonadIO m
+  => m ()
+glBlendBarrierNV = liftIO $ dyn10 ptr_glBlendBarrierNV
+
+{-# NOINLINE ptr_glBlendBarrierNV #-}
+ptr_glBlendBarrierNV :: FunPtr (IO ())
+ptr_glBlendBarrierNV = unsafePerformIO $ getCommand "glBlendBarrierNV"
+
+-- glBlendColor ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendColor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendColor.xhtml OpenGL 4.x>.
+glBlendColor
+  :: MonadIO m
+  => GLfloat -- ^ @red@ of type @ColorF@.
+  -> GLfloat -- ^ @green@ of type @ColorF@.
+  -> GLfloat -- ^ @blue@ of type @ColorF@.
+  -> GLfloat -- ^ @alpha@ of type @ColorF@.
+  -> m ()
+glBlendColor v1 v2 v3 v4 = liftIO $ dyn49 ptr_glBlendColor v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBlendColor #-}
+ptr_glBlendColor :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glBlendColor = unsafePerformIO $ getCommand "glBlendColor"
+
+-- glBlendColorEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glBlendColor'.
+glBlendColorEXT
+  :: MonadIO m
+  => GLfloat -- ^ @red@ of type @ColorF@.
+  -> GLfloat -- ^ @green@ of type @ColorF@.
+  -> GLfloat -- ^ @blue@ of type @ColorF@.
+  -> GLfloat -- ^ @alpha@ of type @ColorF@.
+  -> m ()
+glBlendColorEXT v1 v2 v3 v4 = liftIO $ dyn49 ptr_glBlendColorEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBlendColorEXT #-}
+ptr_glBlendColorEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glBlendColorEXT = unsafePerformIO $ getCommand "glBlendColorEXT"
+
+-- glBlendColorxOES ------------------------------------------------------------
+
+glBlendColorxOES
+  :: MonadIO m
+  => GLfixed -- ^ @red@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @green@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
+  -> m ()
+glBlendColorxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glBlendColorxOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBlendColorxOES #-}
+ptr_glBlendColorxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glBlendColorxOES = unsafePerformIO $ getCommand "glBlendColorxOES"
+
+-- glBlendEquation -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendEquation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml OpenGL 4.x>.
+glBlendEquation
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type @BlendEquationMode@.
+  -> m ()
+glBlendEquation v1 = liftIO $ dyn4 ptr_glBlendEquation v1
+
+{-# NOINLINE ptr_glBlendEquation #-}
+ptr_glBlendEquation :: FunPtr (GLenum -> IO ())
+ptr_glBlendEquation = unsafePerformIO $ getCommand "glBlendEquation"
+
+-- glBlendEquationEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquation'.
+glBlendEquationEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> m ()
+glBlendEquationEXT v1 = liftIO $ dyn4 ptr_glBlendEquationEXT v1
+
+{-# NOINLINE ptr_glBlendEquationEXT #-}
+ptr_glBlendEquationEXT :: FunPtr (GLenum -> IO ())
+ptr_glBlendEquationEXT = unsafePerformIO $ getCommand "glBlendEquationEXT"
+
+-- glBlendEquationIndexedAMD ---------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationi'.
+glBlendEquationIndexedAMD
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @mode@.
+  -> m ()
+glBlendEquationIndexedAMD v1 v2 = liftIO $ dyn15 ptr_glBlendEquationIndexedAMD v1 v2
+
+{-# NOINLINE ptr_glBlendEquationIndexedAMD #-}
+ptr_glBlendEquationIndexedAMD :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glBlendEquationIndexedAMD = unsafePerformIO $ getCommand "glBlendEquationIndexedAMD"
+
+-- glBlendEquationOES ----------------------------------------------------------
+
+glBlendEquationOES
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> m ()
+glBlendEquationOES v1 = liftIO $ dyn4 ptr_glBlendEquationOES v1
+
+{-# NOINLINE ptr_glBlendEquationOES #-}
+ptr_glBlendEquationOES :: FunPtr (GLenum -> IO ())
+ptr_glBlendEquationOES = unsafePerformIO $ getCommand "glBlendEquationOES"
+
+-- glBlendEquationSeparate -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendEquationSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquationSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendEquationSeparate.xhtml OpenGL 4.x>.
+glBlendEquationSeparate
+  :: MonadIO m
+  => GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> m ()
+glBlendEquationSeparate v1 v2 = liftIO $ dyn51 ptr_glBlendEquationSeparate v1 v2
+
+{-# NOINLINE ptr_glBlendEquationSeparate #-}
+ptr_glBlendEquationSeparate :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparate = unsafePerformIO $ getCommand "glBlendEquationSeparate"
+
+-- glBlendEquationSeparateEXT --------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationSeparate'.
+glBlendEquationSeparateEXT
+  :: MonadIO m
+  => GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-GL-Groups.html#BlendEquationModeEXT).
+  -> m ()
+glBlendEquationSeparateEXT v1 v2 = liftIO $ dyn51 ptr_glBlendEquationSeparateEXT v1 v2
+
+{-# NOINLINE ptr_glBlendEquationSeparateEXT #-}
+ptr_glBlendEquationSeparateEXT :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparateEXT = unsafePerformIO $ getCommand "glBlendEquationSeparateEXT"
+
+-- glBlendEquationSeparateIndexedAMD -------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationSeparatei'.
+glBlendEquationSeparateIndexedAMD
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @modeRGB@.
+  -> GLenum -- ^ @modeAlpha@.
+  -> m ()
+glBlendEquationSeparateIndexedAMD v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateIndexedAMD v1 v2 v3
+
+{-# NOINLINE ptr_glBlendEquationSeparateIndexedAMD #-}
+ptr_glBlendEquationSeparateIndexedAMD :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparateIndexedAMD = unsafePerformIO $ getCommand "glBlendEquationSeparateIndexedAMD"
+
+-- glBlendEquationSeparateOES --------------------------------------------------
+
+glBlendEquationSeparateOES
+  :: MonadIO m
+  => GLenum -- ^ @modeRGB@.
+  -> GLenum -- ^ @modeAlpha@.
+  -> m ()
+glBlendEquationSeparateOES v1 v2 = liftIO $ dyn51 ptr_glBlendEquationSeparateOES v1 v2
+
+{-# NOINLINE ptr_glBlendEquationSeparateOES #-}
+ptr_glBlendEquationSeparateOES :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparateOES = unsafePerformIO $ getCommand "glBlendEquationSeparateOES"
+
+-- glBlendEquationSeparatei ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendEquationSeparate.xhtml OpenGL 4.x>.
+glBlendEquationSeparatei
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @modeRGB@.
+  -> GLenum -- ^ @modeAlpha@.
+  -> m ()
+glBlendEquationSeparatei v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparatei v1 v2 v3
+
+{-# NOINLINE ptr_glBlendEquationSeparatei #-}
+ptr_glBlendEquationSeparatei :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparatei = unsafePerformIO $ getCommand "glBlendEquationSeparatei"
+
+-- glBlendEquationSeparateiARB -------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationSeparatei'.
+glBlendEquationSeparateiARB
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @modeRGB@.
+  -> GLenum -- ^ @modeAlpha@.
+  -> m ()
+glBlendEquationSeparateiARB v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateiARB v1 v2 v3
+
+{-# NOINLINE ptr_glBlendEquationSeparateiARB #-}
+ptr_glBlendEquationSeparateiARB :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparateiARB = unsafePerformIO $ getCommand "glBlendEquationSeparateiARB"
+
+-- glBlendEquationSeparateiEXT -------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationSeparatei'.
+glBlendEquationSeparateiEXT
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @modeRGB@.
+  -> GLenum -- ^ @modeAlpha@.
+  -> m ()
+glBlendEquationSeparateiEXT v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateiEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBlendEquationSeparateiEXT #-}
+ptr_glBlendEquationSeparateiEXT :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparateiEXT = unsafePerformIO $ getCommand "glBlendEquationSeparateiEXT"
+
+-- glBlendEquationSeparateiOES -------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationSeparatei'.
+glBlendEquationSeparateiOES
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @modeRGB@.
+  -> GLenum -- ^ @modeAlpha@.
+  -> m ()
+glBlendEquationSeparateiOES v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateiOES v1 v2 v3
+
+{-# NOINLINE ptr_glBlendEquationSeparateiOES #-}
+ptr_glBlendEquationSeparateiOES :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendEquationSeparateiOES = unsafePerformIO $ getCommand "glBlendEquationSeparateiOES"
+
+-- glBlendEquationi ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml OpenGL 4.x>.
+glBlendEquationi
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @mode@.
+  -> m ()
+glBlendEquationi v1 v2 = liftIO $ dyn15 ptr_glBlendEquationi v1 v2
+
+{-# NOINLINE ptr_glBlendEquationi #-}
+ptr_glBlendEquationi :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glBlendEquationi = unsafePerformIO $ getCommand "glBlendEquationi"
+
+-- glBlendEquationiARB ---------------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationi'.
+glBlendEquationiARB
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @mode@.
+  -> m ()
+glBlendEquationiARB v1 v2 = liftIO $ dyn15 ptr_glBlendEquationiARB v1 v2
+
+{-# NOINLINE ptr_glBlendEquationiARB #-}
+ptr_glBlendEquationiARB :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glBlendEquationiARB = unsafePerformIO $ getCommand "glBlendEquationiARB"
+
+-- glBlendEquationiEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationi'.
+glBlendEquationiEXT
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @mode@.
+  -> m ()
+glBlendEquationiEXT v1 v2 = liftIO $ dyn15 ptr_glBlendEquationiEXT v1 v2
+
+{-# NOINLINE ptr_glBlendEquationiEXT #-}
+ptr_glBlendEquationiEXT :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glBlendEquationiEXT = unsafePerformIO $ getCommand "glBlendEquationiEXT"
+
+-- glBlendEquationiOES ---------------------------------------------------------
+
+-- | This command is an alias for 'glBlendEquationi'.
+glBlendEquationiOES
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @mode@.
+  -> m ()
+glBlendEquationiOES v1 v2 = liftIO $ dyn15 ptr_glBlendEquationiOES v1 v2
+
+{-# NOINLINE ptr_glBlendEquationiOES #-}
+ptr_glBlendEquationiOES :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glBlendEquationiOES = unsafePerformIO $ getCommand "glBlendEquationiOES"
+
+-- glBlendFunc -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendFunc.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFunc.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml OpenGL 4.x>.
+glBlendFunc
+  :: MonadIO m
+  => GLenum -- ^ @sfactor@ of type [BlendingFactorSrc](Graphics-GL-Groups.html#BlendingFactorSrc).
+  -> GLenum -- ^ @dfactor@ of type [BlendingFactorDest](Graphics-GL-Groups.html#BlendingFactorDest).
+  -> m ()
+glBlendFunc v1 v2 = liftIO $ dyn51 ptr_glBlendFunc v1 v2
+
+{-# NOINLINE ptr_glBlendFunc #-}
+ptr_glBlendFunc :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glBlendFunc = unsafePerformIO $ getCommand "glBlendFunc"
+
+-- glBlendFuncIndexedAMD -------------------------------------------------------
+
+-- | This command is an alias for 'glBlendFunci'.
+glBlendFuncIndexedAMD
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @src@.
+  -> GLenum -- ^ @dst@.
+  -> m ()
+glBlendFuncIndexedAMD v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFuncIndexedAMD v1 v2 v3
+
+{-# NOINLINE ptr_glBlendFuncIndexedAMD #-}
+ptr_glBlendFuncIndexedAMD :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncIndexedAMD = unsafePerformIO $ getCommand "glBlendFuncIndexedAMD"
+
+-- glBlendFuncSeparate ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendFuncSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFuncSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml OpenGL 4.x>.
+glBlendFuncSeparate
+  :: MonadIO m
+  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  -> m ()
+glBlendFuncSeparate v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparate v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBlendFuncSeparate #-}
+ptr_glBlendFuncSeparate :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparate = unsafePerformIO $ getCommand "glBlendFuncSeparate"
+
+-- glBlendFuncSeparateEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glBlendFuncSeparate'.
+glBlendFuncSeparateEXT
+  :: MonadIO m
+  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  -> m ()
+glBlendFuncSeparateEXT v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparateEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBlendFuncSeparateEXT #-}
+ptr_glBlendFuncSeparateEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparateEXT = unsafePerformIO $ getCommand "glBlendFuncSeparateEXT"
+
+-- glBlendFuncSeparateINGR -----------------------------------------------------
+
+-- | This command is an alias for 'glBlendFuncSeparate'.
+glBlendFuncSeparateINGR
+  :: MonadIO m
+  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
+  -> m ()
+glBlendFuncSeparateINGR v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparateINGR v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBlendFuncSeparateINGR #-}
+ptr_glBlendFuncSeparateINGR :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparateINGR = unsafePerformIO $ getCommand "glBlendFuncSeparateINGR"
+
+-- glBlendFuncSeparateIndexedAMD -----------------------------------------------
+
+-- | This command is an alias for 'glBlendFuncSeparatei'.
+glBlendFuncSeparateIndexedAMD
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @srcRGB@.
+  -> GLenum -- ^ @dstRGB@.
+  -> GLenum -- ^ @srcAlpha@.
+  -> GLenum -- ^ @dstAlpha@.
+  -> m ()
+glBlendFuncSeparateIndexedAMD v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateIndexedAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBlendFuncSeparateIndexedAMD #-}
+ptr_glBlendFuncSeparateIndexedAMD :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparateIndexedAMD = unsafePerformIO $ getCommand "glBlendFuncSeparateIndexedAMD"
+
+-- glBlendFuncSeparateOES ------------------------------------------------------
+
+glBlendFuncSeparateOES
+  :: MonadIO m
+  => GLenum -- ^ @srcRGB@.
+  -> GLenum -- ^ @dstRGB@.
+  -> GLenum -- ^ @srcAlpha@.
+  -> GLenum -- ^ @dstAlpha@.
+  -> m ()
+glBlendFuncSeparateOES v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparateOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBlendFuncSeparateOES #-}
+ptr_glBlendFuncSeparateOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparateOES = unsafePerformIO $ getCommand "glBlendFuncSeparateOES"
+
+-- glBlendFuncSeparatei --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml OpenGL 4.x>.
+glBlendFuncSeparatei
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @srcRGB@.
+  -> GLenum -- ^ @dstRGB@.
+  -> GLenum -- ^ @srcAlpha@.
+  -> GLenum -- ^ @dstAlpha@.
+  -> m ()
+glBlendFuncSeparatei v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparatei v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBlendFuncSeparatei #-}
+ptr_glBlendFuncSeparatei :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparatei = unsafePerformIO $ getCommand "glBlendFuncSeparatei"
+
+-- glBlendFuncSeparateiARB -----------------------------------------------------
+
+-- | This command is an alias for 'glBlendFuncSeparatei'.
+glBlendFuncSeparateiARB
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @srcRGB@.
+  -> GLenum -- ^ @dstRGB@.
+  -> GLenum -- ^ @srcAlpha@.
+  -> GLenum -- ^ @dstAlpha@.
+  -> m ()
+glBlendFuncSeparateiARB v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateiARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBlendFuncSeparateiARB #-}
+ptr_glBlendFuncSeparateiARB :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparateiARB = unsafePerformIO $ getCommand "glBlendFuncSeparateiARB"
+
+-- glBlendFuncSeparateiEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glBlendFuncSeparatei'.
+glBlendFuncSeparateiEXT
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @srcRGB@.
+  -> GLenum -- ^ @dstRGB@.
+  -> GLenum -- ^ @srcAlpha@.
+  -> GLenum -- ^ @dstAlpha@.
+  -> m ()
+glBlendFuncSeparateiEXT v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateiEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBlendFuncSeparateiEXT #-}
+ptr_glBlendFuncSeparateiEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparateiEXT = unsafePerformIO $ getCommand "glBlendFuncSeparateiEXT"
+
+-- glBlendFuncSeparateiOES -----------------------------------------------------
+
+-- | This command is an alias for 'glBlendFuncSeparatei'.
+glBlendFuncSeparateiOES
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @srcRGB@.
+  -> GLenum -- ^ @dstRGB@.
+  -> GLenum -- ^ @srcAlpha@.
+  -> GLenum -- ^ @dstAlpha@.
+  -> m ()
+glBlendFuncSeparateiOES v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateiOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glBlendFuncSeparateiOES #-}
+ptr_glBlendFuncSeparateiOES :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glBlendFuncSeparateiOES = unsafePerformIO $ getCommand "glBlendFuncSeparateiOES"
+
+-- glBlendFunci ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml OpenGL 4.x>.
+glBlendFunci
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @src@.
+  -> GLenum -- ^ @dst@.
+  -> m ()
+glBlendFunci v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunci v1 v2 v3
+
+{-# NOINLINE ptr_glBlendFunci #-}
+ptr_glBlendFunci :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendFunci = unsafePerformIO $ getCommand "glBlendFunci"
+
+-- glBlendFunciARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glBlendFunci'.
+glBlendFunciARB
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @src@.
+  -> GLenum -- ^ @dst@.
+  -> m ()
+glBlendFunciARB v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunciARB v1 v2 v3
+
+{-# NOINLINE ptr_glBlendFunciARB #-}
+ptr_glBlendFunciARB :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendFunciARB = unsafePerformIO $ getCommand "glBlendFunciARB"
+
+-- glBlendFunciEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glBlendFunci'.
+glBlendFunciEXT
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @src@.
+  -> GLenum -- ^ @dst@.
+  -> m ()
+glBlendFunciEXT v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunciEXT v1 v2 v3
+
+{-# NOINLINE ptr_glBlendFunciEXT #-}
+ptr_glBlendFunciEXT :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendFunciEXT = unsafePerformIO $ getCommand "glBlendFunciEXT"
+
+-- glBlendFunciOES -------------------------------------------------------------
+
+-- | This command is an alias for 'glBlendFunci'.
+glBlendFunciOES
+  :: MonadIO m
+  => GLuint -- ^ @buf@.
+  -> GLenum -- ^ @src@.
+  -> GLenum -- ^ @dst@.
+  -> m ()
+glBlendFunciOES v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunciOES v1 v2 v3
+
+{-# NOINLINE ptr_glBlendFunciOES #-}
+ptr_glBlendFunciOES :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
+ptr_glBlendFunciOES = unsafePerformIO $ getCommand "glBlendFunciOES"
+
+-- glBlendParameteriNV ---------------------------------------------------------
+
+glBlendParameteriNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glBlendParameteriNV v1 v2 = liftIO $ dyn55 ptr_glBlendParameteriNV v1 v2
+
+{-# NOINLINE ptr_glBlendParameteriNV #-}
+ptr_glBlendParameteriNV :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glBlendParameteriNV = unsafePerformIO $ getCommand "glBlendParameteriNV"
+
+-- glBlitFramebuffer -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBlitFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlitFramebuffer.xhtml OpenGL 4.x>.
+glBlitFramebuffer
+  :: MonadIO m
+  => GLint -- ^ @srcX0@.
+  -> GLint -- ^ @srcY0@.
+  -> GLint -- ^ @srcX1@.
+  -> GLint -- ^ @srcY1@.
+  -> GLint -- ^ @dstX0@.
+  -> GLint -- ^ @dstY0@.
+  -> GLint -- ^ @dstX1@.
+  -> GLint -- ^ @dstY1@.
+  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
+  -> GLenum -- ^ @filter@.
+  -> m ()
+glBlitFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glBlitFramebuffer #-}
+ptr_glBlitFramebuffer :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+ptr_glBlitFramebuffer = unsafePerformIO $ getCommand "glBlitFramebuffer"
+
+-- glBlitFramebufferANGLE ------------------------------------------------------
+
+glBlitFramebufferANGLE
+  :: MonadIO m
+  => GLint -- ^ @srcX0@.
+  -> GLint -- ^ @srcY0@.
+  -> GLint -- ^ @srcX1@.
+  -> GLint -- ^ @srcY1@.
+  -> GLint -- ^ @dstX0@.
+  -> GLint -- ^ @dstY0@.
+  -> GLint -- ^ @dstX1@.
+  -> GLint -- ^ @dstY1@.
+  -> GLbitfield -- ^ @mask@.
+  -> GLenum -- ^ @filter@.
+  -> m ()
+glBlitFramebufferANGLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebufferANGLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glBlitFramebufferANGLE #-}
+ptr_glBlitFramebufferANGLE :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+ptr_glBlitFramebufferANGLE = unsafePerformIO $ getCommand "glBlitFramebufferANGLE"
+
+-- glBlitFramebufferEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glBlitFramebuffer'.
+glBlitFramebufferEXT
+  :: MonadIO m
+  => GLint -- ^ @srcX0@.
+  -> GLint -- ^ @srcY0@.
+  -> GLint -- ^ @srcX1@.
+  -> GLint -- ^ @srcY1@.
+  -> GLint -- ^ @dstX0@.
+  -> GLint -- ^ @dstY0@.
+  -> GLint -- ^ @dstX1@.
+  -> GLint -- ^ @dstY1@.
+  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
+  -> GLenum -- ^ @filter@.
+  -> m ()
+glBlitFramebufferEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebufferEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glBlitFramebufferEXT #-}
+ptr_glBlitFramebufferEXT :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+ptr_glBlitFramebufferEXT = unsafePerformIO $ getCommand "glBlitFramebufferEXT"
+
+-- glBlitFramebufferNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glBlitFramebuffer'.
+glBlitFramebufferNV
+  :: MonadIO m
+  => GLint -- ^ @srcX0@.
+  -> GLint -- ^ @srcY0@.
+  -> GLint -- ^ @srcX1@.
+  -> GLint -- ^ @srcY1@.
+  -> GLint -- ^ @dstX0@.
+  -> GLint -- ^ @dstY0@.
+  -> GLint -- ^ @dstX1@.
+  -> GLint -- ^ @dstY1@.
+  -> GLbitfield -- ^ @mask@.
+  -> GLenum -- ^ @filter@.
+  -> m ()
+glBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glBlitFramebufferNV #-}
+ptr_glBlitFramebufferNV :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+ptr_glBlitFramebufferNV = unsafePerformIO $ getCommand "glBlitFramebufferNV"
+
+-- glBlitNamedFramebuffer ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlitFramebuffer.xhtml OpenGL 4.x>.
+glBlitNamedFramebuffer
+  :: MonadIO m
+  => GLuint -- ^ @readFramebuffer@.
+  -> GLuint -- ^ @drawFramebuffer@.
+  -> GLint -- ^ @srcX0@.
+  -> GLint -- ^ @srcY0@.
+  -> GLint -- ^ @srcX1@.
+  -> GLint -- ^ @srcY1@.
+  -> GLint -- ^ @dstX0@.
+  -> GLint -- ^ @dstY0@.
+  -> GLint -- ^ @dstX1@.
+  -> GLint -- ^ @dstY1@.
+  -> GLbitfield -- ^ @mask@.
+  -> GLenum -- ^ @filter@.
+  -> m ()
+glBlitNamedFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn57 ptr_glBlitNamedFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glBlitNamedFramebuffer #-}
+ptr_glBlitNamedFramebuffer :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
+ptr_glBlitNamedFramebuffer = unsafePerformIO $ getCommand "glBlitNamedFramebuffer"
+
+-- glBufferAddressRangeNV ------------------------------------------------------
+
+glBufferAddressRangeNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLuint -- ^ @index@.
+  -> GLuint64EXT -- ^ @address@.
+  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
+  -> m ()
+glBufferAddressRangeNV v1 v2 v3 v4 = liftIO $ dyn58 ptr_glBufferAddressRangeNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferAddressRangeNV #-}
+ptr_glBufferAddressRangeNV :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
+ptr_glBufferAddressRangeNV = unsafePerformIO $ getCommand "glBufferAddressRangeNV"
+
+-- glBufferData ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBufferData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBufferData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBufferData.xhtml OpenGL 4.x>.
+glBufferData
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> GLenum -- ^ @usage@ of type @BufferUsageARB@.
+  -> m ()
+glBufferData v1 v2 v3 v4 = liftIO $ dyn59 ptr_glBufferData v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferData #-}
+ptr_glBufferData :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+ptr_glBufferData = unsafePerformIO $ getCommand "glBufferData"
+
+-- glBufferDataARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glBufferData'.
+glBufferDataARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> GLenum -- ^ @usage@ of type @BufferUsageARB@.
+  -> m ()
+glBufferDataARB v1 v2 v3 v4 = liftIO $ dyn60 ptr_glBufferDataARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferDataARB #-}
+ptr_glBufferDataARB :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ())
+ptr_glBufferDataARB = unsafePerformIO $ getCommand "glBufferDataARB"
+
+-- glBufferPageCommitmentARB ---------------------------------------------------
+
+glBufferPageCommitmentARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@.
+  -> GLboolean -- ^ @commit@.
+  -> m ()
+glBufferPageCommitmentARB v1 v2 v3 v4 = liftIO $ dyn61 ptr_glBufferPageCommitmentARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferPageCommitmentARB #-}
+ptr_glBufferPageCommitmentARB :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
+ptr_glBufferPageCommitmentARB = unsafePerformIO $ getCommand "glBufferPageCommitmentARB"
+
+-- glBufferParameteriAPPLE -----------------------------------------------------
+
+glBufferParameteriAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glBufferParameteriAPPLE v1 v2 v3 = liftIO $ dyn62 ptr_glBufferParameteriAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glBufferParameteriAPPLE #-}
+ptr_glBufferParameteriAPPLE :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glBufferParameteriAPPLE = unsafePerformIO $ getCommand "glBufferParameteriAPPLE"
+
+-- glBufferStorage -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferStorage.xhtml OpenGL 4.x>.
+glBufferStorage
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizeiptr -- ^ @size@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> GLbitfield -- ^ @flags@.
+  -> m ()
+glBufferStorage v1 v2 v3 v4 = liftIO $ dyn63 ptr_glBufferStorage v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferStorage #-}
+ptr_glBufferStorage :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+ptr_glBufferStorage = unsafePerformIO $ getCommand "glBufferStorage"
+
+-- glBufferStorageEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glBufferStorage'.
+glBufferStorageEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizeiptr -- ^ @size@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> GLbitfield -- ^ @flags@.
+  -> m ()
+glBufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn63 ptr_glBufferStorageEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferStorageEXT #-}
+ptr_glBufferStorageEXT :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+ptr_glBufferStorageEXT = unsafePerformIO $ getCommand "glBufferStorageEXT"
+
+-- glBufferSubData -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBufferSubData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBufferSubData.xhtml OpenGL 4.x>.
+glBufferSubData
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> m ()
+glBufferSubData v1 v2 v3 v4 = liftIO $ dyn64 ptr_glBufferSubData v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferSubData #-}
+ptr_glBufferSubData :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+ptr_glBufferSubData = unsafePerformIO $ getCommand "glBufferSubData"
+
+-- glBufferSubDataARB ----------------------------------------------------------
+
+-- | This command is an alias for 'glBufferSubData'.
+glBufferSubDataARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
+  -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> m ()
+glBufferSubDataARB v1 v2 v3 v4 = liftIO $ dyn65 ptr_glBufferSubDataARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glBufferSubDataARB #-}
+ptr_glBufferSubDataARB :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
+ptr_glBufferSubDataARB = unsafePerformIO $ getCommand "glBufferSubDataARB"
+
+-- glCallCommandListNV ---------------------------------------------------------
+
+glCallCommandListNV
+  :: MonadIO m
+  => GLuint -- ^ @list@.
+  -> m ()
+glCallCommandListNV v1 = liftIO $ dyn2 ptr_glCallCommandListNV v1
+
+{-# NOINLINE ptr_glCallCommandListNV #-}
+ptr_glCallCommandListNV :: FunPtr (GLuint -> IO ())
+ptr_glCallCommandListNV = unsafePerformIO $ getCommand "glCallCommandListNV"
+
+-- glCallList ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCallList.xml OpenGL 2.x>.
+glCallList
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> m ()
+glCallList v1 = liftIO $ dyn2 ptr_glCallList v1
+
+{-# NOINLINE ptr_glCallList #-}
+ptr_glCallList :: FunPtr (GLuint -> IO ())
+ptr_glCallList = unsafePerformIO $ getCommand "glCallList"
+
+-- glCallLists -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCallLists.xml OpenGL 2.x>.
+glCallLists
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> GLenum -- ^ @type@ of type [ListNameType](Graphics-GL-Groups.html#ListNameType).
+  -> Ptr a -- ^ @lists@ pointing to @COMPSIZE(n,type)@ elements of type @a@.
+  -> m ()
+glCallLists v1 v2 v3 = liftIO $ dyn66 ptr_glCallLists v1 v2 v3
+
+{-# NOINLINE ptr_glCallLists #-}
+ptr_glCallLists :: FunPtr (GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glCallLists = unsafePerformIO $ getCommand "glCallLists"
+
+-- glCheckFramebufferStatus ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCheckFramebufferStatus.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml OpenGL 4.x>.
+glCheckFramebufferStatus
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> m GLenum
+glCheckFramebufferStatus v1 = liftIO $ dyn67 ptr_glCheckFramebufferStatus v1
+
+{-# NOINLINE ptr_glCheckFramebufferStatus #-}
+ptr_glCheckFramebufferStatus :: FunPtr (GLenum -> IO GLenum)
+ptr_glCheckFramebufferStatus = unsafePerformIO $ getCommand "glCheckFramebufferStatus"
+
+-- glCheckFramebufferStatusEXT -------------------------------------------------
+
+-- | This command is an alias for 'glCheckFramebufferStatus'.
+glCheckFramebufferStatusEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> m GLenum
+glCheckFramebufferStatusEXT v1 = liftIO $ dyn67 ptr_glCheckFramebufferStatusEXT v1
+
+{-# NOINLINE ptr_glCheckFramebufferStatusEXT #-}
+ptr_glCheckFramebufferStatusEXT :: FunPtr (GLenum -> IO GLenum)
+ptr_glCheckFramebufferStatusEXT = unsafePerformIO $ getCommand "glCheckFramebufferStatusEXT"
+
+-- glCheckFramebufferStatusOES -------------------------------------------------
+
+glCheckFramebufferStatusOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m GLenum
+glCheckFramebufferStatusOES v1 = liftIO $ dyn67 ptr_glCheckFramebufferStatusOES v1
+
+{-# NOINLINE ptr_glCheckFramebufferStatusOES #-}
+ptr_glCheckFramebufferStatusOES :: FunPtr (GLenum -> IO GLenum)
+ptr_glCheckFramebufferStatusOES = unsafePerformIO $ getCommand "glCheckFramebufferStatusOES"
+
+-- glCheckNamedFramebufferStatus -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml OpenGL 4.x>.
+glCheckNamedFramebufferStatus
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @target@.
+  -> m GLenum
+glCheckNamedFramebufferStatus v1 v2 = liftIO $ dyn68 ptr_glCheckNamedFramebufferStatus v1 v2
+
+{-# NOINLINE ptr_glCheckNamedFramebufferStatus #-}
+ptr_glCheckNamedFramebufferStatus :: FunPtr (GLuint -> GLenum -> IO GLenum)
+ptr_glCheckNamedFramebufferStatus = unsafePerformIO $ getCommand "glCheckNamedFramebufferStatus"
+
+-- glCheckNamedFramebufferStatusEXT --------------------------------------------
+
+glCheckNamedFramebufferStatusEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> m GLenum -- ^ of type @FramebufferStatus@.
+glCheckNamedFramebufferStatusEXT v1 v2 = liftIO $ dyn68 ptr_glCheckNamedFramebufferStatusEXT v1 v2
+
+{-# NOINLINE ptr_glCheckNamedFramebufferStatusEXT #-}
+ptr_glCheckNamedFramebufferStatusEXT :: FunPtr (GLuint -> GLenum -> IO GLenum)
+ptr_glCheckNamedFramebufferStatusEXT = unsafePerformIO $ getCommand "glCheckNamedFramebufferStatusEXT"
+
+-- glClampColor ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClampColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClampColor.xhtml OpenGL 4.x>.
+glClampColor
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ClampColorTargetARB@.
+  -> GLenum -- ^ @clamp@ of type @ClampColorModeARB@.
+  -> m ()
+glClampColor v1 v2 = liftIO $ dyn51 ptr_glClampColor v1 v2
+
+{-# NOINLINE ptr_glClampColor #-}
+ptr_glClampColor :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glClampColor = unsafePerformIO $ getCommand "glClampColor"
+
+-- glClampColorARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glClampColor'.
+glClampColorARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ClampColorTargetARB@.
+  -> GLenum -- ^ @clamp@ of type @ClampColorModeARB@.
+  -> m ()
+glClampColorARB v1 v2 = liftIO $ dyn51 ptr_glClampColorARB v1 v2
+
+{-# NOINLINE ptr_glClampColorARB #-}
+ptr_glClampColorARB :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glClampColorARB = unsafePerformIO $ getCommand "glClampColorARB"
+
+-- glClear ---------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClear.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClear.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClear.xhtml OpenGL 4.x>.
+glClear
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-GL-Groups.html#ClearBufferMask).
+  -> m ()
+glClear v1 = liftIO $ dyn69 ptr_glClear v1
+
+{-# NOINLINE ptr_glClear #-}
+ptr_glClear :: FunPtr (GLbitfield -> IO ())
+ptr_glClear = unsafePerformIO $ getCommand "glClear"
+
+-- glClearAccum ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearAccum.xml OpenGL 2.x>.
+glClearAccum
+  :: MonadIO m
+  => GLfloat -- ^ @red@.
+  -> GLfloat -- ^ @green@.
+  -> GLfloat -- ^ @blue@.
+  -> GLfloat -- ^ @alpha@.
+  -> m ()
+glClearAccum v1 v2 v3 v4 = liftIO $ dyn49 ptr_glClearAccum v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearAccum #-}
+ptr_glClearAccum :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glClearAccum = unsafePerformIO $ getCommand "glClearAccum"
+
+-- glClearAccumxOES ------------------------------------------------------------
+
+glClearAccumxOES
+  :: MonadIO m
+  => GLfixed -- ^ @red@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @green@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
+  -> m ()
+glClearAccumxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glClearAccumxOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearAccumxOES #-}
+ptr_glClearAccumxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glClearAccumxOES = unsafePerformIO $ getCommand "glClearAccumxOES"
+
+-- glClearBufferData -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferData.xhtml OpenGL 4.x>.
+glClearBufferData
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
+  -> m ()
+glClearBufferData v1 v2 v3 v4 v5 = liftIO $ dyn70 ptr_glClearBufferData v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glClearBufferData #-}
+ptr_glClearBufferData :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearBufferData = unsafePerformIO $ getCommand "glClearBufferData"
+
+-- glClearBufferSubData --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferSubData.xhtml OpenGL 4.x>.
+glClearBufferSubData
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
+  -> m ()
+glClearBufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn71 ptr_glClearBufferSubData v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glClearBufferSubData #-}
+ptr_glClearBufferSubData :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearBufferSubData = unsafePerformIO $ getCommand "glClearBufferSubData"
+
+-- glClearBufferfi -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearBufferfi
+  :: MonadIO m
+  => GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
+  -> GLfloat -- ^ @depth@.
+  -> GLint -- ^ @stencil@.
+  -> m ()
+glClearBufferfi v1 v2 v3 v4 = liftIO $ dyn72 ptr_glClearBufferfi v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearBufferfi #-}
+ptr_glClearBufferfi :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ())
+ptr_glClearBufferfi = unsafePerformIO $ getCommand "glClearBufferfi"
+
+-- glClearBufferfv -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearBufferfv
+  :: MonadIO m
+  => GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLfloat@.
+  -> m ()
+glClearBufferfv v1 v2 v3 = liftIO $ dyn73 ptr_glClearBufferfv v1 v2 v3
+
+{-# NOINLINE ptr_glClearBufferfv #-}
+ptr_glClearBufferfv :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ())
+ptr_glClearBufferfv = unsafePerformIO $ getCommand "glClearBufferfv"
+
+-- glClearBufferiv -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearBufferiv
+  :: MonadIO m
+  => GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
+  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLint@.
+  -> m ()
+glClearBufferiv v1 v2 v3 = liftIO $ dyn74 ptr_glClearBufferiv v1 v2 v3
+
+{-# NOINLINE ptr_glClearBufferiv #-}
+ptr_glClearBufferiv :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ())
+ptr_glClearBufferiv = unsafePerformIO $ getCommand "glClearBufferiv"
+
+-- glClearBufferuiv ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearBufferuiv
+  :: MonadIO m
+  => GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
+  -> Ptr GLuint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLuint@.
+  -> m ()
+glClearBufferuiv v1 v2 v3 = liftIO $ dyn75 ptr_glClearBufferuiv v1 v2 v3
+
+{-# NOINLINE ptr_glClearBufferuiv #-}
+ptr_glClearBufferuiv :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
+ptr_glClearBufferuiv = unsafePerformIO $ getCommand "glClearBufferuiv"
+
+-- glClearColor ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearColor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClearColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearColor.xhtml OpenGL 4.x>.
+glClearColor
+  :: MonadIO m
+  => GLfloat -- ^ @red@ of type @ColorF@.
+  -> GLfloat -- ^ @green@ of type @ColorF@.
+  -> GLfloat -- ^ @blue@ of type @ColorF@.
+  -> GLfloat -- ^ @alpha@ of type @ColorF@.
+  -> m ()
+glClearColor v1 v2 v3 v4 = liftIO $ dyn49 ptr_glClearColor v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearColor #-}
+ptr_glClearColor :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glClearColor = unsafePerformIO $ getCommand "glClearColor"
+
+-- glClearColorIiEXT -----------------------------------------------------------
+
+glClearColorIiEXT
+  :: MonadIO m
+  => GLint -- ^ @red@.
+  -> GLint -- ^ @green@.
+  -> GLint -- ^ @blue@.
+  -> GLint -- ^ @alpha@.
+  -> m ()
+glClearColorIiEXT v1 v2 v3 v4 = liftIO $ dyn76 ptr_glClearColorIiEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearColorIiEXT #-}
+ptr_glClearColorIiEXT :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glClearColorIiEXT = unsafePerformIO $ getCommand "glClearColorIiEXT"
+
+-- glClearColorIuiEXT ----------------------------------------------------------
+
+glClearColorIuiEXT
+  :: MonadIO m
+  => GLuint -- ^ @red@.
+  -> GLuint -- ^ @green@.
+  -> GLuint -- ^ @blue@.
+  -> GLuint -- ^ @alpha@.
+  -> m ()
+glClearColorIuiEXT v1 v2 v3 v4 = liftIO $ dyn77 ptr_glClearColorIuiEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearColorIuiEXT #-}
+ptr_glClearColorIuiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glClearColorIuiEXT = unsafePerformIO $ getCommand "glClearColorIuiEXT"
+
+-- glClearColorx ---------------------------------------------------------------
+
+glClearColorx
+  :: MonadIO m
+  => GLfixed -- ^ @red@.
+  -> GLfixed -- ^ @green@.
+  -> GLfixed -- ^ @blue@.
+  -> GLfixed -- ^ @alpha@.
+  -> m ()
+glClearColorx v1 v2 v3 v4 = liftIO $ dyn50 ptr_glClearColorx v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearColorx #-}
+ptr_glClearColorx :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glClearColorx = unsafePerformIO $ getCommand "glClearColorx"
+
+-- glClearColorxOES ------------------------------------------------------------
+
+glClearColorxOES
+  :: MonadIO m
+  => GLfixed -- ^ @red@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @green@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
+  -> m ()
+glClearColorxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glClearColorxOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearColorxOES #-}
+ptr_glClearColorxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glClearColorxOES = unsafePerformIO $ getCommand "glClearColorxOES"
+
+-- glClearDepth ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearDepth.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClearDepth.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearDepth.xhtml OpenGL 4.x>.
+glClearDepth
+  :: MonadIO m
+  => GLdouble -- ^ @depth@.
+  -> m ()
+glClearDepth v1 = liftIO $ dyn78 ptr_glClearDepth v1
+
+{-# NOINLINE ptr_glClearDepth #-}
+ptr_glClearDepth :: FunPtr (GLdouble -> IO ())
+ptr_glClearDepth = unsafePerformIO $ getCommand "glClearDepth"
+
+-- glClearDepthdNV -------------------------------------------------------------
+
+glClearDepthdNV
+  :: MonadIO m
+  => GLdouble -- ^ @depth@.
+  -> m ()
+glClearDepthdNV v1 = liftIO $ dyn78 ptr_glClearDepthdNV v1
+
+{-# NOINLINE ptr_glClearDepthdNV #-}
+ptr_glClearDepthdNV :: FunPtr (GLdouble -> IO ())
+ptr_glClearDepthdNV = unsafePerformIO $ getCommand "glClearDepthdNV"
+
+-- glClearDepthf ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearDepth.xhtml OpenGL 4.x>.
+glClearDepthf
+  :: MonadIO m
+  => GLfloat -- ^ @d@.
+  -> m ()
+glClearDepthf v1 = liftIO $ dyn79 ptr_glClearDepthf v1
+
+{-# NOINLINE ptr_glClearDepthf #-}
+ptr_glClearDepthf :: FunPtr (GLfloat -> IO ())
+ptr_glClearDepthf = unsafePerformIO $ getCommand "glClearDepthf"
+
+-- glClearDepthfOES ------------------------------------------------------------
+
+-- | This command is an alias for 'glClearDepthf'.
+glClearDepthfOES
+  :: MonadIO m
+  => GLclampf -- ^ @depth@ of type @ClampedFloat32@.
+  -> m ()
+glClearDepthfOES v1 = liftIO $ dyn80 ptr_glClearDepthfOES v1
+
+{-# NOINLINE ptr_glClearDepthfOES #-}
+ptr_glClearDepthfOES :: FunPtr (GLclampf -> IO ())
+ptr_glClearDepthfOES = unsafePerformIO $ getCommand "glClearDepthfOES"
+
+-- glClearDepthx ---------------------------------------------------------------
+
+glClearDepthx
+  :: MonadIO m
+  => GLfixed -- ^ @depth@.
+  -> m ()
+glClearDepthx v1 = liftIO $ dyn81 ptr_glClearDepthx v1
+
+{-# NOINLINE ptr_glClearDepthx #-}
+ptr_glClearDepthx :: FunPtr (GLfixed -> IO ())
+ptr_glClearDepthx = unsafePerformIO $ getCommand "glClearDepthx"
+
+-- glClearDepthxOES ------------------------------------------------------------
+
+glClearDepthxOES
+  :: MonadIO m
+  => GLfixed -- ^ @depth@ of type @ClampedFixed@.
+  -> m ()
+glClearDepthxOES v1 = liftIO $ dyn81 ptr_glClearDepthxOES v1
+
+{-# NOINLINE ptr_glClearDepthxOES #-}
+ptr_glClearDepthxOES :: FunPtr (GLfixed -> IO ())
+ptr_glClearDepthxOES = unsafePerformIO $ getCommand "glClearDepthxOES"
+
+-- glClearIndex ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearIndex.xml OpenGL 2.x>.
+glClearIndex
+  :: MonadIO m
+  => GLfloat -- ^ @c@ of type @MaskedColorIndexValueF@.
+  -> m ()
+glClearIndex v1 = liftIO $ dyn79 ptr_glClearIndex v1
+
+{-# NOINLINE ptr_glClearIndex #-}
+ptr_glClearIndex :: FunPtr (GLfloat -> IO ())
+ptr_glClearIndex = unsafePerformIO $ getCommand "glClearIndex"
+
+-- glClearNamedBufferData ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferData.xhtml OpenGL 4.x>.
+glClearNamedBufferData
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @data@.
+  -> m ()
+glClearNamedBufferData v1 v2 v3 v4 v5 = liftIO $ dyn82 ptr_glClearNamedBufferData v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glClearNamedBufferData #-}
+ptr_glClearNamedBufferData :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearNamedBufferData = unsafePerformIO $ getCommand "glClearNamedBufferData"
+
+-- glClearNamedBufferDataEXT ---------------------------------------------------
+
+glClearNamedBufferDataEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
+  -> m ()
+glClearNamedBufferDataEXT v1 v2 v3 v4 v5 = liftIO $ dyn82 ptr_glClearNamedBufferDataEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glClearNamedBufferDataEXT #-}
+ptr_glClearNamedBufferDataEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearNamedBufferDataEXT = unsafePerformIO $ getCommand "glClearNamedBufferDataEXT"
+
+-- glClearNamedBufferSubData ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferSubData.xhtml OpenGL 4.x>.
+glClearNamedBufferSubData
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @data@.
+  -> m ()
+glClearNamedBufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn83 ptr_glClearNamedBufferSubData v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glClearNamedBufferSubData #-}
+ptr_glClearNamedBufferSubData :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearNamedBufferSubData = unsafePerformIO $ getCommand "glClearNamedBufferSubData"
+
+-- glClearNamedBufferSubDataEXT ------------------------------------------------
+
+glClearNamedBufferSubDataEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizeiptr -- ^ @offset@ of type @BufferSize@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
+  -> m ()
+glClearNamedBufferSubDataEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn84 ptr_glClearNamedBufferSubDataEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glClearNamedBufferSubDataEXT #-}
+ptr_glClearNamedBufferSubDataEXT :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearNamedBufferSubDataEXT = unsafePerformIO $ getCommand "glClearNamedBufferSubDataEXT"
+
+-- glClearNamedFramebufferfi ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearNamedFramebufferfi
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@.
+  -> GLfloat -- ^ @depth@.
+  -> GLint -- ^ @stencil@.
+  -> m ()
+glClearNamedFramebufferfi v1 v2 v3 v4 v5 = liftIO $ dyn85 ptr_glClearNamedFramebufferfi v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glClearNamedFramebufferfi #-}
+ptr_glClearNamedFramebufferfi :: FunPtr (GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ())
+ptr_glClearNamedFramebufferfi = unsafePerformIO $ getCommand "glClearNamedFramebufferfi"
+
+-- glClearNamedFramebufferfv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearNamedFramebufferfv
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@.
+  -> Ptr GLfloat -- ^ @value@.
+  -> m ()
+glClearNamedFramebufferfv v1 v2 v3 v4 = liftIO $ dyn86 ptr_glClearNamedFramebufferfv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearNamedFramebufferfv #-}
+ptr_glClearNamedFramebufferfv :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+ptr_glClearNamedFramebufferfv = unsafePerformIO $ getCommand "glClearNamedFramebufferfv"
+
+-- glClearNamedFramebufferiv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearNamedFramebufferiv
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@.
+  -> Ptr GLint -- ^ @value@.
+  -> m ()
+glClearNamedFramebufferiv v1 v2 v3 v4 = liftIO $ dyn87 ptr_glClearNamedFramebufferiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearNamedFramebufferiv #-}
+ptr_glClearNamedFramebufferiv :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ())
+ptr_glClearNamedFramebufferiv = unsafePerformIO $ getCommand "glClearNamedFramebufferiv"
+
+-- glClearNamedFramebufferuiv --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
+glClearNamedFramebufferuiv
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @buffer@.
+  -> GLint -- ^ @drawbuffer@.
+  -> Ptr GLuint -- ^ @value@.
+  -> m ()
+glClearNamedFramebufferuiv v1 v2 v3 v4 = liftIO $ dyn88 ptr_glClearNamedFramebufferuiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glClearNamedFramebufferuiv #-}
+ptr_glClearNamedFramebufferuiv :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ())
+ptr_glClearNamedFramebufferuiv = unsafePerformIO $ getCommand "glClearNamedFramebufferuiv"
+
+-- glClearStencil --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearStencil.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClearStencil.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearStencil.xhtml OpenGL 4.x>.
+glClearStencil
+  :: MonadIO m
+  => GLint -- ^ @s@ of type @StencilValue@.
+  -> m ()
+glClearStencil v1 = liftIO $ dyn12 ptr_glClearStencil v1
+
+{-# NOINLINE ptr_glClearStencil #-}
+ptr_glClearStencil :: FunPtr (GLint -> IO ())
+ptr_glClearStencil = unsafePerformIO $ getCommand "glClearStencil"
+
+-- glClearTexImage -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearTexImage.xhtml OpenGL 4.x>.
+glClearTexImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
+  -> m ()
+glClearTexImage v1 v2 v3 v4 v5 = liftIO $ dyn89 ptr_glClearTexImage v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glClearTexImage #-}
+ptr_glClearTexImage :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearTexImage = unsafePerformIO $ getCommand "glClearTexImage"
+
+-- glClearTexSubImage ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearTexSubImage.xhtml OpenGL 4.x>.
+glClearTexSubImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
+  -> m ()
+glClearTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn90 ptr_glClearTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glClearTexSubImage #-}
+ptr_glClearTexSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glClearTexSubImage = unsafePerformIO $ getCommand "glClearTexSubImage"
+
+-- glClientActiveTexture -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClientActiveTexture.xml OpenGL 2.x>.
+glClientActiveTexture
+  :: MonadIO m
+  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  -> m ()
+glClientActiveTexture v1 = liftIO $ dyn4 ptr_glClientActiveTexture v1
+
+{-# NOINLINE ptr_glClientActiveTexture #-}
+ptr_glClientActiveTexture :: FunPtr (GLenum -> IO ())
+ptr_glClientActiveTexture = unsafePerformIO $ getCommand "glClientActiveTexture"
+
+-- glClientActiveTextureARB ----------------------------------------------------
+
+-- | This command is an alias for 'glClientActiveTexture'.
+glClientActiveTextureARB
+  :: MonadIO m
+  => GLenum -- ^ @texture@ of type @TextureUnit@.
+  -> m ()
+glClientActiveTextureARB v1 = liftIO $ dyn4 ptr_glClientActiveTextureARB v1
+
+{-# NOINLINE ptr_glClientActiveTextureARB #-}
+ptr_glClientActiveTextureARB :: FunPtr (GLenum -> IO ())
+ptr_glClientActiveTextureARB = unsafePerformIO $ getCommand "glClientActiveTextureARB"
+
+-- glClientActiveVertexStreamATI -----------------------------------------------
+
+glClientActiveVertexStreamATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> m ()
+glClientActiveVertexStreamATI v1 = liftIO $ dyn4 ptr_glClientActiveVertexStreamATI v1
+
+{-# NOINLINE ptr_glClientActiveVertexStreamATI #-}
+ptr_glClientActiveVertexStreamATI :: FunPtr (GLenum -> IO ())
+ptr_glClientActiveVertexStreamATI = unsafePerformIO $ getCommand "glClientActiveVertexStreamATI"
+
+-- glClientAttribDefaultEXT ----------------------------------------------------
+
+glClientAttribDefaultEXT
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@ of type [ClientAttribMask](Graphics-GL-Groups.html#ClientAttribMask).
+  -> m ()
+glClientAttribDefaultEXT v1 = liftIO $ dyn69 ptr_glClientAttribDefaultEXT v1
+
+{-# NOINLINE ptr_glClientAttribDefaultEXT #-}
+ptr_glClientAttribDefaultEXT :: FunPtr (GLbitfield -> IO ())
+ptr_glClientAttribDefaultEXT = unsafePerformIO $ getCommand "glClientAttribDefaultEXT"
+
+-- glClientWaitSync ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClientWaitSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClientWaitSync.xhtml OpenGL 4.x>.
+glClientWaitSync
+  :: MonadIO m
+  => GLsync -- ^ @sync@ of type @sync@.
+  -> GLbitfield -- ^ @flags@.
+  -> GLuint64 -- ^ @timeout@.
+  -> m GLenum
+glClientWaitSync v1 v2 v3 = liftIO $ dyn91 ptr_glClientWaitSync v1 v2 v3
+
+{-# NOINLINE ptr_glClientWaitSync #-}
+ptr_glClientWaitSync :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
+ptr_glClientWaitSync = unsafePerformIO $ getCommand "glClientWaitSync"
+
+-- glClientWaitSyncAPPLE -------------------------------------------------------
+
+-- | This command is an alias for 'glClientWaitSync'.
+glClientWaitSyncAPPLE
+  :: MonadIO m
+  => GLsync -- ^ @sync@.
+  -> GLbitfield -- ^ @flags@.
+  -> GLuint64 -- ^ @timeout@.
+  -> m GLenum
+glClientWaitSyncAPPLE v1 v2 v3 = liftIO $ dyn91 ptr_glClientWaitSyncAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glClientWaitSyncAPPLE #-}
+ptr_glClientWaitSyncAPPLE :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
+ptr_glClientWaitSyncAPPLE = unsafePerformIO $ getCommand "glClientWaitSyncAPPLE"
+
+-- glClipControl ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClipControl.xhtml OpenGL 4.x>.
+glClipControl
+  :: MonadIO m
+  => GLenum -- ^ @origin@.
+  -> GLenum -- ^ @depth@.
+  -> m ()
+glClipControl v1 v2 = liftIO $ dyn51 ptr_glClipControl v1 v2
+
+{-# NOINLINE ptr_glClipControl #-}
+ptr_glClipControl :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glClipControl = unsafePerformIO $ getCommand "glClipControl"
+
+-- glClipPlane -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClipPlane.xml OpenGL 2.x>.
+glClipPlane
+  :: MonadIO m
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
+  -> Ptr GLdouble -- ^ @equation@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glClipPlane v1 v2 = liftIO $ dyn92 ptr_glClipPlane v1 v2
+
+{-# NOINLINE ptr_glClipPlane #-}
+ptr_glClipPlane :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glClipPlane = unsafePerformIO $ getCommand "glClipPlane"
+
+-- glClipPlanef ----------------------------------------------------------------
+
+glClipPlanef
+  :: MonadIO m
+  => GLenum -- ^ @p@.
+  -> Ptr GLfloat -- ^ @eqn@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glClipPlanef v1 v2 = liftIO $ dyn93 ptr_glClipPlanef v1 v2
+
+{-# NOINLINE ptr_glClipPlanef #-}
+ptr_glClipPlanef :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glClipPlanef = unsafePerformIO $ getCommand "glClipPlanef"
+
+-- glClipPlanefIMG -------------------------------------------------------------
+
+glClipPlanefIMG
+  :: MonadIO m
+  => GLenum -- ^ @p@.
+  -> Ptr GLfloat -- ^ @eqn@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glClipPlanefIMG v1 v2 = liftIO $ dyn93 ptr_glClipPlanefIMG v1 v2
+
+{-# NOINLINE ptr_glClipPlanefIMG #-}
+ptr_glClipPlanefIMG :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glClipPlanefIMG = unsafePerformIO $ getCommand "glClipPlanefIMG"
+
+-- glClipPlanefOES -------------------------------------------------------------
+
+glClipPlanefOES
+  :: MonadIO m
+  => GLenum -- ^ @plane@.
+  -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glClipPlanefOES v1 v2 = liftIO $ dyn93 ptr_glClipPlanefOES v1 v2
+
+{-# NOINLINE ptr_glClipPlanefOES #-}
+ptr_glClipPlanefOES :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glClipPlanefOES = unsafePerformIO $ getCommand "glClipPlanefOES"
+
+-- glClipPlanex ----------------------------------------------------------------
+
+glClipPlanex
+  :: MonadIO m
+  => GLenum -- ^ @plane@.
+  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glClipPlanex v1 v2 = liftIO $ dyn94 ptr_glClipPlanex v1 v2
+
+{-# NOINLINE ptr_glClipPlanex #-}
+ptr_glClipPlanex :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glClipPlanex = unsafePerformIO $ getCommand "glClipPlanex"
+
+-- glClipPlanexIMG -------------------------------------------------------------
+
+glClipPlanexIMG
+  :: MonadIO m
+  => GLenum -- ^ @p@.
+  -> Ptr GLfixed -- ^ @eqn@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glClipPlanexIMG v1 v2 = liftIO $ dyn94 ptr_glClipPlanexIMG v1 v2
+
+{-# NOINLINE ptr_glClipPlanexIMG #-}
+ptr_glClipPlanexIMG :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glClipPlanexIMG = unsafePerformIO $ getCommand "glClipPlanexIMG"
+
+-- glClipPlanexOES -------------------------------------------------------------
+
+glClipPlanexOES
+  :: MonadIO m
+  => GLenum -- ^ @plane@.
+  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glClipPlanexOES v1 v2 = liftIO $ dyn94 ptr_glClipPlanexOES v1 v2
+
+{-# NOINLINE ptr_glClipPlanexOES #-}
+ptr_glClipPlanexOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glClipPlanexOES = unsafePerformIO $ getCommand "glClipPlanexOES"
+
+-- glColor3b -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3bv'.
+glColor3b
+  :: MonadIO m
+  => GLbyte -- ^ @red@ of type @ColorB@.
+  -> GLbyte -- ^ @green@ of type @ColorB@.
+  -> GLbyte -- ^ @blue@ of type @ColorB@.
+  -> m ()
+glColor3b v1 v2 v3 = liftIO $ dyn36 ptr_glColor3b v1 v2 v3
+
+{-# NOINLINE ptr_glColor3b #-}
+ptr_glColor3b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glColor3b = unsafePerformIO $ getCommand "glColor3b"
+
+-- glColor3bv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3bv
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @ColorB@.
+  -> m ()
+glColor3bv v1 = liftIO $ dyn37 ptr_glColor3bv v1
+
+{-# NOINLINE ptr_glColor3bv #-}
+ptr_glColor3bv :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glColor3bv = unsafePerformIO $ getCommand "glColor3bv"
+
+-- glColor3d -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3dv'.
+glColor3d
+  :: MonadIO m
+  => GLdouble -- ^ @red@ of type @ColorD@.
+  -> GLdouble -- ^ @green@ of type @ColorD@.
+  -> GLdouble -- ^ @blue@ of type @ColorD@.
+  -> m ()
+glColor3d v1 v2 v3 = liftIO $ dyn38 ptr_glColor3d v1 v2 v3
+
+{-# NOINLINE ptr_glColor3d #-}
+ptr_glColor3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glColor3d = unsafePerformIO $ getCommand "glColor3d"
+
+-- glColor3dv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @ColorD@.
+  -> m ()
+glColor3dv v1 = liftIO $ dyn39 ptr_glColor3dv v1
+
+{-# NOINLINE ptr_glColor3dv #-}
+ptr_glColor3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glColor3dv = unsafePerformIO $ getCommand "glColor3dv"
+
+-- glColor3f -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3fv'.
+glColor3f
+  :: MonadIO m
+  => GLfloat -- ^ @red@ of type @ColorF@.
+  -> GLfloat -- ^ @green@ of type @ColorF@.
+  -> GLfloat -- ^ @blue@ of type @ColorF@.
+  -> m ()
+glColor3f v1 v2 v3 = liftIO $ dyn40 ptr_glColor3f v1 v2 v3
+
+{-# NOINLINE ptr_glColor3f #-}
+ptr_glColor3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glColor3f = unsafePerformIO $ getCommand "glColor3f"
+
+-- glColor3fVertex3fSUN --------------------------------------------------------
+
+glColor3fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glColor3fVertex3fSUN v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glColor3fVertex3fSUN #-}
+ptr_glColor3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glColor3fVertex3fSUN = unsafePerformIO $ getCommand "glColor3fVertex3fSUN"
+
+-- glColor3fVertex3fvSUN -------------------------------------------------------
+
+glColor3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @c@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glColor3fVertex3fvSUN v1 v2 = liftIO $ dyn96 ptr_glColor3fVertex3fvSUN v1 v2
+
+{-# NOINLINE ptr_glColor3fVertex3fvSUN #-}
+ptr_glColor3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glColor3fVertex3fvSUN = unsafePerformIO $ getCommand "glColor3fVertex3fvSUN"
+
+-- glColor3fv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @ColorF@.
+  -> m ()
+glColor3fv v1 = liftIO $ dyn41 ptr_glColor3fv v1
+
+{-# NOINLINE ptr_glColor3fv #-}
+ptr_glColor3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glColor3fv = unsafePerformIO $ getCommand "glColor3fv"
+
+-- glColor3hNV -----------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glColor3hvNV'.
+glColor3hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @red@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @green@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @blue@ of type @Half16NV@.
+  -> m ()
+glColor3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glColor3hNV v1 v2 v3
+
+{-# NOINLINE ptr_glColor3hNV #-}
+ptr_glColor3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glColor3hNV = unsafePerformIO $ getCommand "glColor3hNV"
+
+-- glColor3hvNV ----------------------------------------------------------------
+
+glColor3hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
+  -> m ()
+glColor3hvNV v1 = liftIO $ dyn98 ptr_glColor3hvNV v1
+
+{-# NOINLINE ptr_glColor3hvNV #-}
+ptr_glColor3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glColor3hvNV = unsafePerformIO $ getCommand "glColor3hvNV"
+
+-- glColor3i -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3iv'.
+glColor3i
+  :: MonadIO m
+  => GLint -- ^ @red@ of type @ColorI@.
+  -> GLint -- ^ @green@ of type @ColorI@.
+  -> GLint -- ^ @blue@ of type @ColorI@.
+  -> m ()
+glColor3i v1 v2 v3 = liftIO $ dyn42 ptr_glColor3i v1 v2 v3
+
+{-# NOINLINE ptr_glColor3i #-}
+ptr_glColor3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glColor3i = unsafePerformIO $ getCommand "glColor3i"
+
+-- glColor3iv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
+  -> m ()
+glColor3iv v1 = liftIO $ dyn43 ptr_glColor3iv v1
+
+{-# NOINLINE ptr_glColor3iv #-}
+ptr_glColor3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glColor3iv = unsafePerformIO $ getCommand "glColor3iv"
+
+-- glColor3s -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3sv'.
+glColor3s
+  :: MonadIO m
+  => GLshort -- ^ @red@ of type @ColorS@.
+  -> GLshort -- ^ @green@ of type @ColorS@.
+  -> GLshort -- ^ @blue@ of type @ColorS@.
+  -> m ()
+glColor3s v1 v2 v3 = liftIO $ dyn44 ptr_glColor3s v1 v2 v3
+
+{-# NOINLINE ptr_glColor3s #-}
+ptr_glColor3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glColor3s = unsafePerformIO $ getCommand "glColor3s"
+
+-- glColor3sv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
+  -> m ()
+glColor3sv v1 = liftIO $ dyn45 ptr_glColor3sv v1
+
+{-# NOINLINE ptr_glColor3sv #-}
+ptr_glColor3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glColor3sv = unsafePerformIO $ getCommand "glColor3sv"
+
+-- glColor3ub ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3ubv'.
+glColor3ub
+  :: MonadIO m
+  => GLubyte -- ^ @red@ of type @ColorUB@.
+  -> GLubyte -- ^ @green@ of type @ColorUB@.
+  -> GLubyte -- ^ @blue@ of type @ColorUB@.
+  -> m ()
+glColor3ub v1 v2 v3 = liftIO $ dyn99 ptr_glColor3ub v1 v2 v3
+
+{-# NOINLINE ptr_glColor3ub #-}
+ptr_glColor3ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glColor3ub = unsafePerformIO $ getCommand "glColor3ub"
+
+-- glColor3ubv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3ubv
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @v@ pointing to @3@ elements of type @ColorUB@.
+  -> m ()
+glColor3ubv v1 = liftIO $ dyn100 ptr_glColor3ubv v1
+
+{-# NOINLINE ptr_glColor3ubv #-}
+ptr_glColor3ubv :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glColor3ubv = unsafePerformIO $ getCommand "glColor3ubv"
+
+-- glColor3ui ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3uiv'.
+glColor3ui
+  :: MonadIO m
+  => GLuint -- ^ @red@ of type @ColorUI@.
+  -> GLuint -- ^ @green@ of type @ColorUI@.
+  -> GLuint -- ^ @blue@ of type @ColorUI@.
+  -> m ()
+glColor3ui v1 v2 v3 = liftIO $ dyn101 ptr_glColor3ui v1 v2 v3
+
+{-# NOINLINE ptr_glColor3ui #-}
+ptr_glColor3ui :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glColor3ui = unsafePerformIO $ getCommand "glColor3ui"
+
+-- glColor3uiv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3uiv
+  :: MonadIO m
+  => Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @ColorUI@.
+  -> m ()
+glColor3uiv v1 = liftIO $ dyn102 ptr_glColor3uiv v1
+
+{-# NOINLINE ptr_glColor3uiv #-}
+ptr_glColor3uiv :: FunPtr (Ptr GLuint -> IO ())
+ptr_glColor3uiv = unsafePerformIO $ getCommand "glColor3uiv"
+
+-- glColor3us ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3usv'.
+glColor3us
+  :: MonadIO m
+  => GLushort -- ^ @red@ of type @ColorUS@.
+  -> GLushort -- ^ @green@ of type @ColorUS@.
+  -> GLushort -- ^ @blue@ of type @ColorUS@.
+  -> m ()
+glColor3us v1 v2 v3 = liftIO $ dyn103 ptr_glColor3us v1 v2 v3
+
+{-# NOINLINE ptr_glColor3us #-}
+ptr_glColor3us :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
+ptr_glColor3us = unsafePerformIO $ getCommand "glColor3us"
+
+-- glColor3usv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor3usv
+  :: MonadIO m
+  => Ptr GLushort -- ^ @v@ pointing to @3@ elements of type @ColorUS@.
+  -> m ()
+glColor3usv v1 = liftIO $ dyn104 ptr_glColor3usv v1
+
+{-# NOINLINE ptr_glColor3usv #-}
+ptr_glColor3usv :: FunPtr (Ptr GLushort -> IO ())
+ptr_glColor3usv = unsafePerformIO $ getCommand "glColor3usv"
+
+-- glColor3xOES ----------------------------------------------------------------
+
+glColor3xOES
+  :: MonadIO m
+  => GLfixed -- ^ @red@.
+  -> GLfixed -- ^ @green@.
+  -> GLfixed -- ^ @blue@.
+  -> m ()
+glColor3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glColor3xOES v1 v2 v3
+
+{-# NOINLINE ptr_glColor3xOES #-}
+ptr_glColor3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glColor3xOES = unsafePerformIO $ getCommand "glColor3xOES"
+
+-- glColor3xvOES ---------------------------------------------------------------
+
+glColor3xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @components@ pointing to @3@ elements of type @GLfixed@.
+  -> m ()
+glColor3xvOES v1 = liftIO $ dyn106 ptr_glColor3xvOES v1
+
+{-# NOINLINE ptr_glColor3xvOES #-}
+ptr_glColor3xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glColor3xvOES = unsafePerformIO $ getCommand "glColor3xvOES"
+
+-- glColor4b -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4bv'.
+glColor4b
+  :: MonadIO m
+  => GLbyte -- ^ @red@ of type @ColorB@.
+  -> GLbyte -- ^ @green@ of type @ColorB@.
+  -> GLbyte -- ^ @blue@ of type @ColorB@.
+  -> GLbyte -- ^ @alpha@ of type @ColorB@.
+  -> m ()
+glColor4b v1 v2 v3 v4 = liftIO $ dyn107 ptr_glColor4b v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4b #-}
+ptr_glColor4b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glColor4b = unsafePerformIO $ getCommand "glColor4b"
+
+-- glColor4bv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4bv
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @ColorB@.
+  -> m ()
+glColor4bv v1 = liftIO $ dyn37 ptr_glColor4bv v1
+
+{-# NOINLINE ptr_glColor4bv #-}
+ptr_glColor4bv :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glColor4bv = unsafePerformIO $ getCommand "glColor4bv"
+
+-- glColor4d -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4dv'.
+glColor4d
+  :: MonadIO m
+  => GLdouble -- ^ @red@ of type @ColorD@.
+  -> GLdouble -- ^ @green@ of type @ColorD@.
+  -> GLdouble -- ^ @blue@ of type @ColorD@.
+  -> GLdouble -- ^ @alpha@ of type @ColorD@.
+  -> m ()
+glColor4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glColor4d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4d #-}
+ptr_glColor4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glColor4d = unsafePerformIO $ getCommand "glColor4d"
+
+-- glColor4dv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @ColorD@.
+  -> m ()
+glColor4dv v1 = liftIO $ dyn39 ptr_glColor4dv v1
+
+{-# NOINLINE ptr_glColor4dv #-}
+ptr_glColor4dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glColor4dv = unsafePerformIO $ getCommand "glColor4dv"
+
+-- glColor4f -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4fv'.
+glColor4f
+  :: MonadIO m
+  => GLfloat -- ^ @red@ of type @ColorF@.
+  -> GLfloat -- ^ @green@ of type @ColorF@.
+  -> GLfloat -- ^ @blue@ of type @ColorF@.
+  -> GLfloat -- ^ @alpha@ of type @ColorF@.
+  -> m ()
+glColor4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glColor4f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4f #-}
+ptr_glColor4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glColor4f = unsafePerformIO $ getCommand "glColor4f"
+
+-- glColor4fNormal3fVertex3fSUN ------------------------------------------------
+
+glColor4fNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @a@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn109 ptr_glColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glColor4fNormal3fVertex3fSUN #-}
+ptr_glColor4fNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glColor4fNormal3fVertex3fSUN"
+
+-- glColor4fNormal3fVertex3fvSUN -----------------------------------------------
+
+glColor4fNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glColor4fNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn110 ptr_glColor4fNormal3fVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glColor4fNormal3fVertex3fvSUN #-}
+ptr_glColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glColor4fNormal3fVertex3fvSUN"
+
+-- glColor4fv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @ColorF@.
+  -> m ()
+glColor4fv v1 = liftIO $ dyn41 ptr_glColor4fv v1
+
+{-# NOINLINE ptr_glColor4fv #-}
+ptr_glColor4fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glColor4fv = unsafePerformIO $ getCommand "glColor4fv"
+
+-- glColor4hNV -----------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glColor4hvNV'.
+glColor4hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @red@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @green@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @blue@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @alpha@ of type @Half16NV@.
+  -> m ()
+glColor4hNV v1 v2 v3 v4 = liftIO $ dyn111 ptr_glColor4hNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4hNV #-}
+ptr_glColor4hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glColor4hNV = unsafePerformIO $ getCommand "glColor4hNV"
+
+-- glColor4hvNV ----------------------------------------------------------------
+
+glColor4hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
+  -> m ()
+glColor4hvNV v1 = liftIO $ dyn98 ptr_glColor4hvNV v1
+
+{-# NOINLINE ptr_glColor4hvNV #-}
+ptr_glColor4hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glColor4hvNV = unsafePerformIO $ getCommand "glColor4hvNV"
+
+-- glColor4i -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4iv'.
+glColor4i
+  :: MonadIO m
+  => GLint -- ^ @red@ of type @ColorI@.
+  -> GLint -- ^ @green@ of type @ColorI@.
+  -> GLint -- ^ @blue@ of type @ColorI@.
+  -> GLint -- ^ @alpha@ of type @ColorI@.
+  -> m ()
+glColor4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glColor4i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4i #-}
+ptr_glColor4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glColor4i = unsafePerformIO $ getCommand "glColor4i"
+
+-- glColor4iv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @ColorI@.
+  -> m ()
+glColor4iv v1 = liftIO $ dyn43 ptr_glColor4iv v1
+
+{-# NOINLINE ptr_glColor4iv #-}
+ptr_glColor4iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glColor4iv = unsafePerformIO $ getCommand "glColor4iv"
+
+-- glColor4s -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4sv'.
+glColor4s
+  :: MonadIO m
+  => GLshort -- ^ @red@ of type @ColorS@.
+  -> GLshort -- ^ @green@ of type @ColorS@.
+  -> GLshort -- ^ @blue@ of type @ColorS@.
+  -> GLshort -- ^ @alpha@ of type @ColorS@.
+  -> m ()
+glColor4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glColor4s v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4s #-}
+ptr_glColor4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glColor4s = unsafePerformIO $ getCommand "glColor4s"
+
+-- glColor4sv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @ColorS@.
+  -> m ()
+glColor4sv v1 = liftIO $ dyn45 ptr_glColor4sv v1
+
+{-# NOINLINE ptr_glColor4sv #-}
+ptr_glColor4sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glColor4sv = unsafePerformIO $ getCommand "glColor4sv"
+
+-- glColor4ub ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4ubv'.
+glColor4ub
+  :: MonadIO m
+  => GLubyte -- ^ @red@ of type @ColorUB@.
+  -> GLubyte -- ^ @green@ of type @ColorUB@.
+  -> GLubyte -- ^ @blue@ of type @ColorUB@.
+  -> GLubyte -- ^ @alpha@ of type @ColorUB@.
+  -> m ()
+glColor4ub v1 v2 v3 v4 = liftIO $ dyn113 ptr_glColor4ub v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4ub #-}
+ptr_glColor4ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glColor4ub = unsafePerformIO $ getCommand "glColor4ub"
+
+-- glColor4ubVertex2fSUN -------------------------------------------------------
+
+glColor4ubVertex2fSUN
+  :: MonadIO m
+  => GLubyte -- ^ @r@.
+  -> GLubyte -- ^ @g@.
+  -> GLubyte -- ^ @b@.
+  -> GLubyte -- ^ @a@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> m ()
+glColor4ubVertex2fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn114 ptr_glColor4ubVertex2fSUN v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glColor4ubVertex2fSUN #-}
+ptr_glColor4ubVertex2fSUN :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ())
+ptr_glColor4ubVertex2fSUN = unsafePerformIO $ getCommand "glColor4ubVertex2fSUN"
+
+-- glColor4ubVertex2fvSUN ------------------------------------------------------
+
+glColor4ubVertex2fvSUN
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glColor4ubVertex2fvSUN v1 v2 = liftIO $ dyn115 ptr_glColor4ubVertex2fvSUN v1 v2
+
+{-# NOINLINE ptr_glColor4ubVertex2fvSUN #-}
+ptr_glColor4ubVertex2fvSUN :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
+ptr_glColor4ubVertex2fvSUN = unsafePerformIO $ getCommand "glColor4ubVertex2fvSUN"
+
+-- glColor4ubVertex3fSUN -------------------------------------------------------
+
+glColor4ubVertex3fSUN
+  :: MonadIO m
+  => GLubyte -- ^ @r@.
+  -> GLubyte -- ^ @g@.
+  -> GLubyte -- ^ @b@.
+  -> GLubyte -- ^ @a@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn116 ptr_glColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glColor4ubVertex3fSUN #-}
+ptr_glColor4ubVertex3fSUN :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glColor4ubVertex3fSUN = unsafePerformIO $ getCommand "glColor4ubVertex3fSUN"
+
+-- glColor4ubVertex3fvSUN ------------------------------------------------------
+
+glColor4ubVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glColor4ubVertex3fvSUN v1 v2 = liftIO $ dyn115 ptr_glColor4ubVertex3fvSUN v1 v2
+
+{-# NOINLINE ptr_glColor4ubVertex3fvSUN #-}
+ptr_glColor4ubVertex3fvSUN :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
+ptr_glColor4ubVertex3fvSUN = unsafePerformIO $ getCommand "glColor4ubVertex3fvSUN"
+
+-- glColor4ubv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4ubv
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @ColorUB@.
+  -> m ()
+glColor4ubv v1 = liftIO $ dyn100 ptr_glColor4ubv v1
+
+{-# NOINLINE ptr_glColor4ubv #-}
+ptr_glColor4ubv :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glColor4ubv = unsafePerformIO $ getCommand "glColor4ubv"
+
+-- glColor4ui ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4uiv'.
+glColor4ui
+  :: MonadIO m
+  => GLuint -- ^ @red@ of type @ColorUI@.
+  -> GLuint -- ^ @green@ of type @ColorUI@.
+  -> GLuint -- ^ @blue@ of type @ColorUI@.
+  -> GLuint -- ^ @alpha@ of type @ColorUI@.
+  -> m ()
+glColor4ui v1 v2 v3 v4 = liftIO $ dyn77 ptr_glColor4ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4ui #-}
+ptr_glColor4ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glColor4ui = unsafePerformIO $ getCommand "glColor4ui"
+
+-- glColor4uiv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4uiv
+  :: MonadIO m
+  => Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @ColorUI@.
+  -> m ()
+glColor4uiv v1 = liftIO $ dyn102 ptr_glColor4uiv v1
+
+{-# NOINLINE ptr_glColor4uiv #-}
+ptr_glColor4uiv :: FunPtr (Ptr GLuint -> IO ())
+ptr_glColor4uiv = unsafePerformIO $ getCommand "glColor4uiv"
+
+-- glColor4us ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4usv'.
+glColor4us
+  :: MonadIO m
+  => GLushort -- ^ @red@ of type @ColorUS@.
+  -> GLushort -- ^ @green@ of type @ColorUS@.
+  -> GLushort -- ^ @blue@ of type @ColorUS@.
+  -> GLushort -- ^ @alpha@ of type @ColorUS@.
+  -> m ()
+glColor4us v1 v2 v3 v4 = liftIO $ dyn117 ptr_glColor4us v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4us #-}
+ptr_glColor4us :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
+ptr_glColor4us = unsafePerformIO $ getCommand "glColor4us"
+
+-- glColor4usv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
+glColor4usv
+  :: MonadIO m
+  => Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @ColorUS@.
+  -> m ()
+glColor4usv v1 = liftIO $ dyn104 ptr_glColor4usv v1
+
+{-# NOINLINE ptr_glColor4usv #-}
+ptr_glColor4usv :: FunPtr (Ptr GLushort -> IO ())
+ptr_glColor4usv = unsafePerformIO $ getCommand "glColor4usv"
+
+-- glColor4x -------------------------------------------------------------------
+
+glColor4x
+  :: MonadIO m
+  => GLfixed -- ^ @red@.
+  -> GLfixed -- ^ @green@.
+  -> GLfixed -- ^ @blue@.
+  -> GLfixed -- ^ @alpha@.
+  -> m ()
+glColor4x v1 v2 v3 v4 = liftIO $ dyn50 ptr_glColor4x v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4x #-}
+ptr_glColor4x :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glColor4x = unsafePerformIO $ getCommand "glColor4x"
+
+-- glColor4xOES ----------------------------------------------------------------
+
+glColor4xOES
+  :: MonadIO m
+  => GLfixed -- ^ @red@.
+  -> GLfixed -- ^ @green@.
+  -> GLfixed -- ^ @blue@.
+  -> GLfixed -- ^ @alpha@.
+  -> m ()
+glColor4xOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glColor4xOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColor4xOES #-}
+ptr_glColor4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glColor4xOES = unsafePerformIO $ getCommand "glColor4xOES"
+
+-- glColor4xvOES ---------------------------------------------------------------
+
+glColor4xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @components@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glColor4xvOES v1 = liftIO $ dyn106 ptr_glColor4xvOES v1
+
+{-# NOINLINE ptr_glColor4xvOES #-}
+ptr_glColor4xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glColor4xvOES = unsafePerformIO $ getCommand "glColor4xvOES"
+
+-- glColorFormatNV -------------------------------------------------------------
+
+glColorFormatNV
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glColorFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glColorFormatNV v1 v2 v3
+
+{-# NOINLINE ptr_glColorFormatNV #-}
+ptr_glColorFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
+ptr_glColorFormatNV = unsafePerformIO $ getCommand "glColorFormatNV"
+
+-- glColorFragmentOp1ATI -------------------------------------------------------
+
+glColorFragmentOp1ATI
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  -> GLuint -- ^ @dst@.
+  -> GLuint -- ^ @dstMask@.
+  -> GLuint -- ^ @dstMod@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg1Rep@.
+  -> GLuint -- ^ @arg1Mod@.
+  -> m ()
+glColorFragmentOp1ATI v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn119 ptr_glColorFragmentOp1ATI v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glColorFragmentOp1ATI #-}
+ptr_glColorFragmentOp1ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glColorFragmentOp1ATI = unsafePerformIO $ getCommand "glColorFragmentOp1ATI"
+
+-- glColorFragmentOp2ATI -------------------------------------------------------
+
+glColorFragmentOp2ATI
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  -> GLuint -- ^ @dst@.
+  -> GLuint -- ^ @dstMask@.
+  -> GLuint -- ^ @dstMod@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg1Rep@.
+  -> GLuint -- ^ @arg1Mod@.
+  -> GLuint -- ^ @arg2@.
+  -> GLuint -- ^ @arg2Rep@.
+  -> GLuint -- ^ @arg2Mod@.
+  -> m ()
+glColorFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn120 ptr_glColorFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glColorFragmentOp2ATI #-}
+ptr_glColorFragmentOp2ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glColorFragmentOp2ATI = unsafePerformIO $ getCommand "glColorFragmentOp2ATI"
+
+-- glColorFragmentOp3ATI -------------------------------------------------------
+
+glColorFragmentOp3ATI
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @FragmentOpATI@.
+  -> GLuint -- ^ @dst@.
+  -> GLuint -- ^ @dstMask@.
+  -> GLuint -- ^ @dstMod@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg1Rep@.
+  -> GLuint -- ^ @arg1Mod@.
+  -> GLuint -- ^ @arg2@.
+  -> GLuint -- ^ @arg2Rep@.
+  -> GLuint -- ^ @arg2Mod@.
+  -> GLuint -- ^ @arg3@.
+  -> GLuint -- ^ @arg3Rep@.
+  -> GLuint -- ^ @arg3Mod@.
+  -> m ()
+glColorFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn121 ptr_glColorFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
+
+{-# NOINLINE ptr_glColorFragmentOp3ATI #-}
+ptr_glColorFragmentOp3ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glColorFragmentOp3ATI = unsafePerformIO $ getCommand "glColorFragmentOp3ATI"
+
+-- glColorMask -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorMask.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glColorMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glColorMask.xhtml OpenGL 4.x>.
+glColorMask
+  :: MonadIO m
+  => GLboolean -- ^ @red@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @green@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @blue@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @alpha@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glColorMask v1 v2 v3 v4 = liftIO $ dyn122 ptr_glColorMask v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColorMask #-}
+ptr_glColorMask :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+ptr_glColorMask = unsafePerformIO $ getCommand "glColorMask"
+
+-- glColorMaskIndexedEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glColorMaski'.
+glColorMaskIndexedEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glColorMaskIndexedEXT v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaskIndexedEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glColorMaskIndexedEXT #-}
+ptr_glColorMaskIndexedEXT :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+ptr_glColorMaskIndexedEXT = unsafePerformIO $ getCommand "glColorMaskIndexedEXT"
+
+-- glColorMaski ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glColorMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glColorMask.xhtml OpenGL 4.x>.
+glColorMaski
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glColorMaski v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaski v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glColorMaski #-}
+ptr_glColorMaski :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+ptr_glColorMaski = unsafePerformIO $ getCommand "glColorMaski"
+
+-- glColorMaskiEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glColorMaski'.
+glColorMaskiEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glColorMaskiEXT v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaskiEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glColorMaskiEXT #-}
+ptr_glColorMaskiEXT :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+ptr_glColorMaskiEXT = unsafePerformIO $ getCommand "glColorMaskiEXT"
+
+-- glColorMaskiOES -------------------------------------------------------------
+
+-- | This command is an alias for 'glColorMaski'.
+glColorMaskiOES
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glColorMaskiOES v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaskiOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glColorMaskiOES #-}
+ptr_glColorMaskiOES :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+ptr_glColorMaskiOES = unsafePerformIO $ getCommand "glColorMaskiOES"
+
+-- glColorMaterial -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorMaterial.xml OpenGL 2.x>.
+glColorMaterial
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @mode@ of type [ColorMaterialParameter](Graphics-GL-Groups.html#ColorMaterialParameter).
+  -> m ()
+glColorMaterial v1 v2 = liftIO $ dyn51 ptr_glColorMaterial v1 v2
+
+{-# NOINLINE ptr_glColorMaterial #-}
+ptr_glColorMaterial :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glColorMaterial = unsafePerformIO $ getCommand "glColorMaterial"
+
+-- glColorP3ui -----------------------------------------------------------------
+
+glColorP3ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @color@.
+  -> m ()
+glColorP3ui v1 v2 = liftIO $ dyn16 ptr_glColorP3ui v1 v2
+
+{-# NOINLINE ptr_glColorP3ui #-}
+ptr_glColorP3ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glColorP3ui = unsafePerformIO $ getCommand "glColorP3ui"
+
+-- glColorP3uiv ----------------------------------------------------------------
+
+glColorP3uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glColorP3uiv v1 v2 = liftIO $ dyn124 ptr_glColorP3uiv v1 v2
+
+{-# NOINLINE ptr_glColorP3uiv #-}
+ptr_glColorP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glColorP3uiv = unsafePerformIO $ getCommand "glColorP3uiv"
+
+-- glColorP4ui -----------------------------------------------------------------
+
+glColorP4ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @color@.
+  -> m ()
+glColorP4ui v1 v2 = liftIO $ dyn16 ptr_glColorP4ui v1 v2
+
+{-# NOINLINE ptr_glColorP4ui #-}
+ptr_glColorP4ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glColorP4ui = unsafePerformIO $ getCommand "glColorP4ui"
+
+-- glColorP4uiv ----------------------------------------------------------------
+
+glColorP4uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glColorP4uiv v1 v2 = liftIO $ dyn124 ptr_glColorP4uiv v1 v2
+
+{-# NOINLINE ptr_glColorP4uiv #-}
+ptr_glColorP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glColorP4uiv = unsafePerformIO $ getCommand "glColorP4uiv"
+
+-- glColorPointer --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorPointer.xml OpenGL 2.x>.
+glColorPointer
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glColorPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glColorPointer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glColorPointer #-}
+ptr_glColorPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glColorPointer = unsafePerformIO $ getCommand "glColorPointer"
+
+-- glColorPointerEXT -----------------------------------------------------------
+
+glColorPointerEXT
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
+  -> m ()
+glColorPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn126 ptr_glColorPointerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glColorPointerEXT #-}
+ptr_glColorPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+ptr_glColorPointerEXT = unsafePerformIO $ getCommand "glColorPointerEXT"
+
+-- glColorPointerListIBM -------------------------------------------------------
+
+glColorPointerListIBM
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glColorPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glColorPointerListIBM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glColorPointerListIBM #-}
+ptr_glColorPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glColorPointerListIBM = unsafePerformIO $ getCommand "glColorPointerListIBM"
+
+-- glColorPointervINTEL --------------------------------------------------------
+
+glColorPointervINTEL
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
+  -> m ()
+glColorPointervINTEL v1 v2 v3 = liftIO $ dyn128 ptr_glColorPointervINTEL v1 v2 v3
+
+{-# NOINLINE ptr_glColorPointervINTEL #-}
+ptr_glColorPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glColorPointervINTEL = unsafePerformIO $ getCommand "glColorPointervINTEL"
+
+-- glColorSubTable -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorSubTable.xml OpenGL 2.x>.
+glColorSubTable
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLsizei -- ^ @start@.
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type,count)@ elements of type @a@.
+  -> m ()
+glColorSubTable v1 v2 v3 v4 v5 v6 = liftIO $ dyn129 ptr_glColorSubTable v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glColorSubTable #-}
+ptr_glColorSubTable :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glColorSubTable = unsafePerformIO $ getCommand "glColorSubTable"
+
+-- glColorSubTableEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glColorSubTable'.
+glColorSubTableEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLsizei -- ^ @start@.
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type,count)@ elements of type @a@.
+  -> m ()
+glColorSubTableEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn129 ptr_glColorSubTableEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glColorSubTableEXT #-}
+ptr_glColorSubTableEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glColorSubTableEXT = unsafePerformIO $ getCommand "glColorSubTableEXT"
+
+-- glColorTable ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTable.xml OpenGL 2.x>.
+glColorTable
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glColorTable v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glColorTable v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glColorTable #-}
+ptr_glColorTable :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glColorTable = unsafePerformIO $ getCommand "glColorTable"
+
+-- glColorTableEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glColorTable'.
+glColorTableEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @internalFormat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glColorTableEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glColorTableEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glColorTableEXT #-}
+ptr_glColorTableEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glColorTableEXT = unsafePerformIO $ getCommand "glColorTableEXT"
+
+-- glColorTableParameterfv -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
+glColorTableParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @pname@ of type @ColorTableParameterPName@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glColorTableParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glColorTableParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glColorTableParameterfv #-}
+ptr_glColorTableParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glColorTableParameterfv = unsafePerformIO $ getCommand "glColorTableParameterfv"
+
+-- glColorTableParameterfvSGI --------------------------------------------------
+
+-- | This command is an alias for 'glColorTableParameterfv'.
+glColorTableParameterfvSGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
+  -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glColorTableParameterfvSGI v1 v2 v3 = liftIO $ dyn131 ptr_glColorTableParameterfvSGI v1 v2 v3
+
+{-# NOINLINE ptr_glColorTableParameterfvSGI #-}
+ptr_glColorTableParameterfvSGI :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glColorTableParameterfvSGI = unsafePerformIO $ getCommand "glColorTableParameterfvSGI"
+
+-- glColorTableParameteriv -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
+glColorTableParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @pname@ of type @ColorTableParameterPName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glColorTableParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glColorTableParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glColorTableParameteriv #-}
+ptr_glColorTableParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glColorTableParameteriv = unsafePerformIO $ getCommand "glColorTableParameteriv"
+
+-- glColorTableParameterivSGI --------------------------------------------------
+
+-- | This command is an alias for 'glColorTableParameteriv'.
+glColorTableParameterivSGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
+  -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-GL-Groups.html#ColorTableParameterPNameSGI).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glColorTableParameterivSGI v1 v2 v3 = liftIO $ dyn132 ptr_glColorTableParameterivSGI v1 v2 v3
+
+{-# NOINLINE ptr_glColorTableParameterivSGI #-}
+ptr_glColorTableParameterivSGI :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glColorTableParameterivSGI = unsafePerformIO $ getCommand "glColorTableParameterivSGI"
+
+-- glColorTableSGI -------------------------------------------------------------
+
+-- | This command is an alias for 'glColorTable'.
+glColorTableSGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glColorTableSGI v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glColorTableSGI v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glColorTableSGI #-}
+ptr_glColorTableSGI :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glColorTableSGI = unsafePerformIO $ getCommand "glColorTableSGI"
+
+-- glCombinerInputNV -----------------------------------------------------------
+
+glCombinerInputNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
+  -> GLenum -- ^ @variable@ of type @CombinerVariableNV@.
+  -> GLenum -- ^ @input@ of type @CombinerRegisterNV@.
+  -> GLenum -- ^ @mapping@ of type @CombinerMappingNV@.
+  -> GLenum -- ^ @componentUsage@ of type @CombinerComponentUsageNV@.
+  -> m ()
+glCombinerInputNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn133 ptr_glCombinerInputNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glCombinerInputNV #-}
+ptr_glCombinerInputNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glCombinerInputNV = unsafePerformIO $ getCommand "glCombinerInputNV"
+
+-- glCombinerOutputNV ----------------------------------------------------------
+
+glCombinerOutputNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
+  -> GLenum -- ^ @abOutput@ of type @CombinerRegisterNV@.
+  -> GLenum -- ^ @cdOutput@ of type @CombinerRegisterNV@.
+  -> GLenum -- ^ @sumOutput@ of type @CombinerRegisterNV@.
+  -> GLenum -- ^ @scale@ of type @CombinerScaleNV@.
+  -> GLenum -- ^ @bias@ of type @CombinerBiasNV@.
+  -> GLboolean -- ^ @abDotProduct@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @cdDotProduct@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @muxSum@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glCombinerOutputNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn134 ptr_glCombinerOutputNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glCombinerOutputNV #-}
+ptr_glCombinerOutputNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
+ptr_glCombinerOutputNV = unsafePerformIO $ getCommand "glCombinerOutputNV"
+
+-- glCombinerParameterfNV ------------------------------------------------------
+
+glCombinerParameterfNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glCombinerParameterfNV v1 v2 = liftIO $ dyn0 ptr_glCombinerParameterfNV v1 v2
+
+{-# NOINLINE ptr_glCombinerParameterfNV #-}
+ptr_glCombinerParameterfNV :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glCombinerParameterfNV = unsafePerformIO $ getCommand "glCombinerParameterfNV"
+
+-- glCombinerParameterfvNV -----------------------------------------------------
+
+glCombinerParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glCombinerParameterfvNV v1 v2 = liftIO $ dyn93 ptr_glCombinerParameterfvNV v1 v2
+
+{-# NOINLINE ptr_glCombinerParameterfvNV #-}
+ptr_glCombinerParameterfvNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glCombinerParameterfvNV = unsafePerformIO $ getCommand "glCombinerParameterfvNV"
+
+-- glCombinerParameteriNV ------------------------------------------------------
+
+glCombinerParameteriNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glCombinerParameteriNV v1 v2 = liftIO $ dyn55 ptr_glCombinerParameteriNV v1 v2
+
+{-# NOINLINE ptr_glCombinerParameteriNV #-}
+ptr_glCombinerParameteriNV :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glCombinerParameteriNV = unsafePerformIO $ getCommand "glCombinerParameteriNV"
+
+-- glCombinerParameterivNV -----------------------------------------------------
+
+glCombinerParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glCombinerParameterivNV v1 v2 = liftIO $ dyn135 ptr_glCombinerParameterivNV v1 v2
+
+{-# NOINLINE ptr_glCombinerParameterivNV #-}
+ptr_glCombinerParameterivNV :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glCombinerParameterivNV = unsafePerformIO $ getCommand "glCombinerParameterivNV"
+
+-- glCombinerStageParameterfvNV ------------------------------------------------
+
+glCombinerStageParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glCombinerStageParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glCombinerStageParameterfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glCombinerStageParameterfvNV #-}
+ptr_glCombinerStageParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glCombinerStageParameterfvNV = unsafePerformIO $ getCommand "glCombinerStageParameterfvNV"
+
+-- glCommandListSegmentsNV -----------------------------------------------------
+
+glCommandListSegmentsNV
+  :: MonadIO m
+  => GLuint -- ^ @list@.
+  -> GLuint -- ^ @segments@.
+  -> m ()
+glCommandListSegmentsNV v1 v2 = liftIO $ dyn3 ptr_glCommandListSegmentsNV v1 v2
+
+{-# NOINLINE ptr_glCommandListSegmentsNV #-}
+ptr_glCommandListSegmentsNV :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glCommandListSegmentsNV = unsafePerformIO $ getCommand "glCommandListSegmentsNV"
+
+-- glCompileCommandListNV ------------------------------------------------------
+
+glCompileCommandListNV
+  :: MonadIO m
+  => GLuint -- ^ @list@.
+  -> m ()
+glCompileCommandListNV v1 = liftIO $ dyn2 ptr_glCompileCommandListNV v1
+
+{-# NOINLINE ptr_glCompileCommandListNV #-}
+ptr_glCompileCommandListNV :: FunPtr (GLuint -> IO ())
+ptr_glCompileCommandListNV = unsafePerformIO $ getCommand "glCompileCommandListNV"
+
+-- glCompileShader -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompileShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompileShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompileShader.xhtml OpenGL 4.x>.
+glCompileShader
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> m ()
+glCompileShader v1 = liftIO $ dyn2 ptr_glCompileShader v1
+
+{-# NOINLINE ptr_glCompileShader #-}
+ptr_glCompileShader :: FunPtr (GLuint -> IO ())
+ptr_glCompileShader = unsafePerformIO $ getCommand "glCompileShader"
+
+-- glCompileShaderARB ----------------------------------------------------------
+
+-- | This command is an alias for 'glCompileShader'.
+glCompileShaderARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @shaderObj@ of type @handleARB@.
+  -> m ()
+glCompileShaderARB v1 = liftIO $ dyn136 ptr_glCompileShaderARB v1
+
+{-# NOINLINE ptr_glCompileShaderARB #-}
+ptr_glCompileShaderARB :: FunPtr (GLhandleARB -> IO ())
+ptr_glCompileShaderARB = unsafePerformIO $ getCommand "glCompileShaderARB"
+
+-- glCompileShaderIncludeARB ---------------------------------------------------
+
+glCompileShaderIncludeARB
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr (Ptr GLchar) -- ^ @path@ pointing to @count@ elements of type @Ptr GLchar@.
+  -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
+  -> m ()
+glCompileShaderIncludeARB v1 v2 v3 v4 = liftIO $ dyn137 ptr_glCompileShaderIncludeARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glCompileShaderIncludeARB #-}
+ptr_glCompileShaderIncludeARB :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
+ptr_glCompileShaderIncludeARB = unsafePerformIO $ getCommand "glCompileShaderIncludeARB"
+
+-- glCompressedMultiTexImage1DEXT ----------------------------------------------
+
+glCompressedMultiTexImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn138 ptr_glCompressedMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCompressedMultiTexImage1DEXT #-}
+ptr_glCompressedMultiTexImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedMultiTexImage1DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexImage1DEXT"
+
+-- glCompressedMultiTexImage2DEXT ----------------------------------------------
+
+glCompressedMultiTexImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn139 ptr_glCompressedMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedMultiTexImage2DEXT #-}
+ptr_glCompressedMultiTexImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedMultiTexImage2DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexImage2DEXT"
+
+-- glCompressedMultiTexImage3DEXT ----------------------------------------------
+
+glCompressedMultiTexImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn140 ptr_glCompressedMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glCompressedMultiTexImage3DEXT #-}
+ptr_glCompressedMultiTexImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedMultiTexImage3DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexImage3DEXT"
+
+-- glCompressedMultiTexSubImage1DEXT -------------------------------------------
+
+glCompressedMultiTexSubImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn141 ptr_glCompressedMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCompressedMultiTexSubImage1DEXT #-}
+ptr_glCompressedMultiTexSubImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedMultiTexSubImage1DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexSubImage1DEXT"
+
+-- glCompressedMultiTexSubImage2DEXT -------------------------------------------
+
+glCompressedMultiTexSubImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn142 ptr_glCompressedMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glCompressedMultiTexSubImage2DEXT #-}
+ptr_glCompressedMultiTexSubImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedMultiTexSubImage2DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexSubImage2DEXT"
+
+-- glCompressedMultiTexSubImage3DEXT -------------------------------------------
+
+glCompressedMultiTexSubImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn143 ptr_glCompressedMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glCompressedMultiTexSubImage3DEXT #-}
+ptr_glCompressedMultiTexSubImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedMultiTexSubImage3DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexSubImage3DEXT"
+
+-- glCompressedTexImage1D ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage1D.xhtml OpenGL 4.x>.
+glCompressedTexImage1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn144 ptr_glCompressedTexImage1D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCompressedTexImage1D #-}
+ptr_glCompressedTexImage1D :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexImage1D = unsafePerformIO $ getCommand "glCompressedTexImage1D"
+
+-- glCompressedTexImage1DARB ---------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexImage1D'.
+glCompressedTexImage1DARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexImage1DARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn144 ptr_glCompressedTexImage1DARB v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCompressedTexImage1DARB #-}
+ptr_glCompressedTexImage1DARB :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexImage1DARB = unsafePerformIO $ getCommand "glCompressedTexImage1DARB"
+
+-- glCompressedTexImage2D ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage2D.xhtml OpenGL 4.x>.
+glCompressedTexImage2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn145 ptr_glCompressedTexImage2D v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCompressedTexImage2D #-}
+ptr_glCompressedTexImage2D :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexImage2D = unsafePerformIO $ getCommand "glCompressedTexImage2D"
+
+-- glCompressedTexImage2DARB ---------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexImage2D'.
+glCompressedTexImage2DARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexImage2DARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn145 ptr_glCompressedTexImage2DARB v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCompressedTexImage2DARB #-}
+ptr_glCompressedTexImage2DARB :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexImage2DARB = unsafePerformIO $ getCommand "glCompressedTexImage2DARB"
+
+-- glCompressedTexImage3D ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage3D.xhtml OpenGL 4.x>.
+glCompressedTexImage3D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn146 ptr_glCompressedTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedTexImage3D #-}
+ptr_glCompressedTexImage3D :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexImage3D = unsafePerformIO $ getCommand "glCompressedTexImage3D"
+
+-- glCompressedTexImage3DARB ---------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexImage3D'.
+glCompressedTexImage3DARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn146 ptr_glCompressedTexImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedTexImage3DARB #-}
+ptr_glCompressedTexImage3DARB :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexImage3DARB = unsafePerformIO $ getCommand "glCompressedTexImage3DARB"
+
+-- glCompressedTexImage3DOES ---------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexImage3D'.
+glCompressedTexImage3DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn146 ptr_glCompressedTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedTexImage3DOES #-}
+ptr_glCompressedTexImage3DOES :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexImage3DOES = unsafePerformIO $ getCommand "glCompressedTexImage3DOES"
+
+-- glCompressedTexSubImage1D ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage1D.xhtml OpenGL 4.x>.
+glCompressedTexSubImage1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn147 ptr_glCompressedTexSubImage1D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCompressedTexSubImage1D #-}
+ptr_glCompressedTexSubImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexSubImage1D = unsafePerformIO $ getCommand "glCompressedTexSubImage1D"
+
+-- glCompressedTexSubImage1DARB ------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexSubImage1D'.
+glCompressedTexSubImage1DARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexSubImage1DARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn147 ptr_glCompressedTexSubImage1DARB v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCompressedTexSubImage1DARB #-}
+ptr_glCompressedTexSubImage1DARB :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexSubImage1DARB = unsafePerformIO $ getCommand "glCompressedTexSubImage1DARB"
+
+-- glCompressedTexSubImage2D ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage2D.xhtml OpenGL 4.x>.
+glCompressedTexSubImage2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn148 ptr_glCompressedTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedTexSubImage2D #-}
+ptr_glCompressedTexSubImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexSubImage2D = unsafePerformIO $ getCommand "glCompressedTexSubImage2D"
+
+-- glCompressedTexSubImage2DARB ------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexSubImage2D'.
+glCompressedTexSubImage2DARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexSubImage2DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn148 ptr_glCompressedTexSubImage2DARB v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedTexSubImage2DARB #-}
+ptr_glCompressedTexSubImage2DARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexSubImage2DARB = unsafePerformIO $ getCommand "glCompressedTexSubImage2DARB"
+
+-- glCompressedTexSubImage3D ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage3D.xhtml OpenGL 4.x>.
+glCompressedTexSubImage3D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn149 ptr_glCompressedTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glCompressedTexSubImage3D #-}
+ptr_glCompressedTexSubImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexSubImage3D = unsafePerformIO $ getCommand "glCompressedTexSubImage3D"
+
+-- glCompressedTexSubImage3DARB ------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexSubImage3D'.
+glCompressedTexSubImage3DARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
+  -> m ()
+glCompressedTexSubImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn149 ptr_glCompressedTexSubImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glCompressedTexSubImage3DARB #-}
+ptr_glCompressedTexSubImage3DARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexSubImage3DARB = unsafePerformIO $ getCommand "glCompressedTexSubImage3DARB"
+
+-- glCompressedTexSubImage3DOES ------------------------------------------------
+
+-- | This command is an alias for 'glCompressedTexSubImage3D'.
+glCompressedTexSubImage3DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn149 ptr_glCompressedTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glCompressedTexSubImage3DOES #-}
+ptr_glCompressedTexSubImage3DOES :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTexSubImage3DOES = unsafePerformIO $ getCommand "glCompressedTexSubImage3DOES"
+
+-- glCompressedTextureImage1DEXT -----------------------------------------------
+
+glCompressedTextureImage1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn150 ptr_glCompressedTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCompressedTextureImage1DEXT #-}
+ptr_glCompressedTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureImage1DEXT = unsafePerformIO $ getCommand "glCompressedTextureImage1DEXT"
+
+-- glCompressedTextureImage2DEXT -----------------------------------------------
+
+glCompressedTextureImage2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn151 ptr_glCompressedTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedTextureImage2DEXT #-}
+ptr_glCompressedTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureImage2DEXT = unsafePerformIO $ getCommand "glCompressedTextureImage2DEXT"
+
+-- glCompressedTextureImage3DEXT -----------------------------------------------
+
+glCompressedTextureImage3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn152 ptr_glCompressedTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glCompressedTextureImage3DEXT #-}
+ptr_glCompressedTextureImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureImage3DEXT = unsafePerformIO $ getCommand "glCompressedTextureImage3DEXT"
+
+-- glCompressedTextureSubImage1D -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage1D.xhtml OpenGL 4.x>.
+glCompressedTextureSubImage1D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@.
+  -> m ()
+glCompressedTextureSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn153 ptr_glCompressedTextureSubImage1D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCompressedTextureSubImage1D #-}
+ptr_glCompressedTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureSubImage1D = unsafePerformIO $ getCommand "glCompressedTextureSubImage1D"
+
+-- glCompressedTextureSubImage1DEXT --------------------------------------------
+
+glCompressedTextureSubImage1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn154 ptr_glCompressedTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCompressedTextureSubImage1DEXT #-}
+ptr_glCompressedTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureSubImage1DEXT = unsafePerformIO $ getCommand "glCompressedTextureSubImage1DEXT"
+
+-- glCompressedTextureSubImage2D -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage2D.xhtml OpenGL 4.x>.
+glCompressedTextureSubImage2D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@.
+  -> m ()
+glCompressedTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn155 ptr_glCompressedTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCompressedTextureSubImage2D #-}
+ptr_glCompressedTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureSubImage2D = unsafePerformIO $ getCommand "glCompressedTextureSubImage2D"
+
+-- glCompressedTextureSubImage2DEXT --------------------------------------------
+
+glCompressedTextureSubImage2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn156 ptr_glCompressedTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glCompressedTextureSubImage2DEXT #-}
+ptr_glCompressedTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureSubImage2DEXT = unsafePerformIO $ getCommand "glCompressedTextureSubImage2DEXT"
+
+-- glCompressedTextureSubImage3D -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage3D.xhtml OpenGL 4.x>.
+glCompressedTextureSubImage3D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@.
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @data@.
+  -> m ()
+glCompressedTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn157 ptr_glCompressedTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glCompressedTextureSubImage3D #-}
+ptr_glCompressedTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureSubImage3D = unsafePerformIO $ getCommand "glCompressedTextureSubImage3D"
+
+-- glCompressedTextureSubImage3DEXT --------------------------------------------
+
+glCompressedTextureSubImage3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLsizei -- ^ @imageSize@.
+  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
+  -> m ()
+glCompressedTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn158 ptr_glCompressedTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glCompressedTextureSubImage3DEXT #-}
+ptr_glCompressedTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glCompressedTextureSubImage3DEXT = unsafePerformIO $ getCommand "glCompressedTextureSubImage3DEXT"
+
+-- glConservativeRasterParameterfNV --------------------------------------------
+
+glConservativeRasterParameterfNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfloat -- ^ @value@.
+  -> m ()
+glConservativeRasterParameterfNV v1 v2 = liftIO $ dyn0 ptr_glConservativeRasterParameterfNV v1 v2
+
+{-# NOINLINE ptr_glConservativeRasterParameterfNV #-}
+ptr_glConservativeRasterParameterfNV :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glConservativeRasterParameterfNV = unsafePerformIO $ getCommand "glConservativeRasterParameterfNV"
+
+-- glConvolutionFilter1D -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter1D.xml OpenGL 2.x>.
+glConvolutionFilter1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glConvolutionFilter1D v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glConvolutionFilter1D v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glConvolutionFilter1D #-}
+ptr_glConvolutionFilter1D :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glConvolutionFilter1D = unsafePerformIO $ getCommand "glConvolutionFilter1D"
+
+-- glConvolutionFilter1DEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glConvolutionFilter1D'.
+glConvolutionFilter1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glConvolutionFilter1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glConvolutionFilter1DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glConvolutionFilter1DEXT #-}
+ptr_glConvolutionFilter1DEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glConvolutionFilter1DEXT = unsafePerformIO $ getCommand "glConvolutionFilter1DEXT"
+
+-- glConvolutionFilter2D -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter2D.xml OpenGL 2.x>.
+glConvolutionFilter2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glConvolutionFilter2D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn159 ptr_glConvolutionFilter2D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glConvolutionFilter2D #-}
+ptr_glConvolutionFilter2D :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glConvolutionFilter2D = unsafePerformIO $ getCommand "glConvolutionFilter2D"
+
+-- glConvolutionFilter2DEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glConvolutionFilter2D'.
+glConvolutionFilter2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn159 ptr_glConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glConvolutionFilter2DEXT #-}
+ptr_glConvolutionFilter2DEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glConvolutionFilter2DEXT = unsafePerformIO $ getCommand "glConvolutionFilter2DEXT"
+
+-- glConvolutionParameterf -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
+glConvolutionParameterf
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  -> GLfloat -- ^ @params@ of type @CheckedFloat32@.
+  -> m ()
+glConvolutionParameterf v1 v2 v3 = liftIO $ dyn160 ptr_glConvolutionParameterf v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameterf #-}
+ptr_glConvolutionParameterf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glConvolutionParameterf = unsafePerformIO $ getCommand "glConvolutionParameterf"
+
+-- glConvolutionParameterfEXT --------------------------------------------------
+
+-- | This command is an alias for 'glConvolutionParameterf'.
+glConvolutionParameterfEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
+  -> GLfloat -- ^ @params@ of type @CheckedFloat32@.
+  -> m ()
+glConvolutionParameterfEXT v1 v2 v3 = liftIO $ dyn160 ptr_glConvolutionParameterfEXT v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameterfEXT #-}
+ptr_glConvolutionParameterfEXT :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glConvolutionParameterfEXT = unsafePerformIO $ getCommand "glConvolutionParameterfEXT"
+
+-- glConvolutionParameterfv ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
+glConvolutionParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glConvolutionParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glConvolutionParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameterfv #-}
+ptr_glConvolutionParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glConvolutionParameterfv = unsafePerformIO $ getCommand "glConvolutionParameterfv"
+
+-- glConvolutionParameterfvEXT -------------------------------------------------
+
+-- | This command is an alias for 'glConvolutionParameterfv'.
+glConvolutionParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glConvolutionParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glConvolutionParameterfvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameterfvEXT #-}
+ptr_glConvolutionParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glConvolutionParameterfvEXT = unsafePerformIO $ getCommand "glConvolutionParameterfvEXT"
+
+-- glConvolutionParameteri -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
+glConvolutionParameteri
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  -> GLint -- ^ @params@ of type @CheckedInt32@.
+  -> m ()
+glConvolutionParameteri v1 v2 v3 = liftIO $ dyn62 ptr_glConvolutionParameteri v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameteri #-}
+ptr_glConvolutionParameteri :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glConvolutionParameteri = unsafePerformIO $ getCommand "glConvolutionParameteri"
+
+-- glConvolutionParameteriEXT --------------------------------------------------
+
+-- | This command is an alias for 'glConvolutionParameteri'.
+glConvolutionParameteriEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
+  -> GLint -- ^ @params@ of type @CheckedInt32@.
+  -> m ()
+glConvolutionParameteriEXT v1 v2 v3 = liftIO $ dyn62 ptr_glConvolutionParameteriEXT v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameteriEXT #-}
+ptr_glConvolutionParameteriEXT :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glConvolutionParameteriEXT = unsafePerformIO $ getCommand "glConvolutionParameteriEXT"
+
+-- glConvolutionParameteriv ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
+glConvolutionParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glConvolutionParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glConvolutionParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameteriv #-}
+ptr_glConvolutionParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glConvolutionParameteriv = unsafePerformIO $ getCommand "glConvolutionParameteriv"
+
+-- glConvolutionParameterivEXT -------------------------------------------------
+
+-- | This command is an alias for 'glConvolutionParameteriv'.
+glConvolutionParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glConvolutionParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glConvolutionParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameterivEXT #-}
+ptr_glConvolutionParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glConvolutionParameterivEXT = unsafePerformIO $ getCommand "glConvolutionParameterivEXT"
+
+-- glConvolutionParameterxOES --------------------------------------------------
+
+glConvolutionParameterxOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glConvolutionParameterxOES v1 v2 v3 = liftIO $ dyn161 ptr_glConvolutionParameterxOES v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameterxOES #-}
+ptr_glConvolutionParameterxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glConvolutionParameterxOES = unsafePerformIO $ getCommand "glConvolutionParameterxOES"
+
+-- glConvolutionParameterxvOES -------------------------------------------------
+
+glConvolutionParameterxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glConvolutionParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glConvolutionParameterxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glConvolutionParameterxvOES #-}
+ptr_glConvolutionParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glConvolutionParameterxvOES = unsafePerformIO $ getCommand "glConvolutionParameterxvOES"
+
+-- glCopyBufferSubData ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml OpenGL 4.x>.
+glCopyBufferSubData
+  :: MonadIO m
+  => GLenum -- ^ @readTarget@.
+  -> GLenum -- ^ @writeTarget@.
+  -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
+  -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glCopyBufferSubData v1 v2 v3 v4 v5 = liftIO $ dyn163 ptr_glCopyBufferSubData v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyBufferSubData #-}
+ptr_glCopyBufferSubData :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glCopyBufferSubData = unsafePerformIO $ getCommand "glCopyBufferSubData"
+
+-- glCopyBufferSubDataNV -------------------------------------------------------
+
+-- | This command is an alias for 'glCopyBufferSubData'.
+glCopyBufferSubDataNV
+  :: MonadIO m
+  => GLenum -- ^ @readTarget@.
+  -> GLenum -- ^ @writeTarget@.
+  -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
+  -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glCopyBufferSubDataNV v1 v2 v3 v4 v5 = liftIO $ dyn163 ptr_glCopyBufferSubDataNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyBufferSubDataNV #-}
+ptr_glCopyBufferSubDataNV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glCopyBufferSubDataNV = unsafePerformIO $ getCommand "glCopyBufferSubDataNV"
+
+-- glCopyColorSubTable ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorSubTable.xml OpenGL 2.x>.
+glCopyColorSubTable
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLsizei -- ^ @start@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyColorSubTable v1 v2 v3 v4 v5 = liftIO $ dyn164 ptr_glCopyColorSubTable v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyColorSubTable #-}
+ptr_glCopyColorSubTable :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyColorSubTable = unsafePerformIO $ getCommand "glCopyColorSubTable"
+
+-- glCopyColorSubTableEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glCopyColorSubTable'.
+glCopyColorSubTableEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLsizei -- ^ @start@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyColorSubTableEXT v1 v2 v3 v4 v5 = liftIO $ dyn164 ptr_glCopyColorSubTableEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyColorSubTableEXT #-}
+ptr_glCopyColorSubTableEXT :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyColorSubTableEXT = unsafePerformIO $ getCommand "glCopyColorSubTableEXT"
+
+-- glCopyColorTable ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorTable.xml OpenGL 2.x>.
+glCopyColorTable
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyColorTable v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyColorTable v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyColorTable #-}
+ptr_glCopyColorTable :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyColorTable = unsafePerformIO $ getCommand "glCopyColorTable"
+
+-- glCopyColorTableSGI ---------------------------------------------------------
+
+-- | This command is an alias for 'glCopyColorTable'.
+glCopyColorTableSGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyColorTableSGI v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyColorTableSGI v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyColorTableSGI #-}
+ptr_glCopyColorTableSGI :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyColorTableSGI = unsafePerformIO $ getCommand "glCopyColorTableSGI"
+
+-- glCopyConvolutionFilter1D ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter1D.xml OpenGL 2.x>.
+glCopyConvolutionFilter1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyConvolutionFilter1D v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyConvolutionFilter1D v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyConvolutionFilter1D #-}
+ptr_glCopyConvolutionFilter1D :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyConvolutionFilter1D = unsafePerformIO $ getCommand "glCopyConvolutionFilter1D"
+
+-- glCopyConvolutionFilter1DEXT ------------------------------------------------
+
+-- | This command is an alias for 'glCopyConvolutionFilter1D'.
+glCopyConvolutionFilter1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyConvolutionFilter1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyConvolutionFilter1DEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyConvolutionFilter1DEXT #-}
+ptr_glCopyConvolutionFilter1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyConvolutionFilter1DEXT = unsafePerformIO $ getCommand "glCopyConvolutionFilter1DEXT"
+
+-- glCopyConvolutionFilter2D ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter2D.xml OpenGL 2.x>.
+glCopyConvolutionFilter2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyConvolutionFilter2D v1 v2 v3 v4 v5 v6 = liftIO $ dyn166 ptr_glCopyConvolutionFilter2D v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glCopyConvolutionFilter2D #-}
+ptr_glCopyConvolutionFilter2D :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyConvolutionFilter2D = unsafePerformIO $ getCommand "glCopyConvolutionFilter2D"
+
+-- glCopyConvolutionFilter2DEXT ------------------------------------------------
+
+-- | This command is an alias for 'glCopyConvolutionFilter2D'.
+glCopyConvolutionFilter2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn166 ptr_glCopyConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glCopyConvolutionFilter2DEXT #-}
+ptr_glCopyConvolutionFilter2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyConvolutionFilter2DEXT = unsafePerformIO $ getCommand "glCopyConvolutionFilter2DEXT"
+
+-- glCopyImageSubData ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyImageSubData.xhtml OpenGL 4.x>.
+glCopyImageSubData
+  :: MonadIO m
+  => GLuint -- ^ @srcName@.
+  -> GLenum -- ^ @srcTarget@.
+  -> GLint -- ^ @srcLevel@.
+  -> GLint -- ^ @srcX@.
+  -> GLint -- ^ @srcY@.
+  -> GLint -- ^ @srcZ@.
+  -> GLuint -- ^ @dstName@.
+  -> GLenum -- ^ @dstTarget@.
+  -> GLint -- ^ @dstLevel@.
+  -> GLint -- ^ @dstX@.
+  -> GLint -- ^ @dstY@.
+  -> GLint -- ^ @dstZ@.
+  -> GLsizei -- ^ @srcWidth@.
+  -> GLsizei -- ^ @srcHeight@.
+  -> GLsizei -- ^ @srcDepth@.
+  -> m ()
+glCopyImageSubData v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubData v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
+
+{-# NOINLINE ptr_glCopyImageSubData #-}
+ptr_glCopyImageSubData :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyImageSubData = unsafePerformIO $ getCommand "glCopyImageSubData"
+
+-- glCopyImageSubDataEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glCopyImageSubData'.
+glCopyImageSubDataEXT
+  :: MonadIO m
+  => GLuint -- ^ @srcName@.
+  -> GLenum -- ^ @srcTarget@.
+  -> GLint -- ^ @srcLevel@.
+  -> GLint -- ^ @srcX@.
+  -> GLint -- ^ @srcY@.
+  -> GLint -- ^ @srcZ@.
+  -> GLuint -- ^ @dstName@.
+  -> GLenum -- ^ @dstTarget@.
+  -> GLint -- ^ @dstLevel@.
+  -> GLint -- ^ @dstX@.
+  -> GLint -- ^ @dstY@.
+  -> GLint -- ^ @dstZ@.
+  -> GLsizei -- ^ @srcWidth@.
+  -> GLsizei -- ^ @srcHeight@.
+  -> GLsizei -- ^ @srcDepth@.
+  -> m ()
+glCopyImageSubDataEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubDataEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
+
+{-# NOINLINE ptr_glCopyImageSubDataEXT #-}
+ptr_glCopyImageSubDataEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyImageSubDataEXT = unsafePerformIO $ getCommand "glCopyImageSubDataEXT"
+
+-- glCopyImageSubDataNV --------------------------------------------------------
+
+glCopyImageSubDataNV
+  :: MonadIO m
+  => GLuint -- ^ @srcName@.
+  -> GLenum -- ^ @srcTarget@.
+  -> GLint -- ^ @srcLevel@.
+  -> GLint -- ^ @srcX@.
+  -> GLint -- ^ @srcY@.
+  -> GLint -- ^ @srcZ@.
+  -> GLuint -- ^ @dstName@.
+  -> GLenum -- ^ @dstTarget@.
+  -> GLint -- ^ @dstLevel@.
+  -> GLint -- ^ @dstX@.
+  -> GLint -- ^ @dstY@.
+  -> GLint -- ^ @dstZ@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> m ()
+glCopyImageSubDataNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubDataNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
+
+{-# NOINLINE ptr_glCopyImageSubDataNV #-}
+ptr_glCopyImageSubDataNV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyImageSubDataNV = unsafePerformIO $ getCommand "glCopyImageSubDataNV"
+
+-- glCopyImageSubDataOES -------------------------------------------------------
+
+-- | This command is an alias for 'glCopyImageSubData'.
+glCopyImageSubDataOES
+  :: MonadIO m
+  => GLuint -- ^ @srcName@.
+  -> GLenum -- ^ @srcTarget@.
+  -> GLint -- ^ @srcLevel@.
+  -> GLint -- ^ @srcX@.
+  -> GLint -- ^ @srcY@.
+  -> GLint -- ^ @srcZ@.
+  -> GLuint -- ^ @dstName@.
+  -> GLenum -- ^ @dstTarget@.
+  -> GLint -- ^ @dstLevel@.
+  -> GLint -- ^ @dstX@.
+  -> GLint -- ^ @dstY@.
+  -> GLint -- ^ @dstZ@.
+  -> GLsizei -- ^ @srcWidth@.
+  -> GLsizei -- ^ @srcHeight@.
+  -> GLsizei -- ^ @srcDepth@.
+  -> m ()
+glCopyImageSubDataOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubDataOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
+
+{-# NOINLINE ptr_glCopyImageSubDataOES #-}
+ptr_glCopyImageSubDataOES :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyImageSubDataOES = unsafePerformIO $ getCommand "glCopyImageSubDataOES"
+
+-- glCopyMultiTexImage1DEXT ----------------------------------------------------
+
+glCopyMultiTexImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn168 ptr_glCopyMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCopyMultiTexImage1DEXT #-}
+ptr_glCopyMultiTexImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+ptr_glCopyMultiTexImage1DEXT = unsafePerformIO $ getCommand "glCopyMultiTexImage1DEXT"
+
+-- glCopyMultiTexImage2DEXT ----------------------------------------------------
+
+glCopyMultiTexImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn169 ptr_glCopyMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyMultiTexImage2DEXT #-}
+ptr_glCopyMultiTexImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glCopyMultiTexImage2DEXT = unsafePerformIO $ getCommand "glCopyMultiTexImage2DEXT"
+
+-- glCopyMultiTexSubImage1DEXT -------------------------------------------------
+
+glCopyMultiTexSubImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn170 ptr_glCopyMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCopyMultiTexSubImage1DEXT #-}
+ptr_glCopyMultiTexSubImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyMultiTexSubImage1DEXT = unsafePerformIO $ getCommand "glCopyMultiTexSubImage1DEXT"
+
+-- glCopyMultiTexSubImage2DEXT -------------------------------------------------
+
+glCopyMultiTexSubImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn171 ptr_glCopyMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyMultiTexSubImage2DEXT #-}
+ptr_glCopyMultiTexSubImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyMultiTexSubImage2DEXT = unsafePerformIO $ getCommand "glCopyMultiTexSubImage2DEXT"
+
+-- glCopyMultiTexSubImage3DEXT -------------------------------------------------
+
+glCopyMultiTexSubImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn172 ptr_glCopyMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glCopyMultiTexSubImage3DEXT #-}
+ptr_glCopyMultiTexSubImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyMultiTexSubImage3DEXT = unsafePerformIO $ getCommand "glCopyMultiTexSubImage3DEXT"
+
+-- glCopyNamedBufferSubData ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml OpenGL 4.x>.
+glCopyNamedBufferSubData
+  :: MonadIO m
+  => GLuint -- ^ @readBuffer@.
+  -> GLuint -- ^ @writeBuffer@.
+  -> GLintptr -- ^ @readOffset@.
+  -> GLintptr -- ^ @writeOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glCopyNamedBufferSubData v1 v2 v3 v4 v5 = liftIO $ dyn173 ptr_glCopyNamedBufferSubData v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyNamedBufferSubData #-}
+ptr_glCopyNamedBufferSubData :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glCopyNamedBufferSubData = unsafePerformIO $ getCommand "glCopyNamedBufferSubData"
+
+-- glCopyPathNV ----------------------------------------------------------------
+
+glCopyPathNV
+  :: MonadIO m
+  => GLuint -- ^ @resultPath@ of type @Path@.
+  -> GLuint -- ^ @srcPath@ of type @Path@.
+  -> m ()
+glCopyPathNV v1 v2 = liftIO $ dyn3 ptr_glCopyPathNV v1 v2
+
+{-# NOINLINE ptr_glCopyPathNV #-}
+ptr_glCopyPathNV :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glCopyPathNV = unsafePerformIO $ getCommand "glCopyPathNV"
+
+-- glCopyPixels ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyPixels.xml OpenGL 2.x>.
+glCopyPixels
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @type@ of type [PixelCopyType](Graphics-GL-Groups.html#PixelCopyType).
+  -> m ()
+glCopyPixels v1 v2 v3 v4 v5 = liftIO $ dyn174 ptr_glCopyPixels v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glCopyPixels #-}
+ptr_glCopyPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
+ptr_glCopyPixels = unsafePerformIO $ getCommand "glCopyPixels"
+
+-- glCopyTexImage1D ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage1D.xhtml OpenGL 4.x>.
+glCopyTexImage1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyTexImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn175 ptr_glCopyTexImage1D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCopyTexImage1D #-}
+ptr_glCopyTexImage1D :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+ptr_glCopyTexImage1D = unsafePerformIO $ getCommand "glCopyTexImage1D"
+
+-- glCopyTexImage1DEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glCopyTexImage1D'.
+glCopyTexImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn175 ptr_glCopyTexImage1DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCopyTexImage1DEXT #-}
+ptr_glCopyTexImage1DEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+ptr_glCopyTexImage1DEXT = unsafePerformIO $ getCommand "glCopyTexImage1DEXT"
+
+-- glCopyTexImage2D ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage2D.xhtml OpenGL 4.x>.
+glCopyTexImage2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn176 ptr_glCopyTexImage2D v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCopyTexImage2D #-}
+ptr_glCopyTexImage2D :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glCopyTexImage2D = unsafePerformIO $ getCommand "glCopyTexImage2D"
+
+-- glCopyTexImage2DEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glCopyTexImage2D'.
+glCopyTexImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn176 ptr_glCopyTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCopyTexImage2DEXT #-}
+ptr_glCopyTexImage2DEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glCopyTexImage2DEXT = unsafePerformIO $ getCommand "glCopyTexImage2DEXT"
+
+-- glCopyTexSubImage1D ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage1D.xhtml OpenGL 4.x>.
+glCopyTexSubImage1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyTexSubImage1D v1 v2 v3 v4 v5 v6 = liftIO $ dyn177 ptr_glCopyTexSubImage1D v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glCopyTexSubImage1D #-}
+ptr_glCopyTexSubImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyTexSubImage1D = unsafePerformIO $ getCommand "glCopyTexSubImage1D"
+
+-- glCopyTexSubImage1DEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glCopyTexSubImage1D'.
+glCopyTexSubImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyTexSubImage1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn177 ptr_glCopyTexSubImage1DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glCopyTexSubImage1DEXT #-}
+ptr_glCopyTexSubImage1DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyTexSubImage1DEXT = unsafePerformIO $ getCommand "glCopyTexSubImage1DEXT"
+
+-- glCopyTexSubImage2D ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage2D.xhtml OpenGL 4.x>.
+glCopyTexSubImage2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn178 ptr_glCopyTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCopyTexSubImage2D #-}
+ptr_glCopyTexSubImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTexSubImage2D = unsafePerformIO $ getCommand "glCopyTexSubImage2D"
+
+-- glCopyTexSubImage2DEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glCopyTexSubImage2D'.
+glCopyTexSubImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn178 ptr_glCopyTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCopyTexSubImage2DEXT #-}
+ptr_glCopyTexSubImage2DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTexSubImage2DEXT = unsafePerformIO $ getCommand "glCopyTexSubImage2DEXT"
+
+-- glCopyTexSubImage3D ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
+glCopyTexSubImage3D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn179 ptr_glCopyTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyTexSubImage3D #-}
+ptr_glCopyTexSubImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTexSubImage3D = unsafePerformIO $ getCommand "glCopyTexSubImage3D"
+
+-- glCopyTexSubImage3DEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glCopyTexSubImage3D'.
+glCopyTexSubImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn179 ptr_glCopyTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyTexSubImage3DEXT #-}
+ptr_glCopyTexSubImage3DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTexSubImage3DEXT = unsafePerformIO $ getCommand "glCopyTexSubImage3DEXT"
+
+-- glCopyTexSubImage3DOES ------------------------------------------------------
+
+-- | This command is an alias for 'glCopyTexSubImage3D'.
+glCopyTexSubImage3DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn179 ptr_glCopyTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyTexSubImage3DOES #-}
+ptr_glCopyTexSubImage3DOES :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTexSubImage3DOES = unsafePerformIO $ getCommand "glCopyTexSubImage3DOES"
+
+-- glCopyTextureImage1DEXT -----------------------------------------------------
+
+glCopyTextureImage1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn180 ptr_glCopyTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCopyTextureImage1DEXT #-}
+ptr_glCopyTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
+ptr_glCopyTextureImage1DEXT = unsafePerformIO $ getCommand "glCopyTextureImage1DEXT"
+
+-- glCopyTextureImage2DEXT -----------------------------------------------------
+
+glCopyTextureImage2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> m ()
+glCopyTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn181 ptr_glCopyTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyTextureImage2DEXT #-}
+ptr_glCopyTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glCopyTextureImage2DEXT = unsafePerformIO $ getCommand "glCopyTextureImage2DEXT"
+
+-- glCopyTextureLevelsAPPLE ----------------------------------------------------
+
+glCopyTextureLevelsAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @destinationTexture@.
+  -> GLuint -- ^ @sourceTexture@.
+  -> GLint -- ^ @sourceBaseLevel@.
+  -> GLsizei -- ^ @sourceLevelCount@.
+  -> m ()
+glCopyTextureLevelsAPPLE v1 v2 v3 v4 = liftIO $ dyn182 ptr_glCopyTextureLevelsAPPLE v1 v2 v3 v4
+
+{-# NOINLINE ptr_glCopyTextureLevelsAPPLE #-}
+ptr_glCopyTextureLevelsAPPLE :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ())
+ptr_glCopyTextureLevelsAPPLE = unsafePerformIO $ getCommand "glCopyTextureLevelsAPPLE"
+
+-- glCopyTextureSubImage1D -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage1D.xhtml OpenGL 4.x>.
+glCopyTextureSubImage1D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyTextureSubImage1D v1 v2 v3 v4 v5 v6 = liftIO $ dyn183 ptr_glCopyTextureSubImage1D v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glCopyTextureSubImage1D #-}
+ptr_glCopyTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyTextureSubImage1D = unsafePerformIO $ getCommand "glCopyTextureSubImage1D"
+
+-- glCopyTextureSubImage1DEXT --------------------------------------------------
+
+glCopyTextureSubImage1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glCopyTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn184 ptr_glCopyTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCopyTextureSubImage1DEXT #-}
+ptr_glCopyTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glCopyTextureSubImage1DEXT = unsafePerformIO $ getCommand "glCopyTextureSubImage1DEXT"
+
+-- glCopyTextureSubImage2D -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage2D.xhtml OpenGL 4.x>.
+glCopyTextureSubImage2D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn185 ptr_glCopyTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glCopyTextureSubImage2D #-}
+ptr_glCopyTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTextureSubImage2D = unsafePerformIO $ getCommand "glCopyTextureSubImage2D"
+
+-- glCopyTextureSubImage2DEXT --------------------------------------------------
+
+glCopyTextureSubImage2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn186 ptr_glCopyTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyTextureSubImage2DEXT #-}
+ptr_glCopyTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTextureSubImage2DEXT = unsafePerformIO $ getCommand "glCopyTextureSubImage2DEXT"
+
+-- glCopyTextureSubImage3D -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
+glCopyTextureSubImage3D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn187 ptr_glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glCopyTextureSubImage3D #-}
+ptr_glCopyTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTextureSubImage3D = unsafePerformIO $ getCommand "glCopyTextureSubImage3D"
+
+-- glCopyTextureSubImage3DEXT --------------------------------------------------
+
+glCopyTextureSubImage3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glCopyTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn188 ptr_glCopyTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glCopyTextureSubImage3DEXT #-}
+ptr_glCopyTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glCopyTextureSubImage3DEXT = unsafePerformIO $ getCommand "glCopyTextureSubImage3DEXT"
+
+-- glCoverFillPathInstancedNV --------------------------------------------------
+
+glCoverFillPathInstancedNV
+  :: MonadIO m
+  => GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
+  -> GLuint -- ^ @pathBase@ of type @Path@.
+  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
+  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
+  -> m ()
+glCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn189 ptr_glCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCoverFillPathInstancedNV #-}
+ptr_glCoverFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glCoverFillPathInstancedNV = unsafePerformIO $ getCommand "glCoverFillPathInstancedNV"
+
+-- glCoverFillPathNV -----------------------------------------------------------
+
+glCoverFillPathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
+  -> m ()
+glCoverFillPathNV v1 v2 = liftIO $ dyn15 ptr_glCoverFillPathNV v1 v2
+
+{-# NOINLINE ptr_glCoverFillPathNV #-}
+ptr_glCoverFillPathNV :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glCoverFillPathNV = unsafePerformIO $ getCommand "glCoverFillPathNV"
+
+-- glCoverStrokePathInstancedNV ------------------------------------------------
+
+glCoverStrokePathInstancedNV
+  :: MonadIO m
+  => GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
+  -> GLuint -- ^ @pathBase@ of type @Path@.
+  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
+  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
+  -> m ()
+glCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn189 ptr_glCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glCoverStrokePathInstancedNV #-}
+ptr_glCoverStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glCoverStrokePathInstancedNV = unsafePerformIO $ getCommand "glCoverStrokePathInstancedNV"
+
+-- glCoverStrokePathNV ---------------------------------------------------------
+
+glCoverStrokePathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
+  -> m ()
+glCoverStrokePathNV v1 v2 = liftIO $ dyn15 ptr_glCoverStrokePathNV v1 v2
+
+{-# NOINLINE ptr_glCoverStrokePathNV #-}
+ptr_glCoverStrokePathNV :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glCoverStrokePathNV = unsafePerformIO $ getCommand "glCoverStrokePathNV"
+
+-- glCoverageMaskNV ------------------------------------------------------------
+
+glCoverageMaskNV
+  :: MonadIO m
+  => GLboolean -- ^ @mask@.
+  -> m ()
+glCoverageMaskNV v1 = liftIO $ dyn190 ptr_glCoverageMaskNV v1
+
+{-# NOINLINE ptr_glCoverageMaskNV #-}
+ptr_glCoverageMaskNV :: FunPtr (GLboolean -> IO ())
+ptr_glCoverageMaskNV = unsafePerformIO $ getCommand "glCoverageMaskNV"
+
+-- glCoverageModulationNV ------------------------------------------------------
+
+glCoverageModulationNV
+  :: MonadIO m
+  => GLenum -- ^ @components@.
+  -> m ()
+glCoverageModulationNV v1 = liftIO $ dyn4 ptr_glCoverageModulationNV v1
+
+{-# NOINLINE ptr_glCoverageModulationNV #-}
+ptr_glCoverageModulationNV :: FunPtr (GLenum -> IO ())
+ptr_glCoverageModulationNV = unsafePerformIO $ getCommand "glCoverageModulationNV"
+
+-- glCoverageModulationTableNV -------------------------------------------------
+
+glCoverageModulationTableNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glCoverageModulationTableNV v1 v2 = liftIO $ dyn191 ptr_glCoverageModulationTableNV v1 v2
+
+{-# NOINLINE ptr_glCoverageModulationTableNV #-}
+ptr_glCoverageModulationTableNV :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
+ptr_glCoverageModulationTableNV = unsafePerformIO $ getCommand "glCoverageModulationTableNV"
+
+-- glCoverageOperationNV -------------------------------------------------------
+
+glCoverageOperationNV
+  :: MonadIO m
+  => GLenum -- ^ @operation@.
+  -> m ()
+glCoverageOperationNV v1 = liftIO $ dyn4 ptr_glCoverageOperationNV v1
+
+{-# NOINLINE ptr_glCoverageOperationNV #-}
+ptr_glCoverageOperationNV :: FunPtr (GLenum -> IO ())
+ptr_glCoverageOperationNV = unsafePerformIO $ getCommand "glCoverageOperationNV"
+
+-- glCreateBuffers -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateBuffers.xhtml OpenGL 4.x>.
+glCreateBuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @buffers@.
+  -> m ()
+glCreateBuffers v1 v2 = liftIO $ dyn192 ptr_glCreateBuffers v1 v2
+
+{-# NOINLINE ptr_glCreateBuffers #-}
+ptr_glCreateBuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateBuffers = unsafePerformIO $ getCommand "glCreateBuffers"
+
+-- glCreateCommandListsNV ------------------------------------------------------
+
+glCreateCommandListsNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @lists@.
+  -> m ()
+glCreateCommandListsNV v1 v2 = liftIO $ dyn192 ptr_glCreateCommandListsNV v1 v2
+
+{-# NOINLINE ptr_glCreateCommandListsNV #-}
+ptr_glCreateCommandListsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateCommandListsNV = unsafePerformIO $ getCommand "glCreateCommandListsNV"
+
+-- glCreateFramebuffers --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateFramebuffers.xhtml OpenGL 4.x>.
+glCreateFramebuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @framebuffers@.
+  -> m ()
+glCreateFramebuffers v1 v2 = liftIO $ dyn192 ptr_glCreateFramebuffers v1 v2
+
+{-# NOINLINE ptr_glCreateFramebuffers #-}
+ptr_glCreateFramebuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateFramebuffers = unsafePerformIO $ getCommand "glCreateFramebuffers"
+
+-- glCreatePerfQueryINTEL ------------------------------------------------------
+
+glCreatePerfQueryINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryId@.
+  -> Ptr GLuint -- ^ @queryHandle@.
+  -> m ()
+glCreatePerfQueryINTEL v1 v2 = liftIO $ dyn193 ptr_glCreatePerfQueryINTEL v1 v2
+
+{-# NOINLINE ptr_glCreatePerfQueryINTEL #-}
+ptr_glCreatePerfQueryINTEL :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glCreatePerfQueryINTEL = unsafePerformIO $ getCommand "glCreatePerfQueryINTEL"
+
+-- glCreateProgram -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCreateProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCreateProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCreateProgram.xhtml OpenGL 4.x>.
+glCreateProgram
+  :: MonadIO m
+  => m GLuint
+glCreateProgram = liftIO $ dyn194 ptr_glCreateProgram
+
+{-# NOINLINE ptr_glCreateProgram #-}
+ptr_glCreateProgram :: FunPtr (IO GLuint)
+ptr_glCreateProgram = unsafePerformIO $ getCommand "glCreateProgram"
+
+-- glCreateProgramObjectARB ----------------------------------------------------
+
+-- | This command is an alias for 'glCreateProgram'.
+glCreateProgramObjectARB
+  :: MonadIO m
+  => m GLhandleARB -- ^ of type @handleARB@.
+glCreateProgramObjectARB = liftIO $ dyn195 ptr_glCreateProgramObjectARB
+
+{-# NOINLINE ptr_glCreateProgramObjectARB #-}
+ptr_glCreateProgramObjectARB :: FunPtr (IO GLhandleARB)
+ptr_glCreateProgramObjectARB = unsafePerformIO $ getCommand "glCreateProgramObjectARB"
+
+-- glCreateProgramPipelines ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateProgramPipelines.xhtml OpenGL 4.x>.
+glCreateProgramPipelines
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @pipelines@.
+  -> m ()
+glCreateProgramPipelines v1 v2 = liftIO $ dyn192 ptr_glCreateProgramPipelines v1 v2
+
+{-# NOINLINE ptr_glCreateProgramPipelines #-}
+ptr_glCreateProgramPipelines :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateProgramPipelines = unsafePerformIO $ getCommand "glCreateProgramPipelines"
+
+-- glCreateQueries -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateQueries.xhtml OpenGL 4.x>.
+glCreateQueries
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@.
+  -> m ()
+glCreateQueries v1 v2 v3 = liftIO $ dyn196 ptr_glCreateQueries v1 v2 v3
+
+{-# NOINLINE ptr_glCreateQueries #-}
+ptr_glCreateQueries :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateQueries = unsafePerformIO $ getCommand "glCreateQueries"
+
+-- glCreateRenderbuffers -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateRenderbuffers.xhtml OpenGL 4.x>.
+glCreateRenderbuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @renderbuffers@.
+  -> m ()
+glCreateRenderbuffers v1 v2 = liftIO $ dyn192 ptr_glCreateRenderbuffers v1 v2
+
+{-# NOINLINE ptr_glCreateRenderbuffers #-}
+ptr_glCreateRenderbuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateRenderbuffers = unsafePerformIO $ getCommand "glCreateRenderbuffers"
+
+-- glCreateSamplers ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateSamplers.xhtml OpenGL 4.x>.
+glCreateSamplers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @samplers@.
+  -> m ()
+glCreateSamplers v1 v2 = liftIO $ dyn192 ptr_glCreateSamplers v1 v2
+
+{-# NOINLINE ptr_glCreateSamplers #-}
+ptr_glCreateSamplers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateSamplers = unsafePerformIO $ getCommand "glCreateSamplers"
+
+-- glCreateShader --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCreateShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCreateShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCreateShader.xhtml OpenGL 4.x>.
+glCreateShader
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> m GLuint
+glCreateShader v1 = liftIO $ dyn30 ptr_glCreateShader v1
+
+{-# NOINLINE ptr_glCreateShader #-}
+ptr_glCreateShader :: FunPtr (GLenum -> IO GLuint)
+ptr_glCreateShader = unsafePerformIO $ getCommand "glCreateShader"
+
+-- glCreateShaderObjectARB -----------------------------------------------------
+
+-- | This command is an alias for 'glCreateShader'.
+glCreateShaderObjectARB
+  :: MonadIO m
+  => GLenum -- ^ @shaderType@.
+  -> m GLhandleARB -- ^ of type @handleARB@.
+glCreateShaderObjectARB v1 = liftIO $ dyn197 ptr_glCreateShaderObjectARB v1
+
+{-# NOINLINE ptr_glCreateShaderObjectARB #-}
+ptr_glCreateShaderObjectARB :: FunPtr (GLenum -> IO GLhandleARB)
+ptr_glCreateShaderObjectARB = unsafePerformIO $ getCommand "glCreateShaderObjectARB"
+
+-- glCreateShaderProgramEXT ----------------------------------------------------
+
+glCreateShaderProgramEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLchar -- ^ @string@.
+  -> m GLuint
+glCreateShaderProgramEXT v1 v2 = liftIO $ dyn198 ptr_glCreateShaderProgramEXT v1 v2
+
+{-# NOINLINE ptr_glCreateShaderProgramEXT #-}
+ptr_glCreateShaderProgramEXT :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint)
+ptr_glCreateShaderProgramEXT = unsafePerformIO $ getCommand "glCreateShaderProgramEXT"
+
+-- glCreateShaderProgramv ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateShaderProgram.xhtml OpenGL 4.x>.
+glCreateShaderProgramv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
+  -> m GLuint
+glCreateShaderProgramv v1 v2 v3 = liftIO $ dyn199 ptr_glCreateShaderProgramv v1 v2 v3
+
+{-# NOINLINE ptr_glCreateShaderProgramv #-}
+ptr_glCreateShaderProgramv :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
+ptr_glCreateShaderProgramv = unsafePerformIO $ getCommand "glCreateShaderProgramv"
+
+-- glCreateShaderProgramvEXT ---------------------------------------------------
+
+glCreateShaderProgramvEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
+  -> m GLuint
+glCreateShaderProgramvEXT v1 v2 v3 = liftIO $ dyn199 ptr_glCreateShaderProgramvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glCreateShaderProgramvEXT #-}
+ptr_glCreateShaderProgramvEXT :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
+ptr_glCreateShaderProgramvEXT = unsafePerformIO $ getCommand "glCreateShaderProgramvEXT"
+
+-- glCreateStatesNV ------------------------------------------------------------
+
+glCreateStatesNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @states@.
+  -> m ()
+glCreateStatesNV v1 v2 = liftIO $ dyn192 ptr_glCreateStatesNV v1 v2
+
+{-# NOINLINE ptr_glCreateStatesNV #-}
+ptr_glCreateStatesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateStatesNV = unsafePerformIO $ getCommand "glCreateStatesNV"
+
+-- glCreateSyncFromCLeventARB --------------------------------------------------
+
+glCreateSyncFromCLeventARB
+  :: MonadIO m
+  => Ptr a -- ^ @context@ pointing to elements of type @cl_context@.
+  -> Ptr b -- ^ @event@ pointing to elements of type @cl_event@.
+  -> GLbitfield -- ^ @flags@.
+  -> m GLsync -- ^ of type @sync@.
+glCreateSyncFromCLeventARB v1 v2 v3 = liftIO $ dyn200 ptr_glCreateSyncFromCLeventARB v1 v2 v3
+
+{-# NOINLINE ptr_glCreateSyncFromCLeventARB #-}
+ptr_glCreateSyncFromCLeventARB :: FunPtr (Ptr a -> Ptr b -> GLbitfield -> IO GLsync)
+ptr_glCreateSyncFromCLeventARB = unsafePerformIO $ getCommand "glCreateSyncFromCLeventARB"
+
+-- glCreateTextures ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateTextures.xhtml OpenGL 4.x>.
+glCreateTextures
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@.
+  -> m ()
+glCreateTextures v1 v2 v3 = liftIO $ dyn196 ptr_glCreateTextures v1 v2 v3
+
+{-# NOINLINE ptr_glCreateTextures #-}
+ptr_glCreateTextures :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateTextures = unsafePerformIO $ getCommand "glCreateTextures"
+
+-- glCreateTransformFeedbacks --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateTransformFeedbacks.xhtml OpenGL 4.x>.
+glCreateTransformFeedbacks
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@.
+  -> m ()
+glCreateTransformFeedbacks v1 v2 = liftIO $ dyn192 ptr_glCreateTransformFeedbacks v1 v2
+
+{-# NOINLINE ptr_glCreateTransformFeedbacks #-}
+ptr_glCreateTransformFeedbacks :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateTransformFeedbacks = unsafePerformIO $ getCommand "glCreateTransformFeedbacks"
+
+-- glCreateVertexArrays --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateVertexArrays.xhtml OpenGL 4.x>.
+glCreateVertexArrays
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @arrays@.
+  -> m ()
+glCreateVertexArrays v1 v2 = liftIO $ dyn192 ptr_glCreateVertexArrays v1 v2
+
+{-# NOINLINE ptr_glCreateVertexArrays #-}
+ptr_glCreateVertexArrays :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glCreateVertexArrays = unsafePerformIO $ getCommand "glCreateVertexArrays"
+
+-- glCullFace ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCullFace.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCullFace.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCullFace.xhtml OpenGL 4.x>.
+glCullFace
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [CullFaceMode](Graphics-GL-Groups.html#CullFaceMode).
+  -> m ()
+glCullFace v1 = liftIO $ dyn4 ptr_glCullFace v1
+
+{-# NOINLINE ptr_glCullFace #-}
+ptr_glCullFace :: FunPtr (GLenum -> IO ())
+ptr_glCullFace = unsafePerformIO $ getCommand "glCullFace"
+
+-- glCullParameterdvEXT --------------------------------------------------------
+
+glCullParameterdvEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @CullParameterEXT@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glCullParameterdvEXT v1 v2 = liftIO $ dyn92 ptr_glCullParameterdvEXT v1 v2
+
+{-# NOINLINE ptr_glCullParameterdvEXT #-}
+ptr_glCullParameterdvEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glCullParameterdvEXT = unsafePerformIO $ getCommand "glCullParameterdvEXT"
+
+-- glCullParameterfvEXT --------------------------------------------------------
+
+glCullParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @CullParameterEXT@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glCullParameterfvEXT v1 v2 = liftIO $ dyn93 ptr_glCullParameterfvEXT v1 v2
+
+{-# NOINLINE ptr_glCullParameterfvEXT #-}
+ptr_glCullParameterfvEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glCullParameterfvEXT = unsafePerformIO $ getCommand "glCullParameterfvEXT"
+
+-- glCurrentPaletteMatrixARB ---------------------------------------------------
+
+glCurrentPaletteMatrixARB
+  :: MonadIO m
+  => GLint -- ^ @index@.
+  -> m ()
+glCurrentPaletteMatrixARB v1 = liftIO $ dyn12 ptr_glCurrentPaletteMatrixARB v1
+
+{-# NOINLINE ptr_glCurrentPaletteMatrixARB #-}
+ptr_glCurrentPaletteMatrixARB :: FunPtr (GLint -> IO ())
+ptr_glCurrentPaletteMatrixARB = unsafePerformIO $ getCommand "glCurrentPaletteMatrixARB"
+
+-- glCurrentPaletteMatrixOES ---------------------------------------------------
+
+glCurrentPaletteMatrixOES
+  :: MonadIO m
+  => GLuint -- ^ @matrixpaletteindex@.
+  -> m ()
+glCurrentPaletteMatrixOES v1 = liftIO $ dyn2 ptr_glCurrentPaletteMatrixOES v1
+
+{-# NOINLINE ptr_glCurrentPaletteMatrixOES #-}
+ptr_glCurrentPaletteMatrixOES :: FunPtr (GLuint -> IO ())
+ptr_glCurrentPaletteMatrixOES = unsafePerformIO $ getCommand "glCurrentPaletteMatrixOES"
+
+-- glDebugMessageCallback ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageCallback.xhtml OpenGL 4.x>.
+glDebugMessageCallback
+  :: MonadIO m
+  => GLDEBUGPROC -- ^ @callback@.
+  -> Ptr a -- ^ @userParam@.
+  -> m ()
+glDebugMessageCallback v1 v2 = liftIO $ dyn201 ptr_glDebugMessageCallback v1 v2
+
+{-# NOINLINE ptr_glDebugMessageCallback #-}
+ptr_glDebugMessageCallback :: FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
+ptr_glDebugMessageCallback = unsafePerformIO $ getCommand "glDebugMessageCallback"
+
+-- glDebugMessageCallbackAMD ---------------------------------------------------
+
+glDebugMessageCallbackAMD
+  :: MonadIO m
+  => GLDEBUGPROCAMD -- ^ @callback@.
+  -> Ptr a -- ^ @userParam@.
+  -> m ()
+glDebugMessageCallbackAMD v1 v2 = liftIO $ dyn202 ptr_glDebugMessageCallbackAMD v1 v2
+
+{-# NOINLINE ptr_glDebugMessageCallbackAMD #-}
+ptr_glDebugMessageCallbackAMD :: FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
+ptr_glDebugMessageCallbackAMD = unsafePerformIO $ getCommand "glDebugMessageCallbackAMD"
+
+-- glDebugMessageCallbackARB ---------------------------------------------------
+
+-- | This command is an alias for 'glDebugMessageCallback'.
+glDebugMessageCallbackARB
+  :: MonadIO m
+  => GLDEBUGPROCARB -- ^ @callback@.
+  -> Ptr a -- ^ @userParam@ pointing to @COMPSIZE(callback)@ elements of type @a@.
+  -> m ()
+glDebugMessageCallbackARB v1 v2 = liftIO $ dyn203 ptr_glDebugMessageCallbackARB v1 v2
+
+{-# NOINLINE ptr_glDebugMessageCallbackARB #-}
+ptr_glDebugMessageCallbackARB :: FunPtr (GLDEBUGPROCARB -> Ptr a -> IO ())
+ptr_glDebugMessageCallbackARB = unsafePerformIO $ getCommand "glDebugMessageCallbackARB"
+
+-- glDebugMessageCallbackKHR ---------------------------------------------------
+
+-- | This command is an alias for 'glDebugMessageCallback'.
+glDebugMessageCallbackKHR
+  :: MonadIO m
+  => GLDEBUGPROCKHR -- ^ @callback@.
+  -> Ptr a -- ^ @userParam@.
+  -> m ()
+glDebugMessageCallbackKHR v1 v2 = liftIO $ dyn204 ptr_glDebugMessageCallbackKHR v1 v2
+
+{-# NOINLINE ptr_glDebugMessageCallbackKHR #-}
+ptr_glDebugMessageCallbackKHR :: FunPtr (GLDEBUGPROCKHR -> Ptr a -> IO ())
+ptr_glDebugMessageCallbackKHR = unsafePerformIO $ getCommand "glDebugMessageCallbackKHR"
+
+-- glDebugMessageControl -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageControl.xhtml OpenGL 4.x>.
+glDebugMessageControl
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
+  -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glDebugMessageControl v1 v2 v3 v4 v5 v6 = liftIO $ dyn205 ptr_glDebugMessageControl v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDebugMessageControl #-}
+ptr_glDebugMessageControl :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+ptr_glDebugMessageControl = unsafePerformIO $ getCommand "glDebugMessageControl"
+
+-- glDebugMessageControlARB ----------------------------------------------------
+
+-- | This command is an alias for 'glDebugMessageControl'.
+glDebugMessageControlARB
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
+  -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glDebugMessageControlARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn205 ptr_glDebugMessageControlARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDebugMessageControlARB #-}
+ptr_glDebugMessageControlARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+ptr_glDebugMessageControlARB = unsafePerformIO $ getCommand "glDebugMessageControlARB"
+
+-- glDebugMessageControlKHR ----------------------------------------------------
+
+-- | This command is an alias for 'glDebugMessageControl'.
+glDebugMessageControlKHR
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @ids@.
+  -> GLboolean -- ^ @enabled@.
+  -> m ()
+glDebugMessageControlKHR v1 v2 v3 v4 v5 v6 = liftIO $ dyn205 ptr_glDebugMessageControlKHR v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDebugMessageControlKHR #-}
+ptr_glDebugMessageControlKHR :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+ptr_glDebugMessageControlKHR = unsafePerformIO $ getCommand "glDebugMessageControlKHR"
+
+-- glDebugMessageEnableAMD -----------------------------------------------------
+
+glDebugMessageEnableAMD
+  :: MonadIO m
+  => GLenum -- ^ @category@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
+  -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glDebugMessageEnableAMD v1 v2 v3 v4 v5 = liftIO $ dyn206 ptr_glDebugMessageEnableAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDebugMessageEnableAMD #-}
+ptr_glDebugMessageEnableAMD :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
+ptr_glDebugMessageEnableAMD = unsafePerformIO $ getCommand "glDebugMessageEnableAMD"
+
+-- glDebugMessageInsert --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageInsert.xhtml OpenGL 4.x>.
+glDebugMessageInsert
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @id@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @buf@ pointing to @COMPSIZE(buf,length)@ elements of type @GLchar@.
+  -> m ()
+glDebugMessageInsert v1 v2 v3 v4 v5 v6 = liftIO $ dyn207 ptr_glDebugMessageInsert v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDebugMessageInsert #-}
+ptr_glDebugMessageInsert :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glDebugMessageInsert = unsafePerformIO $ getCommand "glDebugMessageInsert"
+
+-- glDebugMessageInsertAMD -----------------------------------------------------
+
+glDebugMessageInsertAMD
+  :: MonadIO m
+  => GLenum -- ^ @category@.
+  -> GLenum -- ^ @severity@.
+  -> GLuint -- ^ @id@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
+  -> m ()
+glDebugMessageInsertAMD v1 v2 v3 v4 v5 = liftIO $ dyn208 ptr_glDebugMessageInsertAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDebugMessageInsertAMD #-}
+ptr_glDebugMessageInsertAMD :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glDebugMessageInsertAMD = unsafePerformIO $ getCommand "glDebugMessageInsertAMD"
+
+-- glDebugMessageInsertARB -----------------------------------------------------
+
+-- | This command is an alias for 'glDebugMessageInsert'.
+glDebugMessageInsertARB
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @id@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
+  -> m ()
+glDebugMessageInsertARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn207 ptr_glDebugMessageInsertARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDebugMessageInsertARB #-}
+ptr_glDebugMessageInsertARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glDebugMessageInsertARB = unsafePerformIO $ getCommand "glDebugMessageInsertARB"
+
+-- glDebugMessageInsertKHR -----------------------------------------------------
+
+-- | This command is an alias for 'glDebugMessageInsert'.
+glDebugMessageInsertKHR
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @id@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @buf@.
+  -> m ()
+glDebugMessageInsertKHR v1 v2 v3 v4 v5 v6 = liftIO $ dyn207 ptr_glDebugMessageInsertKHR v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDebugMessageInsertKHR #-}
+ptr_glDebugMessageInsertKHR :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glDebugMessageInsertKHR = unsafePerformIO $ getCommand "glDebugMessageInsertKHR"
+
+-- glDeformSGIX ----------------------------------------------------------------
+
+glDeformSGIX
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@ of type [FfdMaskSGIX](Graphics-GL-Groups.html#FfdMaskSGIX).
+  -> m ()
+glDeformSGIX v1 = liftIO $ dyn69 ptr_glDeformSGIX v1
+
+{-# NOINLINE ptr_glDeformSGIX #-}
+ptr_glDeformSGIX :: FunPtr (GLbitfield -> IO ())
+ptr_glDeformSGIX = unsafePerformIO $ getCommand "glDeformSGIX"
+
+-- glDeformationMap3dSGIX ------------------------------------------------------
+
+glDeformationMap3dSGIX
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [FfdTargetSGIX](Graphics-GL-Groups.html#FfdTargetSGIX).
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> GLint -- ^ @ustride@.
+  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
+  -> GLdouble -- ^ @v1@ of type @CoordD@.
+  -> GLdouble -- ^ @v2@ of type @CoordD@.
+  -> GLint -- ^ @vstride@.
+  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
+  -> GLdouble -- ^ @w1@ of type @CoordD@.
+  -> GLdouble -- ^ @w2@ of type @CoordD@.
+  -> GLint -- ^ @wstride@.
+  -> GLint -- ^ @worder@ of type @CheckedInt32@.
+  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)@ elements of type @CoordD@.
+  -> m ()
+glDeformationMap3dSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO $ dyn209 ptr_glDeformationMap3dSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14
+
+{-# NOINLINE ptr_glDeformationMap3dSGIX #-}
+ptr_glDeformationMap3dSGIX :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+ptr_glDeformationMap3dSGIX = unsafePerformIO $ getCommand "glDeformationMap3dSGIX"
+
+-- glDeformationMap3fSGIX ------------------------------------------------------
+
+glDeformationMap3fSGIX
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [FfdTargetSGIX](Graphics-GL-Groups.html#FfdTargetSGIX).
+  -> GLfloat -- ^ @u1@ of type @CoordF@.
+  -> GLfloat -- ^ @u2@ of type @CoordF@.
+  -> GLint -- ^ @ustride@.
+  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
+  -> GLfloat -- ^ @v1@ of type @CoordF@.
+  -> GLfloat -- ^ @v2@ of type @CoordF@.
+  -> GLint -- ^ @vstride@.
+  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
+  -> GLfloat -- ^ @w1@ of type @CoordF@.
+  -> GLfloat -- ^ @w2@ of type @CoordF@.
+  -> GLint -- ^ @wstride@.
+  -> GLint -- ^ @worder@ of type @CheckedInt32@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)@ elements of type @CoordF@.
+  -> m ()
+glDeformationMap3fSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO $ dyn210 ptr_glDeformationMap3fSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14
+
+{-# NOINLINE ptr_glDeformationMap3fSGIX #-}
+ptr_glDeformationMap3fSGIX :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+ptr_glDeformationMap3fSGIX = unsafePerformIO $ getCommand "glDeformationMap3fSGIX"
+
+-- glDeleteAsyncMarkersSGIX ----------------------------------------------------
+
+glDeleteAsyncMarkersSGIX
+  :: MonadIO m
+  => GLuint -- ^ @marker@.
+  -> GLsizei -- ^ @range@.
+  -> m ()
+glDeleteAsyncMarkersSGIX v1 v2 = liftIO $ dyn211 ptr_glDeleteAsyncMarkersSGIX v1 v2
+
+{-# NOINLINE ptr_glDeleteAsyncMarkersSGIX #-}
+ptr_glDeleteAsyncMarkersSGIX :: FunPtr (GLuint -> GLsizei -> IO ())
+ptr_glDeleteAsyncMarkersSGIX = unsafePerformIO $ getCommand "glDeleteAsyncMarkersSGIX"
+
+-- glDeleteBuffers -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteBuffers.xhtml OpenGL 4.x>.
+glDeleteBuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteBuffers v1 v2 = liftIO $ dyn192 ptr_glDeleteBuffers v1 v2
+
+{-# NOINLINE ptr_glDeleteBuffers #-}
+ptr_glDeleteBuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteBuffers = unsafePerformIO $ getCommand "glDeleteBuffers"
+
+-- glDeleteBuffersARB ----------------------------------------------------------
+
+-- | This command is an alias for 'glDeleteBuffers'.
+glDeleteBuffersARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteBuffersARB v1 v2 = liftIO $ dyn192 ptr_glDeleteBuffersARB v1 v2
+
+{-# NOINLINE ptr_glDeleteBuffersARB #-}
+ptr_glDeleteBuffersARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteBuffersARB = unsafePerformIO $ getCommand "glDeleteBuffersARB"
+
+-- glDeleteCommandListsNV ------------------------------------------------------
+
+glDeleteCommandListsNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @lists@.
+  -> m ()
+glDeleteCommandListsNV v1 v2 = liftIO $ dyn192 ptr_glDeleteCommandListsNV v1 v2
+
+{-# NOINLINE ptr_glDeleteCommandListsNV #-}
+ptr_glDeleteCommandListsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteCommandListsNV = unsafePerformIO $ getCommand "glDeleteCommandListsNV"
+
+-- glDeleteFencesAPPLE ---------------------------------------------------------
+
+glDeleteFencesAPPLE
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
+  -> m ()
+glDeleteFencesAPPLE v1 v2 = liftIO $ dyn192 ptr_glDeleteFencesAPPLE v1 v2
+
+{-# NOINLINE ptr_glDeleteFencesAPPLE #-}
+ptr_glDeleteFencesAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteFencesAPPLE = unsafePerformIO $ getCommand "glDeleteFencesAPPLE"
+
+-- glDeleteFencesNV ------------------------------------------------------------
+
+glDeleteFencesNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
+  -> m ()
+glDeleteFencesNV v1 v2 = liftIO $ dyn192 ptr_glDeleteFencesNV v1 v2
+
+{-# NOINLINE ptr_glDeleteFencesNV #-}
+ptr_glDeleteFencesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteFencesNV = unsafePerformIO $ getCommand "glDeleteFencesNV"
+
+-- glDeleteFragmentShaderATI ---------------------------------------------------
+
+glDeleteFragmentShaderATI
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glDeleteFragmentShaderATI v1 = liftIO $ dyn2 ptr_glDeleteFragmentShaderATI v1
+
+{-# NOINLINE ptr_glDeleteFragmentShaderATI #-}
+ptr_glDeleteFragmentShaderATI :: FunPtr (GLuint -> IO ())
+ptr_glDeleteFragmentShaderATI = unsafePerformIO $ getCommand "glDeleteFragmentShaderATI"
+
+-- glDeleteFramebuffers --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteFramebuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteFramebuffers.xhtml OpenGL 4.x>.
+glDeleteFramebuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteFramebuffers v1 v2 = liftIO $ dyn192 ptr_glDeleteFramebuffers v1 v2
+
+{-# NOINLINE ptr_glDeleteFramebuffers #-}
+ptr_glDeleteFramebuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteFramebuffers = unsafePerformIO $ getCommand "glDeleteFramebuffers"
+
+-- glDeleteFramebuffersEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glDeleteFramebuffers'.
+glDeleteFramebuffersEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteFramebuffersEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteFramebuffersEXT v1 v2
+
+{-# NOINLINE ptr_glDeleteFramebuffersEXT #-}
+ptr_glDeleteFramebuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteFramebuffersEXT = unsafePerformIO $ getCommand "glDeleteFramebuffersEXT"
+
+-- glDeleteFramebuffersOES -----------------------------------------------------
+
+glDeleteFramebuffersOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteFramebuffersOES v1 v2 = liftIO $ dyn192 ptr_glDeleteFramebuffersOES v1 v2
+
+{-# NOINLINE ptr_glDeleteFramebuffersOES #-}
+ptr_glDeleteFramebuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteFramebuffersOES = unsafePerformIO $ getCommand "glDeleteFramebuffersOES"
+
+-- glDeleteLists ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteLists.xml OpenGL 2.x>.
+glDeleteLists
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLsizei -- ^ @range@.
+  -> m ()
+glDeleteLists v1 v2 = liftIO $ dyn211 ptr_glDeleteLists v1 v2
+
+{-# NOINLINE ptr_glDeleteLists #-}
+ptr_glDeleteLists :: FunPtr (GLuint -> GLsizei -> IO ())
+ptr_glDeleteLists = unsafePerformIO $ getCommand "glDeleteLists"
+
+-- glDeleteNamedStringARB ------------------------------------------------------
+
+glDeleteNamedStringARB
+  :: MonadIO m
+  => GLint -- ^ @namelen@.
+  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
+  -> m ()
+glDeleteNamedStringARB v1 v2 = liftIO $ dyn212 ptr_glDeleteNamedStringARB v1 v2
+
+{-# NOINLINE ptr_glDeleteNamedStringARB #-}
+ptr_glDeleteNamedStringARB :: FunPtr (GLint -> Ptr GLchar -> IO ())
+ptr_glDeleteNamedStringARB = unsafePerformIO $ getCommand "glDeleteNamedStringARB"
+
+-- glDeleteNamesAMD ------------------------------------------------------------
+
+glDeleteNamesAMD
+  :: MonadIO m
+  => GLenum -- ^ @identifier@.
+  -> GLuint -- ^ @num@.
+  -> Ptr GLuint -- ^ @names@ pointing to @num@ elements of type @GLuint@.
+  -> m ()
+glDeleteNamesAMD v1 v2 v3 = liftIO $ dyn213 ptr_glDeleteNamesAMD v1 v2 v3
+
+{-# NOINLINE ptr_glDeleteNamesAMD #-}
+ptr_glDeleteNamesAMD :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glDeleteNamesAMD = unsafePerformIO $ getCommand "glDeleteNamesAMD"
+
+-- glDeleteObjectARB -----------------------------------------------------------
+
+glDeleteObjectARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @obj@ of type @handleARB@.
+  -> m ()
+glDeleteObjectARB v1 = liftIO $ dyn136 ptr_glDeleteObjectARB v1
+
+{-# NOINLINE ptr_glDeleteObjectARB #-}
+ptr_glDeleteObjectARB :: FunPtr (GLhandleARB -> IO ())
+ptr_glDeleteObjectARB = unsafePerformIO $ getCommand "glDeleteObjectARB"
+
+-- glDeleteOcclusionQueriesNV --------------------------------------------------
+
+glDeleteOcclusionQueriesNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteOcclusionQueriesNV v1 v2 = liftIO $ dyn192 ptr_glDeleteOcclusionQueriesNV v1 v2
+
+{-# NOINLINE ptr_glDeleteOcclusionQueriesNV #-}
+ptr_glDeleteOcclusionQueriesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteOcclusionQueriesNV = unsafePerformIO $ getCommand "glDeleteOcclusionQueriesNV"
+
+-- glDeletePathsNV -------------------------------------------------------------
+
+glDeletePathsNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @range@.
+  -> m ()
+glDeletePathsNV v1 v2 = liftIO $ dyn211 ptr_glDeletePathsNV v1 v2
+
+{-# NOINLINE ptr_glDeletePathsNV #-}
+ptr_glDeletePathsNV :: FunPtr (GLuint -> GLsizei -> IO ())
+ptr_glDeletePathsNV = unsafePerformIO $ getCommand "glDeletePathsNV"
+
+-- glDeletePerfMonitorsAMD -----------------------------------------------------
+
+glDeletePerfMonitorsAMD
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @monitors@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeletePerfMonitorsAMD v1 v2 = liftIO $ dyn192 ptr_glDeletePerfMonitorsAMD v1 v2
+
+{-# NOINLINE ptr_glDeletePerfMonitorsAMD #-}
+ptr_glDeletePerfMonitorsAMD :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeletePerfMonitorsAMD = unsafePerformIO $ getCommand "glDeletePerfMonitorsAMD"
+
+-- glDeletePerfQueryINTEL ------------------------------------------------------
+
+glDeletePerfQueryINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryHandle@.
+  -> m ()
+glDeletePerfQueryINTEL v1 = liftIO $ dyn2 ptr_glDeletePerfQueryINTEL v1
+
+{-# NOINLINE ptr_glDeletePerfQueryINTEL #-}
+ptr_glDeletePerfQueryINTEL :: FunPtr (GLuint -> IO ())
+ptr_glDeletePerfQueryINTEL = unsafePerformIO $ getCommand "glDeletePerfQueryINTEL"
+
+-- glDeleteProgram -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteProgram.xhtml OpenGL 4.x>.
+glDeleteProgram
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m ()
+glDeleteProgram v1 = liftIO $ dyn2 ptr_glDeleteProgram v1
+
+{-# NOINLINE ptr_glDeleteProgram #-}
+ptr_glDeleteProgram :: FunPtr (GLuint -> IO ())
+ptr_glDeleteProgram = unsafePerformIO $ getCommand "glDeleteProgram"
+
+-- glDeleteProgramPipelines ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDeleteProgramPipelines.xhtml OpenGL 4.x>.
+glDeleteProgramPipelines
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteProgramPipelines v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramPipelines v1 v2
+
+{-# NOINLINE ptr_glDeleteProgramPipelines #-}
+ptr_glDeleteProgramPipelines :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteProgramPipelines = unsafePerformIO $ getCommand "glDeleteProgramPipelines"
+
+-- glDeleteProgramPipelinesEXT -------------------------------------------------
+
+glDeleteProgramPipelinesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteProgramPipelinesEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramPipelinesEXT v1 v2
+
+{-# NOINLINE ptr_glDeleteProgramPipelinesEXT #-}
+ptr_glDeleteProgramPipelinesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteProgramPipelinesEXT = unsafePerformIO $ getCommand "glDeleteProgramPipelinesEXT"
+
+-- glDeleteProgramsARB ---------------------------------------------------------
+
+glDeleteProgramsARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteProgramsARB v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramsARB v1 v2
+
+{-# NOINLINE ptr_glDeleteProgramsARB #-}
+ptr_glDeleteProgramsARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteProgramsARB = unsafePerformIO $ getCommand "glDeleteProgramsARB"
+
+-- glDeleteProgramsNV ----------------------------------------------------------
+
+-- | This command is an alias for 'glDeleteProgramsARB'.
+glDeleteProgramsNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteProgramsNV v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramsNV v1 v2
+
+{-# NOINLINE ptr_glDeleteProgramsNV #-}
+ptr_glDeleteProgramsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteProgramsNV = unsafePerformIO $ getCommand "glDeleteProgramsNV"
+
+-- glDeleteQueries -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteQueries.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteQueries.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteQueries.xhtml OpenGL 4.x>.
+glDeleteQueries
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteQueries v1 v2 = liftIO $ dyn192 ptr_glDeleteQueries v1 v2
+
+{-# NOINLINE ptr_glDeleteQueries #-}
+ptr_glDeleteQueries :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteQueries = unsafePerformIO $ getCommand "glDeleteQueries"
+
+-- glDeleteQueriesARB ----------------------------------------------------------
+
+-- | This command is an alias for 'glDeleteQueries'.
+glDeleteQueriesARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteQueriesARB v1 v2 = liftIO $ dyn192 ptr_glDeleteQueriesARB v1 v2
+
+{-# NOINLINE ptr_glDeleteQueriesARB #-}
+ptr_glDeleteQueriesARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteQueriesARB = unsafePerformIO $ getCommand "glDeleteQueriesARB"
+
+-- glDeleteQueriesEXT ----------------------------------------------------------
+
+glDeleteQueriesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteQueriesEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteQueriesEXT v1 v2
+
+{-# NOINLINE ptr_glDeleteQueriesEXT #-}
+ptr_glDeleteQueriesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteQueriesEXT = unsafePerformIO $ getCommand "glDeleteQueriesEXT"
+
+-- glDeleteRenderbuffers -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteRenderbuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteRenderbuffers.xhtml OpenGL 4.x>.
+glDeleteRenderbuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteRenderbuffers v1 v2 = liftIO $ dyn192 ptr_glDeleteRenderbuffers v1 v2
+
+{-# NOINLINE ptr_glDeleteRenderbuffers #-}
+ptr_glDeleteRenderbuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteRenderbuffers = unsafePerformIO $ getCommand "glDeleteRenderbuffers"
+
+-- glDeleteRenderbuffersEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glDeleteRenderbuffers'.
+glDeleteRenderbuffersEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteRenderbuffersEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteRenderbuffersEXT v1 v2
+
+{-# NOINLINE ptr_glDeleteRenderbuffersEXT #-}
+ptr_glDeleteRenderbuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteRenderbuffersEXT = unsafePerformIO $ getCommand "glDeleteRenderbuffersEXT"
+
+-- glDeleteRenderbuffersOES ----------------------------------------------------
+
+glDeleteRenderbuffersOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteRenderbuffersOES v1 v2 = liftIO $ dyn192 ptr_glDeleteRenderbuffersOES v1 v2
+
+{-# NOINLINE ptr_glDeleteRenderbuffersOES #-}
+ptr_glDeleteRenderbuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteRenderbuffersOES = unsafePerformIO $ getCommand "glDeleteRenderbuffersOES"
+
+-- glDeleteSamplers ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSamplers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteSamplers.xhtml OpenGL 4.x>.
+glDeleteSamplers
+  :: MonadIO m
+  => GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glDeleteSamplers v1 v2 = liftIO $ dyn192 ptr_glDeleteSamplers v1 v2
+
+{-# NOINLINE ptr_glDeleteSamplers #-}
+ptr_glDeleteSamplers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteSamplers = unsafePerformIO $ getCommand "glDeleteSamplers"
+
+-- glDeleteShader --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteShader.xhtml OpenGL 4.x>.
+glDeleteShader
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> m ()
+glDeleteShader v1 = liftIO $ dyn2 ptr_glDeleteShader v1
+
+{-# NOINLINE ptr_glDeleteShader #-}
+ptr_glDeleteShader :: FunPtr (GLuint -> IO ())
+ptr_glDeleteShader = unsafePerformIO $ getCommand "glDeleteShader"
+
+-- glDeleteStatesNV ------------------------------------------------------------
+
+glDeleteStatesNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @states@.
+  -> m ()
+glDeleteStatesNV v1 v2 = liftIO $ dyn192 ptr_glDeleteStatesNV v1 v2
+
+{-# NOINLINE ptr_glDeleteStatesNV #-}
+ptr_glDeleteStatesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteStatesNV = unsafePerformIO $ getCommand "glDeleteStatesNV"
+
+-- glDeleteSync ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteSync.xhtml OpenGL 4.x>.
+glDeleteSync
+  :: MonadIO m
+  => GLsync -- ^ @sync@ of type @sync@.
+  -> m ()
+glDeleteSync v1 = liftIO $ dyn214 ptr_glDeleteSync v1
+
+{-# NOINLINE ptr_glDeleteSync #-}
+ptr_glDeleteSync :: FunPtr (GLsync -> IO ())
+ptr_glDeleteSync = unsafePerformIO $ getCommand "glDeleteSync"
+
+-- glDeleteSyncAPPLE -----------------------------------------------------------
+
+-- | This command is an alias for 'glDeleteSync'.
+glDeleteSyncAPPLE
+  :: MonadIO m
+  => GLsync -- ^ @sync@.
+  -> m ()
+glDeleteSyncAPPLE v1 = liftIO $ dyn214 ptr_glDeleteSyncAPPLE v1
+
+{-# NOINLINE ptr_glDeleteSyncAPPLE #-}
+ptr_glDeleteSyncAPPLE :: FunPtr (GLsync -> IO ())
+ptr_glDeleteSyncAPPLE = unsafePerformIO $ getCommand "glDeleteSyncAPPLE"
+
+-- glDeleteTextures ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteTextures.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteTextures.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteTextures.xhtml OpenGL 4.x>.
+glDeleteTextures
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> m ()
+glDeleteTextures v1 v2 = liftIO $ dyn192 ptr_glDeleteTextures v1 v2
+
+{-# NOINLINE ptr_glDeleteTextures #-}
+ptr_glDeleteTextures :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteTextures = unsafePerformIO $ getCommand "glDeleteTextures"
+
+-- glDeleteTexturesEXT ---------------------------------------------------------
+
+glDeleteTexturesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> m ()
+glDeleteTexturesEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteTexturesEXT v1 v2
+
+{-# NOINLINE ptr_glDeleteTexturesEXT #-}
+ptr_glDeleteTexturesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteTexturesEXT = unsafePerformIO $ getCommand "glDeleteTexturesEXT"
+
+-- glDeleteTransformFeedbacks --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDeleteTransformFeedbacks.xhtml OpenGL 4.x>.
+glDeleteTransformFeedbacks
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteTransformFeedbacks v1 v2 = liftIO $ dyn192 ptr_glDeleteTransformFeedbacks v1 v2
+
+{-# NOINLINE ptr_glDeleteTransformFeedbacks #-}
+ptr_glDeleteTransformFeedbacks :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteTransformFeedbacks = unsafePerformIO $ getCommand "glDeleteTransformFeedbacks"
+
+-- glDeleteTransformFeedbacksNV ------------------------------------------------
+
+-- | This command is an alias for 'glDeleteTransformFeedbacks'.
+glDeleteTransformFeedbacksNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteTransformFeedbacksNV v1 v2 = liftIO $ dyn192 ptr_glDeleteTransformFeedbacksNV v1 v2
+
+{-# NOINLINE ptr_glDeleteTransformFeedbacksNV #-}
+ptr_glDeleteTransformFeedbacksNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteTransformFeedbacksNV = unsafePerformIO $ getCommand "glDeleteTransformFeedbacksNV"
+
+-- glDeleteVertexArrays --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteVertexArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteVertexArrays.xhtml OpenGL 4.x>.
+glDeleteVertexArrays
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteVertexArrays v1 v2 = liftIO $ dyn192 ptr_glDeleteVertexArrays v1 v2
+
+{-# NOINLINE ptr_glDeleteVertexArrays #-}
+ptr_glDeleteVertexArrays :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteVertexArrays = unsafePerformIO $ getCommand "glDeleteVertexArrays"
+
+-- glDeleteVertexArraysAPPLE ---------------------------------------------------
+
+-- | This command is an alias for 'glDeleteVertexArrays'.
+glDeleteVertexArraysAPPLE
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteVertexArraysAPPLE v1 v2 = liftIO $ dyn192 ptr_glDeleteVertexArraysAPPLE v1 v2
+
+{-# NOINLINE ptr_glDeleteVertexArraysAPPLE #-}
+ptr_glDeleteVertexArraysAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteVertexArraysAPPLE = unsafePerformIO $ getCommand "glDeleteVertexArraysAPPLE"
+
+-- glDeleteVertexArraysOES -----------------------------------------------------
+
+-- | This command is an alias for 'glDeleteVertexArrays'.
+glDeleteVertexArraysOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glDeleteVertexArraysOES v1 v2 = liftIO $ dyn192 ptr_glDeleteVertexArraysOES v1 v2
+
+{-# NOINLINE ptr_glDeleteVertexArraysOES #-}
+ptr_glDeleteVertexArraysOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glDeleteVertexArraysOES = unsafePerformIO $ getCommand "glDeleteVertexArraysOES"
+
+-- glDeleteVertexShaderEXT -----------------------------------------------------
+
+glDeleteVertexShaderEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glDeleteVertexShaderEXT v1 = liftIO $ dyn2 ptr_glDeleteVertexShaderEXT v1
+
+{-# NOINLINE ptr_glDeleteVertexShaderEXT #-}
+ptr_glDeleteVertexShaderEXT :: FunPtr (GLuint -> IO ())
+ptr_glDeleteVertexShaderEXT = unsafePerformIO $ getCommand "glDeleteVertexShaderEXT"
+
+-- glDepthBoundsEXT ------------------------------------------------------------
+
+glDepthBoundsEXT
+  :: MonadIO m
+  => GLclampd -- ^ @zmin@ of type @ClampedFloat64@.
+  -> GLclampd -- ^ @zmax@ of type @ClampedFloat64@.
+  -> m ()
+glDepthBoundsEXT v1 v2 = liftIO $ dyn215 ptr_glDepthBoundsEXT v1 v2
+
+{-# NOINLINE ptr_glDepthBoundsEXT #-}
+ptr_glDepthBoundsEXT :: FunPtr (GLclampd -> GLclampd -> IO ())
+ptr_glDepthBoundsEXT = unsafePerformIO $ getCommand "glDepthBoundsEXT"
+
+-- glDepthBoundsdNV ------------------------------------------------------------
+
+glDepthBoundsdNV
+  :: MonadIO m
+  => GLdouble -- ^ @zmin@.
+  -> GLdouble -- ^ @zmax@.
+  -> m ()
+glDepthBoundsdNV v1 v2 = liftIO $ dyn216 ptr_glDepthBoundsdNV v1 v2
+
+{-# NOINLINE ptr_glDepthBoundsdNV #-}
+ptr_glDepthBoundsdNV :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glDepthBoundsdNV = unsafePerformIO $ getCommand "glDepthBoundsdNV"
+
+-- glDepthFunc -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthFunc.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthFunc.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthFunc.xhtml OpenGL 4.x>.
+glDepthFunc
+  :: MonadIO m
+  => GLenum -- ^ @func@ of type [DepthFunction](Graphics-GL-Groups.html#DepthFunction).
+  -> m ()
+glDepthFunc v1 = liftIO $ dyn4 ptr_glDepthFunc v1
+
+{-# NOINLINE ptr_glDepthFunc #-}
+ptr_glDepthFunc :: FunPtr (GLenum -> IO ())
+ptr_glDepthFunc = unsafePerformIO $ getCommand "glDepthFunc"
+
+-- glDepthMask -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthMask.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthMask.xhtml OpenGL 4.x>.
+glDepthMask
+  :: MonadIO m
+  => GLboolean -- ^ @flag@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glDepthMask v1 = liftIO $ dyn190 ptr_glDepthMask v1
+
+{-# NOINLINE ptr_glDepthMask #-}
+ptr_glDepthMask :: FunPtr (GLboolean -> IO ())
+ptr_glDepthMask = unsafePerformIO $ getCommand "glDepthMask"
+
+-- glDepthRange ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthRange.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml OpenGL 4.x>.
+glDepthRange
+  :: MonadIO m
+  => GLdouble -- ^ @near@.
+  -> GLdouble -- ^ @far@.
+  -> m ()
+glDepthRange v1 v2 = liftIO $ dyn216 ptr_glDepthRange v1 v2
+
+{-# NOINLINE ptr_glDepthRange #-}
+ptr_glDepthRange :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glDepthRange = unsafePerformIO $ getCommand "glDepthRange"
+
+-- glDepthRangeArrayfvNV -------------------------------------------------------
+
+glDepthRangeArrayfvNV
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glDepthRangeArrayfvNV v1 v2 v3 = liftIO $ dyn217 ptr_glDepthRangeArrayfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glDepthRangeArrayfvNV #-}
+ptr_glDepthRangeArrayfvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glDepthRangeArrayfvNV = unsafePerformIO $ getCommand "glDepthRangeArrayfvNV"
+
+-- glDepthRangeArrayv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDepthRangeArray.xhtml OpenGL 4.x>.
+glDepthRangeArrayv
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLdouble@.
+  -> m ()
+glDepthRangeArrayv v1 v2 v3 = liftIO $ dyn218 ptr_glDepthRangeArrayv v1 v2 v3
+
+{-# NOINLINE ptr_glDepthRangeArrayv #-}
+ptr_glDepthRangeArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glDepthRangeArrayv = unsafePerformIO $ getCommand "glDepthRangeArrayv"
+
+-- glDepthRangeIndexed ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDepthRangeIndexed.xhtml OpenGL 4.x>.
+glDepthRangeIndexed
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @n@.
+  -> GLdouble -- ^ @f@.
+  -> m ()
+glDepthRangeIndexed v1 v2 v3 = liftIO $ dyn219 ptr_glDepthRangeIndexed v1 v2 v3
+
+{-# NOINLINE ptr_glDepthRangeIndexed #-}
+ptr_glDepthRangeIndexed :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+ptr_glDepthRangeIndexed = unsafePerformIO $ getCommand "glDepthRangeIndexed"
+
+-- glDepthRangeIndexedfNV ------------------------------------------------------
+
+glDepthRangeIndexedfNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @n@.
+  -> GLfloat -- ^ @f@.
+  -> m ()
+glDepthRangeIndexedfNV v1 v2 v3 = liftIO $ dyn220 ptr_glDepthRangeIndexedfNV v1 v2 v3
+
+{-# NOINLINE ptr_glDepthRangeIndexedfNV #-}
+ptr_glDepthRangeIndexedfNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
+ptr_glDepthRangeIndexedfNV = unsafePerformIO $ getCommand "glDepthRangeIndexedfNV"
+
+-- glDepthRangedNV -------------------------------------------------------------
+
+glDepthRangedNV
+  :: MonadIO m
+  => GLdouble -- ^ @zNear@.
+  -> GLdouble -- ^ @zFar@.
+  -> m ()
+glDepthRangedNV v1 v2 = liftIO $ dyn216 ptr_glDepthRangedNV v1 v2
+
+{-# NOINLINE ptr_glDepthRangedNV #-}
+ptr_glDepthRangedNV :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glDepthRangedNV = unsafePerformIO $ getCommand "glDepthRangedNV"
+
+-- glDepthRangef ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml OpenGL 4.x>.
+glDepthRangef
+  :: MonadIO m
+  => GLfloat -- ^ @n@.
+  -> GLfloat -- ^ @f@.
+  -> m ()
+glDepthRangef v1 v2 = liftIO $ dyn221 ptr_glDepthRangef v1 v2
+
+{-# NOINLINE ptr_glDepthRangef #-}
+ptr_glDepthRangef :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glDepthRangef = unsafePerformIO $ getCommand "glDepthRangef"
+
+-- glDepthRangefOES ------------------------------------------------------------
+
+-- | This command is an alias for 'glDepthRangef'.
+glDepthRangefOES
+  :: MonadIO m
+  => GLclampf -- ^ @n@ of type @ClampedFloat32@.
+  -> GLclampf -- ^ @f@ of type @ClampedFloat32@.
+  -> m ()
+glDepthRangefOES v1 v2 = liftIO $ dyn222 ptr_glDepthRangefOES v1 v2
+
+{-# NOINLINE ptr_glDepthRangefOES #-}
+ptr_glDepthRangefOES :: FunPtr (GLclampf -> GLclampf -> IO ())
+ptr_glDepthRangefOES = unsafePerformIO $ getCommand "glDepthRangefOES"
+
+-- glDepthRangex ---------------------------------------------------------------
+
+glDepthRangex
+  :: MonadIO m
+  => GLfixed -- ^ @n@.
+  -> GLfixed -- ^ @f@.
+  -> m ()
+glDepthRangex v1 v2 = liftIO $ dyn223 ptr_glDepthRangex v1 v2
+
+{-# NOINLINE ptr_glDepthRangex #-}
+ptr_glDepthRangex :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glDepthRangex = unsafePerformIO $ getCommand "glDepthRangex"
+
+-- glDepthRangexOES ------------------------------------------------------------
+
+glDepthRangexOES
+  :: MonadIO m
+  => GLfixed -- ^ @n@ of type @ClampedFixed@.
+  -> GLfixed -- ^ @f@ of type @ClampedFixed@.
+  -> m ()
+glDepthRangexOES v1 v2 = liftIO $ dyn223 ptr_glDepthRangexOES v1 v2
+
+{-# NOINLINE ptr_glDepthRangexOES #-}
+ptr_glDepthRangexOES :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glDepthRangexOES = unsafePerformIO $ getCommand "glDepthRangexOES"
+
+-- glDetachObjectARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glDetachShader'.
+glDetachObjectARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @containerObj@ of type @handleARB@.
+  -> GLhandleARB -- ^ @attachedObj@ of type @handleARB@.
+  -> m ()
+glDetachObjectARB v1 v2 = liftIO $ dyn14 ptr_glDetachObjectARB v1 v2
+
+{-# NOINLINE ptr_glDetachObjectARB #-}
+ptr_glDetachObjectARB :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
+ptr_glDetachObjectARB = unsafePerformIO $ getCommand "glDetachObjectARB"
+
+-- glDetachShader --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDetachShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDetachShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDetachShader.xhtml OpenGL 4.x>.
+glDetachShader
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @shader@.
+  -> m ()
+glDetachShader v1 v2 = liftIO $ dyn3 ptr_glDetachShader v1 v2
+
+{-# NOINLINE ptr_glDetachShader #-}
+ptr_glDetachShader :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glDetachShader = unsafePerformIO $ getCommand "glDetachShader"
+
+-- glDetailTexFuncSGIS ---------------------------------------------------------
+
+glDetailTexFuncSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
+  -> m ()
+glDetailTexFuncSGIS v1 v2 v3 = liftIO $ dyn224 ptr_glDetailTexFuncSGIS v1 v2 v3
+
+{-# NOINLINE ptr_glDetailTexFuncSGIS #-}
+ptr_glDetailTexFuncSGIS :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glDetailTexFuncSGIS = unsafePerformIO $ getCommand "glDetailTexFuncSGIS"
+
+-- glDisable -------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnable.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
+glDisable
+  :: MonadIO m
+  => GLenum -- ^ @cap@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> m ()
+glDisable v1 = liftIO $ dyn4 ptr_glDisable v1
+
+{-# NOINLINE ptr_glDisable #-}
+ptr_glDisable :: FunPtr (GLenum -> IO ())
+ptr_glDisable = unsafePerformIO $ getCommand "glDisable"
+
+-- glDisableClientState --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableClientState.xml OpenGL 2.x>.
+glDisableClientState
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> m ()
+glDisableClientState v1 = liftIO $ dyn4 ptr_glDisableClientState v1
+
+{-# NOINLINE ptr_glDisableClientState #-}
+ptr_glDisableClientState :: FunPtr (GLenum -> IO ())
+ptr_glDisableClientState = unsafePerformIO $ getCommand "glDisableClientState"
+
+-- glDisableClientStateIndexedEXT ----------------------------------------------
+
+glDisableClientStateIndexedEXT
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableClientStateIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glDisableClientStateIndexedEXT v1 v2
+
+{-# NOINLINE ptr_glDisableClientStateIndexedEXT #-}
+ptr_glDisableClientStateIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDisableClientStateIndexedEXT = unsafePerformIO $ getCommand "glDisableClientStateIndexedEXT"
+
+-- glDisableClientStateiEXT ----------------------------------------------------
+
+glDisableClientStateiEXT
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableClientStateiEXT v1 v2 = liftIO $ dyn16 ptr_glDisableClientStateiEXT v1 v2
+
+{-# NOINLINE ptr_glDisableClientStateiEXT #-}
+ptr_glDisableClientStateiEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDisableClientStateiEXT = unsafePerformIO $ getCommand "glDisableClientStateiEXT"
+
+-- glDisableDriverControlQCOM --------------------------------------------------
+
+glDisableDriverControlQCOM
+  :: MonadIO m
+  => GLuint -- ^ @driverControl@.
+  -> m ()
+glDisableDriverControlQCOM v1 = liftIO $ dyn2 ptr_glDisableDriverControlQCOM v1
+
+{-# NOINLINE ptr_glDisableDriverControlQCOM #-}
+ptr_glDisableDriverControlQCOM :: FunPtr (GLuint -> IO ())
+ptr_glDisableDriverControlQCOM = unsafePerformIO $ getCommand "glDisableDriverControlQCOM"
+
+-- glDisableIndexedEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glDisablei'.
+glDisableIndexedEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glDisableIndexedEXT v1 v2
+
+{-# NOINLINE ptr_glDisableIndexedEXT #-}
+ptr_glDisableIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDisableIndexedEXT = unsafePerformIO $ getCommand "glDisableIndexedEXT"
+
+-- glDisableVariantClientStateEXT ----------------------------------------------
+
+glDisableVariantClientStateEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glDisableVariantClientStateEXT v1 = liftIO $ dyn2 ptr_glDisableVariantClientStateEXT v1
+
+{-# NOINLINE ptr_glDisableVariantClientStateEXT #-}
+ptr_glDisableVariantClientStateEXT :: FunPtr (GLuint -> IO ())
+ptr_glDisableVariantClientStateEXT = unsafePerformIO $ getCommand "glDisableVariantClientStateEXT"
+
+-- glDisableVertexArrayAttrib --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
+glDisableVertexArrayAttrib
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableVertexArrayAttrib v1 v2 = liftIO $ dyn3 ptr_glDisableVertexArrayAttrib v1 v2
+
+{-# NOINLINE ptr_glDisableVertexArrayAttrib #-}
+ptr_glDisableVertexArrayAttrib :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glDisableVertexArrayAttrib = unsafePerformIO $ getCommand "glDisableVertexArrayAttrib"
+
+-- glDisableVertexArrayAttribEXT -----------------------------------------------
+
+glDisableVertexArrayAttribEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableVertexArrayAttribEXT v1 v2 = liftIO $ dyn3 ptr_glDisableVertexArrayAttribEXT v1 v2
+
+{-# NOINLINE ptr_glDisableVertexArrayAttribEXT #-}
+ptr_glDisableVertexArrayAttribEXT :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glDisableVertexArrayAttribEXT = unsafePerformIO $ getCommand "glDisableVertexArrayAttribEXT"
+
+-- glDisableVertexArrayEXT -----------------------------------------------------
+
+glDisableVertexArrayEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> m ()
+glDisableVertexArrayEXT v1 v2 = liftIO $ dyn15 ptr_glDisableVertexArrayEXT v1 v2
+
+{-# NOINLINE ptr_glDisableVertexArrayEXT #-}
+ptr_glDisableVertexArrayEXT :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glDisableVertexArrayEXT = unsafePerformIO $ getCommand "glDisableVertexArrayEXT"
+
+-- glDisableVertexAttribAPPLE --------------------------------------------------
+
+glDisableVertexAttribAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> m ()
+glDisableVertexAttribAPPLE v1 v2 = liftIO $ dyn15 ptr_glDisableVertexAttribAPPLE v1 v2
+
+{-# NOINLINE ptr_glDisableVertexAttribAPPLE #-}
+ptr_glDisableVertexAttribAPPLE :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glDisableVertexAttribAPPLE = unsafePerformIO $ getCommand "glDisableVertexAttribAPPLE"
+
+-- glDisableVertexAttribArray --------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableVertexAttribArray.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
+glDisableVertexAttribArray
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> m ()
+glDisableVertexAttribArray v1 = liftIO $ dyn2 ptr_glDisableVertexAttribArray v1
+
+{-# NOINLINE ptr_glDisableVertexAttribArray #-}
+ptr_glDisableVertexAttribArray :: FunPtr (GLuint -> IO ())
+ptr_glDisableVertexAttribArray = unsafePerformIO $ getCommand "glDisableVertexAttribArray"
+
+-- glDisableVertexAttribArrayARB -----------------------------------------------
+
+-- | This command is an alias for 'glDisableVertexAttribArray'.
+glDisableVertexAttribArrayARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> m ()
+glDisableVertexAttribArrayARB v1 = liftIO $ dyn2 ptr_glDisableVertexAttribArrayARB v1
+
+{-# NOINLINE ptr_glDisableVertexAttribArrayARB #-}
+ptr_glDisableVertexAttribArrayARB :: FunPtr (GLuint -> IO ())
+ptr_glDisableVertexAttribArrayARB = unsafePerformIO $ getCommand "glDisableVertexAttribArrayARB"
+
+-- glDisablei ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
+glDisablei
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisablei v1 v2 = liftIO $ dyn16 ptr_glDisablei v1 v2
+
+{-# NOINLINE ptr_glDisablei #-}
+ptr_glDisablei :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDisablei = unsafePerformIO $ getCommand "glDisablei"
+
+-- glDisableiEXT ---------------------------------------------------------------
+
+-- | This command is an alias for 'glDisablei'.
+glDisableiEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableiEXT v1 v2 = liftIO $ dyn16 ptr_glDisableiEXT v1 v2
+
+{-# NOINLINE ptr_glDisableiEXT #-}
+ptr_glDisableiEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDisableiEXT = unsafePerformIO $ getCommand "glDisableiEXT"
+
+-- glDisableiNV ----------------------------------------------------------------
+
+-- | This command is an alias for 'glDisablei'.
+glDisableiNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableiNV v1 v2 = liftIO $ dyn16 ptr_glDisableiNV v1 v2
+
+{-# NOINLINE ptr_glDisableiNV #-}
+ptr_glDisableiNV :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDisableiNV = unsafePerformIO $ getCommand "glDisableiNV"
+
+-- glDisableiOES ---------------------------------------------------------------
+
+-- | This command is an alias for 'glDisablei'.
+glDisableiOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glDisableiOES v1 v2 = liftIO $ dyn16 ptr_glDisableiOES v1 v2
+
+{-# NOINLINE ptr_glDisableiOES #-}
+ptr_glDisableiOES :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDisableiOES = unsafePerformIO $ getCommand "glDisableiOES"
+
+-- glDiscardFramebufferEXT -----------------------------------------------------
+
+glDiscardFramebufferEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @numAttachments@.
+  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
+  -> m ()
+glDiscardFramebufferEXT v1 v2 v3 = liftIO $ dyn225 ptr_glDiscardFramebufferEXT v1 v2 v3
+
+{-# NOINLINE ptr_glDiscardFramebufferEXT #-}
+ptr_glDiscardFramebufferEXT :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
+ptr_glDiscardFramebufferEXT = unsafePerformIO $ getCommand "glDiscardFramebufferEXT"
+
+-- glDispatchCompute -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDispatchCompute.xhtml OpenGL 4.x>.
+glDispatchCompute
+  :: MonadIO m
+  => GLuint -- ^ @num_groups_x@.
+  -> GLuint -- ^ @num_groups_y@.
+  -> GLuint -- ^ @num_groups_z@.
+  -> m ()
+glDispatchCompute v1 v2 v3 = liftIO $ dyn101 ptr_glDispatchCompute v1 v2 v3
+
+{-# NOINLINE ptr_glDispatchCompute #-}
+ptr_glDispatchCompute :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glDispatchCompute = unsafePerformIO $ getCommand "glDispatchCompute"
+
+-- glDispatchComputeGroupSizeARB -----------------------------------------------
+
+glDispatchComputeGroupSizeARB
+  :: MonadIO m
+  => GLuint -- ^ @num_groups_x@.
+  -> GLuint -- ^ @num_groups_y@.
+  -> GLuint -- ^ @num_groups_z@.
+  -> GLuint -- ^ @group_size_x@.
+  -> GLuint -- ^ @group_size_y@.
+  -> GLuint -- ^ @group_size_z@.
+  -> m ()
+glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn226 ptr_glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDispatchComputeGroupSizeARB #-}
+ptr_glDispatchComputeGroupSizeARB :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glDispatchComputeGroupSizeARB = unsafePerformIO $ getCommand "glDispatchComputeGroupSizeARB"
+
+-- glDispatchComputeIndirect ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDispatchComputeIndirect.xhtml OpenGL 4.x>.
+glDispatchComputeIndirect
+  :: MonadIO m
+  => GLintptr -- ^ @indirect@ of type @BufferOffset@.
+  -> m ()
+glDispatchComputeIndirect v1 = liftIO $ dyn227 ptr_glDispatchComputeIndirect v1
+
+{-# NOINLINE ptr_glDispatchComputeIndirect #-}
+ptr_glDispatchComputeIndirect :: FunPtr (GLintptr -> IO ())
+ptr_glDispatchComputeIndirect = unsafePerformIO $ getCommand "glDispatchComputeIndirect"
+
+-- glDrawArrays ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawArrays.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawArrays.xhtml OpenGL 4.x>.
+glDrawArrays
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> m ()
+glDrawArrays v1 v2 v3 = liftIO $ dyn228 ptr_glDrawArrays v1 v2 v3
+
+{-# NOINLINE ptr_glDrawArrays #-}
+ptr_glDrawArrays :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
+ptr_glDrawArrays = unsafePerformIO $ getCommand "glDrawArrays"
+
+-- glDrawArraysEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glDrawArrays'.
+glDrawArraysEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> m ()
+glDrawArraysEXT v1 v2 v3 = liftIO $ dyn228 ptr_glDrawArraysEXT v1 v2 v3
+
+{-# NOINLINE ptr_glDrawArraysEXT #-}
+ptr_glDrawArraysEXT :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
+ptr_glDrawArraysEXT = unsafePerformIO $ getCommand "glDrawArraysEXT"
+
+-- glDrawArraysIndirect --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawArraysIndirect.xhtml OpenGL 4.x>.
+glDrawArraysIndirect
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr a -- ^ @indirect@.
+  -> m ()
+glDrawArraysIndirect v1 v2 = liftIO $ dyn229 ptr_glDrawArraysIndirect v1 v2
+
+{-# NOINLINE ptr_glDrawArraysIndirect #-}
+ptr_glDrawArraysIndirect :: FunPtr (GLenum -> Ptr a -> IO ())
+ptr_glDrawArraysIndirect = unsafePerformIO $ getCommand "glDrawArraysIndirect"
+
+-- glDrawArraysInstanced -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawArraysInstanced.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawArraysInstanced.xhtml OpenGL 4.x>.
+glDrawArraysInstanced
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @instancecount@.
+  -> m ()
+glDrawArraysInstanced v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstanced v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawArraysInstanced #-}
+ptr_glDrawArraysInstanced :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glDrawArraysInstanced = unsafePerformIO $ getCommand "glDrawArraysInstanced"
+
+-- glDrawArraysInstancedANGLE --------------------------------------------------
+
+-- | This command is an alias for 'glDrawArraysInstanced'.
+glDrawArraysInstancedANGLE
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawArraysInstancedANGLE v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedANGLE v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawArraysInstancedANGLE #-}
+ptr_glDrawArraysInstancedANGLE :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glDrawArraysInstancedANGLE = unsafePerformIO $ getCommand "glDrawArraysInstancedANGLE"
+
+-- glDrawArraysInstancedARB ----------------------------------------------------
+
+-- | This command is an alias for 'glDrawArraysInstanced'.
+glDrawArraysInstancedARB
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawArraysInstancedARB v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawArraysInstancedARB #-}
+ptr_glDrawArraysInstancedARB :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glDrawArraysInstancedARB = unsafePerformIO $ getCommand "glDrawArraysInstancedARB"
+
+-- glDrawArraysInstancedBaseInstance -------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawArraysInstancedBaseInstance.xhtml OpenGL 4.x>.
+glDrawArraysInstancedBaseInstance
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLuint -- ^ @baseinstance@.
+  -> m ()
+glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5 = liftIO $ dyn231 ptr_glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawArraysInstancedBaseInstance #-}
+ptr_glDrawArraysInstancedBaseInstance :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
+ptr_glDrawArraysInstancedBaseInstance = unsafePerformIO $ getCommand "glDrawArraysInstancedBaseInstance"
+
+-- glDrawArraysInstancedBaseInstanceEXT ----------------------------------------
+
+-- | This command is an alias for 'glDrawArraysInstancedBaseInstance'.
+glDrawArraysInstancedBaseInstanceEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLuint -- ^ @baseinstance@.
+  -> m ()
+glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5 = liftIO $ dyn231 ptr_glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawArraysInstancedBaseInstanceEXT #-}
+ptr_glDrawArraysInstancedBaseInstanceEXT :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
+ptr_glDrawArraysInstancedBaseInstanceEXT = unsafePerformIO $ getCommand "glDrawArraysInstancedBaseInstanceEXT"
+
+-- glDrawArraysInstancedEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glDrawArraysInstanced'.
+glDrawArraysInstancedEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @start@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawArraysInstancedEXT v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawArraysInstancedEXT #-}
+ptr_glDrawArraysInstancedEXT :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glDrawArraysInstancedEXT = unsafePerformIO $ getCommand "glDrawArraysInstancedEXT"
+
+-- glDrawArraysInstancedNV -----------------------------------------------------
+
+-- | This command is an alias for 'glDrawArraysInstanced'.
+glDrawArraysInstancedNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawArraysInstancedNV v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawArraysInstancedNV #-}
+ptr_glDrawArraysInstancedNV :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glDrawArraysInstancedNV = unsafePerformIO $ getCommand "glDrawArraysInstancedNV"
+
+-- glDrawBuffer ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffer.xhtml OpenGL 4.x>.
+glDrawBuffer
+  :: MonadIO m
+  => GLenum -- ^ @buf@ of type [DrawBufferMode](Graphics-GL-Groups.html#DrawBufferMode).
+  -> m ()
+glDrawBuffer v1 = liftIO $ dyn4 ptr_glDrawBuffer v1
+
+{-# NOINLINE ptr_glDrawBuffer #-}
+ptr_glDrawBuffer :: FunPtr (GLenum -> IO ())
+ptr_glDrawBuffer = unsafePerformIO $ getCommand "glDrawBuffer"
+
+-- glDrawBuffers ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffers.xhtml OpenGL 4.x>.
+glDrawBuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
+  -> m ()
+glDrawBuffers v1 v2 = liftIO $ dyn232 ptr_glDrawBuffers v1 v2
+
+{-# NOINLINE ptr_glDrawBuffers #-}
+ptr_glDrawBuffers :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
+ptr_glDrawBuffers = unsafePerformIO $ getCommand "glDrawBuffers"
+
+-- glDrawBuffersARB ------------------------------------------------------------
+
+-- | This command is an alias for 'glDrawBuffers'.
+glDrawBuffersARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
+  -> m ()
+glDrawBuffersARB v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersARB v1 v2
+
+{-# NOINLINE ptr_glDrawBuffersARB #-}
+ptr_glDrawBuffersARB :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
+ptr_glDrawBuffersARB = unsafePerformIO $ getCommand "glDrawBuffersARB"
+
+-- glDrawBuffersATI ------------------------------------------------------------
+
+-- | This command is an alias for 'glDrawBuffers'.
+glDrawBuffersATI
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
+  -> m ()
+glDrawBuffersATI v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersATI v1 v2
+
+{-# NOINLINE ptr_glDrawBuffersATI #-}
+ptr_glDrawBuffersATI :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
+ptr_glDrawBuffersATI = unsafePerformIO $ getCommand "glDrawBuffersATI"
+
+-- glDrawBuffersEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glDrawBuffers'.
+glDrawBuffersEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLenum -- ^ @bufs@.
+  -> m ()
+glDrawBuffersEXT v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersEXT v1 v2
+
+{-# NOINLINE ptr_glDrawBuffersEXT #-}
+ptr_glDrawBuffersEXT :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
+ptr_glDrawBuffersEXT = unsafePerformIO $ getCommand "glDrawBuffersEXT"
+
+-- glDrawBuffersIndexedEXT -----------------------------------------------------
+
+glDrawBuffersIndexedEXT
+  :: MonadIO m
+  => GLint -- ^ @n@.
+  -> Ptr GLenum -- ^ @location@ pointing to @n@ elements of type @GLenum@.
+  -> Ptr GLint -- ^ @indices@ pointing to @n@ elements of type @GLint@.
+  -> m ()
+glDrawBuffersIndexedEXT v1 v2 v3 = liftIO $ dyn233 ptr_glDrawBuffersIndexedEXT v1 v2 v3
+
+{-# NOINLINE ptr_glDrawBuffersIndexedEXT #-}
+ptr_glDrawBuffersIndexedEXT :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ())
+ptr_glDrawBuffersIndexedEXT = unsafePerformIO $ getCommand "glDrawBuffersIndexedEXT"
+
+-- glDrawBuffersNV -------------------------------------------------------------
+
+glDrawBuffersNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @GLenum@.
+  -> m ()
+glDrawBuffersNV v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersNV v1 v2
+
+{-# NOINLINE ptr_glDrawBuffersNV #-}
+ptr_glDrawBuffersNV :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
+ptr_glDrawBuffersNV = unsafePerformIO $ getCommand "glDrawBuffersNV"
+
+-- glDrawCommandsAddressNV -----------------------------------------------------
+
+glDrawCommandsAddressNV
+  :: MonadIO m
+  => GLenum -- ^ @primitiveMode@.
+  -> Ptr GLuint64 -- ^ @indirects@.
+  -> Ptr GLsizei -- ^ @sizes@.
+  -> GLuint -- ^ @count@.
+  -> m ()
+glDrawCommandsAddressNV v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawCommandsAddressNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawCommandsAddressNV #-}
+ptr_glDrawCommandsAddressNV :: FunPtr (GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ())
+ptr_glDrawCommandsAddressNV = unsafePerformIO $ getCommand "glDrawCommandsAddressNV"
+
+-- glDrawCommandsNV ------------------------------------------------------------
+
+glDrawCommandsNV
+  :: MonadIO m
+  => GLenum -- ^ @primitiveMode@.
+  -> GLuint -- ^ @buffer@.
+  -> Ptr GLintptr -- ^ @indirects@.
+  -> Ptr GLsizei -- ^ @sizes@.
+  -> GLuint -- ^ @count@.
+  -> m ()
+glDrawCommandsNV v1 v2 v3 v4 v5 = liftIO $ dyn235 ptr_glDrawCommandsNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawCommandsNV #-}
+ptr_glDrawCommandsNV :: FunPtr (GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ())
+ptr_glDrawCommandsNV = unsafePerformIO $ getCommand "glDrawCommandsNV"
+
+-- glDrawCommandsStatesAddressNV -----------------------------------------------
+
+glDrawCommandsStatesAddressNV
+  :: MonadIO m
+  => Ptr GLuint64 -- ^ @indirects@.
+  -> Ptr GLsizei -- ^ @sizes@.
+  -> Ptr GLuint -- ^ @states@.
+  -> Ptr GLuint -- ^ @fbos@.
+  -> GLuint -- ^ @count@.
+  -> m ()
+glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5 = liftIO $ dyn236 ptr_glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawCommandsStatesAddressNV #-}
+ptr_glDrawCommandsStatesAddressNV :: FunPtr (Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+ptr_glDrawCommandsStatesAddressNV = unsafePerformIO $ getCommand "glDrawCommandsStatesAddressNV"
+
+-- glDrawCommandsStatesNV ------------------------------------------------------
+
+glDrawCommandsStatesNV
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> Ptr GLintptr -- ^ @indirects@.
+  -> Ptr GLsizei -- ^ @sizes@.
+  -> Ptr GLuint -- ^ @states@.
+  -> Ptr GLuint -- ^ @fbos@.
+  -> GLuint -- ^ @count@.
+  -> m ()
+glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn237 ptr_glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawCommandsStatesNV #-}
+ptr_glDrawCommandsStatesNV :: FunPtr (GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+ptr_glDrawCommandsStatesNV = unsafePerformIO $ getCommand "glDrawCommandsStatesNV"
+
+-- glDrawElementArrayAPPLE -----------------------------------------------------
+
+glDrawElementArrayAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> m ()
+glDrawElementArrayAPPLE v1 v2 v3 = liftIO $ dyn228 ptr_glDrawElementArrayAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glDrawElementArrayAPPLE #-}
+ptr_glDrawElementArrayAPPLE :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
+ptr_glDrawElementArrayAPPLE = unsafePerformIO $ getCommand "glDrawElementArrayAPPLE"
+
+-- glDrawElementArrayATI -------------------------------------------------------
+
+glDrawElementArrayATI
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> m ()
+glDrawElementArrayATI v1 v2 = liftIO $ dyn238 ptr_glDrawElementArrayATI v1 v2
+
+{-# NOINLINE ptr_glDrawElementArrayATI #-}
+ptr_glDrawElementArrayATI :: FunPtr (GLenum -> GLsizei -> IO ())
+ptr_glDrawElementArrayATI = unsafePerformIO $ getCommand "glDrawElementArrayATI"
+
+-- glDrawElements --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElements.xhtml OpenGL 4.x>.
+glDrawElements
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> m ()
+glDrawElements v1 v2 v3 v4 = liftIO $ dyn239 ptr_glDrawElements v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawElements #-}
+ptr_glDrawElements :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glDrawElements = unsafePerformIO $ getCommand "glDrawElements"
+
+-- glDrawElementsBaseVertex ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsBaseVertex.xhtml OpenGL 4.x>.
+glDrawElementsBaseVertex
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawElementsBaseVertex v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawElementsBaseVertex v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsBaseVertex #-}
+ptr_glDrawElementsBaseVertex :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+ptr_glDrawElementsBaseVertex = unsafePerformIO $ getCommand "glDrawElementsBaseVertex"
+
+-- glDrawElementsBaseVertexEXT -------------------------------------------------
+
+-- | This command is an alias for 'glDrawElementsBaseVertex'.
+glDrawElementsBaseVertexEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsBaseVertexEXT #-}
+ptr_glDrawElementsBaseVertexEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+ptr_glDrawElementsBaseVertexEXT = unsafePerformIO $ getCommand "glDrawElementsBaseVertexEXT"
+
+-- glDrawElementsBaseVertexOES -------------------------------------------------
+
+-- | This command is an alias for 'glDrawElementsBaseVertex'.
+glDrawElementsBaseVertexOES
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawElementsBaseVertexOES v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawElementsBaseVertexOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsBaseVertexOES #-}
+ptr_glDrawElementsBaseVertexOES :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+ptr_glDrawElementsBaseVertexOES = unsafePerformIO $ getCommand "glDrawElementsBaseVertexOES"
+
+-- glDrawElementsIndirect ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsIndirect.xhtml OpenGL 4.x>.
+glDrawElementsIndirect
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indirect@.
+  -> m ()
+glDrawElementsIndirect v1 v2 v3 = liftIO $ dyn241 ptr_glDrawElementsIndirect v1 v2 v3
+
+{-# NOINLINE ptr_glDrawElementsIndirect #-}
+ptr_glDrawElementsIndirect :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glDrawElementsIndirect = unsafePerformIO $ getCommand "glDrawElementsIndirect"
+
+-- glDrawElementsInstanced -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstanced.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstanced.xhtml OpenGL 4.x>.
+glDrawElementsInstanced
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> m ()
+glDrawElementsInstanced v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstanced v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsInstanced #-}
+ptr_glDrawElementsInstanced :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+ptr_glDrawElementsInstanced = unsafePerformIO $ getCommand "glDrawElementsInstanced"
+
+-- glDrawElementsInstancedANGLE ------------------------------------------------
+
+-- | This command is an alias for 'glDrawElementsInstanced'.
+glDrawElementsInstancedANGLE
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawElementsInstancedANGLE v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedANGLE v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsInstancedANGLE #-}
+ptr_glDrawElementsInstancedANGLE :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+ptr_glDrawElementsInstancedANGLE = unsafePerformIO $ getCommand "glDrawElementsInstancedANGLE"
+
+-- glDrawElementsInstancedARB --------------------------------------------------
+
+-- | This command is an alias for 'glDrawElementsInstanced'.
+glDrawElementsInstancedARB
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawElementsInstancedARB v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsInstancedARB #-}
+ptr_glDrawElementsInstancedARB :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+ptr_glDrawElementsInstancedARB = unsafePerformIO $ getCommand "glDrawElementsInstancedARB"
+
+-- glDrawElementsInstancedBaseInstance -----------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstancedBaseInstance.xhtml OpenGL 4.x>.
+glDrawElementsInstancedBaseInstance
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLuint -- ^ @baseinstance@.
+  -> m ()
+glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6 = liftIO $ dyn243 ptr_glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawElementsInstancedBaseInstance #-}
+ptr_glDrawElementsInstancedBaseInstance :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
+ptr_glDrawElementsInstancedBaseInstance = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseInstance"
+
+-- glDrawElementsInstancedBaseInstanceEXT --------------------------------------
+
+-- | This command is an alias for 'glDrawElementsInstancedBaseInstance'.
+glDrawElementsInstancedBaseInstanceEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLuint -- ^ @baseinstance@.
+  -> m ()
+glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn243 ptr_glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawElementsInstancedBaseInstanceEXT #-}
+ptr_glDrawElementsInstancedBaseInstanceEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
+ptr_glDrawElementsInstancedBaseInstanceEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseInstanceEXT"
+
+-- glDrawElementsInstancedBaseVertex -------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstancedBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstancedBaseVertex.xhtml OpenGL 4.x>.
+glDrawElementsInstancedBaseVertex
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn244 ptr_glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawElementsInstancedBaseVertex #-}
+ptr_glDrawElementsInstancedBaseVertex :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
+ptr_glDrawElementsInstancedBaseVertex = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertex"
+
+-- glDrawElementsInstancedBaseVertexBaseInstance -------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstancedBaseVertexBaseInstance.xhtml OpenGL 4.x>.
+glDrawElementsInstancedBaseVertexBaseInstance
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLint -- ^ @basevertex@.
+  -> GLuint -- ^ @baseinstance@.
+  -> m ()
+glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn245 ptr_glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexBaseInstance #-}
+ptr_glDrawElementsInstancedBaseVertexBaseInstance :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
+ptr_glDrawElementsInstancedBaseVertexBaseInstance = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexBaseInstance"
+
+-- glDrawElementsInstancedBaseVertexBaseInstanceEXT ----------------------------
+
+-- | This command is an alias for 'glDrawElementsInstancedBaseVertexBaseInstance'.
+glDrawElementsInstancedBaseVertexBaseInstanceEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLint -- ^ @basevertex@.
+  -> GLuint -- ^ @baseinstance@.
+  -> m ()
+glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn245 ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT #-}
+ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
+ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexBaseInstanceEXT"
+
+-- glDrawElementsInstancedBaseVertexEXT ----------------------------------------
+
+-- | This command is an alias for 'glDrawElementsInstancedBaseVertex'.
+glDrawElementsInstancedBaseVertexEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn244 ptr_glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexEXT #-}
+ptr_glDrawElementsInstancedBaseVertexEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
+ptr_glDrawElementsInstancedBaseVertexEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexEXT"
+
+-- glDrawElementsInstancedBaseVertexOES ----------------------------------------
+
+-- | This command is an alias for 'glDrawElementsInstancedBaseVertex'.
+glDrawElementsInstancedBaseVertexOES
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @instancecount@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn244 ptr_glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexOES #-}
+ptr_glDrawElementsInstancedBaseVertexOES :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
+ptr_glDrawElementsInstancedBaseVertexOES = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexOES"
+
+-- glDrawElementsInstancedEXT --------------------------------------------------
+
+-- | This command is an alias for 'glDrawElementsInstanced'.
+glDrawElementsInstancedEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawElementsInstancedEXT v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsInstancedEXT #-}
+ptr_glDrawElementsInstancedEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+ptr_glDrawElementsInstancedEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedEXT"
+
+-- glDrawElementsInstancedNV ---------------------------------------------------
+
+-- | This command is an alias for 'glDrawElementsInstanced'.
+glDrawElementsInstancedNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glDrawElementsInstancedNV v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawElementsInstancedNV #-}
+ptr_glDrawElementsInstancedNV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
+ptr_glDrawElementsInstancedNV = unsafePerformIO $ getCommand "glDrawElementsInstancedNV"
+
+-- glDrawMeshArraysSUN ---------------------------------------------------------
+
+glDrawMeshArraysSUN
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glDrawMeshArraysSUN v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawMeshArraysSUN v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawMeshArraysSUN #-}
+ptr_glDrawMeshArraysSUN :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glDrawMeshArraysSUN = unsafePerformIO $ getCommand "glDrawMeshArraysSUN"
+
+-- glDrawPixels ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawPixels.xml OpenGL 2.x>.
+glDrawPixels
+  :: MonadIO m
+  => GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glDrawPixels v1 v2 v3 v4 v5 = liftIO $ dyn246 ptr_glDrawPixels v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawPixels #-}
+ptr_glDrawPixels :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glDrawPixels = unsafePerformIO $ getCommand "glDrawPixels"
+
+-- glDrawRangeElementArrayAPPLE ------------------------------------------------
+
+glDrawRangeElementArrayAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> m ()
+glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn247 ptr_glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawRangeElementArrayAPPLE #-}
+ptr_glDrawRangeElementArrayAPPLE :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
+ptr_glDrawRangeElementArrayAPPLE = unsafePerformIO $ getCommand "glDrawRangeElementArrayAPPLE"
+
+-- glDrawRangeElementArrayATI --------------------------------------------------
+
+glDrawRangeElementArrayATI
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> GLsizei -- ^ @count@.
+  -> m ()
+glDrawRangeElementArrayATI v1 v2 v3 v4 = liftIO $ dyn248 ptr_glDrawRangeElementArrayATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawRangeElementArrayATI #-}
+ptr_glDrawRangeElementArrayATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
+ptr_glDrawRangeElementArrayATI = unsafePerformIO $ getCommand "glDrawRangeElementArrayATI"
+
+-- glDrawRangeElements ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawRangeElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawRangeElements.xhtml OpenGL 4.x>.
+glDrawRangeElements
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> m ()
+glDrawRangeElements v1 v2 v3 v4 v5 v6 = liftIO $ dyn249 ptr_glDrawRangeElements v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawRangeElements #-}
+ptr_glDrawRangeElements :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glDrawRangeElements = unsafePerformIO $ getCommand "glDrawRangeElements"
+
+-- glDrawRangeElementsBaseVertex -----------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawRangeElementsBaseVertex.xhtml OpenGL 4.x>.
+glDrawRangeElementsBaseVertex
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glDrawRangeElementsBaseVertex #-}
+ptr_glDrawRangeElementsBaseVertex :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+ptr_glDrawRangeElementsBaseVertex = unsafePerformIO $ getCommand "glDrawRangeElementsBaseVertex"
+
+-- glDrawRangeElementsBaseVertexEXT --------------------------------------------
+
+-- | This command is an alias for 'glDrawRangeElementsBaseVertex'.
+glDrawRangeElementsBaseVertexEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glDrawRangeElementsBaseVertexEXT #-}
+ptr_glDrawRangeElementsBaseVertexEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+ptr_glDrawRangeElementsBaseVertexEXT = unsafePerformIO $ getCommand "glDrawRangeElementsBaseVertexEXT"
+
+-- glDrawRangeElementsBaseVertexOES --------------------------------------------
+
+-- | This command is an alias for 'glDrawRangeElementsBaseVertex'.
+glDrawRangeElementsBaseVertexOES
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> GLint -- ^ @basevertex@.
+  -> m ()
+glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glDrawRangeElementsBaseVertexOES #-}
+ptr_glDrawRangeElementsBaseVertexOES :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
+ptr_glDrawRangeElementsBaseVertexOES = unsafePerformIO $ getCommand "glDrawRangeElementsBaseVertexOES"
+
+-- glDrawRangeElementsEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glDrawRangeElements'.
+glDrawRangeElementsEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> GLsizei -- ^ @count@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
+  -> m ()
+glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn249 ptr_glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glDrawRangeElementsEXT #-}
+ptr_glDrawRangeElementsEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glDrawRangeElementsEXT = unsafePerformIO $ getCommand "glDrawRangeElementsEXT"
+
+-- glDrawTexfOES ---------------------------------------------------------------
+
+glDrawTexfOES
+  :: MonadIO m
+  => GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @width@.
+  -> GLfloat -- ^ @height@.
+  -> m ()
+glDrawTexfOES v1 v2 v3 v4 v5 = liftIO $ dyn251 ptr_glDrawTexfOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawTexfOES #-}
+ptr_glDrawTexfOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glDrawTexfOES = unsafePerformIO $ getCommand "glDrawTexfOES"
+
+-- glDrawTexfvOES --------------------------------------------------------------
+
+glDrawTexfvOES
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @coords@.
+  -> m ()
+glDrawTexfvOES v1 = liftIO $ dyn41 ptr_glDrawTexfvOES v1
+
+{-# NOINLINE ptr_glDrawTexfvOES #-}
+ptr_glDrawTexfvOES :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glDrawTexfvOES = unsafePerformIO $ getCommand "glDrawTexfvOES"
+
+-- glDrawTexiOES ---------------------------------------------------------------
+
+glDrawTexiOES
+  :: MonadIO m
+  => GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @width@.
+  -> GLint -- ^ @height@.
+  -> m ()
+glDrawTexiOES v1 v2 v3 v4 v5 = liftIO $ dyn252 ptr_glDrawTexiOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawTexiOES #-}
+ptr_glDrawTexiOES :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glDrawTexiOES = unsafePerformIO $ getCommand "glDrawTexiOES"
+
+-- glDrawTexivOES --------------------------------------------------------------
+
+glDrawTexivOES
+  :: MonadIO m
+  => Ptr GLint -- ^ @coords@.
+  -> m ()
+glDrawTexivOES v1 = liftIO $ dyn43 ptr_glDrawTexivOES v1
+
+{-# NOINLINE ptr_glDrawTexivOES #-}
+ptr_glDrawTexivOES :: FunPtr (Ptr GLint -> IO ())
+ptr_glDrawTexivOES = unsafePerformIO $ getCommand "glDrawTexivOES"
+
+-- glDrawTexsOES ---------------------------------------------------------------
+
+glDrawTexsOES
+  :: MonadIO m
+  => GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> GLshort -- ^ @width@.
+  -> GLshort -- ^ @height@.
+  -> m ()
+glDrawTexsOES v1 v2 v3 v4 v5 = liftIO $ dyn253 ptr_glDrawTexsOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawTexsOES #-}
+ptr_glDrawTexsOES :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glDrawTexsOES = unsafePerformIO $ getCommand "glDrawTexsOES"
+
+-- glDrawTexsvOES --------------------------------------------------------------
+
+glDrawTexsvOES
+  :: MonadIO m
+  => Ptr GLshort -- ^ @coords@.
+  -> m ()
+glDrawTexsvOES v1 = liftIO $ dyn45 ptr_glDrawTexsvOES v1
+
+{-# NOINLINE ptr_glDrawTexsvOES #-}
+ptr_glDrawTexsvOES :: FunPtr (Ptr GLshort -> IO ())
+ptr_glDrawTexsvOES = unsafePerformIO $ getCommand "glDrawTexsvOES"
+
+-- glDrawTextureNV -------------------------------------------------------------
+
+glDrawTextureNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLuint -- ^ @sampler@.
+  -> GLfloat -- ^ @x0@.
+  -> GLfloat -- ^ @y0@.
+  -> GLfloat -- ^ @x1@.
+  -> GLfloat -- ^ @y1@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @s0@.
+  -> GLfloat -- ^ @t0@.
+  -> GLfloat -- ^ @s1@.
+  -> GLfloat -- ^ @t1@.
+  -> m ()
+glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn254 ptr_glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glDrawTextureNV #-}
+ptr_glDrawTextureNV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glDrawTextureNV = unsafePerformIO $ getCommand "glDrawTextureNV"
+
+-- glDrawTexxOES ---------------------------------------------------------------
+
+glDrawTexxOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> GLfixed -- ^ @width@.
+  -> GLfixed -- ^ @height@.
+  -> m ()
+glDrawTexxOES v1 v2 v3 v4 v5 = liftIO $ dyn255 ptr_glDrawTexxOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glDrawTexxOES #-}
+ptr_glDrawTexxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glDrawTexxOES = unsafePerformIO $ getCommand "glDrawTexxOES"
+
+-- glDrawTexxvOES --------------------------------------------------------------
+
+glDrawTexxvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@.
+  -> m ()
+glDrawTexxvOES v1 = liftIO $ dyn106 ptr_glDrawTexxvOES v1
+
+{-# NOINLINE ptr_glDrawTexxvOES #-}
+ptr_glDrawTexxvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glDrawTexxvOES = unsafePerformIO $ getCommand "glDrawTexxvOES"
+
+-- glDrawTransformFeedback -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedback.xhtml OpenGL 4.x>.
+glDrawTransformFeedback
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @id@.
+  -> m ()
+glDrawTransformFeedback v1 v2 = liftIO $ dyn16 ptr_glDrawTransformFeedback v1 v2
+
+{-# NOINLINE ptr_glDrawTransformFeedback #-}
+ptr_glDrawTransformFeedback :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDrawTransformFeedback = unsafePerformIO $ getCommand "glDrawTransformFeedback"
+
+-- glDrawTransformFeedbackInstanced --------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackInstanced.xhtml OpenGL 4.x>.
+glDrawTransformFeedbackInstanced
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @id@.
+  -> GLsizei -- ^ @instancecount@.
+  -> m ()
+glDrawTransformFeedbackInstanced v1 v2 v3 = liftIO $ dyn256 ptr_glDrawTransformFeedbackInstanced v1 v2 v3
+
+{-# NOINLINE ptr_glDrawTransformFeedbackInstanced #-}
+ptr_glDrawTransformFeedbackInstanced :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
+ptr_glDrawTransformFeedbackInstanced = unsafePerformIO $ getCommand "glDrawTransformFeedbackInstanced"
+
+-- glDrawTransformFeedbackNV ---------------------------------------------------
+
+-- | This command is an alias for 'glDrawTransformFeedback'.
+glDrawTransformFeedbackNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @id@.
+  -> m ()
+glDrawTransformFeedbackNV v1 v2 = liftIO $ dyn16 ptr_glDrawTransformFeedbackNV v1 v2
+
+{-# NOINLINE ptr_glDrawTransformFeedbackNV #-}
+ptr_glDrawTransformFeedbackNV :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glDrawTransformFeedbackNV = unsafePerformIO $ getCommand "glDrawTransformFeedbackNV"
+
+-- glDrawTransformFeedbackStream -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStream.xhtml OpenGL 4.x>.
+glDrawTransformFeedbackStream
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @id@.
+  -> GLuint -- ^ @stream@.
+  -> m ()
+glDrawTransformFeedbackStream v1 v2 v3 = liftIO $ dyn17 ptr_glDrawTransformFeedbackStream v1 v2 v3
+
+{-# NOINLINE ptr_glDrawTransformFeedbackStream #-}
+ptr_glDrawTransformFeedbackStream :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+ptr_glDrawTransformFeedbackStream = unsafePerformIO $ getCommand "glDrawTransformFeedbackStream"
+
+-- glDrawTransformFeedbackStreamInstanced --------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStreamInstanced.xhtml OpenGL 4.x>.
+glDrawTransformFeedbackStreamInstanced
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @id@.
+  -> GLuint -- ^ @stream@.
+  -> GLsizei -- ^ @instancecount@.
+  -> m ()
+glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4 = liftIO $ dyn248 ptr_glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4
+
+{-# NOINLINE ptr_glDrawTransformFeedbackStreamInstanced #-}
+ptr_glDrawTransformFeedbackStreamInstanced :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
+ptr_glDrawTransformFeedbackStreamInstanced = unsafePerformIO $ getCommand "glDrawTransformFeedbackStreamInstanced"
+
+-- glEGLImageTargetRenderbufferStorageOES --------------------------------------
+
+glEGLImageTargetRenderbufferStorageOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLeglImageOES -- ^ @image@.
+  -> m ()
+glEGLImageTargetRenderbufferStorageOES v1 v2 = liftIO $ dyn257 ptr_glEGLImageTargetRenderbufferStorageOES v1 v2
+
+{-# NOINLINE ptr_glEGLImageTargetRenderbufferStorageOES #-}
+ptr_glEGLImageTargetRenderbufferStorageOES :: FunPtr (GLenum -> GLeglImageOES -> IO ())
+ptr_glEGLImageTargetRenderbufferStorageOES = unsafePerformIO $ getCommand "glEGLImageTargetRenderbufferStorageOES"
+
+-- glEGLImageTargetTexture2DOES ------------------------------------------------
+
+glEGLImageTargetTexture2DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLeglImageOES -- ^ @image@.
+  -> m ()
+glEGLImageTargetTexture2DOES v1 v2 = liftIO $ dyn257 ptr_glEGLImageTargetTexture2DOES v1 v2
+
+{-# NOINLINE ptr_glEGLImageTargetTexture2DOES #-}
+ptr_glEGLImageTargetTexture2DOES :: FunPtr (GLenum -> GLeglImageOES -> IO ())
+ptr_glEGLImageTargetTexture2DOES = unsafePerformIO $ getCommand "glEGLImageTargetTexture2DOES"
+
+-- glEdgeFlag ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlag.xml OpenGL 2.x>. The vector equivalent of this command is 'glEdgeFlagv'.
+glEdgeFlag
+  :: MonadIO m
+  => GLboolean -- ^ @flag@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glEdgeFlag v1 = liftIO $ dyn190 ptr_glEdgeFlag v1
+
+{-# NOINLINE ptr_glEdgeFlag #-}
+ptr_glEdgeFlag :: FunPtr (GLboolean -> IO ())
+ptr_glEdgeFlag = unsafePerformIO $ getCommand "glEdgeFlag"
+
+-- glEdgeFlagFormatNV ----------------------------------------------------------
+
+glEdgeFlagFormatNV
+  :: MonadIO m
+  => GLsizei -- ^ @stride@.
+  -> m ()
+glEdgeFlagFormatNV v1 = liftIO $ dyn258 ptr_glEdgeFlagFormatNV v1
+
+{-# NOINLINE ptr_glEdgeFlagFormatNV #-}
+ptr_glEdgeFlagFormatNV :: FunPtr (GLsizei -> IO ())
+ptr_glEdgeFlagFormatNV = unsafePerformIO $ getCommand "glEdgeFlagFormatNV"
+
+-- glEdgeFlagPointer -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlagPointer.xml OpenGL 2.x>.
+glEdgeFlagPointer
+  :: MonadIO m
+  => GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @a@.
+  -> m ()
+glEdgeFlagPointer v1 v2 = liftIO $ dyn259 ptr_glEdgeFlagPointer v1 v2
+
+{-# NOINLINE ptr_glEdgeFlagPointer #-}
+ptr_glEdgeFlagPointer :: FunPtr (GLsizei -> Ptr a -> IO ())
+ptr_glEdgeFlagPointer = unsafePerformIO $ getCommand "glEdgeFlagPointer"
+
+-- glEdgeFlagPointerEXT --------------------------------------------------------
+
+glEdgeFlagPointerEXT
+  :: MonadIO m
+  => GLsizei -- ^ @stride@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLboolean -- ^ @pointer@ pointing to @COMPSIZE(stride,count)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glEdgeFlagPointerEXT v1 v2 v3 = liftIO $ dyn260 ptr_glEdgeFlagPointerEXT v1 v2 v3
+
+{-# NOINLINE ptr_glEdgeFlagPointerEXT #-}
+ptr_glEdgeFlagPointerEXT :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
+ptr_glEdgeFlagPointerEXT = unsafePerformIO $ getCommand "glEdgeFlagPointerEXT"
+
+-- glEdgeFlagPointerListIBM ----------------------------------------------------
+
+glEdgeFlagPointerListIBM
+  :: MonadIO m
+  => GLint -- ^ @stride@.
+  -> Ptr (Ptr GLboolean) -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @Ptr BooleanPointer@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glEdgeFlagPointerListIBM v1 v2 v3 = liftIO $ dyn261 ptr_glEdgeFlagPointerListIBM v1 v2 v3
+
+{-# NOINLINE ptr_glEdgeFlagPointerListIBM #-}
+ptr_glEdgeFlagPointerListIBM :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ())
+ptr_glEdgeFlagPointerListIBM = unsafePerformIO $ getCommand "glEdgeFlagPointerListIBM"
+
+-- glEdgeFlagv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlag.xml OpenGL 2.x>.
+glEdgeFlagv
+  :: MonadIO m
+  => Ptr GLboolean -- ^ @flag@ pointing to @1@ element of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glEdgeFlagv v1 = liftIO $ dyn262 ptr_glEdgeFlagv v1
+
+{-# NOINLINE ptr_glEdgeFlagv #-}
+ptr_glEdgeFlagv :: FunPtr (Ptr GLboolean -> IO ())
+ptr_glEdgeFlagv = unsafePerformIO $ getCommand "glEdgeFlagv"
+
+-- glElementPointerAPPLE -------------------------------------------------------
+
+glElementPointerAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type @ElementPointerTypeATI@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
+  -> m ()
+glElementPointerAPPLE v1 v2 = liftIO $ dyn229 ptr_glElementPointerAPPLE v1 v2
+
+{-# NOINLINE ptr_glElementPointerAPPLE #-}
+ptr_glElementPointerAPPLE :: FunPtr (GLenum -> Ptr a -> IO ())
+ptr_glElementPointerAPPLE = unsafePerformIO $ getCommand "glElementPointerAPPLE"
+
+-- glElementPointerATI ---------------------------------------------------------
+
+glElementPointerATI
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type @ElementPointerTypeATI@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
+  -> m ()
+glElementPointerATI v1 v2 = liftIO $ dyn229 ptr_glElementPointerATI v1 v2
+
+{-# NOINLINE ptr_glElementPointerATI #-}
+ptr_glElementPointerATI :: FunPtr (GLenum -> Ptr a -> IO ())
+ptr_glElementPointerATI = unsafePerformIO $ getCommand "glElementPointerATI"
+
+-- glEnable --------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnable.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
+glEnable
+  :: MonadIO m
+  => GLenum -- ^ @cap@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> m ()
+glEnable v1 = liftIO $ dyn4 ptr_glEnable v1
+
+{-# NOINLINE ptr_glEnable #-}
+ptr_glEnable :: FunPtr (GLenum -> IO ())
+ptr_glEnable = unsafePerformIO $ getCommand "glEnable"
+
+-- glEnableClientState ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableClientState.xml OpenGL 2.x>.
+glEnableClientState
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> m ()
+glEnableClientState v1 = liftIO $ dyn4 ptr_glEnableClientState v1
+
+{-# NOINLINE ptr_glEnableClientState #-}
+ptr_glEnableClientState :: FunPtr (GLenum -> IO ())
+ptr_glEnableClientState = unsafePerformIO $ getCommand "glEnableClientState"
+
+-- glEnableClientStateIndexedEXT -----------------------------------------------
+
+glEnableClientStateIndexedEXT
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableClientStateIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glEnableClientStateIndexedEXT v1 v2
+
+{-# NOINLINE ptr_glEnableClientStateIndexedEXT #-}
+ptr_glEnableClientStateIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEnableClientStateIndexedEXT = unsafePerformIO $ getCommand "glEnableClientStateIndexedEXT"
+
+-- glEnableClientStateiEXT -----------------------------------------------------
+
+glEnableClientStateiEXT
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableClientStateiEXT v1 v2 = liftIO $ dyn16 ptr_glEnableClientStateiEXT v1 v2
+
+{-# NOINLINE ptr_glEnableClientStateiEXT #-}
+ptr_glEnableClientStateiEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEnableClientStateiEXT = unsafePerformIO $ getCommand "glEnableClientStateiEXT"
+
+-- glEnableDriverControlQCOM ---------------------------------------------------
+
+glEnableDriverControlQCOM
+  :: MonadIO m
+  => GLuint -- ^ @driverControl@.
+  -> m ()
+glEnableDriverControlQCOM v1 = liftIO $ dyn2 ptr_glEnableDriverControlQCOM v1
+
+{-# NOINLINE ptr_glEnableDriverControlQCOM #-}
+ptr_glEnableDriverControlQCOM :: FunPtr (GLuint -> IO ())
+ptr_glEnableDriverControlQCOM = unsafePerformIO $ getCommand "glEnableDriverControlQCOM"
+
+-- glEnableIndexedEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glEnablei'.
+glEnableIndexedEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glEnableIndexedEXT v1 v2
+
+{-# NOINLINE ptr_glEnableIndexedEXT #-}
+ptr_glEnableIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEnableIndexedEXT = unsafePerformIO $ getCommand "glEnableIndexedEXT"
+
+-- glEnableVariantClientStateEXT -----------------------------------------------
+
+glEnableVariantClientStateEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m ()
+glEnableVariantClientStateEXT v1 = liftIO $ dyn2 ptr_glEnableVariantClientStateEXT v1
+
+{-# NOINLINE ptr_glEnableVariantClientStateEXT #-}
+ptr_glEnableVariantClientStateEXT :: FunPtr (GLuint -> IO ())
+ptr_glEnableVariantClientStateEXT = unsafePerformIO $ getCommand "glEnableVariantClientStateEXT"
+
+-- glEnableVertexArrayAttrib ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
+glEnableVertexArrayAttrib
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableVertexArrayAttrib v1 v2 = liftIO $ dyn3 ptr_glEnableVertexArrayAttrib v1 v2
+
+{-# NOINLINE ptr_glEnableVertexArrayAttrib #-}
+ptr_glEnableVertexArrayAttrib :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glEnableVertexArrayAttrib = unsafePerformIO $ getCommand "glEnableVertexArrayAttrib"
+
+-- glEnableVertexArrayAttribEXT ------------------------------------------------
+
+glEnableVertexArrayAttribEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableVertexArrayAttribEXT v1 v2 = liftIO $ dyn3 ptr_glEnableVertexArrayAttribEXT v1 v2
+
+{-# NOINLINE ptr_glEnableVertexArrayAttribEXT #-}
+ptr_glEnableVertexArrayAttribEXT :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glEnableVertexArrayAttribEXT = unsafePerformIO $ getCommand "glEnableVertexArrayAttribEXT"
+
+-- glEnableVertexArrayEXT ------------------------------------------------------
+
+glEnableVertexArrayEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> m ()
+glEnableVertexArrayEXT v1 v2 = liftIO $ dyn15 ptr_glEnableVertexArrayEXT v1 v2
+
+{-# NOINLINE ptr_glEnableVertexArrayEXT #-}
+ptr_glEnableVertexArrayEXT :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glEnableVertexArrayEXT = unsafePerformIO $ getCommand "glEnableVertexArrayEXT"
+
+-- glEnableVertexAttribAPPLE ---------------------------------------------------
+
+glEnableVertexAttribAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> m ()
+glEnableVertexAttribAPPLE v1 v2 = liftIO $ dyn15 ptr_glEnableVertexAttribAPPLE v1 v2
+
+{-# NOINLINE ptr_glEnableVertexAttribAPPLE #-}
+ptr_glEnableVertexAttribAPPLE :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glEnableVertexAttribAPPLE = unsafePerformIO $ getCommand "glEnableVertexAttribAPPLE"
+
+-- glEnableVertexAttribArray ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableVertexAttribArray.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
+glEnableVertexAttribArray
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> m ()
+glEnableVertexAttribArray v1 = liftIO $ dyn2 ptr_glEnableVertexAttribArray v1
+
+{-# NOINLINE ptr_glEnableVertexAttribArray #-}
+ptr_glEnableVertexAttribArray :: FunPtr (GLuint -> IO ())
+ptr_glEnableVertexAttribArray = unsafePerformIO $ getCommand "glEnableVertexAttribArray"
+
+-- glEnableVertexAttribArrayARB ------------------------------------------------
+
+-- | This command is an alias for 'glEnableVertexAttribArray'.
+glEnableVertexAttribArrayARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> m ()
+glEnableVertexAttribArrayARB v1 = liftIO $ dyn2 ptr_glEnableVertexAttribArrayARB v1
+
+{-# NOINLINE ptr_glEnableVertexAttribArrayARB #-}
+ptr_glEnableVertexAttribArrayARB :: FunPtr (GLuint -> IO ())
+ptr_glEnableVertexAttribArrayARB = unsafePerformIO $ getCommand "glEnableVertexAttribArrayARB"
+
+-- glEnablei -------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
+glEnablei
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnablei v1 v2 = liftIO $ dyn16 ptr_glEnablei v1 v2
+
+{-# NOINLINE ptr_glEnablei #-}
+ptr_glEnablei :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEnablei = unsafePerformIO $ getCommand "glEnablei"
+
+-- glEnableiEXT ----------------------------------------------------------------
+
+-- | This command is an alias for 'glEnablei'.
+glEnableiEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableiEXT v1 v2 = liftIO $ dyn16 ptr_glEnableiEXT v1 v2
+
+{-# NOINLINE ptr_glEnableiEXT #-}
+ptr_glEnableiEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEnableiEXT = unsafePerformIO $ getCommand "glEnableiEXT"
+
+-- glEnableiNV -----------------------------------------------------------------
+
+-- | This command is an alias for 'glEnablei'.
+glEnableiNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableiNV v1 v2 = liftIO $ dyn16 ptr_glEnableiNV v1 v2
+
+{-# NOINLINE ptr_glEnableiNV #-}
+ptr_glEnableiNV :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEnableiNV = unsafePerformIO $ getCommand "glEnableiNV"
+
+-- glEnableiOES ----------------------------------------------------------------
+
+-- | This command is an alias for 'glEnablei'.
+glEnableiOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEnableiOES v1 v2 = liftIO $ dyn16 ptr_glEnableiOES v1 v2
+
+{-# NOINLINE ptr_glEnableiOES #-}
+ptr_glEnableiOES :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEnableiOES = unsafePerformIO $ getCommand "glEnableiOES"
+
+-- glEnd -----------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBegin.xml OpenGL 2.x>.
+glEnd
+  :: MonadIO m
+  => m ()
+glEnd = liftIO $ dyn10 ptr_glEnd
+
+{-# NOINLINE ptr_glEnd #-}
+ptr_glEnd :: FunPtr (IO ())
+ptr_glEnd = unsafePerformIO $ getCommand "glEnd"
+
+-- glEndConditionalRender ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml OpenGL 4.x>.
+glEndConditionalRender
+  :: MonadIO m
+  => m ()
+glEndConditionalRender = liftIO $ dyn10 ptr_glEndConditionalRender
+
+{-# NOINLINE ptr_glEndConditionalRender #-}
+ptr_glEndConditionalRender :: FunPtr (IO ())
+ptr_glEndConditionalRender = unsafePerformIO $ getCommand "glEndConditionalRender"
+
+-- glEndConditionalRenderNV ----------------------------------------------------
+
+-- | This command is an alias for 'glEndConditionalRender'.
+glEndConditionalRenderNV
+  :: MonadIO m
+  => m ()
+glEndConditionalRenderNV = liftIO $ dyn10 ptr_glEndConditionalRenderNV
+
+{-# NOINLINE ptr_glEndConditionalRenderNV #-}
+ptr_glEndConditionalRenderNV :: FunPtr (IO ())
+ptr_glEndConditionalRenderNV = unsafePerformIO $ getCommand "glEndConditionalRenderNV"
+
+-- glEndConditionalRenderNVX ---------------------------------------------------
+
+-- | This command is an alias for 'glEndConditionalRender'.
+glEndConditionalRenderNVX
+  :: MonadIO m
+  => m ()
+glEndConditionalRenderNVX = liftIO $ dyn10 ptr_glEndConditionalRenderNVX
+
+{-# NOINLINE ptr_glEndConditionalRenderNVX #-}
+ptr_glEndConditionalRenderNVX :: FunPtr (IO ())
+ptr_glEndConditionalRenderNVX = unsafePerformIO $ getCommand "glEndConditionalRenderNVX"
+
+-- glEndFragmentShaderATI ------------------------------------------------------
+
+glEndFragmentShaderATI
+  :: MonadIO m
+  => m ()
+glEndFragmentShaderATI = liftIO $ dyn10 ptr_glEndFragmentShaderATI
+
+{-# NOINLINE ptr_glEndFragmentShaderATI #-}
+ptr_glEndFragmentShaderATI :: FunPtr (IO ())
+ptr_glEndFragmentShaderATI = unsafePerformIO $ getCommand "glEndFragmentShaderATI"
+
+-- glEndList -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNewList.xml OpenGL 2.x>.
+glEndList
+  :: MonadIO m
+  => m ()
+glEndList = liftIO $ dyn10 ptr_glEndList
+
+{-# NOINLINE ptr_glEndList #-}
+ptr_glEndList :: FunPtr (IO ())
+ptr_glEndList = unsafePerformIO $ getCommand "glEndList"
+
+-- glEndOcclusionQueryNV -------------------------------------------------------
+
+glEndOcclusionQueryNV
+  :: MonadIO m
+  => m ()
+glEndOcclusionQueryNV = liftIO $ dyn10 ptr_glEndOcclusionQueryNV
+
+{-# NOINLINE ptr_glEndOcclusionQueryNV #-}
+ptr_glEndOcclusionQueryNV :: FunPtr (IO ())
+ptr_glEndOcclusionQueryNV = unsafePerformIO $ getCommand "glEndOcclusionQueryNV"
+
+-- glEndPerfMonitorAMD ---------------------------------------------------------
+
+glEndPerfMonitorAMD
+  :: MonadIO m
+  => GLuint -- ^ @monitor@.
+  -> m ()
+glEndPerfMonitorAMD v1 = liftIO $ dyn2 ptr_glEndPerfMonitorAMD v1
+
+{-# NOINLINE ptr_glEndPerfMonitorAMD #-}
+ptr_glEndPerfMonitorAMD :: FunPtr (GLuint -> IO ())
+ptr_glEndPerfMonitorAMD = unsafePerformIO $ getCommand "glEndPerfMonitorAMD"
+
+-- glEndPerfQueryINTEL ---------------------------------------------------------
+
+glEndPerfQueryINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryHandle@.
+  -> m ()
+glEndPerfQueryINTEL v1 = liftIO $ dyn2 ptr_glEndPerfQueryINTEL v1
+
+{-# NOINLINE ptr_glEndPerfQueryINTEL #-}
+ptr_glEndPerfQueryINTEL :: FunPtr (GLuint -> IO ())
+ptr_glEndPerfQueryINTEL = unsafePerformIO $ getCommand "glEndPerfQueryINTEL"
+
+-- glEndQuery ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBeginQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml OpenGL 4.x>.
+glEndQuery
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glEndQuery v1 = liftIO $ dyn4 ptr_glEndQuery v1
+
+{-# NOINLINE ptr_glEndQuery #-}
+ptr_glEndQuery :: FunPtr (GLenum -> IO ())
+ptr_glEndQuery = unsafePerformIO $ getCommand "glEndQuery"
+
+-- glEndQueryARB ---------------------------------------------------------------
+
+-- | This command is an alias for 'glEndQuery'.
+glEndQueryARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glEndQueryARB v1 = liftIO $ dyn4 ptr_glEndQueryARB v1
+
+{-# NOINLINE ptr_glEndQueryARB #-}
+ptr_glEndQueryARB :: FunPtr (GLenum -> IO ())
+ptr_glEndQueryARB = unsafePerformIO $ getCommand "glEndQueryARB"
+
+-- glEndQueryEXT ---------------------------------------------------------------
+
+glEndQueryEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glEndQueryEXT v1 = liftIO $ dyn4 ptr_glEndQueryEXT v1
+
+{-# NOINLINE ptr_glEndQueryEXT #-}
+ptr_glEndQueryEXT :: FunPtr (GLenum -> IO ())
+ptr_glEndQueryEXT = unsafePerformIO $ getCommand "glEndQueryEXT"
+
+-- glEndQueryIndexed -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
+glEndQueryIndexed
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m ()
+glEndQueryIndexed v1 v2 = liftIO $ dyn16 ptr_glEndQueryIndexed v1 v2
+
+{-# NOINLINE ptr_glEndQueryIndexed #-}
+ptr_glEndQueryIndexed :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glEndQueryIndexed = unsafePerformIO $ getCommand "glEndQueryIndexed"
+
+-- glEndTilingQCOM -------------------------------------------------------------
+
+glEndTilingQCOM
+  :: MonadIO m
+  => GLbitfield -- ^ @preserveMask@.
+  -> m ()
+glEndTilingQCOM v1 = liftIO $ dyn69 ptr_glEndTilingQCOM v1
+
+{-# NOINLINE ptr_glEndTilingQCOM #-}
+ptr_glEndTilingQCOM :: FunPtr (GLbitfield -> IO ())
+ptr_glEndTilingQCOM = unsafePerformIO $ getCommand "glEndTilingQCOM"
+
+-- glEndTransformFeedback ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml OpenGL 4.x>.
+glEndTransformFeedback
+  :: MonadIO m
+  => m ()
+glEndTransformFeedback = liftIO $ dyn10 ptr_glEndTransformFeedback
+
+{-# NOINLINE ptr_glEndTransformFeedback #-}
+ptr_glEndTransformFeedback :: FunPtr (IO ())
+ptr_glEndTransformFeedback = unsafePerformIO $ getCommand "glEndTransformFeedback"
+
+-- glEndTransformFeedbackEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glEndTransformFeedback'.
+glEndTransformFeedbackEXT
+  :: MonadIO m
+  => m ()
+glEndTransformFeedbackEXT = liftIO $ dyn10 ptr_glEndTransformFeedbackEXT
+
+{-# NOINLINE ptr_glEndTransformFeedbackEXT #-}
+ptr_glEndTransformFeedbackEXT :: FunPtr (IO ())
+ptr_glEndTransformFeedbackEXT = unsafePerformIO $ getCommand "glEndTransformFeedbackEXT"
+
+-- glEndTransformFeedbackNV ----------------------------------------------------
+
+-- | This command is an alias for 'glEndTransformFeedback'.
+glEndTransformFeedbackNV
+  :: MonadIO m
+  => m ()
+glEndTransformFeedbackNV = liftIO $ dyn10 ptr_glEndTransformFeedbackNV
+
+{-# NOINLINE ptr_glEndTransformFeedbackNV #-}
+ptr_glEndTransformFeedbackNV :: FunPtr (IO ())
+ptr_glEndTransformFeedbackNV = unsafePerformIO $ getCommand "glEndTransformFeedbackNV"
+
+-- glEndVertexShaderEXT --------------------------------------------------------
+
+glEndVertexShaderEXT
+  :: MonadIO m
+  => m ()
+glEndVertexShaderEXT = liftIO $ dyn10 ptr_glEndVertexShaderEXT
+
+{-# NOINLINE ptr_glEndVertexShaderEXT #-}
+ptr_glEndVertexShaderEXT :: FunPtr (IO ())
+ptr_glEndVertexShaderEXT = unsafePerformIO $ getCommand "glEndVertexShaderEXT"
+
+-- glEndVideoCaptureNV ---------------------------------------------------------
+
+glEndVideoCaptureNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> m ()
+glEndVideoCaptureNV v1 = liftIO $ dyn2 ptr_glEndVideoCaptureNV v1
+
+{-# NOINLINE ptr_glEndVideoCaptureNV #-}
+ptr_glEndVideoCaptureNV :: FunPtr (GLuint -> IO ())
+ptr_glEndVideoCaptureNV = unsafePerformIO $ getCommand "glEndVideoCaptureNV"
+
+-- glEvalCoord1d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord1dv'.
+glEvalCoord1d
+  :: MonadIO m
+  => GLdouble -- ^ @u@ of type @CoordD@.
+  -> m ()
+glEvalCoord1d v1 = liftIO $ dyn78 ptr_glEvalCoord1d v1
+
+{-# NOINLINE ptr_glEvalCoord1d #-}
+ptr_glEvalCoord1d :: FunPtr (GLdouble -> IO ())
+ptr_glEvalCoord1d = unsafePerformIO $ getCommand "glEvalCoord1d"
+
+-- glEvalCoord1dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
+glEvalCoord1dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @u@ pointing to @1@ element of type @CoordD@.
+  -> m ()
+glEvalCoord1dv v1 = liftIO $ dyn39 ptr_glEvalCoord1dv v1
+
+{-# NOINLINE ptr_glEvalCoord1dv #-}
+ptr_glEvalCoord1dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glEvalCoord1dv = unsafePerformIO $ getCommand "glEvalCoord1dv"
+
+-- glEvalCoord1f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord1fv'.
+glEvalCoord1f
+  :: MonadIO m
+  => GLfloat -- ^ @u@ of type @CoordF@.
+  -> m ()
+glEvalCoord1f v1 = liftIO $ dyn79 ptr_glEvalCoord1f v1
+
+{-# NOINLINE ptr_glEvalCoord1f #-}
+ptr_glEvalCoord1f :: FunPtr (GLfloat -> IO ())
+ptr_glEvalCoord1f = unsafePerformIO $ getCommand "glEvalCoord1f"
+
+-- glEvalCoord1fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
+glEvalCoord1fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @u@ pointing to @1@ element of type @CoordF@.
+  -> m ()
+glEvalCoord1fv v1 = liftIO $ dyn41 ptr_glEvalCoord1fv v1
+
+{-# NOINLINE ptr_glEvalCoord1fv #-}
+ptr_glEvalCoord1fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glEvalCoord1fv = unsafePerformIO $ getCommand "glEvalCoord1fv"
+
+-- glEvalCoord1xOES ------------------------------------------------------------
+
+glEvalCoord1xOES
+  :: MonadIO m
+  => GLfixed -- ^ @u@.
+  -> m ()
+glEvalCoord1xOES v1 = liftIO $ dyn81 ptr_glEvalCoord1xOES v1
+
+{-# NOINLINE ptr_glEvalCoord1xOES #-}
+ptr_glEvalCoord1xOES :: FunPtr (GLfixed -> IO ())
+ptr_glEvalCoord1xOES = unsafePerformIO $ getCommand "glEvalCoord1xOES"
+
+-- glEvalCoord1xvOES -----------------------------------------------------------
+
+glEvalCoord1xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
+  -> m ()
+glEvalCoord1xvOES v1 = liftIO $ dyn106 ptr_glEvalCoord1xvOES v1
+
+{-# NOINLINE ptr_glEvalCoord1xvOES #-}
+ptr_glEvalCoord1xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glEvalCoord1xvOES = unsafePerformIO $ getCommand "glEvalCoord1xvOES"
+
+-- glEvalCoord2d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord2dv'.
+glEvalCoord2d
+  :: MonadIO m
+  => GLdouble -- ^ @u@ of type @CoordD@.
+  -> GLdouble -- ^ @v@ of type @CoordD@.
+  -> m ()
+glEvalCoord2d v1 v2 = liftIO $ dyn216 ptr_glEvalCoord2d v1 v2
+
+{-# NOINLINE ptr_glEvalCoord2d #-}
+ptr_glEvalCoord2d :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glEvalCoord2d = unsafePerformIO $ getCommand "glEvalCoord2d"
+
+-- glEvalCoord2dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
+glEvalCoord2dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @u@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glEvalCoord2dv v1 = liftIO $ dyn39 ptr_glEvalCoord2dv v1
+
+{-# NOINLINE ptr_glEvalCoord2dv #-}
+ptr_glEvalCoord2dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glEvalCoord2dv = unsafePerformIO $ getCommand "glEvalCoord2dv"
+
+-- glEvalCoord2f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord2fv'.
+glEvalCoord2f
+  :: MonadIO m
+  => GLfloat -- ^ @u@ of type @CoordF@.
+  -> GLfloat -- ^ @v@ of type @CoordF@.
+  -> m ()
+glEvalCoord2f v1 v2 = liftIO $ dyn221 ptr_glEvalCoord2f v1 v2
+
+{-# NOINLINE ptr_glEvalCoord2f #-}
+ptr_glEvalCoord2f :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glEvalCoord2f = unsafePerformIO $ getCommand "glEvalCoord2f"
+
+-- glEvalCoord2fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
+glEvalCoord2fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @u@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glEvalCoord2fv v1 = liftIO $ dyn41 ptr_glEvalCoord2fv v1
+
+{-# NOINLINE ptr_glEvalCoord2fv #-}
+ptr_glEvalCoord2fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glEvalCoord2fv = unsafePerformIO $ getCommand "glEvalCoord2fv"
+
+-- glEvalCoord2xOES ------------------------------------------------------------
+
+glEvalCoord2xOES
+  :: MonadIO m
+  => GLfixed -- ^ @u@.
+  -> GLfixed -- ^ @v@.
+  -> m ()
+glEvalCoord2xOES v1 v2 = liftIO $ dyn223 ptr_glEvalCoord2xOES v1 v2
+
+{-# NOINLINE ptr_glEvalCoord2xOES #-}
+ptr_glEvalCoord2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glEvalCoord2xOES = unsafePerformIO $ getCommand "glEvalCoord2xOES"
+
+-- glEvalCoord2xvOES -----------------------------------------------------------
+
+glEvalCoord2xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
+  -> m ()
+glEvalCoord2xvOES v1 = liftIO $ dyn106 ptr_glEvalCoord2xvOES v1
+
+{-# NOINLINE ptr_glEvalCoord2xvOES #-}
+ptr_glEvalCoord2xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glEvalCoord2xvOES = unsafePerformIO $ getCommand "glEvalCoord2xvOES"
+
+-- glEvalMapsNV ----------------------------------------------------------------
+
+glEvalMapsNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLenum -- ^ @mode@ of type @EvalMapsModeNV@.
+  -> m ()
+glEvalMapsNV v1 v2 = liftIO $ dyn51 ptr_glEvalMapsNV v1 v2
+
+{-# NOINLINE ptr_glEvalMapsNV #-}
+ptr_glEvalMapsNV :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glEvalMapsNV = unsafePerformIO $ getCommand "glEvalMapsNV"
+
+-- glEvalMesh1 -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalMesh.xml OpenGL 2.x>.
+glEvalMesh1
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MeshMode1](Graphics-GL-Groups.html#MeshMode1).
+  -> GLint -- ^ @i1@ of type @CheckedInt32@.
+  -> GLint -- ^ @i2@ of type @CheckedInt32@.
+  -> m ()
+glEvalMesh1 v1 v2 v3 = liftIO $ dyn263 ptr_glEvalMesh1 v1 v2 v3
+
+{-# NOINLINE ptr_glEvalMesh1 #-}
+ptr_glEvalMesh1 :: FunPtr (GLenum -> GLint -> GLint -> IO ())
+ptr_glEvalMesh1 = unsafePerformIO $ getCommand "glEvalMesh1"
+
+-- glEvalMesh2 -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalMesh.xml OpenGL 2.x>.
+glEvalMesh2
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MeshMode2](Graphics-GL-Groups.html#MeshMode2).
+  -> GLint -- ^ @i1@ of type @CheckedInt32@.
+  -> GLint -- ^ @i2@ of type @CheckedInt32@.
+  -> GLint -- ^ @j1@ of type @CheckedInt32@.
+  -> GLint -- ^ @j2@ of type @CheckedInt32@.
+  -> m ()
+glEvalMesh2 v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glEvalMesh2 v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glEvalMesh2 #-}
+ptr_glEvalMesh2 :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glEvalMesh2 = unsafePerformIO $ getCommand "glEvalMesh2"
+
+-- glEvalPoint1 ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalPoint.xml OpenGL 2.x>.
+glEvalPoint1
+  :: MonadIO m
+  => GLint -- ^ @i@.
+  -> m ()
+glEvalPoint1 v1 = liftIO $ dyn12 ptr_glEvalPoint1 v1
+
+{-# NOINLINE ptr_glEvalPoint1 #-}
+ptr_glEvalPoint1 :: FunPtr (GLint -> IO ())
+ptr_glEvalPoint1 = unsafePerformIO $ getCommand "glEvalPoint1"
+
+-- glEvalPoint2 ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalPoint.xml OpenGL 2.x>.
+glEvalPoint2
+  :: MonadIO m
+  => GLint -- ^ @i@ of type @CheckedInt32@.
+  -> GLint -- ^ @j@ of type @CheckedInt32@.
+  -> m ()
+glEvalPoint2 v1 v2 = liftIO $ dyn265 ptr_glEvalPoint2 v1 v2
+
+{-# NOINLINE ptr_glEvalPoint2 #-}
+ptr_glEvalPoint2 :: FunPtr (GLint -> GLint -> IO ())
+ptr_glEvalPoint2 = unsafePerformIO $ getCommand "glEvalPoint2"
+
+-- glEvaluateDepthValuesARB ----------------------------------------------------
+
+glEvaluateDepthValuesARB
+  :: MonadIO m
+  => m ()
+glEvaluateDepthValuesARB = liftIO $ dyn10 ptr_glEvaluateDepthValuesARB
+
+{-# NOINLINE ptr_glEvaluateDepthValuesARB #-}
+ptr_glEvaluateDepthValuesARB :: FunPtr (IO ())
+ptr_glEvaluateDepthValuesARB = unsafePerformIO $ getCommand "glEvaluateDepthValuesARB"
+
+-- glExecuteProgramNV ----------------------------------------------------------
+
+glExecuteProgramNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @id@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glExecuteProgramNV v1 v2 v3 = liftIO $ dyn266 ptr_glExecuteProgramNV v1 v2 v3
+
+{-# NOINLINE ptr_glExecuteProgramNV #-}
+ptr_glExecuteProgramNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glExecuteProgramNV = unsafePerformIO $ getCommand "glExecuteProgramNV"
+
+-- glExtGetBufferPointervQCOM --------------------------------------------------
+
+glExtGetBufferPointervQCOM
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> Ptr (Ptr a) -- ^ @params@.
+  -> m ()
+glExtGetBufferPointervQCOM v1 v2 = liftIO $ dyn267 ptr_glExtGetBufferPointervQCOM v1 v2
+
+{-# NOINLINE ptr_glExtGetBufferPointervQCOM #-}
+ptr_glExtGetBufferPointervQCOM :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glExtGetBufferPointervQCOM = unsafePerformIO $ getCommand "glExtGetBufferPointervQCOM"
+
+-- glExtGetBuffersQCOM ---------------------------------------------------------
+
+glExtGetBuffersQCOM
+  :: MonadIO m
+  => Ptr GLuint -- ^ @buffers@ pointing to @maxBuffers@ elements of type @GLuint@.
+  -> GLint -- ^ @maxBuffers@.
+  -> Ptr GLint -- ^ @numBuffers@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glExtGetBuffersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetBuffersQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glExtGetBuffersQCOM #-}
+ptr_glExtGetBuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+ptr_glExtGetBuffersQCOM = unsafePerformIO $ getCommand "glExtGetBuffersQCOM"
+
+-- glExtGetFramebuffersQCOM ----------------------------------------------------
+
+glExtGetFramebuffersQCOM
+  :: MonadIO m
+  => Ptr GLuint -- ^ @framebuffers@ pointing to @maxFramebuffers@ elements of type @GLuint@.
+  -> GLint -- ^ @maxFramebuffers@.
+  -> Ptr GLint -- ^ @numFramebuffers@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glExtGetFramebuffersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetFramebuffersQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glExtGetFramebuffersQCOM #-}
+ptr_glExtGetFramebuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+ptr_glExtGetFramebuffersQCOM = unsafePerformIO $ getCommand "glExtGetFramebuffersQCOM"
+
+-- glExtGetProgramBinarySourceQCOM ---------------------------------------------
+
+glExtGetProgramBinarySourceQCOM
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @shadertype@.
+  -> Ptr GLchar -- ^ @source@.
+  -> Ptr GLint -- ^ @length@.
+  -> m ()
+glExtGetProgramBinarySourceQCOM v1 v2 v3 v4 = liftIO $ dyn269 ptr_glExtGetProgramBinarySourceQCOM v1 v2 v3 v4
+
+{-# NOINLINE ptr_glExtGetProgramBinarySourceQCOM #-}
+ptr_glExtGetProgramBinarySourceQCOM :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ())
+ptr_glExtGetProgramBinarySourceQCOM = unsafePerformIO $ getCommand "glExtGetProgramBinarySourceQCOM"
+
+-- glExtGetProgramsQCOM --------------------------------------------------------
+
+glExtGetProgramsQCOM
+  :: MonadIO m
+  => Ptr GLuint -- ^ @programs@ pointing to @maxPrograms@ elements of type @GLuint@.
+  -> GLint -- ^ @maxPrograms@.
+  -> Ptr GLint -- ^ @numPrograms@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glExtGetProgramsQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetProgramsQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glExtGetProgramsQCOM #-}
+ptr_glExtGetProgramsQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+ptr_glExtGetProgramsQCOM = unsafePerformIO $ getCommand "glExtGetProgramsQCOM"
+
+-- glExtGetRenderbuffersQCOM ---------------------------------------------------
+
+glExtGetRenderbuffersQCOM
+  :: MonadIO m
+  => Ptr GLuint -- ^ @renderbuffers@ pointing to @maxRenderbuffers@ elements of type @GLuint@.
+  -> GLint -- ^ @maxRenderbuffers@.
+  -> Ptr GLint -- ^ @numRenderbuffers@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glExtGetRenderbuffersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetRenderbuffersQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glExtGetRenderbuffersQCOM #-}
+ptr_glExtGetRenderbuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+ptr_glExtGetRenderbuffersQCOM = unsafePerformIO $ getCommand "glExtGetRenderbuffersQCOM"
+
+-- glExtGetShadersQCOM ---------------------------------------------------------
+
+glExtGetShadersQCOM
+  :: MonadIO m
+  => Ptr GLuint -- ^ @shaders@ pointing to @maxShaders@ elements of type @GLuint@.
+  -> GLint -- ^ @maxShaders@.
+  -> Ptr GLint -- ^ @numShaders@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glExtGetShadersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetShadersQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glExtGetShadersQCOM #-}
+ptr_glExtGetShadersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+ptr_glExtGetShadersQCOM = unsafePerformIO $ getCommand "glExtGetShadersQCOM"
+
+-- glExtGetTexLevelParameterivQCOM ---------------------------------------------
+
+glExtGetTexLevelParameterivQCOM
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @face@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glExtGetTexLevelParameterivQCOM #-}
+ptr_glExtGetTexLevelParameterivQCOM :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+ptr_glExtGetTexLevelParameterivQCOM = unsafePerformIO $ getCommand "glExtGetTexLevelParameterivQCOM"
+
+-- glExtGetTexSubImageQCOM -----------------------------------------------------
+
+glExtGetTexSubImageQCOM
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @texels@.
+  -> m ()
+glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glExtGetTexSubImageQCOM #-}
+ptr_glExtGetTexSubImageQCOM :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glExtGetTexSubImageQCOM = unsafePerformIO $ getCommand "glExtGetTexSubImageQCOM"
+
+-- glExtGetTexturesQCOM --------------------------------------------------------
+
+glExtGetTexturesQCOM
+  :: MonadIO m
+  => Ptr GLuint -- ^ @textures@.
+  -> GLint -- ^ @maxTextures@.
+  -> Ptr GLint -- ^ @numTextures@.
+  -> m ()
+glExtGetTexturesQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetTexturesQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glExtGetTexturesQCOM #-}
+ptr_glExtGetTexturesQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
+ptr_glExtGetTexturesQCOM = unsafePerformIO $ getCommand "glExtGetTexturesQCOM"
+
+-- glExtIsProgramBinaryQCOM ----------------------------------------------------
+
+glExtIsProgramBinaryQCOM
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m GLboolean
+glExtIsProgramBinaryQCOM v1 = liftIO $ dyn272 ptr_glExtIsProgramBinaryQCOM v1
+
+{-# NOINLINE ptr_glExtIsProgramBinaryQCOM #-}
+ptr_glExtIsProgramBinaryQCOM :: FunPtr (GLuint -> IO GLboolean)
+ptr_glExtIsProgramBinaryQCOM = unsafePerformIO $ getCommand "glExtIsProgramBinaryQCOM"
+
+-- glExtTexObjectStateOverrideiQCOM --------------------------------------------
+
+glExtTexObjectStateOverrideiQCOM
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glExtTexObjectStateOverrideiQCOM v1 v2 v3 = liftIO $ dyn62 ptr_glExtTexObjectStateOverrideiQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glExtTexObjectStateOverrideiQCOM #-}
+ptr_glExtTexObjectStateOverrideiQCOM :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glExtTexObjectStateOverrideiQCOM = unsafePerformIO $ getCommand "glExtTexObjectStateOverrideiQCOM"
+
+-- glExtractComponentEXT -------------------------------------------------------
+
+glExtractComponentEXT
+  :: MonadIO m
+  => GLuint -- ^ @res@.
+  -> GLuint -- ^ @src@.
+  -> GLuint -- ^ @num@.
+  -> m ()
+glExtractComponentEXT v1 v2 v3 = liftIO $ dyn101 ptr_glExtractComponentEXT v1 v2 v3
+
+{-# NOINLINE ptr_glExtractComponentEXT #-}
+ptr_glExtractComponentEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glExtractComponentEXT = unsafePerformIO $ getCommand "glExtractComponentEXT"
+
+-- glFeedbackBuffer ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFeedbackBuffer.xml OpenGL 2.x>.
+glFeedbackBuffer
+  :: MonadIO m
+  => GLsizei -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [FeedbackType](Graphics-GL-Groups.html#FeedbackType).
+  -> Ptr GLfloat -- ^ @buffer@ pointing to @size@ elements of type @FeedbackElement@.
+  -> m ()
+glFeedbackBuffer v1 v2 v3 = liftIO $ dyn273 ptr_glFeedbackBuffer v1 v2 v3
+
+{-# NOINLINE ptr_glFeedbackBuffer #-}
+ptr_glFeedbackBuffer :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glFeedbackBuffer = unsafePerformIO $ getCommand "glFeedbackBuffer"
+
+-- glFeedbackBufferxOES --------------------------------------------------------
+
+glFeedbackBufferxOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> GLenum -- ^ @type@.
+  -> Ptr GLfixed -- ^ @buffer@ pointing to @n@ elements of type @GLfixed@.
+  -> m ()
+glFeedbackBufferxOES v1 v2 v3 = liftIO $ dyn274 ptr_glFeedbackBufferxOES v1 v2 v3
+
+{-# NOINLINE ptr_glFeedbackBufferxOES #-}
+ptr_glFeedbackBufferxOES :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glFeedbackBufferxOES = unsafePerformIO $ getCommand "glFeedbackBufferxOES"
+
+-- glFenceSync -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFenceSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFenceSync.xhtml OpenGL 4.x>.
+glFenceSync
+  :: MonadIO m
+  => GLenum -- ^ @condition@.
+  -> GLbitfield -- ^ @flags@.
+  -> m GLsync -- ^ of type @sync@.
+glFenceSync v1 v2 = liftIO $ dyn275 ptr_glFenceSync v1 v2
+
+{-# NOINLINE ptr_glFenceSync #-}
+ptr_glFenceSync :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
+ptr_glFenceSync = unsafePerformIO $ getCommand "glFenceSync"
+
+-- glFenceSyncAPPLE ------------------------------------------------------------
+
+-- | This command is an alias for 'glFenceSync'.
+glFenceSyncAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @condition@.
+  -> GLbitfield -- ^ @flags@.
+  -> m GLsync
+glFenceSyncAPPLE v1 v2 = liftIO $ dyn275 ptr_glFenceSyncAPPLE v1 v2
+
+{-# NOINLINE ptr_glFenceSyncAPPLE #-}
+ptr_glFenceSyncAPPLE :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
+ptr_glFenceSyncAPPLE = unsafePerformIO $ getCommand "glFenceSyncAPPLE"
+
+-- glFinalCombinerInputNV ------------------------------------------------------
+
+glFinalCombinerInputNV
+  :: MonadIO m
+  => GLenum -- ^ @variable@ of type @CombinerVariableNV@.
+  -> GLenum -- ^ @input@ of type @CombinerRegisterNV@.
+  -> GLenum -- ^ @mapping@ of type @CombinerMappingNV@.
+  -> GLenum -- ^ @componentUsage@ of type @CombinerComponentUsageNV@.
+  -> m ()
+glFinalCombinerInputNV v1 v2 v3 v4 = liftIO $ dyn53 ptr_glFinalCombinerInputNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFinalCombinerInputNV #-}
+ptr_glFinalCombinerInputNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glFinalCombinerInputNV = unsafePerformIO $ getCommand "glFinalCombinerInputNV"
+
+-- glFinish --------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFinish.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFinish.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFinish.xhtml OpenGL 4.x>.
+glFinish
+  :: MonadIO m
+  => m ()
+glFinish = liftIO $ dyn10 ptr_glFinish
+
+{-# NOINLINE ptr_glFinish #-}
+ptr_glFinish :: FunPtr (IO ())
+ptr_glFinish = unsafePerformIO $ getCommand "glFinish"
+
+-- glFinishAsyncSGIX -----------------------------------------------------------
+
+glFinishAsyncSGIX
+  :: MonadIO m
+  => Ptr GLuint -- ^ @markerp@ pointing to @1@ element of type @GLuint@.
+  -> m GLint
+glFinishAsyncSGIX v1 = liftIO $ dyn276 ptr_glFinishAsyncSGIX v1
+
+{-# NOINLINE ptr_glFinishAsyncSGIX #-}
+ptr_glFinishAsyncSGIX :: FunPtr (Ptr GLuint -> IO GLint)
+ptr_glFinishAsyncSGIX = unsafePerformIO $ getCommand "glFinishAsyncSGIX"
+
+-- glFinishFenceAPPLE ----------------------------------------------------------
+
+glFinishFenceAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> m ()
+glFinishFenceAPPLE v1 = liftIO $ dyn2 ptr_glFinishFenceAPPLE v1
+
+{-# NOINLINE ptr_glFinishFenceAPPLE #-}
+ptr_glFinishFenceAPPLE :: FunPtr (GLuint -> IO ())
+ptr_glFinishFenceAPPLE = unsafePerformIO $ getCommand "glFinishFenceAPPLE"
+
+-- glFinishFenceNV -------------------------------------------------------------
+
+glFinishFenceNV
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> m ()
+glFinishFenceNV v1 = liftIO $ dyn2 ptr_glFinishFenceNV v1
+
+{-# NOINLINE ptr_glFinishFenceNV #-}
+ptr_glFinishFenceNV :: FunPtr (GLuint -> IO ())
+ptr_glFinishFenceNV = unsafePerformIO $ getCommand "glFinishFenceNV"
+
+-- glFinishObjectAPPLE ---------------------------------------------------------
+
+glFinishObjectAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @object@ of type @ObjectTypeAPPLE@.
+  -> GLint -- ^ @name@.
+  -> m ()
+glFinishObjectAPPLE v1 v2 = liftIO $ dyn55 ptr_glFinishObjectAPPLE v1 v2
+
+{-# NOINLINE ptr_glFinishObjectAPPLE #-}
+ptr_glFinishObjectAPPLE :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glFinishObjectAPPLE = unsafePerformIO $ getCommand "glFinishObjectAPPLE"
+
+-- glFinishTextureSUNX ---------------------------------------------------------
+
+glFinishTextureSUNX
+  :: MonadIO m
+  => m ()
+glFinishTextureSUNX = liftIO $ dyn10 ptr_glFinishTextureSUNX
+
+{-# NOINLINE ptr_glFinishTextureSUNX #-}
+ptr_glFinishTextureSUNX :: FunPtr (IO ())
+ptr_glFinishTextureSUNX = unsafePerformIO $ getCommand "glFinishTextureSUNX"
+
+-- glFlush ---------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFlush.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFlush.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFlush.xhtml OpenGL 4.x>.
+glFlush
+  :: MonadIO m
+  => m ()
+glFlush = liftIO $ dyn10 ptr_glFlush
+
+{-# NOINLINE ptr_glFlush #-}
+ptr_glFlush :: FunPtr (IO ())
+ptr_glFlush = unsafePerformIO $ getCommand "glFlush"
+
+-- glFlushMappedBufferRange ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFlushMappedBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFlushMappedBufferRange.xhtml OpenGL 4.x>.
+glFlushMappedBufferRange
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
+  -> m ()
+glFlushMappedBufferRange v1 v2 v3 = liftIO $ dyn277 ptr_glFlushMappedBufferRange v1 v2 v3
+
+{-# NOINLINE ptr_glFlushMappedBufferRange #-}
+ptr_glFlushMappedBufferRange :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glFlushMappedBufferRange = unsafePerformIO $ getCommand "glFlushMappedBufferRange"
+
+-- glFlushMappedBufferRangeAPPLE -----------------------------------------------
+
+-- | This command is an alias for 'glFlushMappedBufferRange'.
+glFlushMappedBufferRangeAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glFlushMappedBufferRangeAPPLE v1 v2 v3 = liftIO $ dyn277 ptr_glFlushMappedBufferRangeAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glFlushMappedBufferRangeAPPLE #-}
+ptr_glFlushMappedBufferRangeAPPLE :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glFlushMappedBufferRangeAPPLE = unsafePerformIO $ getCommand "glFlushMappedBufferRangeAPPLE"
+
+-- glFlushMappedBufferRangeEXT -------------------------------------------------
+
+-- | This command is an alias for 'glFlushMappedBufferRange'.
+glFlushMappedBufferRangeEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @length@.
+  -> m ()
+glFlushMappedBufferRangeEXT v1 v2 v3 = liftIO $ dyn277 ptr_glFlushMappedBufferRangeEXT v1 v2 v3
+
+{-# NOINLINE ptr_glFlushMappedBufferRangeEXT #-}
+ptr_glFlushMappedBufferRangeEXT :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glFlushMappedBufferRangeEXT = unsafePerformIO $ getCommand "glFlushMappedBufferRangeEXT"
+
+-- glFlushMappedNamedBufferRange -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFlushMappedBufferRange.xhtml OpenGL 4.x>.
+glFlushMappedNamedBufferRange
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
+  -> m ()
+glFlushMappedNamedBufferRange v1 v2 v3 = liftIO $ dyn278 ptr_glFlushMappedNamedBufferRange v1 v2 v3
+
+{-# NOINLINE ptr_glFlushMappedNamedBufferRange #-}
+ptr_glFlushMappedNamedBufferRange :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glFlushMappedNamedBufferRange = unsafePerformIO $ getCommand "glFlushMappedNamedBufferRange"
+
+-- glFlushMappedNamedBufferRangeEXT --------------------------------------------
+
+glFlushMappedNamedBufferRangeEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @length@.
+  -> m ()
+glFlushMappedNamedBufferRangeEXT v1 v2 v3 = liftIO $ dyn278 ptr_glFlushMappedNamedBufferRangeEXT v1 v2 v3
+
+{-# NOINLINE ptr_glFlushMappedNamedBufferRangeEXT #-}
+ptr_glFlushMappedNamedBufferRangeEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glFlushMappedNamedBufferRangeEXT = unsafePerformIO $ getCommand "glFlushMappedNamedBufferRangeEXT"
+
+-- glFlushPixelDataRangeNV -----------------------------------------------------
+
+glFlushPixelDataRangeNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @PixelDataRangeTargetNV@.
+  -> m ()
+glFlushPixelDataRangeNV v1 = liftIO $ dyn4 ptr_glFlushPixelDataRangeNV v1
+
+{-# NOINLINE ptr_glFlushPixelDataRangeNV #-}
+ptr_glFlushPixelDataRangeNV :: FunPtr (GLenum -> IO ())
+ptr_glFlushPixelDataRangeNV = unsafePerformIO $ getCommand "glFlushPixelDataRangeNV"
+
+-- glFlushRasterSGIX -----------------------------------------------------------
+
+glFlushRasterSGIX
+  :: MonadIO m
+  => m ()
+glFlushRasterSGIX = liftIO $ dyn10 ptr_glFlushRasterSGIX
+
+{-# NOINLINE ptr_glFlushRasterSGIX #-}
+ptr_glFlushRasterSGIX :: FunPtr (IO ())
+ptr_glFlushRasterSGIX = unsafePerformIO $ getCommand "glFlushRasterSGIX"
+
+-- glFlushStaticDataIBM --------------------------------------------------------
+
+glFlushStaticDataIBM
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glFlushStaticDataIBM v1 = liftIO $ dyn4 ptr_glFlushStaticDataIBM v1
+
+{-# NOINLINE ptr_glFlushStaticDataIBM #-}
+ptr_glFlushStaticDataIBM :: FunPtr (GLenum -> IO ())
+ptr_glFlushStaticDataIBM = unsafePerformIO $ getCommand "glFlushStaticDataIBM"
+
+-- glFlushVertexArrayRangeAPPLE ------------------------------------------------
+
+glFlushVertexArrayRangeAPPLE
+  :: MonadIO m
+  => GLsizei -- ^ @length@.
+  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
+  -> m ()
+glFlushVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn259 ptr_glFlushVertexArrayRangeAPPLE v1 v2
+
+{-# NOINLINE ptr_glFlushVertexArrayRangeAPPLE #-}
+ptr_glFlushVertexArrayRangeAPPLE :: FunPtr (GLsizei -> Ptr a -> IO ())
+ptr_glFlushVertexArrayRangeAPPLE = unsafePerformIO $ getCommand "glFlushVertexArrayRangeAPPLE"
+
+-- glFlushVertexArrayRangeNV ---------------------------------------------------
+
+glFlushVertexArrayRangeNV
+  :: MonadIO m
+  => m ()
+glFlushVertexArrayRangeNV = liftIO $ dyn10 ptr_glFlushVertexArrayRangeNV
+
+{-# NOINLINE ptr_glFlushVertexArrayRangeNV #-}
+ptr_glFlushVertexArrayRangeNV :: FunPtr (IO ())
+ptr_glFlushVertexArrayRangeNV = unsafePerformIO $ getCommand "glFlushVertexArrayRangeNV"
+
+-- glFogCoordFormatNV ----------------------------------------------------------
+
+glFogCoordFormatNV
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glFogCoordFormatNV v1 v2 = liftIO $ dyn238 ptr_glFogCoordFormatNV v1 v2
+
+{-# NOINLINE ptr_glFogCoordFormatNV #-}
+ptr_glFogCoordFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
+ptr_glFogCoordFormatNV = unsafePerformIO $ getCommand "glFogCoordFormatNV"
+
+-- glFogCoordPointer -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoordPointer.xml OpenGL 2.x>.
+glFogCoordPointer
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [FogPointerTypeEXT](Graphics-GL-Groups.html#FogPointerTypeEXT).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glFogCoordPointer v1 v2 v3 = liftIO $ dyn46 ptr_glFogCoordPointer v1 v2 v3
+
+{-# NOINLINE ptr_glFogCoordPointer #-}
+ptr_glFogCoordPointer :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glFogCoordPointer = unsafePerformIO $ getCommand "glFogCoordPointer"
+
+-- glFogCoordPointerEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glFogCoordPointer'.
+glFogCoordPointerEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [FogPointerTypeEXT](Graphics-GL-Groups.html#FogPointerTypeEXT).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glFogCoordPointerEXT v1 v2 v3 = liftIO $ dyn46 ptr_glFogCoordPointerEXT v1 v2 v3
+
+{-# NOINLINE ptr_glFogCoordPointerEXT #-}
+ptr_glFogCoordPointerEXT :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glFogCoordPointerEXT = unsafePerformIO $ getCommand "glFogCoordPointerEXT"
+
+-- glFogCoordPointerListIBM ----------------------------------------------------
+
+glFogCoordPointerListIBM
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [FogPointerTypeIBM](Graphics-GL-Groups.html#FogPointerTypeIBM).
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glFogCoordPointerListIBM v1 v2 v3 v4 = liftIO $ dyn279 ptr_glFogCoordPointerListIBM v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFogCoordPointerListIBM #-}
+ptr_glFogCoordPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glFogCoordPointerListIBM = unsafePerformIO $ getCommand "glFogCoordPointerListIBM"
+
+-- glFogCoordd -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glFogCoorddv'.
+glFogCoordd
+  :: MonadIO m
+  => GLdouble -- ^ @coord@ of type @CoordD@.
+  -> m ()
+glFogCoordd v1 = liftIO $ dyn78 ptr_glFogCoordd v1
+
+{-# NOINLINE ptr_glFogCoordd #-}
+ptr_glFogCoordd :: FunPtr (GLdouble -> IO ())
+ptr_glFogCoordd = unsafePerformIO $ getCommand "glFogCoordd"
+
+-- glFogCoorddEXT --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glFogCoorddvEXT'. This command is an alias for 'glFogCoordd'.
+glFogCoorddEXT
+  :: MonadIO m
+  => GLdouble -- ^ @coord@ of type @CoordD@.
+  -> m ()
+glFogCoorddEXT v1 = liftIO $ dyn78 ptr_glFogCoorddEXT v1
+
+{-# NOINLINE ptr_glFogCoorddEXT #-}
+ptr_glFogCoorddEXT :: FunPtr (GLdouble -> IO ())
+ptr_glFogCoorddEXT = unsafePerformIO $ getCommand "glFogCoorddEXT"
+
+-- glFogCoorddv ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>.
+glFogCoorddv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @coord@ pointing to @1@ element of type @CoordD@.
+  -> m ()
+glFogCoorddv v1 = liftIO $ dyn39 ptr_glFogCoorddv v1
+
+{-# NOINLINE ptr_glFogCoorddv #-}
+ptr_glFogCoorddv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glFogCoorddv = unsafePerformIO $ getCommand "glFogCoorddv"
+
+-- glFogCoorddvEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glFogCoorddv'.
+glFogCoorddvEXT
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @coord@ pointing to @1@ element of type @CoordD@.
+  -> m ()
+glFogCoorddvEXT v1 = liftIO $ dyn39 ptr_glFogCoorddvEXT v1
+
+{-# NOINLINE ptr_glFogCoorddvEXT #-}
+ptr_glFogCoorddvEXT :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glFogCoorddvEXT = unsafePerformIO $ getCommand "glFogCoorddvEXT"
+
+-- glFogCoordf -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glFogCoordfv'.
+glFogCoordf
+  :: MonadIO m
+  => GLfloat -- ^ @coord@ of type @CoordF@.
+  -> m ()
+glFogCoordf v1 = liftIO $ dyn79 ptr_glFogCoordf v1
+
+{-# NOINLINE ptr_glFogCoordf #-}
+ptr_glFogCoordf :: FunPtr (GLfloat -> IO ())
+ptr_glFogCoordf = unsafePerformIO $ getCommand "glFogCoordf"
+
+-- glFogCoordfEXT --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glFogCoordfvEXT'. This command is an alias for 'glFogCoordf'.
+glFogCoordfEXT
+  :: MonadIO m
+  => GLfloat -- ^ @coord@ of type @CoordF@.
+  -> m ()
+glFogCoordfEXT v1 = liftIO $ dyn79 ptr_glFogCoordfEXT v1
+
+{-# NOINLINE ptr_glFogCoordfEXT #-}
+ptr_glFogCoordfEXT :: FunPtr (GLfloat -> IO ())
+ptr_glFogCoordfEXT = unsafePerformIO $ getCommand "glFogCoordfEXT"
+
+-- glFogCoordfv ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>.
+glFogCoordfv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @coord@ pointing to @1@ element of type @CoordF@.
+  -> m ()
+glFogCoordfv v1 = liftIO $ dyn41 ptr_glFogCoordfv v1
+
+{-# NOINLINE ptr_glFogCoordfv #-}
+ptr_glFogCoordfv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glFogCoordfv = unsafePerformIO $ getCommand "glFogCoordfv"
+
+-- glFogCoordfvEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glFogCoordfv'.
+glFogCoordfvEXT
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @coord@ pointing to @1@ element of type @CoordF@.
+  -> m ()
+glFogCoordfvEXT v1 = liftIO $ dyn41 ptr_glFogCoordfvEXT v1
+
+{-# NOINLINE ptr_glFogCoordfvEXT #-}
+ptr_glFogCoordfvEXT :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glFogCoordfvEXT = unsafePerformIO $ getCommand "glFogCoordfvEXT"
+
+-- glFogCoordhNV ---------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glFogCoordhvNV'.
+glFogCoordhNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @fog@ of type @Half16NV@.
+  -> m ()
+glFogCoordhNV v1 = liftIO $ dyn280 ptr_glFogCoordhNV v1
+
+{-# NOINLINE ptr_glFogCoordhNV #-}
+ptr_glFogCoordhNV :: FunPtr (GLhalfNV -> IO ())
+ptr_glFogCoordhNV = unsafePerformIO $ getCommand "glFogCoordhNV"
+
+-- glFogCoordhvNV --------------------------------------------------------------
+
+glFogCoordhvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @fog@ pointing to @1@ element of type @Half16NV@.
+  -> m ()
+glFogCoordhvNV v1 = liftIO $ dyn98 ptr_glFogCoordhvNV v1
+
+{-# NOINLINE ptr_glFogCoordhvNV #-}
+ptr_glFogCoordhvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glFogCoordhvNV = unsafePerformIO $ getCommand "glFogCoordhvNV"
+
+-- glFogFuncSGIS ---------------------------------------------------------------
+
+glFogFuncSGIS
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
+  -> m ()
+glFogFuncSGIS v1 v2 = liftIO $ dyn191 ptr_glFogFuncSGIS v1 v2
+
+{-# NOINLINE ptr_glFogFuncSGIS #-}
+ptr_glFogFuncSGIS :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
+ptr_glFogFuncSGIS = unsafePerformIO $ getCommand "glFogFuncSGIS"
+
+-- glFogf ----------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
+glFogf
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-GL-Groups.html#FogParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glFogf v1 v2 = liftIO $ dyn0 ptr_glFogf v1 v2
+
+{-# NOINLINE ptr_glFogf #-}
+ptr_glFogf :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glFogf = unsafePerformIO $ getCommand "glFogf"
+
+-- glFogfv ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
+glFogfv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-GL-Groups.html#FogParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glFogfv v1 v2 = liftIO $ dyn93 ptr_glFogfv v1 v2
+
+{-# NOINLINE ptr_glFogfv #-}
+ptr_glFogfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glFogfv = unsafePerformIO $ getCommand "glFogfv"
+
+-- glFogi ----------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
+glFogi
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-GL-Groups.html#FogParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glFogi v1 v2 = liftIO $ dyn55 ptr_glFogi v1 v2
+
+{-# NOINLINE ptr_glFogi #-}
+ptr_glFogi :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glFogi = unsafePerformIO $ getCommand "glFogi"
+
+-- glFogiv ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
+glFogiv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-GL-Groups.html#FogParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glFogiv v1 v2 = liftIO $ dyn135 ptr_glFogiv v1 v2
+
+{-# NOINLINE ptr_glFogiv #-}
+ptr_glFogiv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glFogiv = unsafePerformIO $ getCommand "glFogiv"
+
+-- glFogx ----------------------------------------------------------------------
+
+glFogx
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glFogx v1 v2 = liftIO $ dyn1 ptr_glFogx v1 v2
+
+{-# NOINLINE ptr_glFogx #-}
+ptr_glFogx :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glFogx = unsafePerformIO $ getCommand "glFogx"
+
+-- glFogxOES -------------------------------------------------------------------
+
+glFogxOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glFogxOES v1 v2 = liftIO $ dyn1 ptr_glFogxOES v1 v2
+
+{-# NOINLINE ptr_glFogxOES #-}
+ptr_glFogxOES :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glFogxOES = unsafePerformIO $ getCommand "glFogxOES"
+
+-- glFogxv ---------------------------------------------------------------------
+
+glFogxv
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glFogxv v1 v2 = liftIO $ dyn94 ptr_glFogxv v1 v2
+
+{-# NOINLINE ptr_glFogxv #-}
+ptr_glFogxv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glFogxv = unsafePerformIO $ getCommand "glFogxv"
+
+-- glFogxvOES ------------------------------------------------------------------
+
+glFogxvOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glFogxvOES v1 v2 = liftIO $ dyn94 ptr_glFogxvOES v1 v2
+
+{-# NOINLINE ptr_glFogxvOES #-}
+ptr_glFogxvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glFogxvOES = unsafePerformIO $ getCommand "glFogxvOES"
+
+-- glFragmentColorMaterialSGIX -------------------------------------------------
+
+glFragmentColorMaterialSGIX
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @mode@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> m ()
+glFragmentColorMaterialSGIX v1 v2 = liftIO $ dyn51 ptr_glFragmentColorMaterialSGIX v1 v2
+
+{-# NOINLINE ptr_glFragmentColorMaterialSGIX #-}
+ptr_glFragmentColorMaterialSGIX :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glFragmentColorMaterialSGIX = unsafePerformIO $ getCommand "glFragmentColorMaterialSGIX"
+
+-- glFragmentCoverageColorNV ---------------------------------------------------
+
+glFragmentCoverageColorNV
+  :: MonadIO m
+  => GLuint -- ^ @color@.
+  -> m ()
+glFragmentCoverageColorNV v1 = liftIO $ dyn2 ptr_glFragmentCoverageColorNV v1
+
+{-# NOINLINE ptr_glFragmentCoverageColorNV #-}
+ptr_glFragmentCoverageColorNV :: FunPtr (GLuint -> IO ())
+ptr_glFragmentCoverageColorNV = unsafePerformIO $ getCommand "glFragmentCoverageColorNV"
+
+-- glFragmentLightModelfSGIX ---------------------------------------------------
+
+glFragmentLightModelfSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-GL-Groups.html#FragmentLightModelParameterSGIX).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glFragmentLightModelfSGIX v1 v2 = liftIO $ dyn0 ptr_glFragmentLightModelfSGIX v1 v2
+
+{-# NOINLINE ptr_glFragmentLightModelfSGIX #-}
+ptr_glFragmentLightModelfSGIX :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glFragmentLightModelfSGIX = unsafePerformIO $ getCommand "glFragmentLightModelfSGIX"
+
+-- glFragmentLightModelfvSGIX --------------------------------------------------
+
+glFragmentLightModelfvSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-GL-Groups.html#FragmentLightModelParameterSGIX).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glFragmentLightModelfvSGIX v1 v2 = liftIO $ dyn93 ptr_glFragmentLightModelfvSGIX v1 v2
+
+{-# NOINLINE ptr_glFragmentLightModelfvSGIX #-}
+ptr_glFragmentLightModelfvSGIX :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glFragmentLightModelfvSGIX = unsafePerformIO $ getCommand "glFragmentLightModelfvSGIX"
+
+-- glFragmentLightModeliSGIX ---------------------------------------------------
+
+glFragmentLightModeliSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-GL-Groups.html#FragmentLightModelParameterSGIX).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glFragmentLightModeliSGIX v1 v2 = liftIO $ dyn55 ptr_glFragmentLightModeliSGIX v1 v2
+
+{-# NOINLINE ptr_glFragmentLightModeliSGIX #-}
+ptr_glFragmentLightModeliSGIX :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glFragmentLightModeliSGIX = unsafePerformIO $ getCommand "glFragmentLightModeliSGIX"
+
+-- glFragmentLightModelivSGIX --------------------------------------------------
+
+glFragmentLightModelivSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-GL-Groups.html#FragmentLightModelParameterSGIX).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glFragmentLightModelivSGIX v1 v2 = liftIO $ dyn135 ptr_glFragmentLightModelivSGIX v1 v2
+
+{-# NOINLINE ptr_glFragmentLightModelivSGIX #-}
+ptr_glFragmentLightModelivSGIX :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glFragmentLightModelivSGIX = unsafePerformIO $ getCommand "glFragmentLightModelivSGIX"
+
+-- glFragmentLightfSGIX --------------------------------------------------------
+
+glFragmentLightfSGIX
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
+  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glFragmentLightfSGIX v1 v2 v3 = liftIO $ dyn160 ptr_glFragmentLightfSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentLightfSGIX #-}
+ptr_glFragmentLightfSGIX :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glFragmentLightfSGIX = unsafePerformIO $ getCommand "glFragmentLightfSGIX"
+
+-- glFragmentLightfvSGIX -------------------------------------------------------
+
+glFragmentLightfvSGIX
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
+  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glFragmentLightfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glFragmentLightfvSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentLightfvSGIX #-}
+ptr_glFragmentLightfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glFragmentLightfvSGIX = unsafePerformIO $ getCommand "glFragmentLightfvSGIX"
+
+-- glFragmentLightiSGIX --------------------------------------------------------
+
+glFragmentLightiSGIX
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
+  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glFragmentLightiSGIX v1 v2 v3 = liftIO $ dyn62 ptr_glFragmentLightiSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentLightiSGIX #-}
+ptr_glFragmentLightiSGIX :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glFragmentLightiSGIX = unsafePerformIO $ getCommand "glFragmentLightiSGIX"
+
+-- glFragmentLightivSGIX -------------------------------------------------------
+
+glFragmentLightivSGIX
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
+  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glFragmentLightivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glFragmentLightivSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentLightivSGIX #-}
+ptr_glFragmentLightivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glFragmentLightivSGIX = unsafePerformIO $ getCommand "glFragmentLightivSGIX"
+
+-- glFragmentMaterialfSGIX -----------------------------------------------------
+
+glFragmentMaterialfSGIX
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glFragmentMaterialfSGIX v1 v2 v3 = liftIO $ dyn160 ptr_glFragmentMaterialfSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentMaterialfSGIX #-}
+ptr_glFragmentMaterialfSGIX :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glFragmentMaterialfSGIX = unsafePerformIO $ getCommand "glFragmentMaterialfSGIX"
+
+-- glFragmentMaterialfvSGIX ----------------------------------------------------
+
+glFragmentMaterialfvSGIX
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glFragmentMaterialfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glFragmentMaterialfvSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentMaterialfvSGIX #-}
+ptr_glFragmentMaterialfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glFragmentMaterialfvSGIX = unsafePerformIO $ getCommand "glFragmentMaterialfvSGIX"
+
+-- glFragmentMaterialiSGIX -----------------------------------------------------
+
+glFragmentMaterialiSGIX
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glFragmentMaterialiSGIX v1 v2 v3 = liftIO $ dyn62 ptr_glFragmentMaterialiSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentMaterialiSGIX #-}
+ptr_glFragmentMaterialiSGIX :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glFragmentMaterialiSGIX = unsafePerformIO $ getCommand "glFragmentMaterialiSGIX"
+
+-- glFragmentMaterialivSGIX ----------------------------------------------------
+
+glFragmentMaterialivSGIX
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glFragmentMaterialivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glFragmentMaterialivSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glFragmentMaterialivSGIX #-}
+ptr_glFragmentMaterialivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glFragmentMaterialivSGIX = unsafePerformIO $ getCommand "glFragmentMaterialivSGIX"
+
+-- glFrameTerminatorGREMEDY ----------------------------------------------------
+
+glFrameTerminatorGREMEDY
+  :: MonadIO m
+  => m ()
+glFrameTerminatorGREMEDY = liftIO $ dyn10 ptr_glFrameTerminatorGREMEDY
+
+{-# NOINLINE ptr_glFrameTerminatorGREMEDY #-}
+ptr_glFrameTerminatorGREMEDY :: FunPtr (IO ())
+ptr_glFrameTerminatorGREMEDY = unsafePerformIO $ getCommand "glFrameTerminatorGREMEDY"
+
+-- glFrameZoomSGIX -------------------------------------------------------------
+
+glFrameZoomSGIX
+  :: MonadIO m
+  => GLint -- ^ @factor@ of type @CheckedInt32@.
+  -> m ()
+glFrameZoomSGIX v1 = liftIO $ dyn12 ptr_glFrameZoomSGIX v1
+
+{-# NOINLINE ptr_glFrameZoomSGIX #-}
+ptr_glFrameZoomSGIX :: FunPtr (GLint -> IO ())
+ptr_glFrameZoomSGIX = unsafePerformIO $ getCommand "glFrameZoomSGIX"
+
+-- glFramebufferDrawBufferEXT --------------------------------------------------
+
+glFramebufferDrawBufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @mode@ of type [DrawBufferMode](Graphics-GL-Groups.html#DrawBufferMode).
+  -> m ()
+glFramebufferDrawBufferEXT v1 v2 = liftIO $ dyn15 ptr_glFramebufferDrawBufferEXT v1 v2
+
+{-# NOINLINE ptr_glFramebufferDrawBufferEXT #-}
+ptr_glFramebufferDrawBufferEXT :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glFramebufferDrawBufferEXT = unsafePerformIO $ getCommand "glFramebufferDrawBufferEXT"
+
+-- glFramebufferDrawBuffersEXT -------------------------------------------------
+
+glFramebufferDrawBuffersEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type [DrawBufferMode](Graphics-GL-Groups.html#DrawBufferMode).
+  -> m ()
+glFramebufferDrawBuffersEXT v1 v2 v3 = liftIO $ dyn281 ptr_glFramebufferDrawBuffersEXT v1 v2 v3
+
+{-# NOINLINE ptr_glFramebufferDrawBuffersEXT #-}
+ptr_glFramebufferDrawBuffersEXT :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
+ptr_glFramebufferDrawBuffersEXT = unsafePerformIO $ getCommand "glFramebufferDrawBuffersEXT"
+
+-- glFramebufferParameteri -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferParameteri.xhtml OpenGL 4.x>.
+glFramebufferParameteri
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glFramebufferParameteri v1 v2 v3 = liftIO $ dyn62 ptr_glFramebufferParameteri v1 v2 v3
+
+{-# NOINLINE ptr_glFramebufferParameteri #-}
+ptr_glFramebufferParameteri :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glFramebufferParameteri = unsafePerformIO $ getCommand "glFramebufferParameteri"
+
+-- glFramebufferReadBufferEXT --------------------------------------------------
+
+glFramebufferReadBufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @mode@ of type [ReadBufferMode](Graphics-GL-Groups.html#ReadBufferMode).
+  -> m ()
+glFramebufferReadBufferEXT v1 v2 = liftIO $ dyn15 ptr_glFramebufferReadBufferEXT v1 v2
+
+{-# NOINLINE ptr_glFramebufferReadBufferEXT #-}
+ptr_glFramebufferReadBufferEXT :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glFramebufferReadBufferEXT = unsafePerformIO $ getCommand "glFramebufferReadBufferEXT"
+
+-- glFramebufferRenderbuffer ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml OpenGL 4.x>.
+glFramebufferRenderbuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glFramebufferRenderbuffer v1 v2 v3 v4 = liftIO $ dyn282 ptr_glFramebufferRenderbuffer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferRenderbuffer #-}
+ptr_glFramebufferRenderbuffer :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glFramebufferRenderbuffer = unsafePerformIO $ getCommand "glFramebufferRenderbuffer"
+
+-- glFramebufferRenderbufferEXT ------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferRenderbuffer'.
+glFramebufferRenderbufferEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glFramebufferRenderbufferEXT v1 v2 v3 v4 = liftIO $ dyn282 ptr_glFramebufferRenderbufferEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferRenderbufferEXT #-}
+ptr_glFramebufferRenderbufferEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glFramebufferRenderbufferEXT = unsafePerformIO $ getCommand "glFramebufferRenderbufferEXT"
+
+-- glFramebufferRenderbufferOES ------------------------------------------------
+
+glFramebufferRenderbufferOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @renderbuffertarget@.
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glFramebufferRenderbufferOES v1 v2 v3 v4 = liftIO $ dyn282 ptr_glFramebufferRenderbufferOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferRenderbufferOES #-}
+ptr_glFramebufferRenderbufferOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glFramebufferRenderbufferOES = unsafePerformIO $ getCommand "glFramebufferRenderbufferOES"
+
+-- glFramebufferSampleLocationsfvARB -------------------------------------------
+
+glFramebufferSampleLocationsfvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @start@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glFramebufferSampleLocationsfvARB v1 v2 v3 v4 = liftIO $ dyn283 ptr_glFramebufferSampleLocationsfvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferSampleLocationsfvARB #-}
+ptr_glFramebufferSampleLocationsfvARB :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glFramebufferSampleLocationsfvARB = unsafePerformIO $ getCommand "glFramebufferSampleLocationsfvARB"
+
+-- glFramebufferSampleLocationsfvNV --------------------------------------------
+
+glFramebufferSampleLocationsfvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @start@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glFramebufferSampleLocationsfvNV v1 v2 v3 v4 = liftIO $ dyn283 ptr_glFramebufferSampleLocationsfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferSampleLocationsfvNV #-}
+ptr_glFramebufferSampleLocationsfvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glFramebufferSampleLocationsfvNV = unsafePerformIO $ getCommand "glFramebufferSampleLocationsfvNV"
+
+-- glFramebufferTexture --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
+glFramebufferTexture
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @attachment@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glFramebufferTexture v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTexture v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferTexture #-}
+ptr_glFramebufferTexture :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTexture = unsafePerformIO $ getCommand "glFramebufferTexture"
+
+-- glFramebufferTexture1D ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
+glFramebufferTexture1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glFramebufferTexture1D v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture1D v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTexture1D #-}
+ptr_glFramebufferTexture1D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTexture1D = unsafePerformIO $ getCommand "glFramebufferTexture1D"
+
+-- glFramebufferTexture1DEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTexture1D'.
+glFramebufferTexture1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glFramebufferTexture1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture1DEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTexture1DEXT #-}
+ptr_glFramebufferTexture1DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTexture1DEXT = unsafePerformIO $ getCommand "glFramebufferTexture1DEXT"
+
+-- glFramebufferTexture2D ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
+glFramebufferTexture2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glFramebufferTexture2D v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture2D v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTexture2D #-}
+ptr_glFramebufferTexture2D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTexture2D = unsafePerformIO $ getCommand "glFramebufferTexture2D"
+
+-- glFramebufferTexture2DEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTexture2D'.
+glFramebufferTexture2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glFramebufferTexture2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture2DEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTexture2DEXT #-}
+ptr_glFramebufferTexture2DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTexture2DEXT = unsafePerformIO $ getCommand "glFramebufferTexture2DEXT"
+
+-- glFramebufferTexture2DMultisampleEXT ----------------------------------------
+
+glFramebufferTexture2DMultisampleEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLsizei -- ^ @samples@.
+  -> m ()
+glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn286 ptr_glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFramebufferTexture2DMultisampleEXT #-}
+ptr_glFramebufferTexture2DMultisampleEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
+ptr_glFramebufferTexture2DMultisampleEXT = unsafePerformIO $ getCommand "glFramebufferTexture2DMultisampleEXT"
+
+-- glFramebufferTexture2DMultisampleIMG ----------------------------------------
+
+glFramebufferTexture2DMultisampleIMG
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLsizei -- ^ @samples@.
+  -> m ()
+glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6 = liftIO $ dyn286 ptr_glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFramebufferTexture2DMultisampleIMG #-}
+ptr_glFramebufferTexture2DMultisampleIMG :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
+ptr_glFramebufferTexture2DMultisampleIMG = unsafePerformIO $ getCommand "glFramebufferTexture2DMultisampleIMG"
+
+-- glFramebufferTexture2DOES ---------------------------------------------------
+
+glFramebufferTexture2DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glFramebufferTexture2DOES v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture2DOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTexture2DOES #-}
+ptr_glFramebufferTexture2DOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTexture2DOES = unsafePerformIO $ getCommand "glFramebufferTexture2DOES"
+
+-- glFramebufferTexture3D ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
+glFramebufferTexture3D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @zoffset@.
+  -> m ()
+glFramebufferTexture3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn287 ptr_glFramebufferTexture3D v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFramebufferTexture3D #-}
+ptr_glFramebufferTexture3D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glFramebufferTexture3D = unsafePerformIO $ getCommand "glFramebufferTexture3D"
+
+-- glFramebufferTexture3DEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTexture3D'.
+glFramebufferTexture3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @zoffset@.
+  -> m ()
+glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn287 ptr_glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFramebufferTexture3DEXT #-}
+ptr_glFramebufferTexture3DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glFramebufferTexture3DEXT = unsafePerformIO $ getCommand "glFramebufferTexture3DEXT"
+
+-- glFramebufferTexture3DOES ---------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTexture3D'.
+glFramebufferTexture3DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @textarget@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @zoffset@.
+  -> m ()
+glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn287 ptr_glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFramebufferTexture3DOES #-}
+ptr_glFramebufferTexture3DOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glFramebufferTexture3DOES = unsafePerformIO $ getCommand "glFramebufferTexture3DOES"
+
+-- glFramebufferTextureARB -----------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTexture'.
+glFramebufferTextureARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> m ()
+glFramebufferTextureARB v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTextureARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferTextureARB #-}
+ptr_glFramebufferTextureARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTextureARB = unsafePerformIO $ getCommand "glFramebufferTextureARB"
+
+-- glFramebufferTextureEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTexture'.
+glFramebufferTextureEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> m ()
+glFramebufferTextureEXT v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTextureEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferTextureEXT #-}
+ptr_glFramebufferTextureEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTextureEXT = unsafePerformIO $ getCommand "glFramebufferTextureEXT"
+
+-- glFramebufferTextureFaceARB -------------------------------------------------
+
+glFramebufferTextureFaceARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> m ()
+glFramebufferTextureFaceARB v1 v2 v3 v4 v5 = liftIO $ dyn288 ptr_glFramebufferTextureFaceARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTextureFaceARB #-}
+ptr_glFramebufferTextureFaceARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+ptr_glFramebufferTextureFaceARB = unsafePerformIO $ getCommand "glFramebufferTextureFaceARB"
+
+-- glFramebufferTextureFaceEXT -------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTextureFaceARB'.
+glFramebufferTextureFaceEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> m ()
+glFramebufferTextureFaceEXT v1 v2 v3 v4 v5 = liftIO $ dyn288 ptr_glFramebufferTextureFaceEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTextureFaceEXT #-}
+ptr_glFramebufferTextureFaceEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+ptr_glFramebufferTextureFaceEXT = unsafePerformIO $ getCommand "glFramebufferTextureFaceEXT"
+
+-- glFramebufferTextureLayer ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTextureLayer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml OpenGL 4.x>.
+glFramebufferTextureLayer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @layer@ of type @CheckedInt32@.
+  -> m ()
+glFramebufferTextureLayer v1 v2 v3 v4 v5 = liftIO $ dyn289 ptr_glFramebufferTextureLayer v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTextureLayer #-}
+ptr_glFramebufferTextureLayer :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glFramebufferTextureLayer = unsafePerformIO $ getCommand "glFramebufferTextureLayer"
+
+-- glFramebufferTextureLayerARB ------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTextureLayer'.
+glFramebufferTextureLayerARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @layer@ of type @CheckedInt32@.
+  -> m ()
+glFramebufferTextureLayerARB v1 v2 v3 v4 v5 = liftIO $ dyn289 ptr_glFramebufferTextureLayerARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTextureLayerARB #-}
+ptr_glFramebufferTextureLayerARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glFramebufferTextureLayerARB = unsafePerformIO $ getCommand "glFramebufferTextureLayerARB"
+
+-- glFramebufferTextureLayerEXT ------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTextureLayer'.
+glFramebufferTextureLayerEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @layer@ of type @CheckedInt32@.
+  -> m ()
+glFramebufferTextureLayerEXT v1 v2 v3 v4 v5 = liftIO $ dyn289 ptr_glFramebufferTextureLayerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glFramebufferTextureLayerEXT #-}
+ptr_glFramebufferTextureLayerEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glFramebufferTextureLayerEXT = unsafePerformIO $ getCommand "glFramebufferTextureLayerEXT"
+
+-- glFramebufferTextureMultisampleMultiviewOVR ---------------------------------
+
+glFramebufferTextureMultisampleMultiviewOVR
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @samples@.
+  -> GLint -- ^ @baseViewIndex@.
+  -> GLsizei -- ^ @numViews@.
+  -> m ()
+glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn290 ptr_glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glFramebufferTextureMultisampleMultiviewOVR #-}
+ptr_glFramebufferTextureMultisampleMultiviewOVR :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ())
+ptr_glFramebufferTextureMultisampleMultiviewOVR = unsafePerformIO $ getCommand "glFramebufferTextureMultisampleMultiviewOVR"
+
+-- glFramebufferTextureMultiviewOVR --------------------------------------------
+
+glFramebufferTextureMultiviewOVR
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @baseViewIndex@.
+  -> GLsizei -- ^ @numViews@.
+  -> m ()
+glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6 = liftIO $ dyn291 ptr_glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFramebufferTextureMultiviewOVR #-}
+ptr_glFramebufferTextureMultiviewOVR :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ())
+ptr_glFramebufferTextureMultiviewOVR = unsafePerformIO $ getCommand "glFramebufferTextureMultiviewOVR"
+
+-- glFramebufferTextureOES -----------------------------------------------------
+
+-- | This command is an alias for 'glFramebufferTexture'.
+glFramebufferTextureOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> m ()
+glFramebufferTextureOES v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTextureOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glFramebufferTextureOES #-}
+ptr_glFramebufferTextureOES :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glFramebufferTextureOES = unsafePerformIO $ getCommand "glFramebufferTextureOES"
+
+-- glFreeObjectBufferATI -------------------------------------------------------
+
+glFreeObjectBufferATI
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m ()
+glFreeObjectBufferATI v1 = liftIO $ dyn2 ptr_glFreeObjectBufferATI v1
+
+{-# NOINLINE ptr_glFreeObjectBufferATI #-}
+ptr_glFreeObjectBufferATI :: FunPtr (GLuint -> IO ())
+ptr_glFreeObjectBufferATI = unsafePerformIO $ getCommand "glFreeObjectBufferATI"
+
+-- glFrontFace -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFrontFace.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFrontFace.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFrontFace.xhtml OpenGL 4.x>.
+glFrontFace
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [FrontFaceDirection](Graphics-GL-Groups.html#FrontFaceDirection).
+  -> m ()
+glFrontFace v1 = liftIO $ dyn4 ptr_glFrontFace v1
+
+{-# NOINLINE ptr_glFrontFace #-}
+ptr_glFrontFace :: FunPtr (GLenum -> IO ())
+ptr_glFrontFace = unsafePerformIO $ getCommand "glFrontFace"
+
+-- glFrustum -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFrustum.xml OpenGL 2.x>.
+glFrustum
+  :: MonadIO m
+  => GLdouble -- ^ @left@.
+  -> GLdouble -- ^ @right@.
+  -> GLdouble -- ^ @bottom@.
+  -> GLdouble -- ^ @top@.
+  -> GLdouble -- ^ @zNear@.
+  -> GLdouble -- ^ @zFar@.
+  -> m ()
+glFrustum v1 v2 v3 v4 v5 v6 = liftIO $ dyn292 ptr_glFrustum v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFrustum #-}
+ptr_glFrustum :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glFrustum = unsafePerformIO $ getCommand "glFrustum"
+
+-- glFrustumf ------------------------------------------------------------------
+
+glFrustumf
+  :: MonadIO m
+  => GLfloat -- ^ @l@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @n@.
+  -> GLfloat -- ^ @f@.
+  -> m ()
+glFrustumf v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glFrustumf v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFrustumf #-}
+ptr_glFrustumf :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glFrustumf = unsafePerformIO $ getCommand "glFrustumf"
+
+-- glFrustumfOES ---------------------------------------------------------------
+
+glFrustumfOES
+  :: MonadIO m
+  => GLfloat -- ^ @l@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @n@.
+  -> GLfloat -- ^ @f@.
+  -> m ()
+glFrustumfOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glFrustumfOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFrustumfOES #-}
+ptr_glFrustumfOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glFrustumfOES = unsafePerformIO $ getCommand "glFrustumfOES"
+
+-- glFrustumx ------------------------------------------------------------------
+
+glFrustumx
+  :: MonadIO m
+  => GLfixed -- ^ @l@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @b@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @n@.
+  -> GLfixed -- ^ @f@.
+  -> m ()
+glFrustumx v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glFrustumx v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFrustumx #-}
+ptr_glFrustumx :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glFrustumx = unsafePerformIO $ getCommand "glFrustumx"
+
+-- glFrustumxOES ---------------------------------------------------------------
+
+glFrustumxOES
+  :: MonadIO m
+  => GLfixed -- ^ @l@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @b@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @n@.
+  -> GLfixed -- ^ @f@.
+  -> m ()
+glFrustumxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glFrustumxOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glFrustumxOES #-}
+ptr_glFrustumxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glFrustumxOES = unsafePerformIO $ getCommand "glFrustumxOES"
+
+-- glGenAsyncMarkersSGIX -------------------------------------------------------
+
+glGenAsyncMarkersSGIX
+  :: MonadIO m
+  => GLsizei -- ^ @range@.
+  -> m GLuint
+glGenAsyncMarkersSGIX v1 = liftIO $ dyn294 ptr_glGenAsyncMarkersSGIX v1
+
+{-# NOINLINE ptr_glGenAsyncMarkersSGIX #-}
+ptr_glGenAsyncMarkersSGIX :: FunPtr (GLsizei -> IO GLuint)
+ptr_glGenAsyncMarkersSGIX = unsafePerformIO $ getCommand "glGenAsyncMarkersSGIX"
+
+-- glGenBuffers ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGenBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenBuffers.xhtml OpenGL 4.x>.
+glGenBuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenBuffers v1 v2 = liftIO $ dyn192 ptr_glGenBuffers v1 v2
+
+{-# NOINLINE ptr_glGenBuffers #-}
+ptr_glGenBuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenBuffers = unsafePerformIO $ getCommand "glGenBuffers"
+
+-- glGenBuffersARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glGenBuffers'.
+glGenBuffersARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenBuffersARB v1 v2 = liftIO $ dyn192 ptr_glGenBuffersARB v1 v2
+
+{-# NOINLINE ptr_glGenBuffersARB #-}
+ptr_glGenBuffersARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenBuffersARB = unsafePerformIO $ getCommand "glGenBuffersARB"
+
+-- glGenFencesAPPLE ------------------------------------------------------------
+
+glGenFencesAPPLE
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
+  -> m ()
+glGenFencesAPPLE v1 v2 = liftIO $ dyn192 ptr_glGenFencesAPPLE v1 v2
+
+{-# NOINLINE ptr_glGenFencesAPPLE #-}
+ptr_glGenFencesAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenFencesAPPLE = unsafePerformIO $ getCommand "glGenFencesAPPLE"
+
+-- glGenFencesNV ---------------------------------------------------------------
+
+glGenFencesNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
+  -> m ()
+glGenFencesNV v1 v2 = liftIO $ dyn192 ptr_glGenFencesNV v1 v2
+
+{-# NOINLINE ptr_glGenFencesNV #-}
+ptr_glGenFencesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenFencesNV = unsafePerformIO $ getCommand "glGenFencesNV"
+
+-- glGenFragmentShadersATI -----------------------------------------------------
+
+glGenFragmentShadersATI
+  :: MonadIO m
+  => GLuint -- ^ @range@.
+  -> m GLuint
+glGenFragmentShadersATI v1 = liftIO $ dyn295 ptr_glGenFragmentShadersATI v1
+
+{-# NOINLINE ptr_glGenFragmentShadersATI #-}
+ptr_glGenFragmentShadersATI :: FunPtr (GLuint -> IO GLuint)
+ptr_glGenFragmentShadersATI = unsafePerformIO $ getCommand "glGenFragmentShadersATI"
+
+-- glGenFramebuffers -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenFramebuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenFramebuffers.xhtml OpenGL 4.x>.
+glGenFramebuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenFramebuffers v1 v2 = liftIO $ dyn192 ptr_glGenFramebuffers v1 v2
+
+{-# NOINLINE ptr_glGenFramebuffers #-}
+ptr_glGenFramebuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenFramebuffers = unsafePerformIO $ getCommand "glGenFramebuffers"
+
+-- glGenFramebuffersEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glGenFramebuffers'.
+glGenFramebuffersEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenFramebuffersEXT v1 v2 = liftIO $ dyn192 ptr_glGenFramebuffersEXT v1 v2
+
+{-# NOINLINE ptr_glGenFramebuffersEXT #-}
+ptr_glGenFramebuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenFramebuffersEXT = unsafePerformIO $ getCommand "glGenFramebuffersEXT"
+
+-- glGenFramebuffersOES --------------------------------------------------------
+
+glGenFramebuffersOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenFramebuffersOES v1 v2 = liftIO $ dyn192 ptr_glGenFramebuffersOES v1 v2
+
+{-# NOINLINE ptr_glGenFramebuffersOES #-}
+ptr_glGenFramebuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenFramebuffersOES = unsafePerformIO $ getCommand "glGenFramebuffersOES"
+
+-- glGenLists ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenLists.xml OpenGL 2.x>.
+glGenLists
+  :: MonadIO m
+  => GLsizei -- ^ @range@.
+  -> m GLuint -- ^ of type @List@.
+glGenLists v1 = liftIO $ dyn294 ptr_glGenLists v1
+
+{-# NOINLINE ptr_glGenLists #-}
+ptr_glGenLists :: FunPtr (GLsizei -> IO GLuint)
+ptr_glGenLists = unsafePerformIO $ getCommand "glGenLists"
+
+-- glGenNamesAMD ---------------------------------------------------------------
+
+glGenNamesAMD
+  :: MonadIO m
+  => GLenum -- ^ @identifier@.
+  -> GLuint -- ^ @num@.
+  -> Ptr GLuint -- ^ @names@ pointing to @num@ elements of type @GLuint@.
+  -> m ()
+glGenNamesAMD v1 v2 v3 = liftIO $ dyn213 ptr_glGenNamesAMD v1 v2 v3
+
+{-# NOINLINE ptr_glGenNamesAMD #-}
+ptr_glGenNamesAMD :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glGenNamesAMD = unsafePerformIO $ getCommand "glGenNamesAMD"
+
+-- glGenOcclusionQueriesNV -----------------------------------------------------
+
+glGenOcclusionQueriesNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenOcclusionQueriesNV v1 v2 = liftIO $ dyn192 ptr_glGenOcclusionQueriesNV v1 v2
+
+{-# NOINLINE ptr_glGenOcclusionQueriesNV #-}
+ptr_glGenOcclusionQueriesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenOcclusionQueriesNV = unsafePerformIO $ getCommand "glGenOcclusionQueriesNV"
+
+-- glGenPathsNV ----------------------------------------------------------------
+
+glGenPathsNV
+  :: MonadIO m
+  => GLsizei -- ^ @range@.
+  -> m GLuint -- ^ of type @Path@.
+glGenPathsNV v1 = liftIO $ dyn294 ptr_glGenPathsNV v1
+
+{-# NOINLINE ptr_glGenPathsNV #-}
+ptr_glGenPathsNV :: FunPtr (GLsizei -> IO GLuint)
+ptr_glGenPathsNV = unsafePerformIO $ getCommand "glGenPathsNV"
+
+-- glGenPerfMonitorsAMD --------------------------------------------------------
+
+glGenPerfMonitorsAMD
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @monitors@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenPerfMonitorsAMD v1 v2 = liftIO $ dyn192 ptr_glGenPerfMonitorsAMD v1 v2
+
+{-# NOINLINE ptr_glGenPerfMonitorsAMD #-}
+ptr_glGenPerfMonitorsAMD :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenPerfMonitorsAMD = unsafePerformIO $ getCommand "glGenPerfMonitorsAMD"
+
+-- glGenProgramPipelines -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGenProgramPipelines.xhtml OpenGL 4.x>.
+glGenProgramPipelines
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenProgramPipelines v1 v2 = liftIO $ dyn192 ptr_glGenProgramPipelines v1 v2
+
+{-# NOINLINE ptr_glGenProgramPipelines #-}
+ptr_glGenProgramPipelines :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenProgramPipelines = unsafePerformIO $ getCommand "glGenProgramPipelines"
+
+-- glGenProgramPipelinesEXT ----------------------------------------------------
+
+glGenProgramPipelinesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenProgramPipelinesEXT v1 v2 = liftIO $ dyn192 ptr_glGenProgramPipelinesEXT v1 v2
+
+{-# NOINLINE ptr_glGenProgramPipelinesEXT #-}
+ptr_glGenProgramPipelinesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenProgramPipelinesEXT = unsafePerformIO $ getCommand "glGenProgramPipelinesEXT"
+
+-- glGenProgramsARB ------------------------------------------------------------
+
+glGenProgramsARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenProgramsARB v1 v2 = liftIO $ dyn192 ptr_glGenProgramsARB v1 v2
+
+{-# NOINLINE ptr_glGenProgramsARB #-}
+ptr_glGenProgramsARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenProgramsARB = unsafePerformIO $ getCommand "glGenProgramsARB"
+
+-- glGenProgramsNV -------------------------------------------------------------
+
+-- | This command is an alias for 'glGenProgramsARB'.
+glGenProgramsNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenProgramsNV v1 v2 = liftIO $ dyn192 ptr_glGenProgramsNV v1 v2
+
+{-# NOINLINE ptr_glGenProgramsNV #-}
+ptr_glGenProgramsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenProgramsNV = unsafePerformIO $ getCommand "glGenProgramsNV"
+
+-- glGenQueries ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenQueries.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGenQueries.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenQueries.xhtml OpenGL 4.x>.
+glGenQueries
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenQueries v1 v2 = liftIO $ dyn192 ptr_glGenQueries v1 v2
+
+{-# NOINLINE ptr_glGenQueries #-}
+ptr_glGenQueries :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenQueries = unsafePerformIO $ getCommand "glGenQueries"
+
+-- glGenQueriesARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glGenQueries'.
+glGenQueriesARB
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenQueriesARB v1 v2 = liftIO $ dyn192 ptr_glGenQueriesARB v1 v2
+
+{-# NOINLINE ptr_glGenQueriesARB #-}
+ptr_glGenQueriesARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenQueriesARB = unsafePerformIO $ getCommand "glGenQueriesARB"
+
+-- glGenQueriesEXT -------------------------------------------------------------
+
+glGenQueriesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenQueriesEXT v1 v2 = liftIO $ dyn192 ptr_glGenQueriesEXT v1 v2
+
+{-# NOINLINE ptr_glGenQueriesEXT #-}
+ptr_glGenQueriesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenQueriesEXT = unsafePerformIO $ getCommand "glGenQueriesEXT"
+
+-- glGenRenderbuffers ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenRenderbuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenRenderbuffers.xhtml OpenGL 4.x>.
+glGenRenderbuffers
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenRenderbuffers v1 v2 = liftIO $ dyn192 ptr_glGenRenderbuffers v1 v2
+
+{-# NOINLINE ptr_glGenRenderbuffers #-}
+ptr_glGenRenderbuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenRenderbuffers = unsafePerformIO $ getCommand "glGenRenderbuffers"
+
+-- glGenRenderbuffersEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glGenRenderbuffers'.
+glGenRenderbuffersEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenRenderbuffersEXT v1 v2 = liftIO $ dyn192 ptr_glGenRenderbuffersEXT v1 v2
+
+{-# NOINLINE ptr_glGenRenderbuffersEXT #-}
+ptr_glGenRenderbuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenRenderbuffersEXT = unsafePerformIO $ getCommand "glGenRenderbuffersEXT"
+
+-- glGenRenderbuffersOES -------------------------------------------------------
+
+glGenRenderbuffersOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenRenderbuffersOES v1 v2 = liftIO $ dyn192 ptr_glGenRenderbuffersOES v1 v2
+
+{-# NOINLINE ptr_glGenRenderbuffersOES #-}
+ptr_glGenRenderbuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenRenderbuffersOES = unsafePerformIO $ getCommand "glGenRenderbuffersOES"
+
+-- glGenSamplers ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenSamplers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenSamplers.xhtml OpenGL 4.x>.
+glGenSamplers
+  :: MonadIO m
+  => GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glGenSamplers v1 v2 = liftIO $ dyn192 ptr_glGenSamplers v1 v2
+
+{-# NOINLINE ptr_glGenSamplers #-}
+ptr_glGenSamplers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenSamplers = unsafePerformIO $ getCommand "glGenSamplers"
+
+-- glGenSymbolsEXT -------------------------------------------------------------
+
+glGenSymbolsEXT
+  :: MonadIO m
+  => GLenum -- ^ @datatype@ of type @DataTypeEXT@.
+  -> GLenum -- ^ @storagetype@ of type @VertexShaderStorageTypeEXT@.
+  -> GLenum -- ^ @range@ of type @ParameterRangeEXT@.
+  -> GLuint -- ^ @components@.
+  -> m GLuint
+glGenSymbolsEXT v1 v2 v3 v4 = liftIO $ dyn296 ptr_glGenSymbolsEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGenSymbolsEXT #-}
+ptr_glGenSymbolsEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
+ptr_glGenSymbolsEXT = unsafePerformIO $ getCommand "glGenSymbolsEXT"
+
+-- glGenTextures ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenTextures.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGenTextures.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenTextures.xhtml OpenGL 4.x>.
+glGenTextures
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> m ()
+glGenTextures v1 v2 = liftIO $ dyn192 ptr_glGenTextures v1 v2
+
+{-# NOINLINE ptr_glGenTextures #-}
+ptr_glGenTextures :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenTextures = unsafePerformIO $ getCommand "glGenTextures"
+
+-- glGenTexturesEXT ------------------------------------------------------------
+
+glGenTexturesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> m ()
+glGenTexturesEXT v1 v2 = liftIO $ dyn192 ptr_glGenTexturesEXT v1 v2
+
+{-# NOINLINE ptr_glGenTexturesEXT #-}
+ptr_glGenTexturesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenTexturesEXT = unsafePerformIO $ getCommand "glGenTexturesEXT"
+
+-- glGenTransformFeedbacks -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGenTransformFeedbacks.xhtml OpenGL 4.x>.
+glGenTransformFeedbacks
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenTransformFeedbacks v1 v2 = liftIO $ dyn192 ptr_glGenTransformFeedbacks v1 v2
+
+{-# NOINLINE ptr_glGenTransformFeedbacks #-}
+ptr_glGenTransformFeedbacks :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenTransformFeedbacks = unsafePerformIO $ getCommand "glGenTransformFeedbacks"
+
+-- glGenTransformFeedbacksNV ---------------------------------------------------
+
+-- | This command is an alias for 'glGenTransformFeedbacks'.
+glGenTransformFeedbacksNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenTransformFeedbacksNV v1 v2 = liftIO $ dyn192 ptr_glGenTransformFeedbacksNV v1 v2
+
+{-# NOINLINE ptr_glGenTransformFeedbacksNV #-}
+ptr_glGenTransformFeedbacksNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenTransformFeedbacksNV = unsafePerformIO $ getCommand "glGenTransformFeedbacksNV"
+
+-- glGenVertexArrays -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenVertexArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenVertexArrays.xhtml OpenGL 4.x>.
+glGenVertexArrays
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenVertexArrays v1 v2 = liftIO $ dyn192 ptr_glGenVertexArrays v1 v2
+
+{-# NOINLINE ptr_glGenVertexArrays #-}
+ptr_glGenVertexArrays :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenVertexArrays = unsafePerformIO $ getCommand "glGenVertexArrays"
+
+-- glGenVertexArraysAPPLE ------------------------------------------------------
+
+-- | This command is an alias for 'glGenVertexArrays'.
+glGenVertexArraysAPPLE
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenVertexArraysAPPLE v1 v2 = liftIO $ dyn192 ptr_glGenVertexArraysAPPLE v1 v2
+
+{-# NOINLINE ptr_glGenVertexArraysAPPLE #-}
+ptr_glGenVertexArraysAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenVertexArraysAPPLE = unsafePerformIO $ getCommand "glGenVertexArraysAPPLE"
+
+-- glGenVertexArraysOES --------------------------------------------------------
+
+-- | This command is an alias for 'glGenVertexArrays'.
+glGenVertexArraysOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glGenVertexArraysOES v1 v2 = liftIO $ dyn192 ptr_glGenVertexArraysOES v1 v2
+
+{-# NOINLINE ptr_glGenVertexArraysOES #-}
+ptr_glGenVertexArraysOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glGenVertexArraysOES = unsafePerformIO $ getCommand "glGenVertexArraysOES"
+
+-- glGenVertexShadersEXT -------------------------------------------------------
+
+glGenVertexShadersEXT
+  :: MonadIO m
+  => GLuint -- ^ @range@.
+  -> m GLuint
+glGenVertexShadersEXT v1 = liftIO $ dyn295 ptr_glGenVertexShadersEXT v1
+
+{-# NOINLINE ptr_glGenVertexShadersEXT #-}
+ptr_glGenVertexShadersEXT :: FunPtr (GLuint -> IO GLuint)
+ptr_glGenVertexShadersEXT = unsafePerformIO $ getCommand "glGenVertexShadersEXT"
+
+-- glGenerateMipmap ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenerateMipmap.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenerateMipmap.xhtml OpenGL 4.x>.
+glGenerateMipmap
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glGenerateMipmap v1 = liftIO $ dyn4 ptr_glGenerateMipmap v1
+
+{-# NOINLINE ptr_glGenerateMipmap #-}
+ptr_glGenerateMipmap :: FunPtr (GLenum -> IO ())
+ptr_glGenerateMipmap = unsafePerformIO $ getCommand "glGenerateMipmap"
+
+-- glGenerateMipmapEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glGenerateMipmap'.
+glGenerateMipmapEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glGenerateMipmapEXT v1 = liftIO $ dyn4 ptr_glGenerateMipmapEXT v1
+
+{-# NOINLINE ptr_glGenerateMipmapEXT #-}
+ptr_glGenerateMipmapEXT :: FunPtr (GLenum -> IO ())
+ptr_glGenerateMipmapEXT = unsafePerformIO $ getCommand "glGenerateMipmapEXT"
+
+-- glGenerateMipmapOES ---------------------------------------------------------
+
+glGenerateMipmapOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glGenerateMipmapOES v1 = liftIO $ dyn4 ptr_glGenerateMipmapOES v1
+
+{-# NOINLINE ptr_glGenerateMipmapOES #-}
+ptr_glGenerateMipmapOES :: FunPtr (GLenum -> IO ())
+ptr_glGenerateMipmapOES = unsafePerformIO $ getCommand "glGenerateMipmapOES"
+
+-- glGenerateMultiTexMipmapEXT -------------------------------------------------
+
+glGenerateMultiTexMipmapEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> m ()
+glGenerateMultiTexMipmapEXT v1 v2 = liftIO $ dyn51 ptr_glGenerateMultiTexMipmapEXT v1 v2
+
+{-# NOINLINE ptr_glGenerateMultiTexMipmapEXT #-}
+ptr_glGenerateMultiTexMipmapEXT :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glGenerateMultiTexMipmapEXT = unsafePerformIO $ getCommand "glGenerateMultiTexMipmapEXT"
+
+-- glGenerateTextureMipmap -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGenerateMipmap.xhtml OpenGL 4.x>.
+glGenerateTextureMipmap
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> m ()
+glGenerateTextureMipmap v1 = liftIO $ dyn2 ptr_glGenerateTextureMipmap v1
+
+{-# NOINLINE ptr_glGenerateTextureMipmap #-}
+ptr_glGenerateTextureMipmap :: FunPtr (GLuint -> IO ())
+ptr_glGenerateTextureMipmap = unsafePerformIO $ getCommand "glGenerateTextureMipmap"
+
+-- glGenerateTextureMipmapEXT --------------------------------------------------
+
+glGenerateTextureMipmapEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> m ()
+glGenerateTextureMipmapEXT v1 v2 = liftIO $ dyn15 ptr_glGenerateTextureMipmapEXT v1 v2
+
+{-# NOINLINE ptr_glGenerateTextureMipmapEXT #-}
+ptr_glGenerateTextureMipmapEXT :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glGenerateTextureMipmapEXT = unsafePerformIO $ getCommand "glGenerateTextureMipmapEXT"
+
+-- glGetActiveAtomicCounterBufferiv --------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveAtomicCounterBufferiv.xhtml OpenGL 4.x>.
+glGetActiveAtomicCounterBufferiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @bufferIndex@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetActiveAtomicCounterBufferiv v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetActiveAtomicCounterBufferiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetActiveAtomicCounterBufferiv #-}
+ptr_glGetActiveAtomicCounterBufferiv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetActiveAtomicCounterBufferiv = unsafePerformIO $ getCommand "glGetActiveAtomicCounterBufferiv"
+
+-- glGetActiveAttrib -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetActiveAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveAttrib.xhtml OpenGL 4.x>.
+glGetActiveAttrib
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn298 ptr_glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetActiveAttrib #-}
+ptr_glGetActiveAttrib :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
+ptr_glGetActiveAttrib = unsafePerformIO $ getCommand "glGetActiveAttrib"
+
+-- glGetActiveAttribARB --------------------------------------------------------
+
+-- | This command is an alias for 'glGetActiveAttrib'.
+glGetActiveAttribARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @maxLength@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLcharARB -- ^ @name@ pointing to @maxLength@ elements of type @GLcharARB@.
+  -> m ()
+glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn299 ptr_glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetActiveAttribARB #-}
+ptr_glGetActiveAttribARB :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
+ptr_glGetActiveAttribARB = unsafePerformIO $ getCommand "glGetActiveAttribARB"
+
+-- glGetActiveSubroutineName ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineName.xhtml OpenGL 4.x>.
+glGetActiveSubroutineName
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @shadertype@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufsize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @name@ pointing to @bufsize@ elements of type @GLchar@.
+  -> m ()
+glGetActiveSubroutineName v1 v2 v3 v4 v5 v6 = liftIO $ dyn300 ptr_glGetActiveSubroutineName v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetActiveSubroutineName #-}
+ptr_glGetActiveSubroutineName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetActiveSubroutineName = unsafePerformIO $ getCommand "glGetActiveSubroutineName"
+
+-- glGetActiveSubroutineUniformName --------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineUniformName.xhtml OpenGL 4.x>.
+glGetActiveSubroutineUniformName
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @shadertype@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufsize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @name@ pointing to @bufsize@ elements of type @GLchar@.
+  -> m ()
+glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6 = liftIO $ dyn300 ptr_glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetActiveSubroutineUniformName #-}
+ptr_glGetActiveSubroutineUniformName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetActiveSubroutineUniformName = unsafePerformIO $ getCommand "glGetActiveSubroutineUniformName"
+
+-- glGetActiveSubroutineUniformiv ----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineUniform.xhtml OpenGL 4.x>.
+glGetActiveSubroutineUniformiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @shadertype@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @values@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5 = liftIO $ dyn301 ptr_glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetActiveSubroutineUniformiv #-}
+ptr_glGetActiveSubroutineUniformiv :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetActiveSubroutineUniformiv = unsafePerformIO $ getCommand "glGetActiveSubroutineUniformiv"
+
+-- glGetActiveUniform ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetActiveUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniform.xhtml OpenGL 4.x>.
+glGetActiveUniform
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetActiveUniform v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn298 ptr_glGetActiveUniform v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetActiveUniform #-}
+ptr_glGetActiveUniform :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
+ptr_glGetActiveUniform = unsafePerformIO $ getCommand "glGetActiveUniform"
+
+-- glGetActiveUniformARB -------------------------------------------------------
+
+-- | This command is an alias for 'glGetActiveUniform'.
+glGetActiveUniformARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @maxLength@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLcharARB -- ^ @name@ pointing to @maxLength@ elements of type @GLcharARB@.
+  -> m ()
+glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn299 ptr_glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetActiveUniformARB #-}
+ptr_glGetActiveUniformARB :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
+ptr_glGetActiveUniformARB = unsafePerformIO $ getCommand "glGetActiveUniformARB"
+
+-- glGetActiveUniformBlockName -------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlockName.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformBlockName.xhtml OpenGL 4.x>.
+glGetActiveUniformBlockName
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @uniformBlockIndex@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @uniformBlockName@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetActiveUniformBlockName v1 v2 v3 v4 v5 = liftIO $ dyn302 ptr_glGetActiveUniformBlockName v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetActiveUniformBlockName #-}
+ptr_glGetActiveUniformBlockName :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetActiveUniformBlockName = unsafePerformIO $ getCommand "glGetActiveUniformBlockName"
+
+-- glGetActiveUniformBlockiv ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlock.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformBlock.xhtml OpenGL 4.x>.
+glGetActiveUniformBlockiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @uniformBlockIndex@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(program,uniformBlockIndex,pname)@ elements of type @GLint@.
+  -> m ()
+glGetActiveUniformBlockiv v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetActiveUniformBlockiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetActiveUniformBlockiv #-}
+ptr_glGetActiveUniformBlockiv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetActiveUniformBlockiv = unsafePerformIO $ getCommand "glGetActiveUniformBlockiv"
+
+-- glGetActiveUniformName ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformName.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformName.xhtml OpenGL 4.x>.
+glGetActiveUniformName
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @uniformIndex@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @uniformName@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetActiveUniformName v1 v2 v3 v4 v5 = liftIO $ dyn302 ptr_glGetActiveUniformName v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetActiveUniformName #-}
+ptr_glGetActiveUniformName :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetActiveUniformName = unsafePerformIO $ getCommand "glGetActiveUniformName"
+
+-- glGetActiveUniformsiv -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformsiv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformsiv.xhtml OpenGL 4.x>.
+glGetActiveUniformsiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @uniformCount@.
+  -> Ptr GLuint -- ^ @uniformIndices@ pointing to @uniformCount@ elements of type @GLuint@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(uniformCount,pname)@ elements of type @GLint@.
+  -> m ()
+glGetActiveUniformsiv v1 v2 v3 v4 v5 = liftIO $ dyn303 ptr_glGetActiveUniformsiv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetActiveUniformsiv #-}
+ptr_glGetActiveUniformsiv :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetActiveUniformsiv = unsafePerformIO $ getCommand "glGetActiveUniformsiv"
+
+-- glGetActiveVaryingNV --------------------------------------------------------
+
+glGetActiveVaryingNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLsizei -- ^ @size@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(program,index,bufSize)@ elements of type @GLchar@.
+  -> m ()
+glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn304 ptr_glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetActiveVaryingNV #-}
+ptr_glGetActiveVaryingNV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
+ptr_glGetActiveVaryingNV = unsafePerformIO $ getCommand "glGetActiveVaryingNV"
+
+-- glGetArrayObjectfvATI -------------------------------------------------------
+
+glGetArrayObjectfvATI
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glGetArrayObjectfvATI v1 v2 v3 = liftIO $ dyn131 ptr_glGetArrayObjectfvATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetArrayObjectfvATI #-}
+ptr_glGetArrayObjectfvATI :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetArrayObjectfvATI = unsafePerformIO $ getCommand "glGetArrayObjectfvATI"
+
+-- glGetArrayObjectivATI -------------------------------------------------------
+
+glGetArrayObjectivATI
+  :: MonadIO m
+  => GLenum -- ^ @array@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetArrayObjectivATI v1 v2 v3 = liftIO $ dyn132 ptr_glGetArrayObjectivATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetArrayObjectivATI #-}
+ptr_glGetArrayObjectivATI :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetArrayObjectivATI = unsafePerformIO $ getCommand "glGetArrayObjectivATI"
+
+-- glGetAttachedObjectsARB -----------------------------------------------------
+
+glGetAttachedObjectsARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @containerObj@ of type @handleARB@.
+  -> GLsizei -- ^ @maxCount@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLhandleARB -- ^ @obj@ pointing to @maxCount@ elements of type @handleARB@.
+  -> m ()
+glGetAttachedObjectsARB v1 v2 v3 v4 = liftIO $ dyn305 ptr_glGetAttachedObjectsARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetAttachedObjectsARB #-}
+ptr_glGetAttachedObjectsARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
+ptr_glGetAttachedObjectsARB = unsafePerformIO $ getCommand "glGetAttachedObjectsARB"
+
+-- glGetAttachedShaders --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetAttachedShaders.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetAttachedShaders.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetAttachedShaders.xhtml OpenGL 4.x>.
+glGetAttachedShaders
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @maxCount@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLuint -- ^ @shaders@ pointing to @maxCount@ elements of type @GLuint@.
+  -> m ()
+glGetAttachedShaders v1 v2 v3 v4 = liftIO $ dyn306 ptr_glGetAttachedShaders v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetAttachedShaders #-}
+ptr_glGetAttachedShaders :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetAttachedShaders = unsafePerformIO $ getCommand "glGetAttachedShaders"
+
+-- glGetAttribLocation ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetAttribLocation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetAttribLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetAttribLocation.xhtml OpenGL 4.x>.
+glGetAttribLocation
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m GLint
+glGetAttribLocation v1 v2 = liftIO $ dyn307 ptr_glGetAttribLocation v1 v2
+
+{-# NOINLINE ptr_glGetAttribLocation #-}
+ptr_glGetAttribLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetAttribLocation = unsafePerformIO $ getCommand "glGetAttribLocation"
+
+-- glGetAttribLocationARB ------------------------------------------------------
+
+-- | This command is an alias for 'glGetAttribLocation'.
+glGetAttribLocationARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> Ptr GLcharARB -- ^ @name@.
+  -> m GLint
+glGetAttribLocationARB v1 v2 = liftIO $ dyn308 ptr_glGetAttribLocationARB v1 v2
+
+{-# NOINLINE ptr_glGetAttribLocationARB #-}
+ptr_glGetAttribLocationARB :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
+ptr_glGetAttribLocationARB = unsafePerformIO $ getCommand "glGetAttribLocationARB"
+
+-- glGetBooleanIndexedvEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glGetBooleani_v'.
+glGetBooleanIndexedvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glGetBooleanIndexedvEXT v1 v2 v3 = liftIO $ dyn309 ptr_glGetBooleanIndexedvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetBooleanIndexedvEXT #-}
+ptr_glGetBooleanIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
+ptr_glGetBooleanIndexedvEXT = unsafePerformIO $ getCommand "glGetBooleanIndexedvEXT"
+
+-- glGetBooleani_v -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetBooleani_v
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glGetBooleani_v v1 v2 v3 = liftIO $ dyn309 ptr_glGetBooleani_v v1 v2 v3
+
+{-# NOINLINE ptr_glGetBooleani_v #-}
+ptr_glGetBooleani_v :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
+ptr_glGetBooleani_v = unsafePerformIO $ getCommand "glGetBooleani_v"
+
+-- glGetBooleanv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetBooleanv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
+  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glGetBooleanv v1 v2 = liftIO $ dyn310 ptr_glGetBooleanv v1 v2
+
+{-# NOINLINE ptr_glGetBooleanv #-}
+ptr_glGetBooleanv :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
+ptr_glGetBooleanv = unsafePerformIO $ getCommand "glGetBooleanv"
+
+-- glGetBufferParameteri64v ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
+glGetBufferParameteri64v
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLenum -- ^ @pname@ of type @BufferPNameARB@.
+  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
+  -> m ()
+glGetBufferParameteri64v v1 v2 v3 = liftIO $ dyn311 ptr_glGetBufferParameteri64v v1 v2 v3
+
+{-# NOINLINE ptr_glGetBufferParameteri64v #-}
+ptr_glGetBufferParameteri64v :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
+ptr_glGetBufferParameteri64v = unsafePerformIO $ getCommand "glGetBufferParameteri64v"
+
+-- glGetBufferParameteriv ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetBufferParameteriv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
+glGetBufferParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLenum -- ^ @pname@ of type @BufferPNameARB@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetBufferParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetBufferParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetBufferParameteriv #-}
+ptr_glGetBufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetBufferParameteriv = unsafePerformIO $ getCommand "glGetBufferParameteriv"
+
+-- glGetBufferParameterivARB ---------------------------------------------------
+
+-- | This command is an alias for 'glGetBufferParameteriv'.
+glGetBufferParameterivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLenum -- ^ @pname@ of type @BufferPNameARB@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetBufferParameterivARB v1 v2 v3 = liftIO $ dyn132 ptr_glGetBufferParameterivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetBufferParameterivARB #-}
+ptr_glGetBufferParameterivARB :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetBufferParameterivARB = unsafePerformIO $ getCommand "glGetBufferParameterivARB"
+
+-- glGetBufferParameterui64vNV -------------------------------------------------
+
+glGetBufferParameterui64vNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
+  -> m ()
+glGetBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn312 ptr_glGetBufferParameterui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetBufferParameterui64vNV #-}
+ptr_glGetBufferParameterui64vNV :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
+ptr_glGetBufferParameterui64vNV = unsafePerformIO $ getCommand "glGetBufferParameterui64vNV"
+
+-- glGetBufferPointerv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetBufferPointerv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferPointerv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferPointerv.xhtml OpenGL 4.x>.
+glGetBufferPointerv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLenum -- ^ @pname@ of type @BufferPointerNameARB@.
+  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetBufferPointerv v1 v2 v3 = liftIO $ dyn313 ptr_glGetBufferPointerv v1 v2 v3
+
+{-# NOINLINE ptr_glGetBufferPointerv #-}
+ptr_glGetBufferPointerv :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetBufferPointerv = unsafePerformIO $ getCommand "glGetBufferPointerv"
+
+-- glGetBufferPointervARB ------------------------------------------------------
+
+-- | This command is an alias for 'glGetBufferPointerv'.
+glGetBufferPointervARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLenum -- ^ @pname@ of type @BufferPointerNameARB@.
+  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetBufferPointervARB v1 v2 v3 = liftIO $ dyn313 ptr_glGetBufferPointervARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetBufferPointervARB #-}
+ptr_glGetBufferPointervARB :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetBufferPointervARB = unsafePerformIO $ getCommand "glGetBufferPointervARB"
+
+-- glGetBufferPointervOES ------------------------------------------------------
+
+-- | This command is an alias for 'glGetBufferPointerv'.
+glGetBufferPointervOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr (Ptr a) -- ^ @params@.
+  -> m ()
+glGetBufferPointervOES v1 v2 v3 = liftIO $ dyn313 ptr_glGetBufferPointervOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetBufferPointervOES #-}
+ptr_glGetBufferPointervOES :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetBufferPointervOES = unsafePerformIO $ getCommand "glGetBufferPointervOES"
+
+-- glGetBufferSubData ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetBufferSubData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferSubData.xhtml OpenGL 4.x>.
+glGetBufferSubData
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> m ()
+glGetBufferSubData v1 v2 v3 v4 = liftIO $ dyn64 ptr_glGetBufferSubData v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetBufferSubData #-}
+ptr_glGetBufferSubData :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+ptr_glGetBufferSubData = unsafePerformIO $ getCommand "glGetBufferSubData"
+
+-- glGetBufferSubDataARB -------------------------------------------------------
+
+-- | This command is an alias for 'glGetBufferSubData'.
+glGetBufferSubDataARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
+  -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> m ()
+glGetBufferSubDataARB v1 v2 v3 v4 = liftIO $ dyn65 ptr_glGetBufferSubDataARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetBufferSubDataARB #-}
+ptr_glGetBufferSubDataARB :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
+ptr_glGetBufferSubDataARB = unsafePerformIO $ getCommand "glGetBufferSubDataARB"
+
+-- glGetClipPlane --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetClipPlane.xml OpenGL 2.x>.
+glGetClipPlane
+  :: MonadIO m
+  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-GL-Groups.html#ClipPlaneName).
+  -> Ptr GLdouble -- ^ @equation@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetClipPlane v1 v2 = liftIO $ dyn92 ptr_glGetClipPlane v1 v2
+
+{-# NOINLINE ptr_glGetClipPlane #-}
+ptr_glGetClipPlane :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetClipPlane = unsafePerformIO $ getCommand "glGetClipPlane"
+
+-- glGetClipPlanef -------------------------------------------------------------
+
+glGetClipPlanef
+  :: MonadIO m
+  => GLenum -- ^ @plane@.
+  -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetClipPlanef v1 v2 = liftIO $ dyn93 ptr_glGetClipPlanef v1 v2
+
+{-# NOINLINE ptr_glGetClipPlanef #-}
+ptr_glGetClipPlanef :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetClipPlanef = unsafePerformIO $ getCommand "glGetClipPlanef"
+
+-- glGetClipPlanefOES ----------------------------------------------------------
+
+glGetClipPlanefOES
+  :: MonadIO m
+  => GLenum -- ^ @plane@.
+  -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetClipPlanefOES v1 v2 = liftIO $ dyn93 ptr_glGetClipPlanefOES v1 v2
+
+{-# NOINLINE ptr_glGetClipPlanefOES #-}
+ptr_glGetClipPlanefOES :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetClipPlanefOES = unsafePerformIO $ getCommand "glGetClipPlanefOES"
+
+-- glGetClipPlanex -------------------------------------------------------------
+
+glGetClipPlanex
+  :: MonadIO m
+  => GLenum -- ^ @plane@.
+  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glGetClipPlanex v1 v2 = liftIO $ dyn94 ptr_glGetClipPlanex v1 v2
+
+{-# NOINLINE ptr_glGetClipPlanex #-}
+ptr_glGetClipPlanex :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetClipPlanex = unsafePerformIO $ getCommand "glGetClipPlanex"
+
+-- glGetClipPlanexOES ----------------------------------------------------------
+
+glGetClipPlanexOES
+  :: MonadIO m
+  => GLenum -- ^ @plane@.
+  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glGetClipPlanexOES v1 v2 = liftIO $ dyn94 ptr_glGetClipPlanexOES v1 v2
+
+{-# NOINLINE ptr_glGetClipPlanexOES #-}
+ptr_glGetClipPlanexOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetClipPlanexOES = unsafePerformIO $ getCommand "glGetClipPlanexOES"
+
+-- glGetColorTable -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTable.xml OpenGL 2.x>.
+glGetColorTable
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetColorTable v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetColorTable v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetColorTable #-}
+ptr_glGetColorTable :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetColorTable = unsafePerformIO $ getCommand "glGetColorTable"
+
+-- glGetColorTableEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glGetColorTable'.
+glGetColorTableEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetColorTableEXT v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetColorTableEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetColorTableEXT #-}
+ptr_glGetColorTableEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetColorTableEXT = unsafePerformIO $ getCommand "glGetColorTableEXT"
+
+-- glGetColorTableParameterfv --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTableParameter.xml OpenGL 2.x>.
+glGetColorTableParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetColorTableParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetColorTableParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetColorTableParameterfv #-}
+ptr_glGetColorTableParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetColorTableParameterfv = unsafePerformIO $ getCommand "glGetColorTableParameterfv"
+
+-- glGetColorTableParameterfvEXT -----------------------------------------------
+
+-- | This command is an alias for 'glGetColorTableParameterfv'.
+glGetColorTableParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetColorTableParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetColorTableParameterfvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetColorTableParameterfvEXT #-}
+ptr_glGetColorTableParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetColorTableParameterfvEXT = unsafePerformIO $ getCommand "glGetColorTableParameterfvEXT"
+
+-- glGetColorTableParameterfvSGI -----------------------------------------------
+
+glGetColorTableParameterfvSGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
+  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-GL-Groups.html#GetColorTableParameterPNameSGI).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetColorTableParameterfvSGI v1 v2 v3 = liftIO $ dyn131 ptr_glGetColorTableParameterfvSGI v1 v2 v3
+
+{-# NOINLINE ptr_glGetColorTableParameterfvSGI #-}
+ptr_glGetColorTableParameterfvSGI :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetColorTableParameterfvSGI = unsafePerformIO $ getCommand "glGetColorTableParameterfvSGI"
+
+-- glGetColorTableParameteriv --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTableParameter.xml OpenGL 2.x>.
+glGetColorTableParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetColorTableParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetColorTableParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetColorTableParameteriv #-}
+ptr_glGetColorTableParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetColorTableParameteriv = unsafePerformIO $ getCommand "glGetColorTableParameteriv"
+
+-- glGetColorTableParameterivEXT -----------------------------------------------
+
+-- | This command is an alias for 'glGetColorTableParameteriv'.
+glGetColorTableParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ColorTableTarget@.
+  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetColorTableParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetColorTableParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetColorTableParameterivEXT #-}
+ptr_glGetColorTableParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetColorTableParameterivEXT = unsafePerformIO $ getCommand "glGetColorTableParameterivEXT"
+
+-- glGetColorTableParameterivSGI -----------------------------------------------
+
+glGetColorTableParameterivSGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
+  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-GL-Groups.html#GetColorTableParameterPNameSGI).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetColorTableParameterivSGI v1 v2 v3 = liftIO $ dyn132 ptr_glGetColorTableParameterivSGI v1 v2 v3
+
+{-# NOINLINE ptr_glGetColorTableParameterivSGI #-}
+ptr_glGetColorTableParameterivSGI :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetColorTableParameterivSGI = unsafePerformIO $ getCommand "glGetColorTableParameterivSGI"
+
+-- glGetColorTableSGI ----------------------------------------------------------
+
+glGetColorTableSGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-GL-Groups.html#ColorTableTargetSGI).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetColorTableSGI v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetColorTableSGI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetColorTableSGI #-}
+ptr_glGetColorTableSGI :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetColorTableSGI = unsafePerformIO $ getCommand "glGetColorTableSGI"
+
+-- glGetCombinerInputParameterfvNV ---------------------------------------------
+
+glGetCombinerInputParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
+  -> GLenum -- ^ @variable@ of type @CombinerVariableNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5 = liftIO $ dyn315 ptr_glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetCombinerInputParameterfvNV #-}
+ptr_glGetCombinerInputParameterfvNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetCombinerInputParameterfvNV = unsafePerformIO $ getCommand "glGetCombinerInputParameterfvNV"
+
+-- glGetCombinerInputParameterivNV ---------------------------------------------
+
+glGetCombinerInputParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
+  -> GLenum -- ^ @variable@ of type @CombinerVariableNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetCombinerInputParameterivNV v1 v2 v3 v4 v5 = liftIO $ dyn316 ptr_glGetCombinerInputParameterivNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetCombinerInputParameterivNV #-}
+ptr_glGetCombinerInputParameterivNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetCombinerInputParameterivNV = unsafePerformIO $ getCommand "glGetCombinerInputParameterivNV"
+
+-- glGetCombinerOutputParameterfvNV --------------------------------------------
+
+glGetCombinerOutputParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetCombinerOutputParameterfvNV v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetCombinerOutputParameterfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetCombinerOutputParameterfvNV #-}
+ptr_glGetCombinerOutputParameterfvNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetCombinerOutputParameterfvNV = unsafePerformIO $ getCommand "glGetCombinerOutputParameterfvNV"
+
+-- glGetCombinerOutputParameterivNV --------------------------------------------
+
+glGetCombinerOutputParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetCombinerOutputParameterivNV v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetCombinerOutputParameterivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetCombinerOutputParameterivNV #-}
+ptr_glGetCombinerOutputParameterivNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetCombinerOutputParameterivNV = unsafePerformIO $ getCommand "glGetCombinerOutputParameterivNV"
+
+-- glGetCombinerStageParameterfvNV ---------------------------------------------
+
+glGetCombinerStageParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetCombinerStageParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetCombinerStageParameterfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetCombinerStageParameterfvNV #-}
+ptr_glGetCombinerStageParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetCombinerStageParameterfvNV = unsafePerformIO $ getCommand "glGetCombinerStageParameterfvNV"
+
+-- glGetCommandHeaderNV --------------------------------------------------------
+
+glGetCommandHeaderNV
+  :: MonadIO m
+  => GLenum -- ^ @tokenID@.
+  -> GLuint -- ^ @size@.
+  -> m GLuint
+glGetCommandHeaderNV v1 v2 = liftIO $ dyn319 ptr_glGetCommandHeaderNV v1 v2
+
+{-# NOINLINE ptr_glGetCommandHeaderNV #-}
+ptr_glGetCommandHeaderNV :: FunPtr (GLenum -> GLuint -> IO GLuint)
+ptr_glGetCommandHeaderNV = unsafePerformIO $ getCommand "glGetCommandHeaderNV"
+
+-- glGetCompressedMultiTexImageEXT ---------------------------------------------
+
+glGetCompressedMultiTexImageEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @lod@ of type @CheckedInt32@.
+  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,lod)@ elements of type @a@.
+  -> m ()
+glGetCompressedMultiTexImageEXT v1 v2 v3 v4 = liftIO $ dyn320 ptr_glGetCompressedMultiTexImageEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetCompressedMultiTexImageEXT #-}
+ptr_glGetCompressedMultiTexImageEXT :: FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> IO ())
+ptr_glGetCompressedMultiTexImageEXT = unsafePerformIO $ getCommand "glGetCompressedMultiTexImageEXT"
+
+-- glGetCompressedTexImage -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetCompressedTexImage.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetCompressedTexImage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
+glGetCompressedTexImage
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,level)@ elements of type @CompressedTextureARB@.
+  -> m ()
+glGetCompressedTexImage v1 v2 v3 = liftIO $ dyn321 ptr_glGetCompressedTexImage v1 v2 v3
+
+{-# NOINLINE ptr_glGetCompressedTexImage #-}
+ptr_glGetCompressedTexImage :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
+ptr_glGetCompressedTexImage = unsafePerformIO $ getCommand "glGetCompressedTexImage"
+
+-- glGetCompressedTexImageARB --------------------------------------------------
+
+-- | This command is an alias for 'glGetCompressedTexImage'.
+glGetCompressedTexImageARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,level)@ elements of type @CompressedTextureARB@.
+  -> m ()
+glGetCompressedTexImageARB v1 v2 v3 = liftIO $ dyn321 ptr_glGetCompressedTexImageARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetCompressedTexImageARB #-}
+ptr_glGetCompressedTexImageARB :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
+ptr_glGetCompressedTexImageARB = unsafePerformIO $ getCommand "glGetCompressedTexImageARB"
+
+-- glGetCompressedTextureImage -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
+glGetCompressedTextureImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glGetCompressedTextureImage v1 v2 v3 v4 = liftIO $ dyn322 ptr_glGetCompressedTextureImage v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetCompressedTextureImage #-}
+ptr_glGetCompressedTextureImage :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glGetCompressedTextureImage = unsafePerformIO $ getCommand "glGetCompressedTextureImage"
+
+-- glGetCompressedTextureImageEXT ----------------------------------------------
+
+glGetCompressedTextureImageEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @lod@ of type @CheckedInt32@.
+  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,lod)@ elements of type @a@.
+  -> m ()
+glGetCompressedTextureImageEXT v1 v2 v3 v4 = liftIO $ dyn323 ptr_glGetCompressedTextureImageEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetCompressedTextureImageEXT #-}
+ptr_glGetCompressedTextureImageEXT :: FunPtr (GLuint -> GLenum -> GLint -> Ptr a -> IO ())
+ptr_glGetCompressedTextureImageEXT = unsafePerformIO $ getCommand "glGetCompressedTextureImageEXT"
+
+-- glGetCompressedTextureSubImage ----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTextureSubImage.xhtml OpenGL 4.x>.
+glGetCompressedTextureSubImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn324 ptr_glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glGetCompressedTextureSubImage #-}
+ptr_glGetCompressedTextureSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ())
+ptr_glGetCompressedTextureSubImage = unsafePerformIO $ getCommand "glGetCompressedTextureSubImage"
+
+-- glGetConvolutionFilter ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionFilter.xml OpenGL 2.x>.
+glGetConvolutionFilter
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetConvolutionFilter v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetConvolutionFilter v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetConvolutionFilter #-}
+ptr_glGetConvolutionFilter :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetConvolutionFilter = unsafePerformIO $ getCommand "glGetConvolutionFilter"
+
+-- glGetConvolutionFilterEXT ---------------------------------------------------
+
+glGetConvolutionFilterEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetConvolutionFilterEXT v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetConvolutionFilterEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetConvolutionFilterEXT #-}
+ptr_glGetConvolutionFilterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetConvolutionFilterEXT = unsafePerformIO $ getCommand "glGetConvolutionFilterEXT"
+
+-- glGetConvolutionParameterfv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionParameter.xml OpenGL 2.x>.
+glGetConvolutionParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @pname@ of type @GetConvolutionParameterPName@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetConvolutionParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetConvolutionParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetConvolutionParameterfv #-}
+ptr_glGetConvolutionParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetConvolutionParameterfv = unsafePerformIO $ getCommand "glGetConvolutionParameterfv"
+
+-- glGetConvolutionParameterfvEXT ----------------------------------------------
+
+glGetConvolutionParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetConvolutionParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetConvolutionParameterfvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetConvolutionParameterfvEXT #-}
+ptr_glGetConvolutionParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetConvolutionParameterfvEXT = unsafePerformIO $ getCommand "glGetConvolutionParameterfvEXT"
+
+-- glGetConvolutionParameteriv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionParameter.xml OpenGL 2.x>.
+glGetConvolutionParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
+  -> GLenum -- ^ @pname@ of type @GetConvolutionParameterPName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetConvolutionParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetConvolutionParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetConvolutionParameteriv #-}
+ptr_glGetConvolutionParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetConvolutionParameteriv = unsafePerformIO $ getCommand "glGetConvolutionParameteriv"
+
+-- glGetConvolutionParameterivEXT ----------------------------------------------
+
+glGetConvolutionParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-GL-Groups.html#ConvolutionTargetEXT).
+  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-GL-Groups.html#ConvolutionParameterEXT).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetConvolutionParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetConvolutionParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetConvolutionParameterivEXT #-}
+ptr_glGetConvolutionParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetConvolutionParameterivEXT = unsafePerformIO $ getCommand "glGetConvolutionParameterivEXT"
+
+-- glGetConvolutionParameterxvOES ----------------------------------------------
+
+glGetConvolutionParameterxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetConvolutionParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetConvolutionParameterxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetConvolutionParameterxvOES #-}
+ptr_glGetConvolutionParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetConvolutionParameterxvOES = unsafePerformIO $ getCommand "glGetConvolutionParameterxvOES"
+
+-- glGetCoverageModulationTableNV ----------------------------------------------
+
+glGetCoverageModulationTableNV
+  :: MonadIO m
+  => GLsizei -- ^ @bufsize@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glGetCoverageModulationTableNV v1 v2 = liftIO $ dyn191 ptr_glGetCoverageModulationTableNV v1 v2
+
+{-# NOINLINE ptr_glGetCoverageModulationTableNV #-}
+ptr_glGetCoverageModulationTableNV :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetCoverageModulationTableNV = unsafePerformIO $ getCommand "glGetCoverageModulationTableNV"
+
+-- glGetDebugMessageLog --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetDebugMessageLog.xhtml OpenGL 4.x>.
+glGetDebugMessageLog
+  :: MonadIO m
+  => GLuint -- ^ @count@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
+  -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m GLuint
+glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn325 ptr_glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glGetDebugMessageLog #-}
+ptr_glGetDebugMessageLog :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+ptr_glGetDebugMessageLog = unsafePerformIO $ getCommand "glGetDebugMessageLog"
+
+-- glGetDebugMessageLogAMD -----------------------------------------------------
+
+glGetDebugMessageLogAMD
+  :: MonadIO m
+  => GLuint -- ^ @count@.
+  -> GLsizei -- ^ @bufsize@.
+  -> Ptr GLenum -- ^ @categories@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLuint -- ^ @severities@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
+  -> Ptr GLchar -- ^ @message@ pointing to @bufsize@ elements of type @GLchar@.
+  -> m GLuint
+glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn326 ptr_glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetDebugMessageLogAMD #-}
+ptr_glGetDebugMessageLogAMD :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+ptr_glGetDebugMessageLogAMD = unsafePerformIO $ getCommand "glGetDebugMessageLogAMD"
+
+-- glGetDebugMessageLogARB -----------------------------------------------------
+
+-- | This command is an alias for 'glGetDebugMessageLog'.
+glGetDebugMessageLogARB
+  :: MonadIO m
+  => GLuint -- ^ @count@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
+  -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m GLuint
+glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn325 ptr_glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glGetDebugMessageLogARB #-}
+ptr_glGetDebugMessageLogARB :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+ptr_glGetDebugMessageLogARB = unsafePerformIO $ getCommand "glGetDebugMessageLogARB"
+
+-- glGetDebugMessageLogKHR -----------------------------------------------------
+
+-- | This command is an alias for 'glGetDebugMessageLog'.
+glGetDebugMessageLogKHR
+  :: MonadIO m
+  => GLuint -- ^ @count@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
+  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
+  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
+  -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m GLuint
+glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn325 ptr_glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glGetDebugMessageLogKHR #-}
+ptr_glGetDebugMessageLogKHR :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
+ptr_glGetDebugMessageLogKHR = unsafePerformIO $ getCommand "glGetDebugMessageLogKHR"
+
+-- glGetDetailTexFuncSGIS ------------------------------------------------------
+
+glGetDetailTexFuncSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
+  -> m ()
+glGetDetailTexFuncSGIS v1 v2 = liftIO $ dyn93 ptr_glGetDetailTexFuncSGIS v1 v2
+
+{-# NOINLINE ptr_glGetDetailTexFuncSGIS #-}
+ptr_glGetDetailTexFuncSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetDetailTexFuncSGIS = unsafePerformIO $ getCommand "glGetDetailTexFuncSGIS"
+
+-- glGetDoubleIndexedvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glGetDoublei_v'.
+glGetDoubleIndexedvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
+  -> m ()
+glGetDoubleIndexedvEXT v1 v2 v3 = liftIO $ dyn327 ptr_glGetDoubleIndexedvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetDoubleIndexedvEXT #-}
+ptr_glGetDoubleIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glGetDoubleIndexedvEXT = unsafePerformIO $ getCommand "glGetDoubleIndexedvEXT"
+
+-- glGetDoublei_v --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetDoublei_v
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
+  -> m ()
+glGetDoublei_v v1 v2 v3 = liftIO $ dyn327 ptr_glGetDoublei_v v1 v2 v3
+
+{-# NOINLINE ptr_glGetDoublei_v #-}
+ptr_glGetDoublei_v :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glGetDoublei_v = unsafePerformIO $ getCommand "glGetDoublei_v"
+
+-- glGetDoublei_vEXT -----------------------------------------------------------
+
+-- | This command is an alias for 'glGetDoublei_v'.
+glGetDoublei_vEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetDoublei_vEXT v1 v2 v3 = liftIO $ dyn327 ptr_glGetDoublei_vEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetDoublei_vEXT #-}
+ptr_glGetDoublei_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glGetDoublei_vEXT = unsafePerformIO $ getCommand "glGetDoublei_vEXT"
+
+-- glGetDoublev ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetDoublev
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
+  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetDoublev v1 v2 = liftIO $ dyn92 ptr_glGetDoublev v1 v2
+
+{-# NOINLINE ptr_glGetDoublev #-}
+ptr_glGetDoublev :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetDoublev = unsafePerformIO $ getCommand "glGetDoublev"
+
+-- glGetDriverControlStringQCOM ------------------------------------------------
+
+glGetDriverControlStringQCOM
+  :: MonadIO m
+  => GLuint -- ^ @driverControl@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @driverControlString@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetDriverControlStringQCOM v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetDriverControlStringQCOM v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetDriverControlStringQCOM #-}
+ptr_glGetDriverControlStringQCOM :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetDriverControlStringQCOM = unsafePerformIO $ getCommand "glGetDriverControlStringQCOM"
+
+-- glGetDriverControlsQCOM -----------------------------------------------------
+
+glGetDriverControlsQCOM
+  :: MonadIO m
+  => Ptr GLint -- ^ @num@.
+  -> GLsizei -- ^ @size@.
+  -> Ptr GLuint -- ^ @driverControls@ pointing to @size@ elements of type @GLuint@.
+  -> m ()
+glGetDriverControlsQCOM v1 v2 v3 = liftIO $ dyn329 ptr_glGetDriverControlsQCOM v1 v2 v3
+
+{-# NOINLINE ptr_glGetDriverControlsQCOM #-}
+ptr_glGetDriverControlsQCOM :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetDriverControlsQCOM = unsafePerformIO $ getCommand "glGetDriverControlsQCOM"
+
+-- glGetError ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetError.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetError.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetError.xhtml OpenGL 4.x>.
+glGetError
+  :: MonadIO m
+  => m GLenum -- ^ of type [ErrorCode](Graphics-GL-Groups.html#ErrorCode).
+glGetError = liftIO $ dyn330 ptr_glGetError
+
+{-# NOINLINE ptr_glGetError #-}
+ptr_glGetError :: FunPtr (IO GLenum)
+ptr_glGetError = unsafePerformIO $ getCommand "glGetError"
+
+-- glGetFenceivNV --------------------------------------------------------------
+
+glGetFenceivNV
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> GLenum -- ^ @pname@ of type @FenceParameterNameNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFenceivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetFenceivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetFenceivNV #-}
+ptr_glGetFenceivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFenceivNV = unsafePerformIO $ getCommand "glGetFenceivNV"
+
+-- glGetFinalCombinerInputParameterfvNV ----------------------------------------
+
+glGetFinalCombinerInputParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @variable@ of type @CombinerVariableNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetFinalCombinerInputParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetFinalCombinerInputParameterfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetFinalCombinerInputParameterfvNV #-}
+ptr_glGetFinalCombinerInputParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetFinalCombinerInputParameterfvNV = unsafePerformIO $ getCommand "glGetFinalCombinerInputParameterfvNV"
+
+-- glGetFinalCombinerInputParameterivNV ----------------------------------------
+
+glGetFinalCombinerInputParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @variable@ of type @CombinerVariableNV@.
+  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFinalCombinerInputParameterivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetFinalCombinerInputParameterivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetFinalCombinerInputParameterivNV #-}
+ptr_glGetFinalCombinerInputParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFinalCombinerInputParameterivNV = unsafePerformIO $ getCommand "glGetFinalCombinerInputParameterivNV"
+
+-- glGetFirstPerfQueryIdINTEL --------------------------------------------------
+
+glGetFirstPerfQueryIdINTEL
+  :: MonadIO m
+  => Ptr GLuint -- ^ @queryId@.
+  -> m ()
+glGetFirstPerfQueryIdINTEL v1 = liftIO $ dyn102 ptr_glGetFirstPerfQueryIdINTEL v1
+
+{-# NOINLINE ptr_glGetFirstPerfQueryIdINTEL #-}
+ptr_glGetFirstPerfQueryIdINTEL :: FunPtr (Ptr GLuint -> IO ())
+ptr_glGetFirstPerfQueryIdINTEL = unsafePerformIO $ getCommand "glGetFirstPerfQueryIdINTEL"
+
+-- glGetFixedv -----------------------------------------------------------------
+
+glGetFixedv
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@.
+  -> m ()
+glGetFixedv v1 v2 = liftIO $ dyn94 ptr_glGetFixedv v1 v2
+
+{-# NOINLINE ptr_glGetFixedv #-}
+ptr_glGetFixedv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetFixedv = unsafePerformIO $ getCommand "glGetFixedv"
+
+-- glGetFixedvOES --------------------------------------------------------------
+
+glGetFixedvOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetFixedvOES v1 v2 = liftIO $ dyn94 ptr_glGetFixedvOES v1 v2
+
+{-# NOINLINE ptr_glGetFixedvOES #-}
+ptr_glGetFixedvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetFixedvOES = unsafePerformIO $ getCommand "glGetFixedvOES"
+
+-- glGetFloatIndexedvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glGetFloati_v'.
+glGetFloatIndexedvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
+  -> m ()
+glGetFloatIndexedvEXT v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloatIndexedvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetFloatIndexedvEXT #-}
+ptr_glGetFloatIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetFloatIndexedvEXT = unsafePerformIO $ getCommand "glGetFloatIndexedvEXT"
+
+-- glGetFloati_v ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetFloati_v
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
+  -> m ()
+glGetFloati_v v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloati_v v1 v2 v3
+
+{-# NOINLINE ptr_glGetFloati_v #-}
+ptr_glGetFloati_v :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetFloati_v = unsafePerformIO $ getCommand "glGetFloati_v"
+
+-- glGetFloati_vEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glGetFloati_v'.
+glGetFloati_vEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetFloati_vEXT v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloati_vEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetFloati_vEXT #-}
+ptr_glGetFloati_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetFloati_vEXT = unsafePerformIO $ getCommand "glGetFloati_vEXT"
+
+-- glGetFloati_vNV -------------------------------------------------------------
+
+-- | This command is an alias for 'glGetFloati_v'.
+glGetFloati_vNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
+  -> m ()
+glGetFloati_vNV v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloati_vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetFloati_vNV #-}
+ptr_glGetFloati_vNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetFloati_vNV = unsafePerformIO $ getCommand "glGetFloati_vNV"
+
+-- glGetFloatv -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetFloatv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
+  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetFloatv v1 v2 = liftIO $ dyn93 ptr_glGetFloatv v1 v2
+
+{-# NOINLINE ptr_glGetFloatv #-}
+ptr_glGetFloatv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetFloatv = unsafePerformIO $ getCommand "glGetFloatv"
+
+-- glGetFogFuncSGIS ------------------------------------------------------------
+
+glGetFogFuncSGIS
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE()@ elements of type @GLfloat@.
+  -> m ()
+glGetFogFuncSGIS v1 = liftIO $ dyn41 ptr_glGetFogFuncSGIS v1
+
+{-# NOINLINE ptr_glGetFogFuncSGIS #-}
+ptr_glGetFogFuncSGIS :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glGetFogFuncSGIS = unsafePerformIO $ getCommand "glGetFogFuncSGIS"
+
+-- glGetFragDataIndex ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataIndex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFragDataIndex.xhtml OpenGL 4.x>.
+glGetFragDataIndex
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m GLint
+glGetFragDataIndex v1 v2 = liftIO $ dyn307 ptr_glGetFragDataIndex v1 v2
+
+{-# NOINLINE ptr_glGetFragDataIndex #-}
+ptr_glGetFragDataIndex :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetFragDataIndex = unsafePerformIO $ getCommand "glGetFragDataIndex"
+
+-- glGetFragDataIndexEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glGetFragDataIndex'.
+glGetFragDataIndexEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m GLint
+glGetFragDataIndexEXT v1 v2 = liftIO $ dyn307 ptr_glGetFragDataIndexEXT v1 v2
+
+{-# NOINLINE ptr_glGetFragDataIndexEXT #-}
+ptr_glGetFragDataIndexEXT :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetFragDataIndexEXT = unsafePerformIO $ getCommand "glGetFragDataIndexEXT"
+
+-- glGetFragDataLocation -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFragDataLocation.xhtml OpenGL 4.x>.
+glGetFragDataLocation
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLint
+glGetFragDataLocation v1 v2 = liftIO $ dyn307 ptr_glGetFragDataLocation v1 v2
+
+{-# NOINLINE ptr_glGetFragDataLocation #-}
+ptr_glGetFragDataLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetFragDataLocation = unsafePerformIO $ getCommand "glGetFragDataLocation"
+
+-- glGetFragDataLocationEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glGetFragDataLocation'.
+glGetFragDataLocationEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLint
+glGetFragDataLocationEXT v1 v2 = liftIO $ dyn307 ptr_glGetFragDataLocationEXT v1 v2
+
+{-# NOINLINE ptr_glGetFragDataLocationEXT #-}
+ptr_glGetFragDataLocationEXT :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetFragDataLocationEXT = unsafePerformIO $ getCommand "glGetFragDataLocationEXT"
+
+-- glGetFragmentLightfvSGIX ----------------------------------------------------
+
+glGetFragmentLightfvSGIX
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
+  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetFragmentLightfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glGetFragmentLightfvSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glGetFragmentLightfvSGIX #-}
+ptr_glGetFragmentLightfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetFragmentLightfvSGIX = unsafePerformIO $ getCommand "glGetFragmentLightfvSGIX"
+
+-- glGetFragmentLightivSGIX ----------------------------------------------------
+
+glGetFragmentLightivSGIX
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
+  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFragmentLightivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glGetFragmentLightivSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glGetFragmentLightivSGIX #-}
+ptr_glGetFragmentLightivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFragmentLightivSGIX = unsafePerformIO $ getCommand "glGetFragmentLightivSGIX"
+
+-- glGetFragmentMaterialfvSGIX -------------------------------------------------
+
+glGetFragmentMaterialfvSGIX
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetFragmentMaterialfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glGetFragmentMaterialfvSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glGetFragmentMaterialfvSGIX #-}
+ptr_glGetFragmentMaterialfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetFragmentMaterialfvSGIX = unsafePerformIO $ getCommand "glGetFragmentMaterialfvSGIX"
+
+-- glGetFragmentMaterialivSGIX -------------------------------------------------
+
+glGetFragmentMaterialivSGIX
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFragmentMaterialivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glGetFragmentMaterialivSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glGetFragmentMaterialivSGIX #-}
+ptr_glGetFragmentMaterialivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFragmentMaterialivSGIX = unsafePerformIO $ getCommand "glGetFragmentMaterialivSGIX"
+
+-- glGetFramebufferAttachmentParameteriv ---------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFramebufferAttachmentParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml OpenGL 4.x>.
+glGetFramebufferAttachmentParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetFramebufferAttachmentParameteriv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetFramebufferAttachmentParameteriv #-}
+ptr_glGetFramebufferAttachmentParameteriv :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFramebufferAttachmentParameteriv = unsafePerformIO $ getCommand "glGetFramebufferAttachmentParameteriv"
+
+-- glGetFramebufferAttachmentParameterivEXT ------------------------------------
+
+-- | This command is an alias for 'glGetFramebufferAttachmentParameteriv'.
+glGetFramebufferAttachmentParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @FramebufferTarget@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetFramebufferAttachmentParameterivEXT #-}
+ptr_glGetFramebufferAttachmentParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFramebufferAttachmentParameterivEXT = unsafePerformIO $ getCommand "glGetFramebufferAttachmentParameterivEXT"
+
+-- glGetFramebufferAttachmentParameterivOES ------------------------------------
+
+glGetFramebufferAttachmentParameterivOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetFramebufferAttachmentParameterivOES #-}
+ptr_glGetFramebufferAttachmentParameterivOES :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFramebufferAttachmentParameterivOES = unsafePerformIO $ getCommand "glGetFramebufferAttachmentParameterivOES"
+
+-- glGetFramebufferParameteriv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferParameter.xhtml OpenGL 4.x>.
+glGetFramebufferParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFramebufferParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetFramebufferParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetFramebufferParameteriv #-}
+ptr_glGetFramebufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFramebufferParameteriv = unsafePerformIO $ getCommand "glGetFramebufferParameteriv"
+
+-- glGetFramebufferParameterivEXT ----------------------------------------------
+
+glGetFramebufferParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @pname@ of type @GetFramebufferParameter@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetFramebufferParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetFramebufferParameterivEXT #-}
+ptr_glGetFramebufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetFramebufferParameterivEXT = unsafePerformIO $ getCommand "glGetFramebufferParameterivEXT"
+
+-- glGetGraphicsResetStatus ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetGraphicsResetStatus.xhtml OpenGL 4.x>.
+glGetGraphicsResetStatus
+  :: MonadIO m
+  => m GLenum
+glGetGraphicsResetStatus = liftIO $ dyn330 ptr_glGetGraphicsResetStatus
+
+{-# NOINLINE ptr_glGetGraphicsResetStatus #-}
+ptr_glGetGraphicsResetStatus :: FunPtr (IO GLenum)
+ptr_glGetGraphicsResetStatus = unsafePerformIO $ getCommand "glGetGraphicsResetStatus"
+
+-- glGetGraphicsResetStatusARB -------------------------------------------------
+
+glGetGraphicsResetStatusARB
+  :: MonadIO m
+  => m GLenum
+glGetGraphicsResetStatusARB = liftIO $ dyn330 ptr_glGetGraphicsResetStatusARB
+
+{-# NOINLINE ptr_glGetGraphicsResetStatusARB #-}
+ptr_glGetGraphicsResetStatusARB :: FunPtr (IO GLenum)
+ptr_glGetGraphicsResetStatusARB = unsafePerformIO $ getCommand "glGetGraphicsResetStatusARB"
+
+-- glGetGraphicsResetStatusEXT -------------------------------------------------
+
+glGetGraphicsResetStatusEXT
+  :: MonadIO m
+  => m GLenum
+glGetGraphicsResetStatusEXT = liftIO $ dyn330 ptr_glGetGraphicsResetStatusEXT
+
+{-# NOINLINE ptr_glGetGraphicsResetStatusEXT #-}
+ptr_glGetGraphicsResetStatusEXT :: FunPtr (IO GLenum)
+ptr_glGetGraphicsResetStatusEXT = unsafePerformIO $ getCommand "glGetGraphicsResetStatusEXT"
+
+-- glGetGraphicsResetStatusKHR -------------------------------------------------
+
+-- | This command is an alias for 'glGetGraphicsResetStatus'.
+glGetGraphicsResetStatusKHR
+  :: MonadIO m
+  => m GLenum
+glGetGraphicsResetStatusKHR = liftIO $ dyn330 ptr_glGetGraphicsResetStatusKHR
+
+{-# NOINLINE ptr_glGetGraphicsResetStatusKHR #-}
+ptr_glGetGraphicsResetStatusKHR :: FunPtr (IO GLenum)
+ptr_glGetGraphicsResetStatusKHR = unsafePerformIO $ getCommand "glGetGraphicsResetStatusKHR"
+
+-- glGetHandleARB --------------------------------------------------------------
+
+glGetHandleARB
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> m GLhandleARB -- ^ of type @handleARB@.
+glGetHandleARB v1 = liftIO $ dyn197 ptr_glGetHandleARB v1
+
+{-# NOINLINE ptr_glGetHandleARB #-}
+ptr_glGetHandleARB :: FunPtr (GLenum -> IO GLhandleARB)
+ptr_glGetHandleARB = unsafePerformIO $ getCommand "glGetHandleARB"
+
+-- glGetHistogram --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogram.xml OpenGL 2.x>.
+glGetHistogram
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetHistogram v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetHistogram v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetHistogram #-}
+ptr_glGetHistogram :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetHistogram = unsafePerformIO $ getCommand "glGetHistogram"
+
+-- glGetHistogramEXT -----------------------------------------------------------
+
+glGetHistogramEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetHistogramEXT v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetHistogramEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetHistogramEXT #-}
+ptr_glGetHistogramEXT :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetHistogramEXT = unsafePerformIO $ getCommand "glGetHistogramEXT"
+
+-- glGetHistogramParameterfv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
+glGetHistogramParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  -> GLenum -- ^ @pname@ of type @GetHistogramParameterPName@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetHistogramParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetHistogramParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetHistogramParameterfv #-}
+ptr_glGetHistogramParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetHistogramParameterfv = unsafePerformIO $ getCommand "glGetHistogramParameterfv"
+
+-- glGetHistogramParameterfvEXT ------------------------------------------------
+
+glGetHistogramParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetHistogramParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetHistogramParameterfvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetHistogramParameterfvEXT #-}
+ptr_glGetHistogramParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetHistogramParameterfvEXT = unsafePerformIO $ getCommand "glGetHistogramParameterfvEXT"
+
+-- glGetHistogramParameteriv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
+glGetHistogramParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  -> GLenum -- ^ @pname@ of type @GetHistogramParameterPName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetHistogramParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetHistogramParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetHistogramParameteriv #-}
+ptr_glGetHistogramParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetHistogramParameteriv = unsafePerformIO $ getCommand "glGetHistogramParameteriv"
+
+-- glGetHistogramParameterivEXT ------------------------------------------------
+
+glGetHistogramParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-GL-Groups.html#GetHistogramParameterPNameEXT).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetHistogramParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetHistogramParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetHistogramParameterivEXT #-}
+ptr_glGetHistogramParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetHistogramParameterivEXT = unsafePerformIO $ getCommand "glGetHistogramParameterivEXT"
+
+-- glGetHistogramParameterxvOES ------------------------------------------------
+
+glGetHistogramParameterxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetHistogramParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetHistogramParameterxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetHistogramParameterxvOES #-}
+ptr_glGetHistogramParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetHistogramParameterxvOES = unsafePerformIO $ getCommand "glGetHistogramParameterxvOES"
+
+-- glGetImageHandleARB ---------------------------------------------------------
+
+glGetImageHandleARB
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLboolean -- ^ @layered@.
+  -> GLint -- ^ @layer@.
+  -> GLenum -- ^ @format@.
+  -> m GLuint64
+glGetImageHandleARB v1 v2 v3 v4 v5 = liftIO $ dyn333 ptr_glGetImageHandleARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetImageHandleARB #-}
+ptr_glGetImageHandleARB :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
+ptr_glGetImageHandleARB = unsafePerformIO $ getCommand "glGetImageHandleARB"
+
+-- glGetImageHandleNV ----------------------------------------------------------
+
+glGetImageHandleNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLint -- ^ @layer@.
+  -> GLenum -- ^ @format@.
+  -> m GLuint64
+glGetImageHandleNV v1 v2 v3 v4 v5 = liftIO $ dyn333 ptr_glGetImageHandleNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetImageHandleNV #-}
+ptr_glGetImageHandleNV :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
+ptr_glGetImageHandleNV = unsafePerformIO $ getCommand "glGetImageHandleNV"
+
+-- glGetImageTransformParameterfvHP --------------------------------------------
+
+glGetImageTransformParameterfvHP
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
+  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetImageTransformParameterfvHP v1 v2 v3 = liftIO $ dyn131 ptr_glGetImageTransformParameterfvHP v1 v2 v3
+
+{-# NOINLINE ptr_glGetImageTransformParameterfvHP #-}
+ptr_glGetImageTransformParameterfvHP :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetImageTransformParameterfvHP = unsafePerformIO $ getCommand "glGetImageTransformParameterfvHP"
+
+-- glGetImageTransformParameterivHP --------------------------------------------
+
+glGetImageTransformParameterivHP
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
+  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetImageTransformParameterivHP v1 v2 v3 = liftIO $ dyn132 ptr_glGetImageTransformParameterivHP v1 v2 v3
+
+{-# NOINLINE ptr_glGetImageTransformParameterivHP #-}
+ptr_glGetImageTransformParameterivHP :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetImageTransformParameterivHP = unsafePerformIO $ getCommand "glGetImageTransformParameterivHP"
+
+-- glGetInfoLogARB -------------------------------------------------------------
+
+glGetInfoLogARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @obj@ of type @handleARB@.
+  -> GLsizei -- ^ @maxLength@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLcharARB -- ^ @infoLog@ pointing to @maxLength@ elements of type @GLcharARB@.
+  -> m ()
+glGetInfoLogARB v1 v2 v3 v4 = liftIO $ dyn334 ptr_glGetInfoLogARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetInfoLogARB #-}
+ptr_glGetInfoLogARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
+ptr_glGetInfoLogARB = unsafePerformIO $ getCommand "glGetInfoLogARB"
+
+-- glGetInstrumentsSGIX --------------------------------------------------------
+
+glGetInstrumentsSGIX
+  :: MonadIO m
+  => m GLint
+glGetInstrumentsSGIX = liftIO $ dyn335 ptr_glGetInstrumentsSGIX
+
+{-# NOINLINE ptr_glGetInstrumentsSGIX #-}
+ptr_glGetInstrumentsSGIX :: FunPtr (IO GLint)
+ptr_glGetInstrumentsSGIX = unsafePerformIO $ getCommand "glGetInstrumentsSGIX"
+
+-- glGetInteger64i_v -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetInteger64i_v
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint64@.
+  -> m ()
+glGetInteger64i_v v1 v2 v3 = liftIO $ dyn336 ptr_glGetInteger64i_v v1 v2 v3
+
+{-# NOINLINE ptr_glGetInteger64i_v #-}
+ptr_glGetInteger64i_v :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
+ptr_glGetInteger64i_v = unsafePerformIO $ getCommand "glGetInteger64i_v"
+
+-- glGetInteger64v -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetInteger64v
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
+  -> m ()
+glGetInteger64v v1 v2 = liftIO $ dyn337 ptr_glGetInteger64v v1 v2
+
+{-# NOINLINE ptr_glGetInteger64v #-}
+ptr_glGetInteger64v :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
+ptr_glGetInteger64v = unsafePerformIO $ getCommand "glGetInteger64v"
+
+-- glGetInteger64vAPPLE --------------------------------------------------------
+
+-- | This command is an alias for 'glGetInteger64v'.
+glGetInteger64vAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLint64 -- ^ @params@.
+  -> m ()
+glGetInteger64vAPPLE v1 v2 = liftIO $ dyn337 ptr_glGetInteger64vAPPLE v1 v2
+
+{-# NOINLINE ptr_glGetInteger64vAPPLE #-}
+ptr_glGetInteger64vAPPLE :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
+ptr_glGetInteger64vAPPLE = unsafePerformIO $ getCommand "glGetInteger64vAPPLE"
+
+-- glGetIntegerIndexedvEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glGetIntegeri_v'.
+glGetIntegerIndexedvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
+  -> m ()
+glGetIntegerIndexedvEXT v1 v2 v3 = liftIO $ dyn338 ptr_glGetIntegerIndexedvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetIntegerIndexedvEXT #-}
+ptr_glGetIntegerIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetIntegerIndexedvEXT = unsafePerformIO $ getCommand "glGetIntegerIndexedvEXT"
+
+-- glGetIntegeri_v -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetIntegeri_v
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
+  -> m ()
+glGetIntegeri_v v1 v2 v3 = liftIO $ dyn338 ptr_glGetIntegeri_v v1 v2 v3
+
+{-# NOINLINE ptr_glGetIntegeri_v #-}
+ptr_glGetIntegeri_v :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetIntegeri_v = unsafePerformIO $ getCommand "glGetIntegeri_v"
+
+-- glGetIntegeri_vEXT ----------------------------------------------------------
+
+glGetIntegeri_vEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @data@.
+  -> m ()
+glGetIntegeri_vEXT v1 v2 v3 = liftIO $ dyn338 ptr_glGetIntegeri_vEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetIntegeri_vEXT #-}
+ptr_glGetIntegeri_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetIntegeri_vEXT = unsafePerformIO $ getCommand "glGetIntegeri_vEXT"
+
+-- glGetIntegerui64i_vNV -------------------------------------------------------
+
+glGetIntegerui64i_vNV
+  :: MonadIO m
+  => GLenum -- ^ @value@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
+  -> m ()
+glGetIntegerui64i_vNV v1 v2 v3 = liftIO $ dyn339 ptr_glGetIntegerui64i_vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetIntegerui64i_vNV #-}
+ptr_glGetIntegerui64i_vNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
+ptr_glGetIntegerui64i_vNV = unsafePerformIO $ getCommand "glGetIntegerui64i_vNV"
+
+-- glGetIntegerui64vNV ---------------------------------------------------------
+
+glGetIntegerui64vNV
+  :: MonadIO m
+  => GLenum -- ^ @value@.
+  -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
+  -> m ()
+glGetIntegerui64vNV v1 v2 = liftIO $ dyn340 ptr_glGetIntegerui64vNV v1 v2
+
+{-# NOINLINE ptr_glGetIntegerui64vNV #-}
+ptr_glGetIntegerui64vNV :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
+ptr_glGetIntegerui64vNV = unsafePerformIO $ getCommand "glGetIntegerui64vNV"
+
+-- glGetIntegerv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
+glGetIntegerv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [GetPName](Graphics-GL-Groups.html#GetPName).
+  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetIntegerv v1 v2 = liftIO $ dyn135 ptr_glGetIntegerv v1 v2
+
+{-# NOINLINE ptr_glGetIntegerv #-}
+ptr_glGetIntegerv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glGetIntegerv = unsafePerformIO $ getCommand "glGetIntegerv"
+
+-- glGetInternalformatSampleivNV -----------------------------------------------
+
+glGetInternalformatSampleivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @pname@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn341 ptr_glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetInternalformatSampleivNV #-}
+ptr_glGetInternalformatSampleivNV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetInternalformatSampleivNV = unsafePerformIO $ getCommand "glGetInternalformatSampleivNV"
+
+-- glGetInternalformati64v -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
+glGetInternalformati64v
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @pname@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint64 -- ^ @params@ pointing to @bufSize@ elements of type @GLint64@.
+  -> m ()
+glGetInternalformati64v v1 v2 v3 v4 v5 = liftIO $ dyn342 ptr_glGetInternalformati64v v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetInternalformati64v #-}
+ptr_glGetInternalformati64v :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glGetInternalformati64v = unsafePerformIO $ getCommand "glGetInternalformati64v"
+
+-- glGetInternalformativ -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
+glGetInternalformativ
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLenum -- ^ @pname@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetInternalformativ v1 v2 v3 v4 v5 = liftIO $ dyn343 ptr_glGetInternalformativ v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetInternalformativ #-}
+ptr_glGetInternalformativ :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetInternalformativ = unsafePerformIO $ getCommand "glGetInternalformativ"
+
+-- glGetInvariantBooleanvEXT ---------------------------------------------------
+
+glGetInvariantBooleanvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glGetInvariantBooleanvEXT v1 v2 v3 = liftIO $ dyn344 ptr_glGetInvariantBooleanvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetInvariantBooleanvEXT #-}
+ptr_glGetInvariantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
+ptr_glGetInvariantBooleanvEXT = unsafePerformIO $ getCommand "glGetInvariantBooleanvEXT"
+
+-- glGetInvariantFloatvEXT -----------------------------------------------------
+
+glGetInvariantFloatvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
+  -> m ()
+glGetInvariantFloatvEXT v1 v2 v3 = liftIO $ dyn345 ptr_glGetInvariantFloatvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetInvariantFloatvEXT #-}
+ptr_glGetInvariantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetInvariantFloatvEXT = unsafePerformIO $ getCommand "glGetInvariantFloatvEXT"
+
+-- glGetInvariantIntegervEXT ---------------------------------------------------
+
+glGetInvariantIntegervEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
+  -> m ()
+glGetInvariantIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetInvariantIntegervEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetInvariantIntegervEXT #-}
+ptr_glGetInvariantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetInvariantIntegervEXT = unsafePerformIO $ getCommand "glGetInvariantIntegervEXT"
+
+-- glGetLightfv ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetLight.xml OpenGL 2.x>.
+glGetLightfv
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetLightfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetLightfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetLightfv #-}
+ptr_glGetLightfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetLightfv = unsafePerformIO $ getCommand "glGetLightfv"
+
+-- glGetLightiv ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetLight.xml OpenGL 2.x>.
+glGetLightiv
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetLightiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetLightiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetLightiv #-}
+ptr_glGetLightiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetLightiv = unsafePerformIO $ getCommand "glGetLightiv"
+
+-- glGetLightxOES --------------------------------------------------------------
+
+glGetLightxOES
+  :: MonadIO m
+  => GLenum -- ^ @light@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetLightxOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetLightxOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetLightxOES #-}
+ptr_glGetLightxOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetLightxOES = unsafePerformIO $ getCommand "glGetLightxOES"
+
+-- glGetLightxv ----------------------------------------------------------------
+
+glGetLightxv
+  :: MonadIO m
+  => GLenum -- ^ @light@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetLightxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetLightxv v1 v2 v3
+
+{-# NOINLINE ptr_glGetLightxv #-}
+ptr_glGetLightxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetLightxv = unsafePerformIO $ getCommand "glGetLightxv"
+
+-- glGetLightxvOES -------------------------------------------------------------
+
+glGetLightxvOES
+  :: MonadIO m
+  => GLenum -- ^ @light@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetLightxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetLightxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetLightxvOES #-}
+ptr_glGetLightxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetLightxvOES = unsafePerformIO $ getCommand "glGetLightxvOES"
+
+-- glGetListParameterfvSGIX ----------------------------------------------------
+
+glGetListParameterfvSGIX
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glGetListParameterfvSGIX v1 v2 v3 = liftIO $ dyn345 ptr_glGetListParameterfvSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glGetListParameterfvSGIX #-}
+ptr_glGetListParameterfvSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetListParameterfvSGIX = unsafePerformIO $ getCommand "glGetListParameterfvSGIX"
+
+-- glGetListParameterivSGIX ----------------------------------------------------
+
+glGetListParameterivSGIX
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glGetListParameterivSGIX v1 v2 v3 = liftIO $ dyn331 ptr_glGetListParameterivSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glGetListParameterivSGIX #-}
+ptr_glGetListParameterivSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetListParameterivSGIX = unsafePerformIO $ getCommand "glGetListParameterivSGIX"
+
+-- glGetLocalConstantBooleanvEXT -----------------------------------------------
+
+glGetLocalConstantBooleanvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glGetLocalConstantBooleanvEXT v1 v2 v3 = liftIO $ dyn344 ptr_glGetLocalConstantBooleanvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetLocalConstantBooleanvEXT #-}
+ptr_glGetLocalConstantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
+ptr_glGetLocalConstantBooleanvEXT = unsafePerformIO $ getCommand "glGetLocalConstantBooleanvEXT"
+
+-- glGetLocalConstantFloatvEXT -------------------------------------------------
+
+glGetLocalConstantFloatvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
+  -> m ()
+glGetLocalConstantFloatvEXT v1 v2 v3 = liftIO $ dyn345 ptr_glGetLocalConstantFloatvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetLocalConstantFloatvEXT #-}
+ptr_glGetLocalConstantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetLocalConstantFloatvEXT = unsafePerformIO $ getCommand "glGetLocalConstantFloatvEXT"
+
+-- glGetLocalConstantIntegervEXT -----------------------------------------------
+
+glGetLocalConstantIntegervEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
+  -> m ()
+glGetLocalConstantIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetLocalConstantIntegervEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetLocalConstantIntegervEXT #-}
+ptr_glGetLocalConstantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetLocalConstantIntegervEXT = unsafePerformIO $ getCommand "glGetLocalConstantIntegervEXT"
+
+-- glGetMapAttribParameterfvNV -------------------------------------------------
+
+glGetMapAttribParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @MapAttribParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMapAttribParameterfvNV v1 v2 v3 v4 = liftIO $ dyn346 ptr_glGetMapAttribParameterfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMapAttribParameterfvNV #-}
+ptr_glGetMapAttribParameterfvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMapAttribParameterfvNV = unsafePerformIO $ getCommand "glGetMapAttribParameterfvNV"
+
+-- glGetMapAttribParameterivNV -------------------------------------------------
+
+glGetMapAttribParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @MapAttribParameterNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMapAttribParameterivNV v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetMapAttribParameterivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMapAttribParameterivNV #-}
+ptr_glGetMapAttribParameterivNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMapAttribParameterivNV = unsafePerformIO $ getCommand "glGetMapAttribParameterivNV"
+
+-- glGetMapControlPointsNV -----------------------------------------------------
+
+glGetMapControlPointsNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@ of type @MapTypeNV@.
+  -> GLsizei -- ^ @ustride@.
+  -> GLsizei -- ^ @vstride@.
+  -> GLboolean -- ^ @packed@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr a -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @a@.
+  -> m ()
+glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn348 ptr_glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetMapControlPointsNV #-}
+ptr_glGetMapControlPointsNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ())
+ptr_glGetMapControlPointsNV = unsafePerformIO $ getCommand "glGetMapControlPointsNV"
+
+-- glGetMapParameterfvNV -------------------------------------------------------
+
+glGetMapParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMapParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetMapParameterfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetMapParameterfvNV #-}
+ptr_glGetMapParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMapParameterfvNV = unsafePerformIO $ getCommand "glGetMapParameterfvNV"
+
+-- glGetMapParameterivNV -------------------------------------------------------
+
+glGetMapParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @GLint@.
+  -> m ()
+glGetMapParameterivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetMapParameterivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetMapParameterivNV #-}
+ptr_glGetMapParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMapParameterivNV = unsafePerformIO $ getCommand "glGetMapParameterivNV"
+
+-- glGetMapdv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
+glGetMapdv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
+  -> Ptr GLdouble -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLdouble@.
+  -> m ()
+glGetMapdv v1 v2 v3 = liftIO $ dyn349 ptr_glGetMapdv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMapdv #-}
+ptr_glGetMapdv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetMapdv = unsafePerformIO $ getCommand "glGetMapdv"
+
+-- glGetMapfv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
+glGetMapfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
+  -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLfloat@.
+  -> m ()
+glGetMapfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetMapfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMapfv #-}
+ptr_glGetMapfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMapfv = unsafePerformIO $ getCommand "glGetMapfv"
+
+-- glGetMapiv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
+glGetMapiv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-GL-Groups.html#GetMapQuery).
+  -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLint@.
+  -> m ()
+glGetMapiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetMapiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMapiv #-}
+ptr_glGetMapiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMapiv = unsafePerformIO $ getCommand "glGetMapiv"
+
+-- glGetMapxvOES ---------------------------------------------------------------
+
+glGetMapxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @query@.
+  -> Ptr GLfixed -- ^ @v@ pointing to @COMPSIZE(query)@ elements of type @GLfixed@.
+  -> m ()
+glGetMapxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetMapxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetMapxvOES #-}
+ptr_glGetMapxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetMapxvOES = unsafePerformIO $ getCommand "glGetMapxvOES"
+
+-- glGetMaterialfv -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMaterial.xml OpenGL 2.x>.
+glGetMaterialfv
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMaterialfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetMaterialfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMaterialfv #-}
+ptr_glGetMaterialfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMaterialfv = unsafePerformIO $ getCommand "glGetMaterialfv"
+
+-- glGetMaterialiv -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMaterial.xml OpenGL 2.x>.
+glGetMaterialiv
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMaterialiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetMaterialiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMaterialiv #-}
+ptr_glGetMaterialiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMaterialiv = unsafePerformIO $ getCommand "glGetMaterialiv"
+
+-- glGetMaterialxOES -----------------------------------------------------------
+
+glGetMaterialxOES
+  :: MonadIO m
+  => GLenum -- ^ @face@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glGetMaterialxOES v1 v2 v3 = liftIO $ dyn161 ptr_glGetMaterialxOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetMaterialxOES #-}
+ptr_glGetMaterialxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glGetMaterialxOES = unsafePerformIO $ getCommand "glGetMaterialxOES"
+
+-- glGetMaterialxv -------------------------------------------------------------
+
+glGetMaterialxv
+  :: MonadIO m
+  => GLenum -- ^ @face@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetMaterialxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetMaterialxv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMaterialxv #-}
+ptr_glGetMaterialxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetMaterialxv = unsafePerformIO $ getCommand "glGetMaterialxv"
+
+-- glGetMaterialxvOES ----------------------------------------------------------
+
+glGetMaterialxvOES
+  :: MonadIO m
+  => GLenum -- ^ @face@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetMaterialxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetMaterialxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetMaterialxvOES #-}
+ptr_glGetMaterialxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetMaterialxvOES = unsafePerformIO $ getCommand "glGetMaterialxvOES"
+
+-- glGetMinmax -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmax.xml OpenGL 2.x>.
+glGetMinmax
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetMinmax v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetMinmax v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetMinmax #-}
+ptr_glGetMinmax :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetMinmax = unsafePerformIO $ getCommand "glGetMinmax"
+
+-- glGetMinmaxEXT --------------------------------------------------------------
+
+glGetMinmaxEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> m ()
+glGetMinmaxEXT v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetMinmaxEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetMinmaxEXT #-}
+ptr_glGetMinmaxEXT :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetMinmaxEXT = unsafePerformIO $ getCommand "glGetMinmaxEXT"
+
+-- glGetMinmaxParameterfv ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmaxParameter.xml OpenGL 2.x>.
+glGetMinmaxParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  -> GLenum -- ^ @pname@ of type @GetMinmaxParameterPName@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMinmaxParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetMinmaxParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMinmaxParameterfv #-}
+ptr_glGetMinmaxParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMinmaxParameterfv = unsafePerformIO $ getCommand "glGetMinmaxParameterfv"
+
+-- glGetMinmaxParameterfvEXT ---------------------------------------------------
+
+glGetMinmaxParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetMinmaxParameterPNameEXT](Graphics-GL-Groups.html#GetMinmaxParameterPNameEXT).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMinmaxParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetMinmaxParameterfvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetMinmaxParameterfvEXT #-}
+ptr_glGetMinmaxParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMinmaxParameterfvEXT = unsafePerformIO $ getCommand "glGetMinmaxParameterfvEXT"
+
+-- glGetMinmaxParameteriv ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmaxParameter.xml OpenGL 2.x>.
+glGetMinmaxParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  -> GLenum -- ^ @pname@ of type @GetMinmaxParameterPName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMinmaxParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetMinmaxParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMinmaxParameteriv #-}
+ptr_glGetMinmaxParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMinmaxParameteriv = unsafePerformIO $ getCommand "glGetMinmaxParameteriv"
+
+-- glGetMinmaxParameterivEXT ---------------------------------------------------
+
+glGetMinmaxParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> GLenum -- ^ @pname@ of type [GetMinmaxParameterPNameEXT](Graphics-GL-Groups.html#GetMinmaxParameterPNameEXT).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMinmaxParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetMinmaxParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetMinmaxParameterivEXT #-}
+ptr_glGetMinmaxParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMinmaxParameterivEXT = unsafePerformIO $ getCommand "glGetMinmaxParameterivEXT"
+
+-- glGetMultiTexEnvfvEXT -------------------------------------------------------
+
+glGetMultiTexEnvfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetMultiTexEnvfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexEnvfvEXT #-}
+ptr_glGetMultiTexEnvfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMultiTexEnvfvEXT = unsafePerformIO $ getCommand "glGetMultiTexEnvfvEXT"
+
+-- glGetMultiTexEnvivEXT -------------------------------------------------------
+
+glGetMultiTexEnvivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexEnvivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexEnvivEXT #-}
+ptr_glGetMultiTexEnvivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMultiTexEnvivEXT = unsafePerformIO $ getCommand "glGetMultiTexEnvivEXT"
+
+-- glGetMultiTexGendvEXT -------------------------------------------------------
+
+glGetMultiTexGendvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn350 ptr_glGetMultiTexGendvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexGendvEXT #-}
+ptr_glGetMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetMultiTexGendvEXT = unsafePerformIO $ getCommand "glGetMultiTexGendvEXT"
+
+-- glGetMultiTexGenfvEXT -------------------------------------------------------
+
+glGetMultiTexGenfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetMultiTexGenfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexGenfvEXT #-}
+ptr_glGetMultiTexGenfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMultiTexGenfvEXT = unsafePerformIO $ getCommand "glGetMultiTexGenfvEXT"
+
+-- glGetMultiTexGenivEXT -------------------------------------------------------
+
+glGetMultiTexGenivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexGenivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexGenivEXT #-}
+ptr_glGetMultiTexGenivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMultiTexGenivEXT = unsafePerformIO $ getCommand "glGetMultiTexGenivEXT"
+
+-- glGetMultiTexImageEXT -------------------------------------------------------
+
+glGetMultiTexImageEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
+  -> m ()
+glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn351 ptr_glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetMultiTexImageEXT #-}
+ptr_glGetMultiTexImageEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetMultiTexImageEXT = unsafePerformIO $ getCommand "glGetMultiTexImageEXT"
+
+-- glGetMultiTexLevelParameterfvEXT --------------------------------------------
+
+glGetMultiTexLevelParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn352 ptr_glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetMultiTexLevelParameterfvEXT #-}
+ptr_glGetMultiTexLevelParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMultiTexLevelParameterfvEXT = unsafePerformIO $ getCommand "glGetMultiTexLevelParameterfvEXT"
+
+-- glGetMultiTexLevelParameterivEXT --------------------------------------------
+
+glGetMultiTexLevelParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn353 ptr_glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetMultiTexLevelParameterivEXT #-}
+ptr_glGetMultiTexLevelParameterivEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMultiTexLevelParameterivEXT = unsafePerformIO $ getCommand "glGetMultiTexLevelParameterivEXT"
+
+-- glGetMultiTexParameterIivEXT ------------------------------------------------
+
+glGetMultiTexParameterIivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexParameterIivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexParameterIivEXT #-}
+ptr_glGetMultiTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMultiTexParameterIivEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterIivEXT"
+
+-- glGetMultiTexParameterIuivEXT -----------------------------------------------
+
+glGetMultiTexParameterIuivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn354 ptr_glGetMultiTexParameterIuivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexParameterIuivEXT #-}
+ptr_glGetMultiTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetMultiTexParameterIuivEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterIuivEXT"
+
+-- glGetMultiTexParameterfvEXT -------------------------------------------------
+
+glGetMultiTexParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetMultiTexParameterfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexParameterfvEXT #-}
+ptr_glGetMultiTexParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetMultiTexParameterfvEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterfvEXT"
+
+-- glGetMultiTexParameterivEXT -------------------------------------------------
+
+glGetMultiTexParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexParameterivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetMultiTexParameterivEXT #-}
+ptr_glGetMultiTexParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetMultiTexParameterivEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterivEXT"
+
+-- glGetMultisamplefv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetMultisample.xhtml OpenGL 4.x>.
+glGetMultisamplefv
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @val@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetMultisamplefv v1 v2 v3 = liftIO $ dyn266 ptr_glGetMultisamplefv v1 v2 v3
+
+{-# NOINLINE ptr_glGetMultisamplefv #-}
+ptr_glGetMultisamplefv :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetMultisamplefv = unsafePerformIO $ getCommand "glGetMultisamplefv"
+
+-- glGetMultisamplefvNV --------------------------------------------------------
+
+-- | This command is an alias for 'glGetMultisamplefv'.
+glGetMultisamplefvNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @GetMultisamplePNameNV@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @val@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glGetMultisamplefvNV v1 v2 v3 = liftIO $ dyn266 ptr_glGetMultisamplefvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetMultisamplefvNV #-}
+ptr_glGetMultisamplefvNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetMultisamplefvNV = unsafePerformIO $ getCommand "glGetMultisamplefvNV"
+
+-- glGetNamedBufferParameteri64v -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
+glGetNamedBufferParameteri64v
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint64 -- ^ @params@.
+  -> m ()
+glGetNamedBufferParameteri64v v1 v2 v3 = liftIO $ dyn355 ptr_glGetNamedBufferParameteri64v v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedBufferParameteri64v #-}
+ptr_glGetNamedBufferParameteri64v :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
+ptr_glGetNamedBufferParameteri64v = unsafePerformIO $ getCommand "glGetNamedBufferParameteri64v"
+
+-- glGetNamedBufferParameteriv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
+glGetNamedBufferParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetNamedBufferParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedBufferParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedBufferParameteriv #-}
+ptr_glGetNamedBufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedBufferParameteriv = unsafePerformIO $ getCommand "glGetNamedBufferParameteriv"
+
+-- glGetNamedBufferParameterivEXT ----------------------------------------------
+
+glGetNamedBufferParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetNamedBufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedBufferParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedBufferParameterivEXT #-}
+ptr_glGetNamedBufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedBufferParameterivEXT = unsafePerformIO $ getCommand "glGetNamedBufferParameterivEXT"
+
+-- glGetNamedBufferParameterui64vNV --------------------------------------------
+
+glGetNamedBufferParameterui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
+  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
+  -> m ()
+glGetNamedBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn356 ptr_glGetNamedBufferParameterui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedBufferParameterui64vNV #-}
+ptr_glGetNamedBufferParameterui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
+ptr_glGetNamedBufferParameterui64vNV = unsafePerformIO $ getCommand "glGetNamedBufferParameterui64vNV"
+
+-- glGetNamedBufferPointerv ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferPointerv.xhtml OpenGL 4.x>.
+glGetNamedBufferPointerv
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr (Ptr a) -- ^ @params@.
+  -> m ()
+glGetNamedBufferPointerv v1 v2 v3 = liftIO $ dyn357 ptr_glGetNamedBufferPointerv v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedBufferPointerv #-}
+ptr_glGetNamedBufferPointerv :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetNamedBufferPointerv = unsafePerformIO $ getCommand "glGetNamedBufferPointerv"
+
+-- glGetNamedBufferPointervEXT -------------------------------------------------
+
+glGetNamedBufferPointervEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
+  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetNamedBufferPointervEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetNamedBufferPointervEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedBufferPointervEXT #-}
+ptr_glGetNamedBufferPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetNamedBufferPointervEXT = unsafePerformIO $ getCommand "glGetNamedBufferPointervEXT"
+
+-- glGetNamedBufferSubData -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferSubData.xhtml OpenGL 4.x>.
+glGetNamedBufferSubData
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@.
+  -> m ()
+glGetNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn358 ptr_glGetNamedBufferSubData v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedBufferSubData #-}
+ptr_glGetNamedBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+ptr_glGetNamedBufferSubData = unsafePerformIO $ getCommand "glGetNamedBufferSubData"
+
+-- glGetNamedBufferSubDataEXT --------------------------------------------------
+
+glGetNamedBufferSubDataEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
+  -> m ()
+glGetNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn358 ptr_glGetNamedBufferSubDataEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedBufferSubDataEXT #-}
+ptr_glGetNamedBufferSubDataEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+ptr_glGetNamedBufferSubDataEXT = unsafePerformIO $ getCommand "glGetNamedBufferSubDataEXT"
+
+-- glGetNamedFramebufferAttachmentParameteriv ----------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml OpenGL 4.x>.
+glGetNamedFramebufferAttachmentParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedFramebufferAttachmentParameteriv #-}
+ptr_glGetNamedFramebufferAttachmentParameteriv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedFramebufferAttachmentParameteriv = unsafePerformIO $ getCommand "glGetNamedFramebufferAttachmentParameteriv"
+
+-- glGetNamedFramebufferAttachmentParameterivEXT -------------------------------
+
+glGetNamedFramebufferAttachmentParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @pname@ of type @FramebufferAttachmentParameterName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedFramebufferAttachmentParameterivEXT #-}
+ptr_glGetNamedFramebufferAttachmentParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedFramebufferAttachmentParameterivEXT = unsafePerformIO $ getCommand "glGetNamedFramebufferAttachmentParameterivEXT"
+
+-- glGetNamedFramebufferParameteriv --------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferParameter.xhtml OpenGL 4.x>.
+glGetNamedFramebufferParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glGetNamedFramebufferParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedFramebufferParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedFramebufferParameteriv #-}
+ptr_glGetNamedFramebufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedFramebufferParameteriv = unsafePerformIO $ getCommand "glGetNamedFramebufferParameteriv"
+
+-- glGetNamedFramebufferParameterivEXT -----------------------------------------
+
+glGetNamedFramebufferParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @pname@ of type @GetFramebufferParameter@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetNamedFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedFramebufferParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedFramebufferParameterivEXT #-}
+ptr_glGetNamedFramebufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedFramebufferParameterivEXT = unsafePerformIO $ getCommand "glGetNamedFramebufferParameterivEXT"
+
+-- glGetNamedProgramLocalParameterIivEXT ---------------------------------------
+
+glGetNamedProgramLocalParameterIivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedProgramLocalParameterIivEXT #-}
+ptr_glGetNamedProgramLocalParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetNamedProgramLocalParameterIivEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterIivEXT"
+
+-- glGetNamedProgramLocalParameterIuivEXT --------------------------------------
+
+glGetNamedProgramLocalParameterIuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn361 ptr_glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedProgramLocalParameterIuivEXT #-}
+ptr_glGetNamedProgramLocalParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glGetNamedProgramLocalParameterIuivEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterIuivEXT"
+
+-- glGetNamedProgramLocalParameterdvEXT ----------------------------------------
+
+glGetNamedProgramLocalParameterdvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4 = liftIO $ dyn362 ptr_glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedProgramLocalParameterdvEXT #-}
+ptr_glGetNamedProgramLocalParameterdvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glGetNamedProgramLocalParameterdvEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterdvEXT"
+
+-- glGetNamedProgramLocalParameterfvEXT ----------------------------------------
+
+glGetNamedProgramLocalParameterfvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn363 ptr_glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedProgramLocalParameterfvEXT #-}
+ptr_glGetNamedProgramLocalParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetNamedProgramLocalParameterfvEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterfvEXT"
+
+-- glGetNamedProgramStringEXT --------------------------------------------------
+
+glGetNamedProgramStringEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLenum -- ^ @pname@ of type @ProgramStringProperty@.
+  -> Ptr a -- ^ @string@ pointing to @COMPSIZE(program,pname)@ elements of type @a@.
+  -> m ()
+glGetNamedProgramStringEXT v1 v2 v3 v4 = liftIO $ dyn364 ptr_glGetNamedProgramStringEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedProgramStringEXT #-}
+ptr_glGetNamedProgramStringEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetNamedProgramStringEXT = unsafePerformIO $ getCommand "glGetNamedProgramStringEXT"
+
+-- glGetNamedProgramivEXT ------------------------------------------------------
+
+glGetNamedProgramivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLenum -- ^ @pname@ of type @ProgramProperty@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetNamedProgramivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetNamedProgramivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedProgramivEXT #-}
+ptr_glGetNamedProgramivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedProgramivEXT = unsafePerformIO $ getCommand "glGetNamedProgramivEXT"
+
+-- glGetNamedRenderbufferParameteriv -------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetRenderbufferParameter.xhtml OpenGL 4.x>.
+glGetNamedRenderbufferParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetNamedRenderbufferParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedRenderbufferParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedRenderbufferParameteriv #-}
+ptr_glGetNamedRenderbufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedRenderbufferParameteriv = unsafePerformIO $ getCommand "glGetNamedRenderbufferParameteriv"
+
+-- glGetNamedRenderbufferParameterivEXT ----------------------------------------
+
+glGetNamedRenderbufferParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
+  -> GLenum -- ^ @pname@ of type @RenderbufferParameterName@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetNamedRenderbufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedRenderbufferParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetNamedRenderbufferParameterivEXT #-}
+ptr_glGetNamedRenderbufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedRenderbufferParameterivEXT = unsafePerformIO $ getCommand "glGetNamedRenderbufferParameterivEXT"
+
+-- glGetNamedStringARB ---------------------------------------------------------
+
+glGetNamedStringARB
+  :: MonadIO m
+  => GLint -- ^ @namelen@.
+  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @stringlen@ pointing to @1@ element of type @GLint@.
+  -> Ptr GLchar -- ^ @string@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetNamedStringARB v1 v2 v3 v4 v5 = liftIO $ dyn365 ptr_glGetNamedStringARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetNamedStringARB #-}
+ptr_glGetNamedStringARB :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
+ptr_glGetNamedStringARB = unsafePerformIO $ getCommand "glGetNamedStringARB"
+
+-- glGetNamedStringivARB -------------------------------------------------------
+
+glGetNamedStringivARB
+  :: MonadIO m
+  => GLint -- ^ @namelen@.
+  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetNamedStringivARB v1 v2 v3 v4 = liftIO $ dyn366 ptr_glGetNamedStringivARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetNamedStringivARB #-}
+ptr_glGetNamedStringivARB :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetNamedStringivARB = unsafePerformIO $ getCommand "glGetNamedStringivARB"
+
+-- glGetNextPerfQueryIdINTEL ---------------------------------------------------
+
+glGetNextPerfQueryIdINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryId@.
+  -> Ptr GLuint -- ^ @nextQueryId@.
+  -> m ()
+glGetNextPerfQueryIdINTEL v1 v2 = liftIO $ dyn193 ptr_glGetNextPerfQueryIdINTEL v1 v2
+
+{-# NOINLINE ptr_glGetNextPerfQueryIdINTEL #-}
+ptr_glGetNextPerfQueryIdINTEL :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glGetNextPerfQueryIdINTEL = unsafePerformIO $ getCommand "glGetNextPerfQueryIdINTEL"
+
+-- glGetObjectBufferfvATI ------------------------------------------------------
+
+glGetObjectBufferfvATI
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glGetObjectBufferfvATI v1 v2 v3 = liftIO $ dyn345 ptr_glGetObjectBufferfvATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetObjectBufferfvATI #-}
+ptr_glGetObjectBufferfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetObjectBufferfvATI = unsafePerformIO $ getCommand "glGetObjectBufferfvATI"
+
+-- glGetObjectBufferivATI ------------------------------------------------------
+
+glGetObjectBufferivATI
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetObjectBufferivATI v1 v2 v3 = liftIO $ dyn331 ptr_glGetObjectBufferivATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetObjectBufferivATI #-}
+ptr_glGetObjectBufferivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetObjectBufferivATI = unsafePerformIO $ getCommand "glGetObjectBufferivATI"
+
+-- glGetObjectLabel ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetObjectLabel.xhtml OpenGL 4.x>.
+glGetObjectLabel
+  :: MonadIO m
+  => GLenum -- ^ @identifier@.
+  -> GLuint -- ^ @name@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetObjectLabel v1 v2 v3 v4 v5 = liftIO $ dyn367 ptr_glGetObjectLabel v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetObjectLabel #-}
+ptr_glGetObjectLabel :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetObjectLabel = unsafePerformIO $ getCommand "glGetObjectLabel"
+
+-- glGetObjectLabelEXT ---------------------------------------------------------
+
+glGetObjectLabelEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @object@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetObjectLabelEXT v1 v2 v3 v4 v5 = liftIO $ dyn367 ptr_glGetObjectLabelEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetObjectLabelEXT #-}
+ptr_glGetObjectLabelEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetObjectLabelEXT = unsafePerformIO $ getCommand "glGetObjectLabelEXT"
+
+-- glGetObjectLabelKHR ---------------------------------------------------------
+
+-- | This command is an alias for 'glGetObjectLabel'.
+glGetObjectLabelKHR
+  :: MonadIO m
+  => GLenum -- ^ @identifier@.
+  -> GLuint -- ^ @name@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetObjectLabelKHR v1 v2 v3 v4 v5 = liftIO $ dyn367 ptr_glGetObjectLabelKHR v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetObjectLabelKHR #-}
+ptr_glGetObjectLabelKHR :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetObjectLabelKHR = unsafePerformIO $ getCommand "glGetObjectLabelKHR"
+
+-- glGetObjectParameterfvARB ---------------------------------------------------
+
+glGetObjectParameterfvARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @obj@ of type @handleARB@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetObjectParameterfvARB v1 v2 v3 = liftIO $ dyn368 ptr_glGetObjectParameterfvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetObjectParameterfvARB #-}
+ptr_glGetObjectParameterfvARB :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetObjectParameterfvARB = unsafePerformIO $ getCommand "glGetObjectParameterfvARB"
+
+-- glGetObjectParameterivAPPLE -------------------------------------------------
+
+glGetObjectParameterivAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @objectType@.
+  -> GLuint -- ^ @name@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetObjectParameterivAPPLE v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetObjectParameterivAPPLE v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetObjectParameterivAPPLE #-}
+ptr_glGetObjectParameterivAPPLE :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetObjectParameterivAPPLE = unsafePerformIO $ getCommand "glGetObjectParameterivAPPLE"
+
+-- glGetObjectParameterivARB ---------------------------------------------------
+
+glGetObjectParameterivARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @obj@ of type @handleARB@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetObjectParameterivARB v1 v2 v3 = liftIO $ dyn369 ptr_glGetObjectParameterivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetObjectParameterivARB #-}
+ptr_glGetObjectParameterivARB :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetObjectParameterivARB = unsafePerformIO $ getCommand "glGetObjectParameterivARB"
+
+-- glGetObjectPtrLabel ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetObjectPtrLabel.xhtml OpenGL 4.x>.
+glGetObjectPtrLabel
+  :: MonadIO m
+  => Ptr a -- ^ @ptr@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetObjectPtrLabel v1 v2 v3 v4 = liftIO $ dyn370 ptr_glGetObjectPtrLabel v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetObjectPtrLabel #-}
+ptr_glGetObjectPtrLabel :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetObjectPtrLabel = unsafePerformIO $ getCommand "glGetObjectPtrLabel"
+
+-- glGetObjectPtrLabelKHR ------------------------------------------------------
+
+-- | This command is an alias for 'glGetObjectPtrLabel'.
+glGetObjectPtrLabelKHR
+  :: MonadIO m
+  => Ptr a -- ^ @ptr@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetObjectPtrLabelKHR v1 v2 v3 v4 = liftIO $ dyn370 ptr_glGetObjectPtrLabelKHR v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetObjectPtrLabelKHR #-}
+ptr_glGetObjectPtrLabelKHR :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetObjectPtrLabelKHR = unsafePerformIO $ getCommand "glGetObjectPtrLabelKHR"
+
+-- glGetOcclusionQueryivNV -----------------------------------------------------
+
+glGetOcclusionQueryivNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@ of type @OcclusionQueryParameterNameNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetOcclusionQueryivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetOcclusionQueryivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetOcclusionQueryivNV #-}
+ptr_glGetOcclusionQueryivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetOcclusionQueryivNV = unsafePerformIO $ getCommand "glGetOcclusionQueryivNV"
+
+-- glGetOcclusionQueryuivNV ----------------------------------------------------
+
+glGetOcclusionQueryuivNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@ of type @OcclusionQueryParameterNameNV@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetOcclusionQueryuivNV v1 v2 v3 = liftIO $ dyn371 ptr_glGetOcclusionQueryuivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetOcclusionQueryuivNV #-}
+ptr_glGetOcclusionQueryuivNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetOcclusionQueryuivNV = unsafePerformIO $ getCommand "glGetOcclusionQueryuivNV"
+
+-- glGetPathColorGenfvNV -------------------------------------------------------
+
+glGetPathColorGenfvNV
+  :: MonadIO m
+  => GLenum -- ^ @color@ of type @PathColor@.
+  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetPathColorGenfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetPathColorGenfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetPathColorGenfvNV #-}
+ptr_glGetPathColorGenfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetPathColorGenfvNV = unsafePerformIO $ getCommand "glGetPathColorGenfvNV"
+
+-- glGetPathColorGenivNV -------------------------------------------------------
+
+glGetPathColorGenivNV
+  :: MonadIO m
+  => GLenum -- ^ @color@ of type @PathColor@.
+  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetPathColorGenivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetPathColorGenivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetPathColorGenivNV #-}
+ptr_glGetPathColorGenivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetPathColorGenivNV = unsafePerformIO $ getCommand "glGetPathColorGenivNV"
+
+-- glGetPathCommandsNV ---------------------------------------------------------
+
+glGetPathCommandsNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> Ptr GLubyte -- ^ @commands@ pointing to @COMPSIZE(path)@ elements of type @PathCommand@.
+  -> m ()
+glGetPathCommandsNV v1 v2 = liftIO $ dyn372 ptr_glGetPathCommandsNV v1 v2
+
+{-# NOINLINE ptr_glGetPathCommandsNV #-}
+ptr_glGetPathCommandsNV :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glGetPathCommandsNV = unsafePerformIO $ getCommand "glGetPathCommandsNV"
+
+-- glGetPathCoordsNV -----------------------------------------------------------
+
+glGetPathCoordsNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> Ptr GLfloat -- ^ @coords@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
+  -> m ()
+glGetPathCoordsNV v1 v2 = liftIO $ dyn373 ptr_glGetPathCoordsNV v1 v2
+
+{-# NOINLINE ptr_glGetPathCoordsNV #-}
+ptr_glGetPathCoordsNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetPathCoordsNV = unsafePerformIO $ getCommand "glGetPathCoordsNV"
+
+-- glGetPathDashArrayNV --------------------------------------------------------
+
+glGetPathDashArrayNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> Ptr GLfloat -- ^ @dashArray@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
+  -> m ()
+glGetPathDashArrayNV v1 v2 = liftIO $ dyn373 ptr_glGetPathDashArrayNV v1 v2
+
+{-# NOINLINE ptr_glGetPathDashArrayNV #-}
+ptr_glGetPathDashArrayNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetPathDashArrayNV = unsafePerformIO $ getCommand "glGetPathDashArrayNV"
+
+-- glGetPathLengthNV -----------------------------------------------------------
+
+glGetPathLengthNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @startSegment@.
+  -> GLsizei -- ^ @numSegments@.
+  -> m GLfloat
+glGetPathLengthNV v1 v2 v3 = liftIO $ dyn374 ptr_glGetPathLengthNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetPathLengthNV #-}
+ptr_glGetPathLengthNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat)
+ptr_glGetPathLengthNV = unsafePerformIO $ getCommand "glGetPathLengthNV"
+
+-- glGetPathMetricRangeNV ------------------------------------------------------
+
+glGetPathMetricRangeNV
+  :: MonadIO m
+  => GLbitfield -- ^ @metricQueryMask@ of type @PathMetricMask@.
+  -> GLuint -- ^ @firstPathName@ of type @Path@.
+  -> GLsizei -- ^ @numPaths@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
+  -> m ()
+glGetPathMetricRangeNV v1 v2 v3 v4 v5 = liftIO $ dyn375 ptr_glGetPathMetricRangeNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetPathMetricRangeNV #-}
+ptr_glGetPathMetricRangeNV :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetPathMetricRangeNV = unsafePerformIO $ getCommand "glGetPathMetricRangeNV"
+
+-- glGetPathMetricsNV ----------------------------------------------------------
+
+glGetPathMetricsNV
+  :: MonadIO m
+  => GLbitfield -- ^ @metricQueryMask@ of type @PathMetricMask@.
+  -> GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
+  -> GLuint -- ^ @pathBase@ of type @Path@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
+  -> m ()
+glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn376 ptr_glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetPathMetricsNV #-}
+ptr_glGetPathMetricsNV :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetPathMetricsNV = unsafePerformIO $ getCommand "glGetPathMetricsNV"
+
+-- glGetPathParameterfvNV ------------------------------------------------------
+
+glGetPathParameterfvNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetPathParameterfvNV v1 v2 v3 = liftIO $ dyn345 ptr_glGetPathParameterfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetPathParameterfvNV #-}
+ptr_glGetPathParameterfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetPathParameterfvNV = unsafePerformIO $ getCommand "glGetPathParameterfvNV"
+
+-- glGetPathParameterivNV ------------------------------------------------------
+
+glGetPathParameterivNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> Ptr GLint -- ^ @value@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glGetPathParameterivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetPathParameterivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetPathParameterivNV #-}
+ptr_glGetPathParameterivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetPathParameterivNV = unsafePerformIO $ getCommand "glGetPathParameterivNV"
+
+-- glGetPathSpacingNV ----------------------------------------------------------
+
+glGetPathSpacingNV
+  :: MonadIO m
+  => GLenum -- ^ @pathListMode@ of type @PathListMode@.
+  -> GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
+  -> GLuint -- ^ @pathBase@ of type @Path@.
+  -> GLfloat -- ^ @advanceScale@.
+  -> GLfloat -- ^ @kerningScale@.
+  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> Ptr GLfloat -- ^ @returnedSpacing@ pointing to @COMPSIZE(pathListMode,numPaths)@ elements of type @GLfloat@.
+  -> m ()
+glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn377 ptr_glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glGetPathSpacingNV #-}
+ptr_glGetPathSpacingNV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetPathSpacingNV = unsafePerformIO $ getCommand "glGetPathSpacingNV"
+
+-- glGetPathTexGenfvNV ---------------------------------------------------------
+
+glGetPathTexGenfvNV
+  :: MonadIO m
+  => GLenum -- ^ @texCoordSet@ of type @TextureUnit@.
+  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetPathTexGenfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetPathTexGenfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetPathTexGenfvNV #-}
+ptr_glGetPathTexGenfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetPathTexGenfvNV = unsafePerformIO $ getCommand "glGetPathTexGenfvNV"
+
+-- glGetPathTexGenivNV ---------------------------------------------------------
+
+glGetPathTexGenivNV
+  :: MonadIO m
+  => GLenum -- ^ @texCoordSet@ of type @TextureUnit@.
+  -> GLenum -- ^ @pname@ of type @PathGenMode@.
+  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetPathTexGenivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetPathTexGenivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetPathTexGenivNV #-}
+ptr_glGetPathTexGenivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetPathTexGenivNV = unsafePerformIO $ getCommand "glGetPathTexGenivNV"
+
+-- glGetPerfCounterInfoINTEL ---------------------------------------------------
+
+glGetPerfCounterInfoINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryId@.
+  -> GLuint -- ^ @counterId@.
+  -> GLuint -- ^ @counterNameLength@.
+  -> Ptr GLchar -- ^ @counterName@.
+  -> GLuint -- ^ @counterDescLength@.
+  -> Ptr GLchar -- ^ @counterDesc@.
+  -> Ptr GLuint -- ^ @counterOffset@.
+  -> Ptr GLuint -- ^ @counterDataSize@.
+  -> Ptr GLuint -- ^ @counterTypeEnum@.
+  -> Ptr GLuint -- ^ @counterDataTypeEnum@.
+  -> Ptr GLuint64 -- ^ @rawCounterMaxValue@.
+  -> m ()
+glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn378 ptr_glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glGetPerfCounterInfoINTEL #-}
+ptr_glGetPerfCounterInfoINTEL :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
+ptr_glGetPerfCounterInfoINTEL = unsafePerformIO $ getCommand "glGetPerfCounterInfoINTEL"
+
+-- glGetPerfMonitorCounterDataAMD ----------------------------------------------
+
+glGetPerfMonitorCounterDataAMD
+  :: MonadIO m
+  => GLuint -- ^ @monitor@.
+  -> GLenum -- ^ @pname@.
+  -> GLsizei -- ^ @dataSize@.
+  -> Ptr GLuint -- ^ @data@ pointing to @dataSize@ elements of type @GLuint@.
+  -> Ptr GLint -- ^ @bytesWritten@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5 = liftIO $ dyn379 ptr_glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetPerfMonitorCounterDataAMD #-}
+ptr_glGetPerfMonitorCounterDataAMD :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ())
+ptr_glGetPerfMonitorCounterDataAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCounterDataAMD"
+
+-- glGetPerfMonitorCounterInfoAMD ----------------------------------------------
+
+glGetPerfMonitorCounterInfoAMD
+  :: MonadIO m
+  => GLuint -- ^ @group@.
+  -> GLuint -- ^ @counter@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @a@.
+  -> m ()
+glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4 = liftIO $ dyn380 ptr_glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetPerfMonitorCounterInfoAMD #-}
+ptr_glGetPerfMonitorCounterInfoAMD :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr a -> IO ())
+ptr_glGetPerfMonitorCounterInfoAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCounterInfoAMD"
+
+-- glGetPerfMonitorCounterStringAMD --------------------------------------------
+
+glGetPerfMonitorCounterStringAMD
+  :: MonadIO m
+  => GLuint -- ^ @group@.
+  -> GLuint -- ^ @counter@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @counterString@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5 = liftIO $ dyn302 ptr_glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetPerfMonitorCounterStringAMD #-}
+ptr_glGetPerfMonitorCounterStringAMD :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetPerfMonitorCounterStringAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCounterStringAMD"
+
+-- glGetPerfMonitorCountersAMD -------------------------------------------------
+
+glGetPerfMonitorCountersAMD
+  :: MonadIO m
+  => GLuint -- ^ @group@.
+  -> Ptr GLint -- ^ @numCounters@ pointing to @1@ element of type @GLint@.
+  -> Ptr GLint -- ^ @maxActiveCounters@ pointing to @1@ element of type @GLint@.
+  -> GLsizei -- ^ @counterSize@.
+  -> Ptr GLuint -- ^ @counters@ pointing to @counterSize@ elements of type @GLuint@.
+  -> m ()
+glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn381 ptr_glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetPerfMonitorCountersAMD #-}
+ptr_glGetPerfMonitorCountersAMD :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetPerfMonitorCountersAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCountersAMD"
+
+-- glGetPerfMonitorGroupStringAMD ----------------------------------------------
+
+glGetPerfMonitorGroupStringAMD
+  :: MonadIO m
+  => GLuint -- ^ @group@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @groupString@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetPerfMonitorGroupStringAMD v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetPerfMonitorGroupStringAMD v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetPerfMonitorGroupStringAMD #-}
+ptr_glGetPerfMonitorGroupStringAMD :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetPerfMonitorGroupStringAMD = unsafePerformIO $ getCommand "glGetPerfMonitorGroupStringAMD"
+
+-- glGetPerfMonitorGroupsAMD ---------------------------------------------------
+
+glGetPerfMonitorGroupsAMD
+  :: MonadIO m
+  => Ptr GLint -- ^ @numGroups@ pointing to @1@ element of type @GLint@.
+  -> GLsizei -- ^ @groupsSize@.
+  -> Ptr GLuint -- ^ @groups@ pointing to @groupsSize@ elements of type @GLuint@.
+  -> m ()
+glGetPerfMonitorGroupsAMD v1 v2 v3 = liftIO $ dyn329 ptr_glGetPerfMonitorGroupsAMD v1 v2 v3
+
+{-# NOINLINE ptr_glGetPerfMonitorGroupsAMD #-}
+ptr_glGetPerfMonitorGroupsAMD :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetPerfMonitorGroupsAMD = unsafePerformIO $ getCommand "glGetPerfMonitorGroupsAMD"
+
+-- glGetPerfQueryDataINTEL -----------------------------------------------------
+
+glGetPerfQueryDataINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryHandle@.
+  -> GLuint -- ^ @flags@.
+  -> GLsizei -- ^ @dataSize@.
+  -> Ptr a -- ^ @data@.
+  -> Ptr GLuint -- ^ @bytesWritten@.
+  -> m ()
+glGetPerfQueryDataINTEL v1 v2 v3 v4 v5 = liftIO $ dyn382 ptr_glGetPerfQueryDataINTEL v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetPerfQueryDataINTEL #-}
+ptr_glGetPerfQueryDataINTEL :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ())
+ptr_glGetPerfQueryDataINTEL = unsafePerformIO $ getCommand "glGetPerfQueryDataINTEL"
+
+-- glGetPerfQueryIdByNameINTEL -------------------------------------------------
+
+glGetPerfQueryIdByNameINTEL
+  :: MonadIO m
+  => Ptr GLchar -- ^ @queryName@.
+  -> Ptr GLuint -- ^ @queryId@.
+  -> m ()
+glGetPerfQueryIdByNameINTEL v1 v2 = liftIO $ dyn383 ptr_glGetPerfQueryIdByNameINTEL v1 v2
+
+{-# NOINLINE ptr_glGetPerfQueryIdByNameINTEL #-}
+ptr_glGetPerfQueryIdByNameINTEL :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
+ptr_glGetPerfQueryIdByNameINTEL = unsafePerformIO $ getCommand "glGetPerfQueryIdByNameINTEL"
+
+-- glGetPerfQueryInfoINTEL -----------------------------------------------------
+
+glGetPerfQueryInfoINTEL
+  :: MonadIO m
+  => GLuint -- ^ @queryId@.
+  -> GLuint -- ^ @queryNameLength@.
+  -> Ptr GLchar -- ^ @queryName@.
+  -> Ptr GLuint -- ^ @dataSize@.
+  -> Ptr GLuint -- ^ @noCounters@.
+  -> Ptr GLuint -- ^ @noInstances@.
+  -> Ptr GLuint -- ^ @capsMask@.
+  -> m ()
+glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn384 ptr_glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetPerfQueryInfoINTEL #-}
+ptr_glGetPerfQueryInfoINTEL :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
+ptr_glGetPerfQueryInfoINTEL = unsafePerformIO $ getCommand "glGetPerfQueryInfoINTEL"
+
+-- glGetPixelMapfv -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
+glGetPixelMapfv
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> Ptr GLfloat -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLfloat@.
+  -> m ()
+glGetPixelMapfv v1 v2 = liftIO $ dyn93 ptr_glGetPixelMapfv v1 v2
+
+{-# NOINLINE ptr_glGetPixelMapfv #-}
+ptr_glGetPixelMapfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetPixelMapfv = unsafePerformIO $ getCommand "glGetPixelMapfv"
+
+-- glGetPixelMapuiv ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
+glGetPixelMapuiv
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> Ptr GLuint -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLuint@.
+  -> m ()
+glGetPixelMapuiv v1 v2 = liftIO $ dyn124 ptr_glGetPixelMapuiv v1 v2
+
+{-# NOINLINE ptr_glGetPixelMapuiv #-}
+ptr_glGetPixelMapuiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glGetPixelMapuiv = unsafePerformIO $ getCommand "glGetPixelMapuiv"
+
+-- glGetPixelMapusv ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
+glGetPixelMapusv
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> Ptr GLushort -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLushort@.
+  -> m ()
+glGetPixelMapusv v1 v2 = liftIO $ dyn385 ptr_glGetPixelMapusv v1 v2
+
+{-# NOINLINE ptr_glGetPixelMapusv #-}
+ptr_glGetPixelMapusv :: FunPtr (GLenum -> Ptr GLushort -> IO ())
+ptr_glGetPixelMapusv = unsafePerformIO $ getCommand "glGetPixelMapusv"
+
+-- glGetPixelMapxv -------------------------------------------------------------
+
+glGetPixelMapxv
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLint -- ^ @size@.
+  -> Ptr GLfixed -- ^ @values@ pointing to @size@ elements of type @GLfixed@.
+  -> m ()
+glGetPixelMapxv v1 v2 v3 = liftIO $ dyn386 ptr_glGetPixelMapxv v1 v2 v3
+
+{-# NOINLINE ptr_glGetPixelMapxv #-}
+ptr_glGetPixelMapxv :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
+ptr_glGetPixelMapxv = unsafePerformIO $ getCommand "glGetPixelMapxv"
+
+-- glGetPixelTexGenParameterfvSGIS ---------------------------------------------
+
+glGetPixelTexGenParameterfvSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glGetPixelTexGenParameterfvSGIS v1 v2 = liftIO $ dyn93 ptr_glGetPixelTexGenParameterfvSGIS v1 v2
+
+{-# NOINLINE ptr_glGetPixelTexGenParameterfvSGIS #-}
+ptr_glGetPixelTexGenParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetPixelTexGenParameterfvSGIS = unsafePerformIO $ getCommand "glGetPixelTexGenParameterfvSGIS"
+
+-- glGetPixelTexGenParameterivSGIS ---------------------------------------------
+
+glGetPixelTexGenParameterivSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glGetPixelTexGenParameterivSGIS v1 v2 = liftIO $ dyn135 ptr_glGetPixelTexGenParameterivSGIS v1 v2
+
+{-# NOINLINE ptr_glGetPixelTexGenParameterivSGIS #-}
+ptr_glGetPixelTexGenParameterivSGIS :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glGetPixelTexGenParameterivSGIS = unsafePerformIO $ getCommand "glGetPixelTexGenParameterivSGIS"
+
+-- glGetPixelTransformParameterfvEXT -------------------------------------------
+
+glGetPixelTransformParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetPixelTransformParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetPixelTransformParameterfvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetPixelTransformParameterfvEXT #-}
+ptr_glGetPixelTransformParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetPixelTransformParameterfvEXT = unsafePerformIO $ getCommand "glGetPixelTransformParameterfvEXT"
+
+-- glGetPixelTransformParameterivEXT -------------------------------------------
+
+glGetPixelTransformParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetPixelTransformParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetPixelTransformParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetPixelTransformParameterivEXT #-}
+ptr_glGetPixelTransformParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetPixelTransformParameterivEXT = unsafePerformIO $ getCommand "glGetPixelTransformParameterivEXT"
+
+-- glGetPointerIndexedvEXT -----------------------------------------------------
+
+glGetPointerIndexedvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr (Ptr a) -- ^ @data@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetPointerIndexedvEXT v1 v2 v3 = liftIO $ dyn387 ptr_glGetPointerIndexedvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetPointerIndexedvEXT #-}
+ptr_glGetPointerIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
+ptr_glGetPointerIndexedvEXT = unsafePerformIO $ getCommand "glGetPointerIndexedvEXT"
+
+-- glGetPointeri_vEXT ----------------------------------------------------------
+
+glGetPointeri_vEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @TypeEnum@.
+  -> GLuint -- ^ @index@.
+  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetPointeri_vEXT v1 v2 v3 = liftIO $ dyn387 ptr_glGetPointeri_vEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetPointeri_vEXT #-}
+ptr_glGetPointeri_vEXT :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
+ptr_glGetPointeri_vEXT = unsafePerformIO $ getCommand "glGetPointeri_vEXT"
+
+-- glGetPointerv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPointerv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetPointerv.xhtml OpenGL 4.x>.
+glGetPointerv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-GL-Groups.html#GetPointervPName).
+  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetPointerv v1 v2 = liftIO $ dyn267 ptr_glGetPointerv v1 v2
+
+{-# NOINLINE ptr_glGetPointerv #-}
+ptr_glGetPointerv :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetPointerv = unsafePerformIO $ getCommand "glGetPointerv"
+
+-- glGetPointervEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glGetPointerv'.
+glGetPointervEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-GL-Groups.html#GetPointervPName).
+  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetPointervEXT v1 v2 = liftIO $ dyn267 ptr_glGetPointervEXT v1 v2
+
+{-# NOINLINE ptr_glGetPointervEXT #-}
+ptr_glGetPointervEXT :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetPointervEXT = unsafePerformIO $ getCommand "glGetPointervEXT"
+
+-- glGetPointervKHR ------------------------------------------------------------
+
+-- | This command is an alias for 'glGetPointerv'.
+glGetPointervKHR
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr (Ptr a) -- ^ @params@.
+  -> m ()
+glGetPointervKHR v1 v2 = liftIO $ dyn267 ptr_glGetPointervKHR v1 v2
+
+{-# NOINLINE ptr_glGetPointervKHR #-}
+ptr_glGetPointervKHR :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetPointervKHR = unsafePerformIO $ getCommand "glGetPointervKHR"
+
+-- glGetPolygonStipple ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPolygonStipple.xml OpenGL 2.x>.
+glGetPolygonStipple
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @mask@ pointing to @COMPSIZE()@ elements of type @GLubyte@.
+  -> m ()
+glGetPolygonStipple v1 = liftIO $ dyn100 ptr_glGetPolygonStipple v1
+
+{-# NOINLINE ptr_glGetPolygonStipple #-}
+ptr_glGetPolygonStipple :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glGetPolygonStipple = unsafePerformIO $ getCommand "glGetPolygonStipple"
+
+-- glGetProgramBinary ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramBinary.xhtml OpenGL 4.x>.
+glGetProgramBinary
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
+  -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetProgramBinary v1 v2 v3 v4 v5 = liftIO $ dyn388 ptr_glGetProgramBinary v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetProgramBinary #-}
+ptr_glGetProgramBinary :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
+ptr_glGetProgramBinary = unsafePerformIO $ getCommand "glGetProgramBinary"
+
+-- glGetProgramBinaryOES -------------------------------------------------------
+
+-- | This command is an alias for 'glGetProgramBinary'.
+glGetProgramBinaryOES
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
+  -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetProgramBinaryOES v1 v2 v3 v4 v5 = liftIO $ dyn388 ptr_glGetProgramBinaryOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetProgramBinaryOES #-}
+ptr_glGetProgramBinaryOES :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
+ptr_glGetProgramBinaryOES = unsafePerformIO $ getCommand "glGetProgramBinaryOES"
+
+-- glGetProgramEnvParameterIivNV -----------------------------------------------
+
+glGetProgramEnvParameterIivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glGetProgramEnvParameterIivNV v1 v2 v3 = liftIO $ dyn338 ptr_glGetProgramEnvParameterIivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramEnvParameterIivNV #-}
+ptr_glGetProgramEnvParameterIivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetProgramEnvParameterIivNV = unsafePerformIO $ getCommand "glGetProgramEnvParameterIivNV"
+
+-- glGetProgramEnvParameterIuivNV ----------------------------------------------
+
+glGetProgramEnvParameterIuivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glGetProgramEnvParameterIuivNV v1 v2 v3 = liftIO $ dyn213 ptr_glGetProgramEnvParameterIuivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramEnvParameterIuivNV #-}
+ptr_glGetProgramEnvParameterIuivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glGetProgramEnvParameterIuivNV = unsafePerformIO $ getCommand "glGetProgramEnvParameterIuivNV"
+
+-- glGetProgramEnvParameterdvARB -----------------------------------------------
+
+glGetProgramEnvParameterdvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetProgramEnvParameterdvARB v1 v2 v3 = liftIO $ dyn327 ptr_glGetProgramEnvParameterdvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramEnvParameterdvARB #-}
+ptr_glGetProgramEnvParameterdvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glGetProgramEnvParameterdvARB = unsafePerformIO $ getCommand "glGetProgramEnvParameterdvARB"
+
+-- glGetProgramEnvParameterfvARB -----------------------------------------------
+
+glGetProgramEnvParameterfvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetProgramEnvParameterfvARB v1 v2 v3 = liftIO $ dyn266 ptr_glGetProgramEnvParameterfvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramEnvParameterfvARB #-}
+ptr_glGetProgramEnvParameterfvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetProgramEnvParameterfvARB = unsafePerformIO $ getCommand "glGetProgramEnvParameterfvARB"
+
+-- glGetProgramInfoLog ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetProgramInfoLog.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetProgramInfoLog.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetProgramInfoLog.xhtml OpenGL 4.x>.
+glGetProgramInfoLog
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetProgramInfoLog v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetProgramInfoLog v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramInfoLog #-}
+ptr_glGetProgramInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetProgramInfoLog = unsafePerformIO $ getCommand "glGetProgramInfoLog"
+
+-- glGetProgramInterfaceiv -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramInterface.xhtml OpenGL 4.x>.
+glGetProgramInterfaceiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetProgramInterfaceiv v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetProgramInterfaceiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramInterfaceiv #-}
+ptr_glGetProgramInterfaceiv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramInterfaceiv = unsafePerformIO $ getCommand "glGetProgramInterfaceiv"
+
+-- glGetProgramLocalParameterIivNV ---------------------------------------------
+
+glGetProgramLocalParameterIivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glGetProgramLocalParameterIivNV v1 v2 v3 = liftIO $ dyn338 ptr_glGetProgramLocalParameterIivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramLocalParameterIivNV #-}
+ptr_glGetProgramLocalParameterIivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetProgramLocalParameterIivNV = unsafePerformIO $ getCommand "glGetProgramLocalParameterIivNV"
+
+-- glGetProgramLocalParameterIuivNV --------------------------------------------
+
+glGetProgramLocalParameterIuivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glGetProgramLocalParameterIuivNV v1 v2 v3 = liftIO $ dyn213 ptr_glGetProgramLocalParameterIuivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramLocalParameterIuivNV #-}
+ptr_glGetProgramLocalParameterIuivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glGetProgramLocalParameterIuivNV = unsafePerformIO $ getCommand "glGetProgramLocalParameterIuivNV"
+
+-- glGetProgramLocalParameterdvARB ---------------------------------------------
+
+glGetProgramLocalParameterdvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetProgramLocalParameterdvARB v1 v2 v3 = liftIO $ dyn327 ptr_glGetProgramLocalParameterdvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramLocalParameterdvARB #-}
+ptr_glGetProgramLocalParameterdvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glGetProgramLocalParameterdvARB = unsafePerformIO $ getCommand "glGetProgramLocalParameterdvARB"
+
+-- glGetProgramLocalParameterfvARB ---------------------------------------------
+
+glGetProgramLocalParameterfvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetProgramLocalParameterfvARB v1 v2 v3 = liftIO $ dyn266 ptr_glGetProgramLocalParameterfvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramLocalParameterfvARB #-}
+ptr_glGetProgramLocalParameterfvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glGetProgramLocalParameterfvARB = unsafePerformIO $ getCommand "glGetProgramLocalParameterfvARB"
+
+-- glGetProgramNamedParameterdvNV ----------------------------------------------
+
+glGetProgramNamedParameterdvNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetProgramNamedParameterdvNV v1 v2 v3 v4 = liftIO $ dyn389 ptr_glGetProgramNamedParameterdvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramNamedParameterdvNV #-}
+ptr_glGetProgramNamedParameterdvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
+ptr_glGetProgramNamedParameterdvNV = unsafePerformIO $ getCommand "glGetProgramNamedParameterdvNV"
+
+-- glGetProgramNamedParameterfvNV ----------------------------------------------
+
+glGetProgramNamedParameterfvNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetProgramNamedParameterfvNV v1 v2 v3 v4 = liftIO $ dyn390 ptr_glGetProgramNamedParameterfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramNamedParameterfvNV #-}
+ptr_glGetProgramNamedParameterfvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+ptr_glGetProgramNamedParameterfvNV = unsafePerformIO $ getCommand "glGetProgramNamedParameterfvNV"
+
+-- glGetProgramParameterdvNV ---------------------------------------------------
+
+glGetProgramParameterdvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetProgramParameterdvNV v1 v2 v3 v4 = liftIO $ dyn391 ptr_glGetProgramParameterdvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramParameterdvNV #-}
+ptr_glGetProgramParameterdvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetProgramParameterdvNV = unsafePerformIO $ getCommand "glGetProgramParameterdvNV"
+
+-- glGetProgramParameterfvNV ---------------------------------------------------
+
+glGetProgramParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetProgramParameterfvNV v1 v2 v3 v4 = liftIO $ dyn346 ptr_glGetProgramParameterfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramParameterfvNV #-}
+ptr_glGetProgramParameterfvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetProgramParameterfvNV = unsafePerformIO $ getCommand "glGetProgramParameterfvNV"
+
+-- glGetProgramPipelineInfoLog -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipelineInfoLog.xhtml OpenGL 4.x>.
+glGetProgramPipelineInfoLog
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetProgramPipelineInfoLog v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetProgramPipelineInfoLog v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramPipelineInfoLog #-}
+ptr_glGetProgramPipelineInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetProgramPipelineInfoLog = unsafePerformIO $ getCommand "glGetProgramPipelineInfoLog"
+
+-- glGetProgramPipelineInfoLogEXT ----------------------------------------------
+
+glGetProgramPipelineInfoLogEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetProgramPipelineInfoLogEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetProgramPipelineInfoLogEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramPipelineInfoLogEXT #-}
+ptr_glGetProgramPipelineInfoLogEXT :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetProgramPipelineInfoLogEXT = unsafePerformIO $ getCommand "glGetProgramPipelineInfoLogEXT"
+
+-- glGetProgramPipelineiv ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipeline.xhtml OpenGL 4.x>.
+glGetProgramPipelineiv
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetProgramPipelineiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramPipelineiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramPipelineiv #-}
+ptr_glGetProgramPipelineiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramPipelineiv = unsafePerformIO $ getCommand "glGetProgramPipelineiv"
+
+-- glGetProgramPipelineivEXT ---------------------------------------------------
+
+glGetProgramPipelineivEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetProgramPipelineivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramPipelineivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramPipelineivEXT #-}
+ptr_glGetProgramPipelineivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramPipelineivEXT = unsafePerformIO $ getCommand "glGetProgramPipelineivEXT"
+
+-- glGetProgramResourceIndex ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceIndex.xhtml OpenGL 4.x>.
+glGetProgramResourceIndex
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLuint
+glGetProgramResourceIndex v1 v2 v3 = liftIO $ dyn392 ptr_glGetProgramResourceIndex v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramResourceIndex #-}
+ptr_glGetProgramResourceIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
+ptr_glGetProgramResourceIndex = unsafePerformIO $ getCommand "glGetProgramResourceIndex"
+
+-- glGetProgramResourceLocation ------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceLocation.xhtml OpenGL 4.x>.
+glGetProgramResourceLocation
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLint
+glGetProgramResourceLocation v1 v2 v3 = liftIO $ dyn393 ptr_glGetProgramResourceLocation v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramResourceLocation #-}
+ptr_glGetProgramResourceLocation :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+ptr_glGetProgramResourceLocation = unsafePerformIO $ getCommand "glGetProgramResourceLocation"
+
+-- glGetProgramResourceLocationIndex -------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceLocationIndex.xhtml OpenGL 4.x>.
+glGetProgramResourceLocationIndex
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLint
+glGetProgramResourceLocationIndex v1 v2 v3 = liftIO $ dyn393 ptr_glGetProgramResourceLocationIndex v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramResourceLocationIndex #-}
+ptr_glGetProgramResourceLocationIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+ptr_glGetProgramResourceLocationIndex = unsafePerformIO $ getCommand "glGetProgramResourceLocationIndex"
+
+-- glGetProgramResourceLocationIndexEXT ----------------------------------------
+
+glGetProgramResourceLocationIndexEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLint
+glGetProgramResourceLocationIndexEXT v1 v2 v3 = liftIO $ dyn393 ptr_glGetProgramResourceLocationIndexEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramResourceLocationIndexEXT #-}
+ptr_glGetProgramResourceLocationIndexEXT :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+ptr_glGetProgramResourceLocationIndexEXT = unsafePerformIO $ getCommand "glGetProgramResourceLocationIndexEXT"
+
+-- glGetProgramResourceName ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceName.xhtml OpenGL 4.x>.
+glGetProgramResourceName
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetProgramResourceName v1 v2 v3 v4 v5 v6 = liftIO $ dyn300 ptr_glGetProgramResourceName v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetProgramResourceName #-}
+ptr_glGetProgramResourceName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetProgramResourceName = unsafePerformIO $ getCommand "glGetProgramResourceName"
+
+-- glGetProgramResourcefvNV ----------------------------------------------------
+
+glGetProgramResourcefvNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @propCount@.
+  -> Ptr GLenum -- ^ @props@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@.
+  -> Ptr GLfloat -- ^ @params@.
+  -> m ()
+glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn394 ptr_glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glGetProgramResourcefvNV #-}
+ptr_glGetProgramResourcefvNV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetProgramResourcefvNV = unsafePerformIO $ getCommand "glGetProgramResourcefvNV"
+
+-- glGetProgramResourceiv ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResource.xhtml OpenGL 4.x>.
+glGetProgramResourceiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @programInterface@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @propCount@.
+  -> Ptr GLenum -- ^ @props@ pointing to @propCount@ elements of type @GLenum@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn395 ptr_glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glGetProgramResourceiv #-}
+ptr_glGetProgramResourceiv :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+ptr_glGetProgramResourceiv = unsafePerformIO $ getCommand "glGetProgramResourceiv"
+
+-- glGetProgramStageiv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramStage.xhtml OpenGL 4.x>.
+glGetProgramStageiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @values@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetProgramStageiv v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetProgramStageiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetProgramStageiv #-}
+ptr_glGetProgramStageiv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramStageiv = unsafePerformIO $ getCommand "glGetProgramStageiv"
+
+-- glGetProgramStringARB -------------------------------------------------------
+
+glGetProgramStringARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLenum -- ^ @pname@ of type @ProgramStringPropertyARB@.
+  -> Ptr a -- ^ @string@ pointing to @COMPSIZE(target,pname)@ elements of type @a@.
+  -> m ()
+glGetProgramStringARB v1 v2 v3 = liftIO $ dyn241 ptr_glGetProgramStringARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramStringARB #-}
+ptr_glGetProgramStringARB :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetProgramStringARB = unsafePerformIO $ getCommand "glGetProgramStringARB"
+
+-- glGetProgramStringNV --------------------------------------------------------
+
+glGetProgramStringNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLubyte -- ^ @program@ pointing to @COMPSIZE(id,pname)@ elements of type @ProgramCharacterNV@.
+  -> m ()
+glGetProgramStringNV v1 v2 v3 = liftIO $ dyn396 ptr_glGetProgramStringNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramStringNV #-}
+ptr_glGetProgramStringNV :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
+ptr_glGetProgramStringNV = unsafePerformIO $ getCommand "glGetProgramStringNV"
+
+-- glGetProgramSubroutineParameteruivNV ----------------------------------------
+
+glGetProgramSubroutineParameteruivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(target)@ elements of type @GLuint@.
+  -> m ()
+glGetProgramSubroutineParameteruivNV v1 v2 v3 = liftIO $ dyn213 ptr_glGetProgramSubroutineParameteruivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramSubroutineParameteruivNV #-}
+ptr_glGetProgramSubroutineParameteruivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glGetProgramSubroutineParameteruivNV = unsafePerformIO $ getCommand "glGetProgramSubroutineParameteruivNV"
+
+-- glGetProgramiv --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetProgram.xhtml OpenGL 4.x>.
+glGetProgramiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetProgramiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramiv #-}
+ptr_glGetProgramiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramiv = unsafePerformIO $ getCommand "glGetProgramiv"
+
+-- glGetProgramivARB -----------------------------------------------------------
+
+glGetProgramivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLenum -- ^ @pname@ of type @ProgramPropertyARB@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetProgramivARB v1 v2 v3 = liftIO $ dyn132 ptr_glGetProgramivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramivARB #-}
+ptr_glGetProgramivARB :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramivARB = unsafePerformIO $ getCommand "glGetProgramivARB"
+
+-- glGetProgramivNV ------------------------------------------------------------
+
+glGetProgramivNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glGetProgramivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetProgramivNV #-}
+ptr_glGetProgramivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetProgramivNV = unsafePerformIO $ getCommand "glGetProgramivNV"
+
+-- glGetQueryBufferObjecti64v --------------------------------------------------
+
+glGetQueryBufferObjecti64v
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glGetQueryBufferObjecti64v v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjecti64v v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetQueryBufferObjecti64v #-}
+ptr_glGetQueryBufferObjecti64v :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
+ptr_glGetQueryBufferObjecti64v = unsafePerformIO $ getCommand "glGetQueryBufferObjecti64v"
+
+-- glGetQueryBufferObjectiv ----------------------------------------------------
+
+glGetQueryBufferObjectiv
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glGetQueryBufferObjectiv v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjectiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetQueryBufferObjectiv #-}
+ptr_glGetQueryBufferObjectiv :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
+ptr_glGetQueryBufferObjectiv = unsafePerformIO $ getCommand "glGetQueryBufferObjectiv"
+
+-- glGetQueryBufferObjectui64v -------------------------------------------------
+
+glGetQueryBufferObjectui64v
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glGetQueryBufferObjectui64v v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjectui64v v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetQueryBufferObjectui64v #-}
+ptr_glGetQueryBufferObjectui64v :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
+ptr_glGetQueryBufferObjectui64v = unsafePerformIO $ getCommand "glGetQueryBufferObjectui64v"
+
+-- glGetQueryBufferObjectuiv ---------------------------------------------------
+
+glGetQueryBufferObjectuiv
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @pname@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glGetQueryBufferObjectuiv v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjectuiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetQueryBufferObjectuiv #-}
+ptr_glGetQueryBufferObjectuiv :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
+ptr_glGetQueryBufferObjectuiv = unsafePerformIO $ getCommand "glGetQueryBufferObjectuiv"
+
+-- glGetQueryIndexediv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetQueryIndexed.xhtml OpenGL 4.x>.
+glGetQueryIndexediv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetQueryIndexediv v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetQueryIndexediv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetQueryIndexediv #-}
+ptr_glGetQueryIndexediv :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetQueryIndexediv = unsafePerformIO $ getCommand "glGetQueryIndexediv"
+
+-- glGetQueryObjecti64v --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
+glGetQueryObjecti64v
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
+  -> m ()
+glGetQueryObjecti64v v1 v2 v3 = liftIO $ dyn355 ptr_glGetQueryObjecti64v v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjecti64v #-}
+ptr_glGetQueryObjecti64v :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
+ptr_glGetQueryObjecti64v = unsafePerformIO $ getCommand "glGetQueryObjecti64v"
+
+-- glGetQueryObjecti64vEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glGetQueryObjecti64v'.
+glGetQueryObjecti64vEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
+  -> m ()
+glGetQueryObjecti64vEXT v1 v2 v3 = liftIO $ dyn355 ptr_glGetQueryObjecti64vEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjecti64vEXT #-}
+ptr_glGetQueryObjecti64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
+ptr_glGetQueryObjecti64vEXT = unsafePerformIO $ getCommand "glGetQueryObjecti64vEXT"
+
+-- glGetQueryObjectiv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetQueryObject.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
+glGetQueryObjectiv
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetQueryObjectiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetQueryObjectiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectiv #-}
+ptr_glGetQueryObjectiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetQueryObjectiv = unsafePerformIO $ getCommand "glGetQueryObjectiv"
+
+-- glGetQueryObjectivARB -------------------------------------------------------
+
+-- | This command is an alias for 'glGetQueryObjectiv'.
+glGetQueryObjectivARB
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetQueryObjectivARB v1 v2 v3 = liftIO $ dyn331 ptr_glGetQueryObjectivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectivARB #-}
+ptr_glGetQueryObjectivARB :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetQueryObjectivARB = unsafePerformIO $ getCommand "glGetQueryObjectivARB"
+
+-- glGetQueryObjectivEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glGetQueryObjectiv'.
+glGetQueryObjectivEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetQueryObjectivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetQueryObjectivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectivEXT #-}
+ptr_glGetQueryObjectivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetQueryObjectivEXT = unsafePerformIO $ getCommand "glGetQueryObjectivEXT"
+
+-- glGetQueryObjectui64v -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
+glGetQueryObjectui64v
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64@.
+  -> m ()
+glGetQueryObjectui64v v1 v2 v3 = liftIO $ dyn398 ptr_glGetQueryObjectui64v v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectui64v #-}
+ptr_glGetQueryObjectui64v :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
+ptr_glGetQueryObjectui64v = unsafePerformIO $ getCommand "glGetQueryObjectui64v"
+
+-- glGetQueryObjectui64vEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glGetQueryObjectui64v'.
+glGetQueryObjectui64vEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64@.
+  -> m ()
+glGetQueryObjectui64vEXT v1 v2 v3 = liftIO $ dyn398 ptr_glGetQueryObjectui64vEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectui64vEXT #-}
+ptr_glGetQueryObjectui64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
+ptr_glGetQueryObjectui64vEXT = unsafePerformIO $ getCommand "glGetQueryObjectui64vEXT"
+
+-- glGetQueryObjectuiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetQueryObject.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
+glGetQueryObjectuiv
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetQueryObjectuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetQueryObjectuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectuiv #-}
+ptr_glGetQueryObjectuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetQueryObjectuiv = unsafePerformIO $ getCommand "glGetQueryObjectuiv"
+
+-- glGetQueryObjectuivARB ------------------------------------------------------
+
+-- | This command is an alias for 'glGetQueryObjectuiv'.
+glGetQueryObjectuivARB
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetQueryObjectuivARB v1 v2 v3 = liftIO $ dyn371 ptr_glGetQueryObjectuivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectuivARB #-}
+ptr_glGetQueryObjectuivARB :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetQueryObjectuivARB = unsafePerformIO $ getCommand "glGetQueryObjectuivARB"
+
+-- glGetQueryObjectuivEXT ------------------------------------------------------
+
+glGetQueryObjectuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@.
+  -> m ()
+glGetQueryObjectuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glGetQueryObjectuivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryObjectuivEXT #-}
+ptr_glGetQueryObjectuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetQueryObjectuivEXT = unsafePerformIO $ getCommand "glGetQueryObjectuivEXT"
+
+-- glGetQueryiv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetQueryiv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryiv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryiv.xhtml OpenGL 4.x>.
+glGetQueryiv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetQueryiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetQueryiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryiv #-}
+ptr_glGetQueryiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetQueryiv = unsafePerformIO $ getCommand "glGetQueryiv"
+
+-- glGetQueryivARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glGetQueryiv'.
+glGetQueryivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetQueryivARB v1 v2 v3 = liftIO $ dyn132 ptr_glGetQueryivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryivARB #-}
+ptr_glGetQueryivARB :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetQueryivARB = unsafePerformIO $ getCommand "glGetQueryivARB"
+
+-- glGetQueryivEXT -------------------------------------------------------------
+
+glGetQueryivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetQueryivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetQueryivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetQueryivEXT #-}
+ptr_glGetQueryivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetQueryivEXT = unsafePerformIO $ getCommand "glGetQueryivEXT"
+
+-- glGetRenderbufferParameteriv ------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetRenderbufferParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetRenderbufferParameter.xhtml OpenGL 4.x>.
+glGetRenderbufferParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetRenderbufferParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetRenderbufferParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetRenderbufferParameteriv #-}
+ptr_glGetRenderbufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetRenderbufferParameteriv = unsafePerformIO $ getCommand "glGetRenderbufferParameteriv"
+
+-- glGetRenderbufferParameterivEXT ---------------------------------------------
+
+-- | This command is an alias for 'glGetRenderbufferParameteriv'.
+glGetRenderbufferParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetRenderbufferParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetRenderbufferParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetRenderbufferParameterivEXT #-}
+ptr_glGetRenderbufferParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetRenderbufferParameterivEXT = unsafePerformIO $ getCommand "glGetRenderbufferParameterivEXT"
+
+-- glGetRenderbufferParameterivOES ---------------------------------------------
+
+glGetRenderbufferParameterivOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetRenderbufferParameterivOES v1 v2 v3 = liftIO $ dyn132 ptr_glGetRenderbufferParameterivOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetRenderbufferParameterivOES #-}
+ptr_glGetRenderbufferParameterivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetRenderbufferParameterivOES = unsafePerformIO $ getCommand "glGetRenderbufferParameterivOES"
+
+-- glGetSamplerParameterIiv ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
+glGetSamplerParameterIiv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetSamplerParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameterIiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameterIiv #-}
+ptr_glGetSamplerParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetSamplerParameterIiv = unsafePerformIO $ getCommand "glGetSamplerParameterIiv"
+
+-- glGetSamplerParameterIivEXT -------------------------------------------------
+
+-- | This command is an alias for 'glGetSamplerParameterIiv'.
+glGetSamplerParameterIivEXT
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameterIivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameterIivEXT #-}
+ptr_glGetSamplerParameterIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetSamplerParameterIivEXT = unsafePerformIO $ getCommand "glGetSamplerParameterIivEXT"
+
+-- glGetSamplerParameterIivOES -------------------------------------------------
+
+-- | This command is an alias for 'glGetSamplerParameterIiv'.
+glGetSamplerParameterIivOES
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameterIivOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameterIivOES #-}
+ptr_glGetSamplerParameterIivOES :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetSamplerParameterIivOES = unsafePerformIO $ getCommand "glGetSamplerParameterIivOES"
+
+-- glGetSamplerParameterIuiv ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
+glGetSamplerParameterIuiv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetSamplerParameterIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameterIuiv #-}
+ptr_glGetSamplerParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetSamplerParameterIuiv = unsafePerformIO $ getCommand "glGetSamplerParameterIuiv"
+
+-- glGetSamplerParameterIuivEXT ------------------------------------------------
+
+-- | This command is an alias for 'glGetSamplerParameterIuiv'.
+glGetSamplerParameterIuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glGetSamplerParameterIuivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameterIuivEXT #-}
+ptr_glGetSamplerParameterIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetSamplerParameterIuivEXT = unsafePerformIO $ getCommand "glGetSamplerParameterIuivEXT"
+
+-- glGetSamplerParameterIuivOES ------------------------------------------------
+
+-- | This command is an alias for 'glGetSamplerParameterIuiv'.
+glGetSamplerParameterIuivOES
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn371 ptr_glGetSamplerParameterIuivOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameterIuivOES #-}
+ptr_glGetSamplerParameterIuivOES :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetSamplerParameterIuivOES = unsafePerformIO $ getCommand "glGetSamplerParameterIuivOES"
+
+-- glGetSamplerParameterfv -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
+glGetSamplerParameterfv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetSamplerParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glGetSamplerParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameterfv #-}
+ptr_glGetSamplerParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetSamplerParameterfv = unsafePerformIO $ getCommand "glGetSamplerParameterfv"
+
+-- glGetSamplerParameteriv -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
+glGetSamplerParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetSamplerParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetSamplerParameteriv #-}
+ptr_glGetSamplerParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetSamplerParameteriv = unsafePerformIO $ getCommand "glGetSamplerParameteriv"
+
+-- glGetSeparableFilter --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetSeparableFilter.xml OpenGL 2.x>.
+glGetSeparableFilter
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @SeparableTarget@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type)@ elements of type @b@.
+  -> Ptr c -- ^ @span@ pointing to @COMPSIZE(target,format,type)@ elements of type @c@.
+  -> m ()
+glGetSeparableFilter v1 v2 v3 v4 v5 v6 = liftIO $ dyn399 ptr_glGetSeparableFilter v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetSeparableFilter #-}
+ptr_glGetSeparableFilter :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
+ptr_glGetSeparableFilter = unsafePerformIO $ getCommand "glGetSeparableFilter"
+
+-- glGetSeparableFilterEXT -----------------------------------------------------
+
+glGetSeparableFilterEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
+  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type)@ elements of type @b@.
+  -> Ptr c -- ^ @span@ pointing to @COMPSIZE(target,format,type)@ elements of type @c@.
+  -> m ()
+glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn399 ptr_glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetSeparableFilterEXT #-}
+ptr_glGetSeparableFilterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
+ptr_glGetSeparableFilterEXT = unsafePerformIO $ getCommand "glGetSeparableFilterEXT"
+
+-- glGetShaderInfoLog ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetShaderInfoLog.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderInfoLog.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetShaderInfoLog.xhtml OpenGL 4.x>.
+glGetShaderInfoLog
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetShaderInfoLog v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetShaderInfoLog v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetShaderInfoLog #-}
+ptr_glGetShaderInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetShaderInfoLog = unsafePerformIO $ getCommand "glGetShaderInfoLog"
+
+-- glGetShaderPrecisionFormat --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetShaderPrecisionFormat.xhtml OpenGL 4.x>.
+glGetShaderPrecisionFormat
+  :: MonadIO m
+  => GLenum -- ^ @shadertype@.
+  -> GLenum -- ^ @precisiontype@.
+  -> Ptr GLint -- ^ @range@ pointing to @2@ elements of type @GLint@.
+  -> Ptr GLint -- ^ @precision@ pointing to @2@ elements of type @GLint@.
+  -> m ()
+glGetShaderPrecisionFormat v1 v2 v3 v4 = liftIO $ dyn400 ptr_glGetShaderPrecisionFormat v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetShaderPrecisionFormat #-}
+ptr_glGetShaderPrecisionFormat :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
+ptr_glGetShaderPrecisionFormat = unsafePerformIO $ getCommand "glGetShaderPrecisionFormat"
+
+-- glGetShaderSource -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetShaderSource.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderSource.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetShaderSource.xhtml OpenGL 4.x>.
+glGetShaderSource
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @source@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetShaderSource v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetShaderSource v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetShaderSource #-}
+ptr_glGetShaderSource :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetShaderSource = unsafePerformIO $ getCommand "glGetShaderSource"
+
+-- glGetShaderSourceARB --------------------------------------------------------
+
+-- | This command is an alias for 'glGetShaderSource'.
+glGetShaderSourceARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @obj@ of type @handleARB@.
+  -> GLsizei -- ^ @maxLength@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLcharARB -- ^ @source@ pointing to @maxLength@ elements of type @GLcharARB@.
+  -> m ()
+glGetShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn334 ptr_glGetShaderSourceARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetShaderSourceARB #-}
+ptr_glGetShaderSourceARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
+ptr_glGetShaderSourceARB = unsafePerformIO $ getCommand "glGetShaderSourceARB"
+
+-- glGetShaderiv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetShader.xhtml OpenGL 4.x>.
+glGetShaderiv
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetShaderiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetShaderiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetShaderiv #-}
+ptr_glGetShaderiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetShaderiv = unsafePerformIO $ getCommand "glGetShaderiv"
+
+-- glGetSharpenTexFuncSGIS -----------------------------------------------------
+
+glGetSharpenTexFuncSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
+  -> m ()
+glGetSharpenTexFuncSGIS v1 v2 = liftIO $ dyn93 ptr_glGetSharpenTexFuncSGIS v1 v2
+
+{-# NOINLINE ptr_glGetSharpenTexFuncSGIS #-}
+ptr_glGetSharpenTexFuncSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetSharpenTexFuncSGIS = unsafePerformIO $ getCommand "glGetSharpenTexFuncSGIS"
+
+-- glGetStageIndexNV -----------------------------------------------------------
+
+glGetStageIndexNV
+  :: MonadIO m
+  => GLenum -- ^ @shadertype@.
+  -> m GLushort
+glGetStageIndexNV v1 = liftIO $ dyn401 ptr_glGetStageIndexNV v1
+
+{-# NOINLINE ptr_glGetStageIndexNV #-}
+ptr_glGetStageIndexNV :: FunPtr (GLenum -> IO GLushort)
+ptr_glGetStageIndexNV = unsafePerformIO $ getCommand "glGetStageIndexNV"
+
+-- glGetString -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetString.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetString.xhtml OpenGL 4.x>.
+glGetString
+  :: MonadIO m
+  => GLenum -- ^ @name@ of type [StringName](Graphics-GL-Groups.html#StringName).
+  -> m (Ptr GLubyte) -- ^ pointing to elements of type @String@.
+glGetString v1 = liftIO $ dyn402 ptr_glGetString v1
+
+{-# NOINLINE ptr_glGetString #-}
+ptr_glGetString :: FunPtr (GLenum -> IO (Ptr GLubyte))
+ptr_glGetString = unsafePerformIO $ getCommand "glGetString"
+
+-- glGetStringi ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetString.xhtml OpenGL 4.x>.
+glGetStringi
+  :: MonadIO m
+  => GLenum -- ^ @name@.
+  -> GLuint -- ^ @index@.
+  -> m (Ptr GLubyte) -- ^ pointing to elements of type @String@.
+glGetStringi v1 v2 = liftIO $ dyn403 ptr_glGetStringi v1 v2
+
+{-# NOINLINE ptr_glGetStringi #-}
+ptr_glGetStringi :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
+ptr_glGetStringi = unsafePerformIO $ getCommand "glGetStringi"
+
+-- glGetSubroutineIndex --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetSubroutineIndex.xhtml OpenGL 4.x>.
+glGetSubroutineIndex
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @shadertype@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m GLuint
+glGetSubroutineIndex v1 v2 v3 = liftIO $ dyn392 ptr_glGetSubroutineIndex v1 v2 v3
+
+{-# NOINLINE ptr_glGetSubroutineIndex #-}
+ptr_glGetSubroutineIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
+ptr_glGetSubroutineIndex = unsafePerformIO $ getCommand "glGetSubroutineIndex"
+
+-- glGetSubroutineUniformLocation ----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetSubroutineUniformLocation.xhtml OpenGL 4.x>.
+glGetSubroutineUniformLocation
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @shadertype@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m GLint
+glGetSubroutineUniformLocation v1 v2 v3 = liftIO $ dyn393 ptr_glGetSubroutineUniformLocation v1 v2 v3
+
+{-# NOINLINE ptr_glGetSubroutineUniformLocation #-}
+ptr_glGetSubroutineUniformLocation :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
+ptr_glGetSubroutineUniformLocation = unsafePerformIO $ getCommand "glGetSubroutineUniformLocation"
+
+-- glGetSynciv -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSync.xhtml OpenGL 4.x>.
+glGetSynciv
+  :: MonadIO m
+  => GLsync -- ^ @sync@ of type @sync@.
+  -> GLenum -- ^ @pname@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetSynciv v1 v2 v3 v4 v5 = liftIO $ dyn404 ptr_glGetSynciv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetSynciv #-}
+ptr_glGetSynciv :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+ptr_glGetSynciv = unsafePerformIO $ getCommand "glGetSynciv"
+
+-- glGetSyncivAPPLE ------------------------------------------------------------
+
+-- | This command is an alias for 'glGetSynciv'.
+glGetSyncivAPPLE
+  :: MonadIO m
+  => GLsync -- ^ @sync@.
+  -> GLenum -- ^ @pname@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@.
+  -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetSyncivAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn404 ptr_glGetSyncivAPPLE v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetSyncivAPPLE #-}
+ptr_glGetSyncivAPPLE :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+ptr_glGetSyncivAPPLE = unsafePerformIO $ getCommand "glGetSyncivAPPLE"
+
+-- glGetTexBumpParameterfvATI --------------------------------------------------
+
+glGetTexBumpParameterfvATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @GetTexBumpParameterATI@.
+  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTexBumpParameterfvATI v1 v2 = liftIO $ dyn93 ptr_glGetTexBumpParameterfvATI v1 v2
+
+{-# NOINLINE ptr_glGetTexBumpParameterfvATI #-}
+ptr_glGetTexBumpParameterfvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTexBumpParameterfvATI = unsafePerformIO $ getCommand "glGetTexBumpParameterfvATI"
+
+-- glGetTexBumpParameterivATI --------------------------------------------------
+
+glGetTexBumpParameterivATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @GetTexBumpParameterATI@.
+  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexBumpParameterivATI v1 v2 = liftIO $ dyn135 ptr_glGetTexBumpParameterivATI v1 v2
+
+{-# NOINLINE ptr_glGetTexBumpParameterivATI #-}
+ptr_glGetTexBumpParameterivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexBumpParameterivATI = unsafePerformIO $ getCommand "glGetTexBumpParameterivATI"
+
+-- glGetTexEnvfv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexEnv.xml OpenGL 2.x>.
+glGetTexEnvfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTexEnvfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexEnvfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexEnvfv #-}
+ptr_glGetTexEnvfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTexEnvfv = unsafePerformIO $ getCommand "glGetTexEnvfv"
+
+-- glGetTexEnviv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexEnv.xml OpenGL 2.x>.
+glGetTexEnviv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexEnviv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexEnviv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexEnviv #-}
+ptr_glGetTexEnviv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexEnviv = unsafePerformIO $ getCommand "glGetTexEnviv"
+
+-- glGetTexEnvxv ---------------------------------------------------------------
+
+glGetTexEnvxv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetTexEnvxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexEnvxv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexEnvxv #-}
+ptr_glGetTexEnvxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetTexEnvxv = unsafePerformIO $ getCommand "glGetTexEnvxv"
+
+-- glGetTexEnvxvOES ------------------------------------------------------------
+
+glGetTexEnvxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetTexEnvxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexEnvxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexEnvxvOES #-}
+ptr_glGetTexEnvxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetTexEnvxvOES = unsafePerformIO $ getCommand "glGetTexEnvxvOES"
+
+-- glGetTexFilterFuncSGIS ------------------------------------------------------
+
+glGetTexFilterFuncSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @filter@ of type @TextureFilterSGIS@.
+  -> Ptr GLfloat -- ^ @weights@ pointing to @COMPSIZE(target,filter)@ elements of type @GLfloat@.
+  -> m ()
+glGetTexFilterFuncSGIS v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexFilterFuncSGIS v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexFilterFuncSGIS #-}
+ptr_glGetTexFilterFuncSGIS :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTexFilterFuncSGIS = unsafePerformIO $ getCommand "glGetTexFilterFuncSGIS"
+
+-- glGetTexGendv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexGen.xml OpenGL 2.x>.
+glGetTexGendv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetTexGendv v1 v2 v3 = liftIO $ dyn349 ptr_glGetTexGendv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexGendv #-}
+ptr_glGetTexGendv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetTexGendv = unsafePerformIO $ getCommand "glGetTexGendv"
+
+-- glGetTexGenfv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexGen.xml OpenGL 2.x>.
+glGetTexGenfv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTexGenfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexGenfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexGenfv #-}
+ptr_glGetTexGenfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTexGenfv = unsafePerformIO $ getCommand "glGetTexGenfv"
+
+-- glGetTexGenfvOES ------------------------------------------------------------
+
+glGetTexGenfvOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTexGenfvOES v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexGenfvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexGenfvOES #-}
+ptr_glGetTexGenfvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTexGenfvOES = unsafePerformIO $ getCommand "glGetTexGenfvOES"
+
+-- glGetTexGeniv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexGen.xml OpenGL 2.x>.
+glGetTexGeniv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexGeniv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexGeniv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexGeniv #-}
+ptr_glGetTexGeniv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexGeniv = unsafePerformIO $ getCommand "glGetTexGeniv"
+
+-- glGetTexGenivOES ------------------------------------------------------------
+
+glGetTexGenivOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexGenivOES v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexGenivOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexGenivOES #-}
+ptr_glGetTexGenivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexGenivOES = unsafePerformIO $ getCommand "glGetTexGenivOES"
+
+-- glGetTexGenxvOES ------------------------------------------------------------
+
+glGetTexGenxvOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetTexGenxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexGenxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexGenxvOES #-}
+ptr_glGetTexGenxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetTexGenxvOES = unsafePerformIO $ getCommand "glGetTexGenxvOES"
+
+-- glGetTexImage ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexImage.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexImage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
+glGetTexImage
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
+  -> m ()
+glGetTexImage v1 v2 v3 v4 v5 = liftIO $ dyn405 ptr_glGetTexImage v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetTexImage #-}
+ptr_glGetTexImage :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetTexImage = unsafePerformIO $ getCommand "glGetTexImage"
+
+-- glGetTexLevelParameterfv ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexLevelParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
+glGetTexLevelParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTexLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn406 ptr_glGetTexLevelParameterfv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTexLevelParameterfv #-}
+ptr_glGetTexLevelParameterfv :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTexLevelParameterfv = unsafePerformIO $ getCommand "glGetTexLevelParameterfv"
+
+-- glGetTexLevelParameteriv ----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexLevelParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
+glGetTexLevelParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn407 ptr_glGetTexLevelParameteriv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTexLevelParameteriv #-}
+ptr_glGetTexLevelParameteriv :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexLevelParameteriv = unsafePerformIO $ getCommand "glGetTexLevelParameteriv"
+
+-- glGetTexLevelParameterxvOES -------------------------------------------------
+
+glGetTexLevelParameterxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetTexLevelParameterxvOES v1 v2 v3 v4 = liftIO $ dyn408 ptr_glGetTexLevelParameterxvOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTexLevelParameterxvOES #-}
+ptr_glGetTexLevelParameterxvOES :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetTexLevelParameterxvOES = unsafePerformIO $ getCommand "glGetTexLevelParameterxvOES"
+
+-- glGetTexParameterIiv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTexParameterIiv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexParameterIiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameterIiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterIiv #-}
+ptr_glGetTexParameterIiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexParameterIiv = unsafePerformIO $ getCommand "glGetTexParameterIiv"
+
+-- glGetTexParameterIivEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glGetTexParameterIiv'.
+glGetTexParameterIivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexParameterIivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameterIivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterIivEXT #-}
+ptr_glGetTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexParameterIivEXT = unsafePerformIO $ getCommand "glGetTexParameterIivEXT"
+
+-- glGetTexParameterIivOES -----------------------------------------------------
+
+-- | This command is an alias for 'glGetTexParameterIiv'.
+glGetTexParameterIivOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexParameterIivOES v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameterIivOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterIivOES #-}
+ptr_glGetTexParameterIivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexParameterIivOES = unsafePerformIO $ getCommand "glGetTexParameterIivOES"
+
+-- glGetTexParameterIuiv -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTexParameterIuiv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetTexParameterIuiv v1 v2 v3 = liftIO $ dyn409 ptr_glGetTexParameterIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterIuiv #-}
+ptr_glGetTexParameterIuiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetTexParameterIuiv = unsafePerformIO $ getCommand "glGetTexParameterIuiv"
+
+-- glGetTexParameterIuivEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glGetTexParameterIuiv'.
+glGetTexParameterIuivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn409 ptr_glGetTexParameterIuivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterIuivEXT #-}
+ptr_glGetTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetTexParameterIuivEXT = unsafePerformIO $ getCommand "glGetTexParameterIuivEXT"
+
+-- glGetTexParameterIuivOES ----------------------------------------------------
+
+-- | This command is an alias for 'glGetTexParameterIuiv'.
+glGetTexParameterIuivOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetTexParameterIuivOES v1 v2 v3 = liftIO $ dyn409 ptr_glGetTexParameterIuivOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterIuivOES #-}
+ptr_glGetTexParameterIuivOES :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetTexParameterIuivOES = unsafePerformIO $ getCommand "glGetTexParameterIuivOES"
+
+-- glGetTexParameterPointervAPPLE ----------------------------------------------
+
+glGetTexParameterPointervAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetTexParameterPointervAPPLE v1 v2 v3 = liftIO $ dyn313 ptr_glGetTexParameterPointervAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterPointervAPPLE #-}
+ptr_glGetTexParameterPointervAPPLE :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetTexParameterPointervAPPLE = unsafePerformIO $ getCommand "glGetTexParameterPointervAPPLE"
+
+-- glGetTexParameterfv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTexParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTexParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterfv #-}
+ptr_glGetTexParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTexParameterfv = unsafePerformIO $ getCommand "glGetTexParameterfv"
+
+-- glGetTexParameteriv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTexParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTexParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameteriv #-}
+ptr_glGetTexParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTexParameteriv = unsafePerformIO $ getCommand "glGetTexParameteriv"
+
+-- glGetTexParameterxv ---------------------------------------------------------
+
+glGetTexParameterxv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetTexParameterxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexParameterxv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterxv #-}
+ptr_glGetTexParameterxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetTexParameterxv = unsafePerformIO $ getCommand "glGetTexParameterxv"
+
+-- glGetTexParameterxvOES ------------------------------------------------------
+
+glGetTexParameterxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glGetTexParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexParameterxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glGetTexParameterxvOES #-}
+ptr_glGetTexParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glGetTexParameterxvOES = unsafePerformIO $ getCommand "glGetTexParameterxvOES"
+
+-- glGetTextureHandleARB -------------------------------------------------------
+
+glGetTextureHandleARB
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> m GLuint64
+glGetTextureHandleARB v1 = liftIO $ dyn410 ptr_glGetTextureHandleARB v1
+
+{-# NOINLINE ptr_glGetTextureHandleARB #-}
+ptr_glGetTextureHandleARB :: FunPtr (GLuint -> IO GLuint64)
+ptr_glGetTextureHandleARB = unsafePerformIO $ getCommand "glGetTextureHandleARB"
+
+-- glGetTextureHandleNV --------------------------------------------------------
+
+glGetTextureHandleNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> m GLuint64
+glGetTextureHandleNV v1 = liftIO $ dyn410 ptr_glGetTextureHandleNV v1
+
+{-# NOINLINE ptr_glGetTextureHandleNV #-}
+ptr_glGetTextureHandleNV :: FunPtr (GLuint -> IO GLuint64)
+ptr_glGetTextureHandleNV = unsafePerformIO $ getCommand "glGetTextureHandleNV"
+
+-- glGetTextureImage -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
+glGetTextureImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glGetTextureImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn411 ptr_glGetTextureImage v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetTextureImage #-}
+ptr_glGetTextureImage :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetTextureImage = unsafePerformIO $ getCommand "glGetTextureImage"
+
+-- glGetTextureImageEXT --------------------------------------------------------
+
+glGetTextureImageEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
+  -> m ()
+glGetTextureImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn412 ptr_glGetTextureImageEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetTextureImageEXT #-}
+ptr_glGetTextureImageEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glGetTextureImageEXT = unsafePerformIO $ getCommand "glGetTextureImageEXT"
+
+-- glGetTextureLevelParameterfv ------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
+glGetTextureLevelParameterfv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@.
+  -> m ()
+glGetTextureLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn413 ptr_glGetTextureLevelParameterfv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureLevelParameterfv #-}
+ptr_glGetTextureLevelParameterfv :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTextureLevelParameterfv = unsafePerformIO $ getCommand "glGetTextureLevelParameterfv"
+
+-- glGetTextureLevelParameterfvEXT ---------------------------------------------
+
+glGetTextureLevelParameterfvEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn414 ptr_glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetTextureLevelParameterfvEXT #-}
+ptr_glGetTextureLevelParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTextureLevelParameterfvEXT = unsafePerformIO $ getCommand "glGetTextureLevelParameterfvEXT"
+
+-- glGetTextureLevelParameteriv ------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
+glGetTextureLevelParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetTextureLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn415 ptr_glGetTextureLevelParameteriv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureLevelParameteriv #-}
+ptr_glGetTextureLevelParameteriv :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTextureLevelParameteriv = unsafePerformIO $ getCommand "glGetTextureLevelParameteriv"
+
+-- glGetTextureLevelParameterivEXT ---------------------------------------------
+
+glGetTextureLevelParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetTextureLevelParameterivEXT #-}
+ptr_glGetTextureLevelParameterivEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTextureLevelParameterivEXT = unsafePerformIO $ getCommand "glGetTextureLevelParameterivEXT"
+
+-- glGetTextureParameterIiv ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTextureParameterIiv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetTextureParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetTextureParameterIiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTextureParameterIiv #-}
+ptr_glGetTextureParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTextureParameterIiv = unsafePerformIO $ getCommand "glGetTextureParameterIiv"
+
+-- glGetTextureParameterIivEXT -------------------------------------------------
+
+glGetTextureParameterIivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetTextureParameterIivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureParameterIivEXT #-}
+ptr_glGetTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTextureParameterIivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIivEXT"
+
+-- glGetTextureParameterIuiv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTextureParameterIuiv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@.
+  -> m ()
+glGetTextureParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetTextureParameterIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTextureParameterIuiv #-}
+ptr_glGetTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetTextureParameterIuiv = unsafePerformIO $ getCommand "glGetTextureParameterIuiv"
+
+-- glGetTextureParameterIuivEXT ------------------------------------------------
+
+glGetTextureParameterIuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn416 ptr_glGetTextureParameterIuivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureParameterIuivEXT #-}
+ptr_glGetTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetTextureParameterIuivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIuivEXT"
+
+-- glGetTextureParameterfv -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTextureParameterfv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@.
+  -> m ()
+glGetTextureParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glGetTextureParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTextureParameterfv #-}
+ptr_glGetTextureParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTextureParameterfv = unsafePerformIO $ getCommand "glGetTextureParameterfv"
+
+-- glGetTextureParameterfvEXT --------------------------------------------------
+
+glGetTextureParameterfvEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn417 ptr_glGetTextureParameterfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureParameterfvEXT #-}
+ptr_glGetTextureParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetTextureParameterfvEXT = unsafePerformIO $ getCommand "glGetTextureParameterfvEXT"
+
+-- glGetTextureParameteriv -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
+glGetTextureParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetTextureParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetTextureParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTextureParameteriv #-}
+ptr_glGetTextureParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTextureParameteriv = unsafePerformIO $ getCommand "glGetTextureParameteriv"
+
+-- glGetTextureParameterivEXT --------------------------------------------------
+
+glGetTextureParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-GL-Groups.html#GetTextureParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetTextureParameterivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTextureParameterivEXT #-}
+ptr_glGetTextureParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTextureParameterivEXT = unsafePerformIO $ getCommand "glGetTextureParameterivEXT"
+
+-- glGetTextureSamplerHandleARB ------------------------------------------------
+
+glGetTextureSamplerHandleARB
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLuint -- ^ @sampler@.
+  -> m GLuint64
+glGetTextureSamplerHandleARB v1 v2 = liftIO $ dyn418 ptr_glGetTextureSamplerHandleARB v1 v2
+
+{-# NOINLINE ptr_glGetTextureSamplerHandleARB #-}
+ptr_glGetTextureSamplerHandleARB :: FunPtr (GLuint -> GLuint -> IO GLuint64)
+ptr_glGetTextureSamplerHandleARB = unsafePerformIO $ getCommand "glGetTextureSamplerHandleARB"
+
+-- glGetTextureSamplerHandleNV -------------------------------------------------
+
+glGetTextureSamplerHandleNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLuint -- ^ @sampler@.
+  -> m GLuint64
+glGetTextureSamplerHandleNV v1 v2 = liftIO $ dyn418 ptr_glGetTextureSamplerHandleNV v1 v2
+
+{-# NOINLINE ptr_glGetTextureSamplerHandleNV #-}
+ptr_glGetTextureSamplerHandleNV :: FunPtr (GLuint -> GLuint -> IO GLuint64)
+ptr_glGetTextureSamplerHandleNV = unsafePerformIO $ getCommand "glGetTextureSamplerHandleNV"
+
+-- glGetTextureSubImage --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTextureSubImage.xhtml OpenGL 4.x>.
+glGetTextureSubImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn419 ptr_glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glGetTextureSubImage #-}
+ptr_glGetTextureSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetTextureSubImage = unsafePerformIO $ getCommand "glGetTextureSubImage"
+
+-- glGetTrackMatrixivNV --------------------------------------------------------
+
+glGetTrackMatrixivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @address@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetTrackMatrixivNV v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetTrackMatrixivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTrackMatrixivNV #-}
+ptr_glGetTrackMatrixivNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTrackMatrixivNV = unsafePerformIO $ getCommand "glGetTrackMatrixivNV"
+
+-- glGetTransformFeedbackVarying -----------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTransformFeedbackVarying.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedbackVarying.xhtml OpenGL 4.x>.
+glGetTransformFeedbackVarying
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLsizei -- ^ @size@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn304 ptr_glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetTransformFeedbackVarying #-}
+ptr_glGetTransformFeedbackVarying :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
+ptr_glGetTransformFeedbackVarying = unsafePerformIO $ getCommand "glGetTransformFeedbackVarying"
+
+-- glGetTransformFeedbackVaryingEXT --------------------------------------------
+
+-- | This command is an alias for 'glGetTransformFeedbackVarying'.
+glGetTransformFeedbackVaryingEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLsizei -- ^ @size@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
+  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
+  -> m ()
+glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn304 ptr_glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glGetTransformFeedbackVaryingEXT #-}
+ptr_glGetTransformFeedbackVaryingEXT :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
+ptr_glGetTransformFeedbackVaryingEXT = unsafePerformIO $ getCommand "glGetTransformFeedbackVaryingEXT"
+
+-- glGetTransformFeedbackVaryingNV ---------------------------------------------
+
+glGetTransformFeedbackVaryingNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @location@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetTransformFeedbackVaryingNV v1 v2 v3 = liftIO $ dyn420 ptr_glGetTransformFeedbackVaryingNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetTransformFeedbackVaryingNV #-}
+ptr_glGetTransformFeedbackVaryingNV :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetTransformFeedbackVaryingNV = unsafePerformIO $ getCommand "glGetTransformFeedbackVaryingNV"
+
+-- glGetTransformFeedbacki64_v -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedback.xhtml OpenGL 4.x>.
+glGetTransformFeedbacki64_v
+  :: MonadIO m
+  => GLuint -- ^ @xfb@.
+  -> GLenum -- ^ @pname@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint64 -- ^ @param@.
+  -> m ()
+glGetTransformFeedbacki64_v v1 v2 v3 v4 = liftIO $ dyn421 ptr_glGetTransformFeedbacki64_v v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTransformFeedbacki64_v #-}
+ptr_glGetTransformFeedbacki64_v :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
+ptr_glGetTransformFeedbacki64_v = unsafePerformIO $ getCommand "glGetTransformFeedbacki64_v"
+
+-- glGetTransformFeedbacki_v ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedback.xhtml OpenGL 4.x>.
+glGetTransformFeedbacki_v
+  :: MonadIO m
+  => GLuint -- ^ @xfb@.
+  -> GLenum -- ^ @pname@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glGetTransformFeedbacki_v v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetTransformFeedbacki_v v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTransformFeedbacki_v #-}
+ptr_glGetTransformFeedbacki_v :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glGetTransformFeedbacki_v = unsafePerformIO $ getCommand "glGetTransformFeedbacki_v"
+
+-- glGetTransformFeedbackiv ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedback.xhtml OpenGL 4.x>.
+glGetTransformFeedbackiv
+  :: MonadIO m
+  => GLuint -- ^ @xfb@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glGetTransformFeedbackiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetTransformFeedbackiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetTransformFeedbackiv #-}
+ptr_glGetTransformFeedbackiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetTransformFeedbackiv = unsafePerformIO $ getCommand "glGetTransformFeedbackiv"
+
+-- glGetTranslatedShaderSourceANGLE --------------------------------------------
+
+glGetTranslatedShaderSourceANGLE
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> GLsizei -- ^ @bufsize@.
+  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
+  -> Ptr GLchar -- ^ @source@.
+  -> m ()
+glGetTranslatedShaderSourceANGLE v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetTranslatedShaderSourceANGLE v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetTranslatedShaderSourceANGLE #-}
+ptr_glGetTranslatedShaderSourceANGLE :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
+ptr_glGetTranslatedShaderSourceANGLE = unsafePerformIO $ getCommand "glGetTranslatedShaderSourceANGLE"
+
+-- glGetUniformBlockIndex ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformBlockIndex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniformBlockIndex.xhtml OpenGL 4.x>.
+glGetUniformBlockIndex
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @uniformBlockName@ pointing to @COMPSIZE()@ elements of type @GLchar@.
+  -> m GLuint
+glGetUniformBlockIndex v1 v2 = liftIO $ dyn422 ptr_glGetUniformBlockIndex v1 v2
+
+{-# NOINLINE ptr_glGetUniformBlockIndex #-}
+ptr_glGetUniformBlockIndex :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
+ptr_glGetUniformBlockIndex = unsafePerformIO $ getCommand "glGetUniformBlockIndex"
+
+-- glGetUniformBufferSizeEXT ---------------------------------------------------
+
+glGetUniformBufferSizeEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> m GLint
+glGetUniformBufferSizeEXT v1 v2 = liftIO $ dyn423 ptr_glGetUniformBufferSizeEXT v1 v2
+
+{-# NOINLINE ptr_glGetUniformBufferSizeEXT #-}
+ptr_glGetUniformBufferSizeEXT :: FunPtr (GLuint -> GLint -> IO GLint)
+ptr_glGetUniformBufferSizeEXT = unsafePerformIO $ getCommand "glGetUniformBufferSizeEXT"
+
+-- glGetUniformIndices ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformIndices.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniformIndices.xhtml OpenGL 4.x>.
+glGetUniformIndices
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @uniformCount@.
+  -> Ptr (Ptr GLchar) -- ^ @uniformNames@ pointing to @COMPSIZE(uniformCount)@ elements of type @Ptr GLchar@.
+  -> Ptr GLuint -- ^ @uniformIndices@ pointing to @COMPSIZE(uniformCount)@ elements of type @GLuint@.
+  -> m ()
+glGetUniformIndices v1 v2 v3 v4 = liftIO $ dyn424 ptr_glGetUniformIndices v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetUniformIndices #-}
+ptr_glGetUniformIndices :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
+ptr_glGetUniformIndices = unsafePerformIO $ getCommand "glGetUniformIndices"
+
+-- glGetUniformLocation --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetUniformLocation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniformLocation.xhtml OpenGL 4.x>.
+glGetUniformLocation
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@.
+  -> m GLint
+glGetUniformLocation v1 v2 = liftIO $ dyn307 ptr_glGetUniformLocation v1 v2
+
+{-# NOINLINE ptr_glGetUniformLocation #-}
+ptr_glGetUniformLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetUniformLocation = unsafePerformIO $ getCommand "glGetUniformLocation"
+
+-- glGetUniformLocationARB -----------------------------------------------------
+
+-- | This command is an alias for 'glGetUniformLocation'.
+glGetUniformLocationARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> Ptr GLcharARB -- ^ @name@.
+  -> m GLint
+glGetUniformLocationARB v1 v2 = liftIO $ dyn308 ptr_glGetUniformLocationARB v1 v2
+
+{-# NOINLINE ptr_glGetUniformLocationARB #-}
+ptr_glGetUniformLocationARB :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
+ptr_glGetUniformLocationARB = unsafePerformIO $ getCommand "glGetUniformLocationARB"
+
+-- glGetUniformOffsetEXT -------------------------------------------------------
+
+glGetUniformOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> m GLintptr -- ^ of type @BufferOffset@.
+glGetUniformOffsetEXT v1 v2 = liftIO $ dyn425 ptr_glGetUniformOffsetEXT v1 v2
+
+{-# NOINLINE ptr_glGetUniformOffsetEXT #-}
+ptr_glGetUniformOffsetEXT :: FunPtr (GLuint -> GLint -> IO GLintptr)
+ptr_glGetUniformOffsetEXT = unsafePerformIO $ getCommand "glGetUniformOffsetEXT"
+
+-- glGetUniformSubroutineuiv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniformSubroutine.xhtml OpenGL 4.x>.
+glGetUniformSubroutineuiv
+  :: MonadIO m
+  => GLenum -- ^ @shadertype@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glGetUniformSubroutineuiv v1 v2 v3 = liftIO $ dyn75 ptr_glGetUniformSubroutineuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformSubroutineuiv #-}
+ptr_glGetUniformSubroutineuiv :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
+ptr_glGetUniformSubroutineuiv = unsafePerformIO $ getCommand "glGetUniformSubroutineuiv"
+
+-- glGetUniformdv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetUniformdv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLdouble@.
+  -> m ()
+glGetUniformdv v1 v2 v3 = liftIO $ dyn426 ptr_glGetUniformdv v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformdv #-}
+ptr_glGetUniformdv :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
+ptr_glGetUniformdv = unsafePerformIO $ getCommand "glGetUniformdv"
+
+-- glGetUniformfv --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetUniformfv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLfloat@.
+  -> m ()
+glGetUniformfv v1 v2 v3 = liftIO $ dyn427 ptr_glGetUniformfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformfv #-}
+ptr_glGetUniformfv :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
+ptr_glGetUniformfv = unsafePerformIO $ getCommand "glGetUniformfv"
+
+-- glGetUniformfvARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glGetUniformfv'.
+glGetUniformfvARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(programObj,location)@ elements of type @GLfloat@.
+  -> m ()
+glGetUniformfvARB v1 v2 v3 = liftIO $ dyn428 ptr_glGetUniformfvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformfvARB #-}
+ptr_glGetUniformfvARB :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
+ptr_glGetUniformfvARB = unsafePerformIO $ getCommand "glGetUniformfvARB"
+
+-- glGetUniformi64vARB ---------------------------------------------------------
+
+glGetUniformi64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint64@.
+  -> m ()
+glGetUniformi64vARB v1 v2 v3 = liftIO $ dyn429 ptr_glGetUniformi64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformi64vARB #-}
+ptr_glGetUniformi64vARB :: FunPtr (GLuint -> GLint -> Ptr GLint64 -> IO ())
+ptr_glGetUniformi64vARB = unsafePerformIO $ getCommand "glGetUniformi64vARB"
+
+-- glGetUniformi64vNV ----------------------------------------------------------
+
+glGetUniformi64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint64EXT@.
+  -> m ()
+glGetUniformi64vNV v1 v2 v3 = liftIO $ dyn430 ptr_glGetUniformi64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformi64vNV #-}
+ptr_glGetUniformi64vNV :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
+ptr_glGetUniformi64vNV = unsafePerformIO $ getCommand "glGetUniformi64vNV"
+
+-- glGetUniformiv --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetUniformiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint@.
+  -> m ()
+glGetUniformiv v1 v2 v3 = liftIO $ dyn431 ptr_glGetUniformiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformiv #-}
+ptr_glGetUniformiv :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
+ptr_glGetUniformiv = unsafePerformIO $ getCommand "glGetUniformiv"
+
+-- glGetUniformivARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glGetUniformiv'.
+glGetUniformivARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(programObj,location)@ elements of type @GLint@.
+  -> m ()
+glGetUniformivARB v1 v2 v3 = liftIO $ dyn432 ptr_glGetUniformivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformivARB #-}
+ptr_glGetUniformivARB :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
+ptr_glGetUniformivARB = unsafePerformIO $ getCommand "glGetUniformivARB"
+
+-- glGetUniformui64vARB --------------------------------------------------------
+
+glGetUniformui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint64@.
+  -> m ()
+glGetUniformui64vARB v1 v2 v3 = liftIO $ dyn433 ptr_glGetUniformui64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformui64vARB #-}
+ptr_glGetUniformui64vARB :: FunPtr (GLuint -> GLint -> Ptr GLuint64 -> IO ())
+ptr_glGetUniformui64vARB = unsafePerformIO $ getCommand "glGetUniformui64vARB"
+
+-- glGetUniformui64vNV ---------------------------------------------------------
+
+glGetUniformui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint64EXT@.
+  -> m ()
+glGetUniformui64vNV v1 v2 v3 = liftIO $ dyn434 ptr_glGetUniformui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformui64vNV #-}
+ptr_glGetUniformui64vNV :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
+ptr_glGetUniformui64vNV = unsafePerformIO $ getCommand "glGetUniformui64vNV"
+
+-- glGetUniformuiv -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetUniformuiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint@.
+  -> m ()
+glGetUniformuiv v1 v2 v3 = liftIO $ dyn435 ptr_glGetUniformuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformuiv #-}
+ptr_glGetUniformuiv :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
+ptr_glGetUniformuiv = unsafePerformIO $ getCommand "glGetUniformuiv"
+
+-- glGetUniformuivEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glGetUniformuiv'.
+glGetUniformuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint@.
+  -> m ()
+glGetUniformuivEXT v1 v2 v3 = liftIO $ dyn435 ptr_glGetUniformuivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetUniformuivEXT #-}
+ptr_glGetUniformuivEXT :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
+ptr_glGetUniformuivEXT = unsafePerformIO $ getCommand "glGetUniformuivEXT"
+
+-- glGetVariantArrayObjectfvATI ------------------------------------------------
+
+glGetVariantArrayObjectfvATI
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glGetVariantArrayObjectfvATI v1 v2 v3 = liftIO $ dyn345 ptr_glGetVariantArrayObjectfvATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetVariantArrayObjectfvATI #-}
+ptr_glGetVariantArrayObjectfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetVariantArrayObjectfvATI = unsafePerformIO $ getCommand "glGetVariantArrayObjectfvATI"
+
+-- glGetVariantArrayObjectivATI ------------------------------------------------
+
+glGetVariantArrayObjectivATI
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetVariantArrayObjectivATI v1 v2 v3 = liftIO $ dyn331 ptr_glGetVariantArrayObjectivATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetVariantArrayObjectivATI #-}
+ptr_glGetVariantArrayObjectivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVariantArrayObjectivATI = unsafePerformIO $ getCommand "glGetVariantArrayObjectivATI"
+
+-- glGetVariantBooleanvEXT -----------------------------------------------------
+
+glGetVariantBooleanvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glGetVariantBooleanvEXT v1 v2 v3 = liftIO $ dyn344 ptr_glGetVariantBooleanvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVariantBooleanvEXT #-}
+ptr_glGetVariantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
+ptr_glGetVariantBooleanvEXT = unsafePerformIO $ getCommand "glGetVariantBooleanvEXT"
+
+-- glGetVariantFloatvEXT -------------------------------------------------------
+
+glGetVariantFloatvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
+  -> m ()
+glGetVariantFloatvEXT v1 v2 v3 = liftIO $ dyn345 ptr_glGetVariantFloatvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVariantFloatvEXT #-}
+ptr_glGetVariantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetVariantFloatvEXT = unsafePerformIO $ getCommand "glGetVariantFloatvEXT"
+
+-- glGetVariantIntegervEXT -----------------------------------------------------
+
+glGetVariantIntegervEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
+  -> m ()
+glGetVariantIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetVariantIntegervEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVariantIntegervEXT #-}
+ptr_glGetVariantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVariantIntegervEXT = unsafePerformIO $ getCommand "glGetVariantIntegervEXT"
+
+-- glGetVariantPointervEXT -----------------------------------------------------
+
+glGetVariantPointervEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
+  -> Ptr (Ptr a) -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @Ptr a@.
+  -> m ()
+glGetVariantPointervEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetVariantPointervEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVariantPointervEXT #-}
+ptr_glGetVariantPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetVariantPointervEXT = unsafePerformIO $ getCommand "glGetVariantPointervEXT"
+
+-- glGetVaryingLocationNV ------------------------------------------------------
+
+glGetVaryingLocationNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
+  -> m GLint
+glGetVaryingLocationNV v1 v2 = liftIO $ dyn307 ptr_glGetVaryingLocationNV v1 v2
+
+{-# NOINLINE ptr_glGetVaryingLocationNV #-}
+ptr_glGetVaryingLocationNV :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
+ptr_glGetVaryingLocationNV = unsafePerformIO $ getCommand "glGetVaryingLocationNV"
+
+-- glGetVertexArrayIndexed64iv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexArrayIndexed.xhtml OpenGL 4.x>.
+glGetVertexArrayIndexed64iv
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint64 -- ^ @param@.
+  -> m ()
+glGetVertexArrayIndexed64iv v1 v2 v3 v4 = liftIO $ dyn436 ptr_glGetVertexArrayIndexed64iv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetVertexArrayIndexed64iv #-}
+ptr_glGetVertexArrayIndexed64iv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
+ptr_glGetVertexArrayIndexed64iv = unsafePerformIO $ getCommand "glGetVertexArrayIndexed64iv"
+
+-- glGetVertexArrayIndexediv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexArrayIndexed.xhtml OpenGL 4.x>.
+glGetVertexArrayIndexediv
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glGetVertexArrayIndexediv v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetVertexArrayIndexediv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetVertexArrayIndexediv #-}
+ptr_glGetVertexArrayIndexediv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexArrayIndexediv = unsafePerformIO $ getCommand "glGetVertexArrayIndexediv"
+
+-- glGetVertexArrayIntegeri_vEXT -----------------------------------------------
+
+glGetVertexArrayIntegeri_vEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetVertexArrayIntegeri_vEXT #-}
+ptr_glGetVertexArrayIntegeri_vEXT :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexArrayIntegeri_vEXT = unsafePerformIO $ getCommand "glGetVertexArrayIntegeri_vEXT"
+
+-- glGetVertexArrayIntegervEXT -------------------------------------------------
+
+glGetVertexArrayIntegervEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glGetVertexArrayIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexArrayIntegervEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexArrayIntegervEXT #-}
+ptr_glGetVertexArrayIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexArrayIntegervEXT = unsafePerformIO $ getCommand "glGetVertexArrayIntegervEXT"
+
+-- glGetVertexArrayPointeri_vEXT -----------------------------------------------
+
+glGetVertexArrayPointeri_vEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr (Ptr a) -- ^ @param@.
+  -> m ()
+glGetVertexArrayPointeri_vEXT v1 v2 v3 v4 = liftIO $ dyn437 ptr_glGetVertexArrayPointeri_vEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetVertexArrayPointeri_vEXT #-}
+ptr_glGetVertexArrayPointeri_vEXT :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetVertexArrayPointeri_vEXT = unsafePerformIO $ getCommand "glGetVertexArrayPointeri_vEXT"
+
+-- glGetVertexArrayPointervEXT -------------------------------------------------
+
+glGetVertexArrayPointervEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr (Ptr a) -- ^ @param@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetVertexArrayPointervEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexArrayPointervEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexArrayPointervEXT #-}
+ptr_glGetVertexArrayPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetVertexArrayPointervEXT = unsafePerformIO $ getCommand "glGetVertexArrayPointervEXT"
+
+-- glGetVertexArrayiv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexArrayiv.xhtml OpenGL 4.x>.
+glGetVertexArrayiv
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glGetVertexArrayiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexArrayiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexArrayiv #-}
+ptr_glGetVertexArrayiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexArrayiv = unsafePerformIO $ getCommand "glGetVertexArrayiv"
+
+-- glGetVertexAttribArrayObjectfvATI -------------------------------------------
+
+glGetVertexAttribArrayObjectfvATI
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetVertexAttribArrayObjectfvATI v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribArrayObjectfvATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribArrayObjectfvATI #-}
+ptr_glGetVertexAttribArrayObjectfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetVertexAttribArrayObjectfvATI = unsafePerformIO $ getCommand "glGetVertexAttribArrayObjectfvATI"
+
+-- glGetVertexAttribArrayObjectivATI -------------------------------------------
+
+glGetVertexAttribArrayObjectivATI
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetVertexAttribArrayObjectivATI v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribArrayObjectivATI v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribArrayObjectivATI #-}
+ptr_glGetVertexAttribArrayObjectivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexAttribArrayObjectivATI = unsafePerformIO $ getCommand "glGetVertexAttribArrayObjectivATI"
+
+-- glGetVertexAttribIiv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
+glGetVertexAttribIiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetVertexAttribIiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribIiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribIiv #-}
+ptr_glGetVertexAttribIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexAttribIiv = unsafePerformIO $ getCommand "glGetVertexAttribIiv"
+
+-- glGetVertexAttribIivEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribIiv'.
+glGetVertexAttribIivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetVertexAttribIivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribIivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribIivEXT #-}
+ptr_glGetVertexAttribIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexAttribIivEXT = unsafePerformIO $ getCommand "glGetVertexAttribIivEXT"
+
+-- glGetVertexAttribIuiv -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
+glGetVertexAttribIuiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glGetVertexAttribIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetVertexAttribIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribIuiv #-}
+ptr_glGetVertexAttribIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetVertexAttribIuiv = unsafePerformIO $ getCommand "glGetVertexAttribIuiv"
+
+-- glGetVertexAttribIuivEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribIuiv'.
+glGetVertexAttribIuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
+  -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glGetVertexAttribIuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glGetVertexAttribIuivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribIuivEXT #-}
+ptr_glGetVertexAttribIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetVertexAttribIuivEXT = unsafePerformIO $ getCommand "glGetVertexAttribIuivEXT"
+
+-- glGetVertexAttribLdv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
+glGetVertexAttribLdv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetVertexAttribLdv v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribLdv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribLdv #-}
+ptr_glGetVertexAttribLdv :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetVertexAttribLdv = unsafePerformIO $ getCommand "glGetVertexAttribLdv"
+
+-- glGetVertexAttribLdvEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribLdv'.
+glGetVertexAttribLdvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetVertexAttribLdvEXT v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribLdvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribLdvEXT #-}
+ptr_glGetVertexAttribLdvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetVertexAttribLdvEXT = unsafePerformIO $ getCommand "glGetVertexAttribLdvEXT"
+
+-- glGetVertexAttribLi64vNV ----------------------------------------------------
+
+glGetVertexAttribLi64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64EXT@.
+  -> m ()
+glGetVertexAttribLi64vNV v1 v2 v3 = liftIO $ dyn439 ptr_glGetVertexAttribLi64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribLi64vNV #-}
+ptr_glGetVertexAttribLi64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
+ptr_glGetVertexAttribLi64vNV = unsafePerformIO $ getCommand "glGetVertexAttribLi64vNV"
+
+-- glGetVertexAttribLui64vARB --------------------------------------------------
+
+glGetVertexAttribLui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint64EXT -- ^ @params@.
+  -> m ()
+glGetVertexAttribLui64vARB v1 v2 v3 = liftIO $ dyn356 ptr_glGetVertexAttribLui64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribLui64vARB #-}
+ptr_glGetVertexAttribLui64vARB :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
+ptr_glGetVertexAttribLui64vARB = unsafePerformIO $ getCommand "glGetVertexAttribLui64vARB"
+
+-- glGetVertexAttribLui64vNV ---------------------------------------------------
+
+glGetVertexAttribLui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
+  -> m ()
+glGetVertexAttribLui64vNV v1 v2 v3 = liftIO $ dyn356 ptr_glGetVertexAttribLui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribLui64vNV #-}
+ptr_glGetVertexAttribLui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
+ptr_glGetVertexAttribLui64vNV = unsafePerformIO $ getCommand "glGetVertexAttribLui64vNV"
+
+-- glGetVertexAttribPointerv ---------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttribPointerv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttribPointerv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttribPointerv.xhtml OpenGL 4.x>.
+glGetVertexAttribPointerv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPointerPropertyARB@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetVertexAttribPointerv v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribPointerv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribPointerv #-}
+ptr_glGetVertexAttribPointerv :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetVertexAttribPointerv = unsafePerformIO $ getCommand "glGetVertexAttribPointerv"
+
+-- glGetVertexAttribPointervARB ------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribPointerv'.
+glGetVertexAttribPointervARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPointerPropertyARB@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetVertexAttribPointervARB v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribPointervARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribPointervARB #-}
+ptr_glGetVertexAttribPointervARB :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetVertexAttribPointervARB = unsafePerformIO $ getCommand "glGetVertexAttribPointervARB"
+
+-- glGetVertexAttribPointervNV -------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribPointerv'.
+glGetVertexAttribPointervNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
+  -> m ()
+glGetVertexAttribPointervNV v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribPointervNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribPointervNV #-}
+ptr_glGetVertexAttribPointervNV :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glGetVertexAttribPointervNV = unsafePerformIO $ getCommand "glGetVertexAttribPointervNV"
+
+-- glGetVertexAttribdv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
+glGetVertexAttribdv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetVertexAttribdv v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribdv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribdv #-}
+ptr_glGetVertexAttribdv :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetVertexAttribdv = unsafePerformIO $ getCommand "glGetVertexAttribdv"
+
+-- glGetVertexAttribdvARB ------------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribdv'.
+glGetVertexAttribdvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glGetVertexAttribdvARB v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribdvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribdvARB #-}
+ptr_glGetVertexAttribdvARB :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetVertexAttribdvARB = unsafePerformIO $ getCommand "glGetVertexAttribdvARB"
+
+-- glGetVertexAttribdvNV -------------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribdv'.
+glGetVertexAttribdvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glGetVertexAttribdvNV v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribdvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribdvNV #-}
+ptr_glGetVertexAttribdvNV :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetVertexAttribdvNV = unsafePerformIO $ getCommand "glGetVertexAttribdvNV"
+
+-- glGetVertexAttribfv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
+glGetVertexAttribfv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetVertexAttribfv v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribfv #-}
+ptr_glGetVertexAttribfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetVertexAttribfv = unsafePerformIO $ getCommand "glGetVertexAttribfv"
+
+-- glGetVertexAttribfvARB ------------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribfv'.
+glGetVertexAttribfvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glGetVertexAttribfvARB v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribfvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribfvARB #-}
+ptr_glGetVertexAttribfvARB :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetVertexAttribfvARB = unsafePerformIO $ getCommand "glGetVertexAttribfvARB"
+
+-- glGetVertexAttribfvNV -------------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribfv'.
+glGetVertexAttribfvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glGetVertexAttribfvNV v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribfvNV #-}
+ptr_glGetVertexAttribfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetVertexAttribfvNV = unsafePerformIO $ getCommand "glGetVertexAttribfvNV"
+
+-- glGetVertexAttribiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
+glGetVertexAttribiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glGetVertexAttribiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribiv #-}
+ptr_glGetVertexAttribiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexAttribiv = unsafePerformIO $ getCommand "glGetVertexAttribiv"
+
+-- glGetVertexAttribivARB ------------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribiv'.
+glGetVertexAttribivARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glGetVertexAttribivARB v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribivARB #-}
+ptr_glGetVertexAttribivARB :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexAttribivARB = unsafePerformIO $ getCommand "glGetVertexAttribivARB"
+
+-- glGetVertexAttribivNV -------------------------------------------------------
+
+-- | This command is an alias for 'glGetVertexAttribiv'.
+glGetVertexAttribivNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glGetVertexAttribivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVertexAttribivNV #-}
+ptr_glGetVertexAttribivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVertexAttribivNV = unsafePerformIO $ getCommand "glGetVertexAttribivNV"
+
+-- glGetVideoCaptureStreamdvNV -------------------------------------------------
+
+glGetVideoCaptureStreamdvNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glGetVideoCaptureStreamdvNV v1 v2 v3 v4 = liftIO $ dyn440 ptr_glGetVideoCaptureStreamdvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetVideoCaptureStreamdvNV #-}
+ptr_glGetVideoCaptureStreamdvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glGetVideoCaptureStreamdvNV = unsafePerformIO $ getCommand "glGetVideoCaptureStreamdvNV"
+
+-- glGetVideoCaptureStreamfvNV -------------------------------------------------
+
+glGetVideoCaptureStreamfvNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glGetVideoCaptureStreamfvNV v1 v2 v3 v4 = liftIO $ dyn441 ptr_glGetVideoCaptureStreamfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetVideoCaptureStreamfvNV #-}
+ptr_glGetVideoCaptureStreamfvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glGetVideoCaptureStreamfvNV = unsafePerformIO $ getCommand "glGetVideoCaptureStreamfvNV"
+
+-- glGetVideoCaptureStreamivNV -------------------------------------------------
+
+glGetVideoCaptureStreamivNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetVideoCaptureStreamivNV v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetVideoCaptureStreamivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetVideoCaptureStreamivNV #-}
+ptr_glGetVideoCaptureStreamivNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVideoCaptureStreamivNV = unsafePerformIO $ getCommand "glGetVideoCaptureStreamivNV"
+
+-- glGetVideoCaptureivNV -------------------------------------------------------
+
+glGetVideoCaptureivNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetVideoCaptureivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetVideoCaptureivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVideoCaptureivNV #-}
+ptr_glGetVideoCaptureivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVideoCaptureivNV = unsafePerformIO $ getCommand "glGetVideoCaptureivNV"
+
+-- glGetVideoi64vNV ------------------------------------------------------------
+
+glGetVideoi64vNV
+  :: MonadIO m
+  => GLuint -- ^ @video_slot@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64EXT@.
+  -> m ()
+glGetVideoi64vNV v1 v2 v3 = liftIO $ dyn439 ptr_glGetVideoi64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVideoi64vNV #-}
+ptr_glGetVideoi64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
+ptr_glGetVideoi64vNV = unsafePerformIO $ getCommand "glGetVideoi64vNV"
+
+-- glGetVideoivNV --------------------------------------------------------------
+
+glGetVideoivNV
+  :: MonadIO m
+  => GLuint -- ^ @video_slot@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glGetVideoivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetVideoivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVideoivNV #-}
+ptr_glGetVideoivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glGetVideoivNV = unsafePerformIO $ getCommand "glGetVideoivNV"
+
+-- glGetVideoui64vNV -----------------------------------------------------------
+
+glGetVideoui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @video_slot@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
+  -> m ()
+glGetVideoui64vNV v1 v2 v3 = liftIO $ dyn356 ptr_glGetVideoui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVideoui64vNV #-}
+ptr_glGetVideoui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
+ptr_glGetVideoui64vNV = unsafePerformIO $ getCommand "glGetVideoui64vNV"
+
+-- glGetVideouivNV -------------------------------------------------------------
+
+glGetVideouivNV
+  :: MonadIO m
+  => GLuint -- ^ @video_slot@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glGetVideouivNV v1 v2 v3 = liftIO $ dyn371 ptr_glGetVideouivNV v1 v2 v3
+
+{-# NOINLINE ptr_glGetVideouivNV #-}
+ptr_glGetVideouivNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glGetVideouivNV = unsafePerformIO $ getCommand "glGetVideouivNV"
+
+-- glGetnColorTable ------------------------------------------------------------
+
+glGetnColorTable
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @table@.
+  -> m ()
+glGetnColorTable v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnColorTable v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetnColorTable #-}
+ptr_glGetnColorTable :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnColorTable = unsafePerformIO $ getCommand "glGetnColorTable"
+
+-- glGetnColorTableARB ---------------------------------------------------------
+
+glGetnColorTableARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @table@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetnColorTableARB v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnColorTableARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetnColorTableARB #-}
+ptr_glGetnColorTableARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnColorTableARB = unsafePerformIO $ getCommand "glGetnColorTableARB"
+
+-- glGetnCompressedTexImage ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
+glGetnCompressedTexImage
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @lod@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glGetnCompressedTexImage v1 v2 v3 v4 = liftIO $ dyn443 ptr_glGetnCompressedTexImage v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnCompressedTexImage #-}
+ptr_glGetnCompressedTexImage :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnCompressedTexImage = unsafePerformIO $ getCommand "glGetnCompressedTexImage"
+
+-- glGetnCompressedTexImageARB -------------------------------------------------
+
+glGetnCompressedTexImageARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @lod@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetnCompressedTexImageARB v1 v2 v3 v4 = liftIO $ dyn443 ptr_glGetnCompressedTexImageARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnCompressedTexImageARB #-}
+ptr_glGetnCompressedTexImageARB :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnCompressedTexImageARB = unsafePerformIO $ getCommand "glGetnCompressedTexImageARB"
+
+-- glGetnConvolutionFilter -----------------------------------------------------
+
+glGetnConvolutionFilter
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @image@.
+  -> m ()
+glGetnConvolutionFilter v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnConvolutionFilter v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetnConvolutionFilter #-}
+ptr_glGetnConvolutionFilter :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnConvolutionFilter = unsafePerformIO $ getCommand "glGetnConvolutionFilter"
+
+-- glGetnConvolutionFilterARB --------------------------------------------------
+
+glGetnConvolutionFilterARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @image@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetnConvolutionFilterARB v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnConvolutionFilterARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glGetnConvolutionFilterARB #-}
+ptr_glGetnConvolutionFilterARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnConvolutionFilterARB = unsafePerformIO $ getCommand "glGetnConvolutionFilterARB"
+
+-- glGetnHistogram -------------------------------------------------------------
+
+glGetnHistogram
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLboolean -- ^ @reset@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @values@.
+  -> m ()
+glGetnHistogram v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnHistogram v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetnHistogram #-}
+ptr_glGetnHistogram :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnHistogram = unsafePerformIO $ getCommand "glGetnHistogram"
+
+-- glGetnHistogramARB ----------------------------------------------------------
+
+glGetnHistogramARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetnHistogramARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnHistogramARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetnHistogramARB #-}
+ptr_glGetnHistogramARB :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnHistogramARB = unsafePerformIO $ getCommand "glGetnHistogramARB"
+
+-- glGetnMapdv -----------------------------------------------------------------
+
+glGetnMapdv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @query@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLdouble -- ^ @v@.
+  -> m ()
+glGetnMapdv v1 v2 v3 v4 = liftIO $ dyn445 ptr_glGetnMapdv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnMapdv #-}
+ptr_glGetnMapdv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glGetnMapdv = unsafePerformIO $ getCommand "glGetnMapdv"
+
+-- glGetnMapdvARB --------------------------------------------------------------
+
+glGetnMapdvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @query@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @bufSize@ elements of type @GLdouble@.
+  -> m ()
+glGetnMapdvARB v1 v2 v3 v4 = liftIO $ dyn445 ptr_glGetnMapdvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnMapdvARB #-}
+ptr_glGetnMapdvARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glGetnMapdvARB = unsafePerformIO $ getCommand "glGetnMapdvARB"
+
+-- glGetnMapfv -----------------------------------------------------------------
+
+glGetnMapfv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @query@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glGetnMapfv v1 v2 v3 v4 = liftIO $ dyn446 ptr_glGetnMapfv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnMapfv #-}
+ptr_glGetnMapfv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnMapfv = unsafePerformIO $ getCommand "glGetnMapfv"
+
+-- glGetnMapfvARB --------------------------------------------------------------
+
+glGetnMapfvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @query@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @bufSize@ elements of type @GLfloat@.
+  -> m ()
+glGetnMapfvARB v1 v2 v3 v4 = liftIO $ dyn446 ptr_glGetnMapfvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnMapfvARB #-}
+ptr_glGetnMapfvARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnMapfvARB = unsafePerformIO $ getCommand "glGetnMapfvARB"
+
+-- glGetnMapiv -----------------------------------------------------------------
+
+glGetnMapiv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @query@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @v@.
+  -> m ()
+glGetnMapiv v1 v2 v3 v4 = liftIO $ dyn447 ptr_glGetnMapiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnMapiv #-}
+ptr_glGetnMapiv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetnMapiv = unsafePerformIO $ getCommand "glGetnMapiv"
+
+-- glGetnMapivARB --------------------------------------------------------------
+
+glGetnMapivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @query@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @v@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetnMapivARB v1 v2 v3 v4 = liftIO $ dyn447 ptr_glGetnMapivARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnMapivARB #-}
+ptr_glGetnMapivARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetnMapivARB = unsafePerformIO $ getCommand "glGetnMapivARB"
+
+-- glGetnMinmax ----------------------------------------------------------------
+
+glGetnMinmax
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLboolean -- ^ @reset@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @values@.
+  -> m ()
+glGetnMinmax v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnMinmax v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetnMinmax #-}
+ptr_glGetnMinmax :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnMinmax = unsafePerformIO $ getCommand "glGetnMinmax"
+
+-- glGetnMinmaxARB -------------------------------------------------------------
+
+glGetnMinmaxARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetnMinmaxARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnMinmaxARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetnMinmaxARB #-}
+ptr_glGetnMinmaxARB :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnMinmaxARB = unsafePerformIO $ getCommand "glGetnMinmaxARB"
+
+-- glGetnPixelMapfv ------------------------------------------------------------
+
+glGetnPixelMapfv
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @values@.
+  -> m ()
+glGetnPixelMapfv v1 v2 v3 = liftIO $ dyn224 ptr_glGetnPixelMapfv v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapfv #-}
+ptr_glGetnPixelMapfv :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnPixelMapfv = unsafePerformIO $ getCommand "glGetnPixelMapfv"
+
+-- glGetnPixelMapfvARB ---------------------------------------------------------
+
+glGetnPixelMapfvARB
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @values@ pointing to @bufSize@ elements of type @GLfloat@.
+  -> m ()
+glGetnPixelMapfvARB v1 v2 v3 = liftIO $ dyn224 ptr_glGetnPixelMapfvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapfvARB #-}
+ptr_glGetnPixelMapfvARB :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnPixelMapfvARB = unsafePerformIO $ getCommand "glGetnPixelMapfvARB"
+
+-- glGetnPixelMapuiv -----------------------------------------------------------
+
+glGetnPixelMapuiv
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLuint -- ^ @values@.
+  -> m ()
+glGetnPixelMapuiv v1 v2 v3 = liftIO $ dyn196 ptr_glGetnPixelMapuiv v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapuiv #-}
+ptr_glGetnPixelMapuiv :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetnPixelMapuiv = unsafePerformIO $ getCommand "glGetnPixelMapuiv"
+
+-- glGetnPixelMapuivARB --------------------------------------------------------
+
+glGetnPixelMapuivARB
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLuint -- ^ @values@ pointing to @bufSize@ elements of type @GLuint@.
+  -> m ()
+glGetnPixelMapuivARB v1 v2 v3 = liftIO $ dyn196 ptr_glGetnPixelMapuivARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapuivARB #-}
+ptr_glGetnPixelMapuivARB :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetnPixelMapuivARB = unsafePerformIO $ getCommand "glGetnPixelMapuivARB"
+
+-- glGetnPixelMapusv -----------------------------------------------------------
+
+glGetnPixelMapusv
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLushort -- ^ @values@.
+  -> m ()
+glGetnPixelMapusv v1 v2 v3 = liftIO $ dyn448 ptr_glGetnPixelMapusv v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapusv #-}
+ptr_glGetnPixelMapusv :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
+ptr_glGetnPixelMapusv = unsafePerformIO $ getCommand "glGetnPixelMapusv"
+
+-- glGetnPixelMapusvARB --------------------------------------------------------
+
+glGetnPixelMapusvARB
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLushort -- ^ @values@ pointing to @bufSize@ elements of type @GLushort@.
+  -> m ()
+glGetnPixelMapusvARB v1 v2 v3 = liftIO $ dyn448 ptr_glGetnPixelMapusvARB v1 v2 v3
+
+{-# NOINLINE ptr_glGetnPixelMapusvARB #-}
+ptr_glGetnPixelMapusvARB :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
+ptr_glGetnPixelMapusvARB = unsafePerformIO $ getCommand "glGetnPixelMapusvARB"
+
+-- glGetnPolygonStipple --------------------------------------------------------
+
+glGetnPolygonStipple
+  :: MonadIO m
+  => GLsizei -- ^ @bufSize@.
+  -> Ptr GLubyte -- ^ @pattern@.
+  -> m ()
+glGetnPolygonStipple v1 v2 = liftIO $ dyn449 ptr_glGetnPolygonStipple v1 v2
+
+{-# NOINLINE ptr_glGetnPolygonStipple #-}
+ptr_glGetnPolygonStipple :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
+ptr_glGetnPolygonStipple = unsafePerformIO $ getCommand "glGetnPolygonStipple"
+
+-- glGetnPolygonStippleARB -----------------------------------------------------
+
+glGetnPolygonStippleARB
+  :: MonadIO m
+  => GLsizei -- ^ @bufSize@.
+  -> Ptr GLubyte -- ^ @pattern@ pointing to @bufSize@ elements of type @GLubyte@.
+  -> m ()
+glGetnPolygonStippleARB v1 v2 = liftIO $ dyn449 ptr_glGetnPolygonStippleARB v1 v2
+
+{-# NOINLINE ptr_glGetnPolygonStippleARB #-}
+ptr_glGetnPolygonStippleARB :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
+ptr_glGetnPolygonStippleARB = unsafePerformIO $ getCommand "glGetnPolygonStippleARB"
+
+-- glGetnSeparableFilter -------------------------------------------------------
+
+glGetnSeparableFilter
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @rowBufSize@.
+  -> Ptr a -- ^ @row@.
+  -> GLsizei -- ^ @columnBufSize@.
+  -> Ptr b -- ^ @column@.
+  -> Ptr c -- ^ @span@.
+  -> m ()
+glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn450 ptr_glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glGetnSeparableFilter #-}
+ptr_glGetnSeparableFilter :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
+ptr_glGetnSeparableFilter = unsafePerformIO $ getCommand "glGetnSeparableFilter"
+
+-- glGetnSeparableFilterARB ----------------------------------------------------
+
+glGetnSeparableFilterARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @rowBufSize@.
+  -> Ptr a -- ^ @row@ pointing to @rowBufSize@ elements of type @a@.
+  -> GLsizei -- ^ @columnBufSize@.
+  -> Ptr b -- ^ @column@ pointing to @columnBufSize@ elements of type @b@.
+  -> Ptr c -- ^ @span@ pointing to @0@ elements of type @c@.
+  -> m ()
+glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn450 ptr_glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glGetnSeparableFilterARB #-}
+ptr_glGetnSeparableFilterARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
+ptr_glGetnSeparableFilterARB = unsafePerformIO $ getCommand "glGetnSeparableFilterARB"
+
+-- glGetnTexImage --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
+glGetnTexImage
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glGetnTexImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn451 ptr_glGetnTexImage v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetnTexImage #-}
+ptr_glGetnTexImage :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnTexImage = unsafePerformIO $ getCommand "glGetnTexImage"
+
+-- glGetnTexImageARB -----------------------------------------------------------
+
+glGetnTexImageARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glGetnTexImageARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn451 ptr_glGetnTexImageARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glGetnTexImageARB #-}
+ptr_glGetnTexImageARB :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glGetnTexImageARB = unsafePerformIO $ getCommand "glGetnTexImageARB"
+
+-- glGetnUniformdv -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetnUniformdv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLdouble -- ^ @params@.
+  -> m ()
+glGetnUniformdv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glGetnUniformdv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformdv #-}
+ptr_glGetnUniformdv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glGetnUniformdv = unsafePerformIO $ getCommand "glGetnUniformdv"
+
+-- glGetnUniformdvARB ----------------------------------------------------------
+
+glGetnUniformdvARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @bufSize@ elements of type @GLdouble@.
+  -> m ()
+glGetnUniformdvARB v1 v2 v3 v4 = liftIO $ dyn452 ptr_glGetnUniformdvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformdvARB #-}
+ptr_glGetnUniformdvARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glGetnUniformdvARB = unsafePerformIO $ getCommand "glGetnUniformdvARB"
+
+-- glGetnUniformfv -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetnUniformfv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @params@.
+  -> m ()
+glGetnUniformfv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformfv #-}
+ptr_glGetnUniformfv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnUniformfv = unsafePerformIO $ getCommand "glGetnUniformfv"
+
+-- glGetnUniformfvARB ----------------------------------------------------------
+
+glGetnUniformfvARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
+  -> m ()
+glGetnUniformfvARB v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformfvARB #-}
+ptr_glGetnUniformfvARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnUniformfvARB = unsafePerformIO $ getCommand "glGetnUniformfvARB"
+
+-- glGetnUniformfvEXT ----------------------------------------------------------
+
+glGetnUniformfvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
+  -> m ()
+glGetnUniformfvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformfvEXT #-}
+ptr_glGetnUniformfvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnUniformfvEXT = unsafePerformIO $ getCommand "glGetnUniformfvEXT"
+
+-- glGetnUniformfvKHR ----------------------------------------------------------
+
+-- | This command is an alias for 'glGetnUniformfv'.
+glGetnUniformfvKHR
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLfloat -- ^ @params@.
+  -> m ()
+glGetnUniformfvKHR v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfvKHR v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformfvKHR #-}
+ptr_glGetnUniformfvKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glGetnUniformfvKHR = unsafePerformIO $ getCommand "glGetnUniformfvKHR"
+
+-- glGetnUniformi64vARB --------------------------------------------------------
+
+glGetnUniformi64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint64 -- ^ @params@.
+  -> m ()
+glGetnUniformi64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glGetnUniformi64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformi64vARB #-}
+ptr_glGetnUniformi64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glGetnUniformi64vARB = unsafePerformIO $ getCommand "glGetnUniformi64vARB"
+
+-- glGetnUniformiv -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetnUniformiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetnUniformiv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformiv #-}
+ptr_glGetnUniformiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetnUniformiv = unsafePerformIO $ getCommand "glGetnUniformiv"
+
+-- glGetnUniformivARB ----------------------------------------------------------
+
+glGetnUniformivARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetnUniformivARB v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformivARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformivARB #-}
+ptr_glGetnUniformivARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetnUniformivARB = unsafePerformIO $ getCommand "glGetnUniformivARB"
+
+-- glGetnUniformivEXT ----------------------------------------------------------
+
+glGetnUniformivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glGetnUniformivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformivEXT #-}
+ptr_glGetnUniformivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetnUniformivEXT = unsafePerformIO $ getCommand "glGetnUniformivEXT"
+
+-- glGetnUniformivKHR ----------------------------------------------------------
+
+-- | This command is an alias for 'glGetnUniformiv'.
+glGetnUniformivKHR
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glGetnUniformivKHR v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformivKHR v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformivKHR #-}
+ptr_glGetnUniformivKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glGetnUniformivKHR = unsafePerformIO $ getCommand "glGetnUniformivKHR"
+
+-- glGetnUniformui64vARB -------------------------------------------------------
+
+glGetnUniformui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLuint64 -- ^ @params@.
+  -> m ()
+glGetnUniformui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glGetnUniformui64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformui64vARB #-}
+ptr_glGetnUniformui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glGetnUniformui64vARB = unsafePerformIO $ getCommand "glGetnUniformui64vARB"
+
+-- glGetnUniformuiv ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
+glGetnUniformuiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLuint -- ^ @params@.
+  -> m ()
+glGetnUniformuiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glGetnUniformuiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformuiv #-}
+ptr_glGetnUniformuiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetnUniformuiv = unsafePerformIO $ getCommand "glGetnUniformuiv"
+
+-- glGetnUniformuivARB ---------------------------------------------------------
+
+glGetnUniformuivARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLuint -- ^ @params@ pointing to @bufSize@ elements of type @GLuint@.
+  -> m ()
+glGetnUniformuivARB v1 v2 v3 v4 = liftIO $ dyn457 ptr_glGetnUniformuivARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformuivARB #-}
+ptr_glGetnUniformuivARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetnUniformuivARB = unsafePerformIO $ getCommand "glGetnUniformuivARB"
+
+-- glGetnUniformuivKHR ---------------------------------------------------------
+
+-- | This command is an alias for 'glGetnUniformuiv'.
+glGetnUniformuivKHR
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLuint -- ^ @params@.
+  -> m ()
+glGetnUniformuivKHR v1 v2 v3 v4 = liftIO $ dyn457 ptr_glGetnUniformuivKHR v1 v2 v3 v4
+
+{-# NOINLINE ptr_glGetnUniformuivKHR #-}
+ptr_glGetnUniformuivKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glGetnUniformuivKHR = unsafePerformIO $ getCommand "glGetnUniformuivKHR"
+
+-- glGlobalAlphaFactorbSUN -----------------------------------------------------
+
+glGlobalAlphaFactorbSUN
+  :: MonadIO m
+  => GLbyte -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactorbSUN v1 = liftIO $ dyn458 ptr_glGlobalAlphaFactorbSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactorbSUN #-}
+ptr_glGlobalAlphaFactorbSUN :: FunPtr (GLbyte -> IO ())
+ptr_glGlobalAlphaFactorbSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorbSUN"
+
+-- glGlobalAlphaFactordSUN -----------------------------------------------------
+
+glGlobalAlphaFactordSUN
+  :: MonadIO m
+  => GLdouble -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactordSUN v1 = liftIO $ dyn78 ptr_glGlobalAlphaFactordSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactordSUN #-}
+ptr_glGlobalAlphaFactordSUN :: FunPtr (GLdouble -> IO ())
+ptr_glGlobalAlphaFactordSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactordSUN"
+
+-- glGlobalAlphaFactorfSUN -----------------------------------------------------
+
+glGlobalAlphaFactorfSUN
+  :: MonadIO m
+  => GLfloat -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactorfSUN v1 = liftIO $ dyn79 ptr_glGlobalAlphaFactorfSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactorfSUN #-}
+ptr_glGlobalAlphaFactorfSUN :: FunPtr (GLfloat -> IO ())
+ptr_glGlobalAlphaFactorfSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorfSUN"
+
+-- glGlobalAlphaFactoriSUN -----------------------------------------------------
+
+glGlobalAlphaFactoriSUN
+  :: MonadIO m
+  => GLint -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactoriSUN v1 = liftIO $ dyn12 ptr_glGlobalAlphaFactoriSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactoriSUN #-}
+ptr_glGlobalAlphaFactoriSUN :: FunPtr (GLint -> IO ())
+ptr_glGlobalAlphaFactoriSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactoriSUN"
+
+-- glGlobalAlphaFactorsSUN -----------------------------------------------------
+
+glGlobalAlphaFactorsSUN
+  :: MonadIO m
+  => GLshort -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactorsSUN v1 = liftIO $ dyn459 ptr_glGlobalAlphaFactorsSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactorsSUN #-}
+ptr_glGlobalAlphaFactorsSUN :: FunPtr (GLshort -> IO ())
+ptr_glGlobalAlphaFactorsSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorsSUN"
+
+-- glGlobalAlphaFactorubSUN ----------------------------------------------------
+
+glGlobalAlphaFactorubSUN
+  :: MonadIO m
+  => GLubyte -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactorubSUN v1 = liftIO $ dyn460 ptr_glGlobalAlphaFactorubSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactorubSUN #-}
+ptr_glGlobalAlphaFactorubSUN :: FunPtr (GLubyte -> IO ())
+ptr_glGlobalAlphaFactorubSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorubSUN"
+
+-- glGlobalAlphaFactoruiSUN ----------------------------------------------------
+
+glGlobalAlphaFactoruiSUN
+  :: MonadIO m
+  => GLuint -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactoruiSUN v1 = liftIO $ dyn2 ptr_glGlobalAlphaFactoruiSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactoruiSUN #-}
+ptr_glGlobalAlphaFactoruiSUN :: FunPtr (GLuint -> IO ())
+ptr_glGlobalAlphaFactoruiSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactoruiSUN"
+
+-- glGlobalAlphaFactorusSUN ----------------------------------------------------
+
+glGlobalAlphaFactorusSUN
+  :: MonadIO m
+  => GLushort -- ^ @factor@.
+  -> m ()
+glGlobalAlphaFactorusSUN v1 = liftIO $ dyn461 ptr_glGlobalAlphaFactorusSUN v1
+
+{-# NOINLINE ptr_glGlobalAlphaFactorusSUN #-}
+ptr_glGlobalAlphaFactorusSUN :: FunPtr (GLushort -> IO ())
+ptr_glGlobalAlphaFactorusSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorusSUN"
+
+-- glHint ----------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glHint.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glHint.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glHint.xhtml OpenGL 4.x>.
+glHint
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [HintTarget](Graphics-GL-Groups.html#HintTarget).
+  -> GLenum -- ^ @mode@ of type [HintMode](Graphics-GL-Groups.html#HintMode).
+  -> m ()
+glHint v1 v2 = liftIO $ dyn51 ptr_glHint v1 v2
+
+{-# NOINLINE ptr_glHint #-}
+ptr_glHint :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glHint = unsafePerformIO $ getCommand "glHint"
+
+-- glHintPGI -------------------------------------------------------------------
+
+glHintPGI
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @HintTargetPGI@.
+  -> GLint -- ^ @mode@.
+  -> m ()
+glHintPGI v1 v2 = liftIO $ dyn55 ptr_glHintPGI v1 v2
+
+{-# NOINLINE ptr_glHintPGI #-}
+ptr_glHintPGI :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glHintPGI = unsafePerformIO $ getCommand "glHintPGI"
+
+-- glHistogram -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glHistogram.xml OpenGL 2.x>.
+glHistogram
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glHistogram v1 v2 v3 v4 = liftIO $ dyn462 ptr_glHistogram v1 v2 v3 v4
+
+{-# NOINLINE ptr_glHistogram #-}
+ptr_glHistogram :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
+ptr_glHistogram = unsafePerformIO $ getCommand "glHistogram"
+
+-- glHistogramEXT --------------------------------------------------------------
+
+-- | This command is an alias for 'glHistogram'.
+glHistogramEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glHistogramEXT v1 v2 v3 v4 = liftIO $ dyn462 ptr_glHistogramEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glHistogramEXT #-}
+ptr_glHistogramEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
+ptr_glHistogramEXT = unsafePerformIO $ getCommand "glHistogramEXT"
+
+-- glIglooInterfaceSGIX --------------------------------------------------------
+
+glIglooInterfaceSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @IglooFunctionSelectSGIX@.
+  -> Ptr a -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @IglooParameterSGIX@.
+  -> m ()
+glIglooInterfaceSGIX v1 v2 = liftIO $ dyn229 ptr_glIglooInterfaceSGIX v1 v2
+
+{-# NOINLINE ptr_glIglooInterfaceSGIX #-}
+ptr_glIglooInterfaceSGIX :: FunPtr (GLenum -> Ptr a -> IO ())
+ptr_glIglooInterfaceSGIX = unsafePerformIO $ getCommand "glIglooInterfaceSGIX"
+
+-- glImageTransformParameterfHP ------------------------------------------------
+
+glImageTransformParameterfHP
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
+  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glImageTransformParameterfHP v1 v2 v3 = liftIO $ dyn160 ptr_glImageTransformParameterfHP v1 v2 v3
+
+{-# NOINLINE ptr_glImageTransformParameterfHP #-}
+ptr_glImageTransformParameterfHP :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glImageTransformParameterfHP = unsafePerformIO $ getCommand "glImageTransformParameterfHP"
+
+-- glImageTransformParameterfvHP -----------------------------------------------
+
+glImageTransformParameterfvHP
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
+  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glImageTransformParameterfvHP v1 v2 v3 = liftIO $ dyn131 ptr_glImageTransformParameterfvHP v1 v2 v3
+
+{-# NOINLINE ptr_glImageTransformParameterfvHP #-}
+ptr_glImageTransformParameterfvHP :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glImageTransformParameterfvHP = unsafePerformIO $ getCommand "glImageTransformParameterfvHP"
+
+-- glImageTransformParameteriHP ------------------------------------------------
+
+glImageTransformParameteriHP
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
+  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glImageTransformParameteriHP v1 v2 v3 = liftIO $ dyn62 ptr_glImageTransformParameteriHP v1 v2 v3
+
+{-# NOINLINE ptr_glImageTransformParameteriHP #-}
+ptr_glImageTransformParameteriHP :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glImageTransformParameteriHP = unsafePerformIO $ getCommand "glImageTransformParameteriHP"
+
+-- glImageTransformParameterivHP -----------------------------------------------
+
+glImageTransformParameterivHP
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
+  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glImageTransformParameterivHP v1 v2 v3 = liftIO $ dyn132 ptr_glImageTransformParameterivHP v1 v2 v3
+
+{-# NOINLINE ptr_glImageTransformParameterivHP #-}
+ptr_glImageTransformParameterivHP :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glImageTransformParameterivHP = unsafePerformIO $ getCommand "glImageTransformParameterivHP"
+
+-- glImportSyncEXT -------------------------------------------------------------
+
+glImportSyncEXT
+  :: MonadIO m
+  => GLenum -- ^ @external_sync_type@.
+  -> GLintptr -- ^ @external_sync@.
+  -> GLbitfield -- ^ @flags@.
+  -> m GLsync -- ^ of type @sync@.
+glImportSyncEXT v1 v2 v3 = liftIO $ dyn463 ptr_glImportSyncEXT v1 v2 v3
+
+{-# NOINLINE ptr_glImportSyncEXT #-}
+ptr_glImportSyncEXT :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
+ptr_glImportSyncEXT = unsafePerformIO $ getCommand "glImportSyncEXT"
+
+-- glIndexFormatNV -------------------------------------------------------------
+
+glIndexFormatNV
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glIndexFormatNV v1 v2 = liftIO $ dyn238 ptr_glIndexFormatNV v1 v2
+
+{-# NOINLINE ptr_glIndexFormatNV #-}
+ptr_glIndexFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
+ptr_glIndexFormatNV = unsafePerformIO $ getCommand "glIndexFormatNV"
+
+-- glIndexFuncEXT --------------------------------------------------------------
+
+glIndexFuncEXT
+  :: MonadIO m
+  => GLenum -- ^ @func@ of type @IndexFunctionEXT@.
+  -> GLclampf -- ^ @ref@ of type @ClampedFloat32@.
+  -> m ()
+glIndexFuncEXT v1 v2 = liftIO $ dyn9 ptr_glIndexFuncEXT v1 v2
+
+{-# NOINLINE ptr_glIndexFuncEXT #-}
+ptr_glIndexFuncEXT :: FunPtr (GLenum -> GLclampf -> IO ())
+ptr_glIndexFuncEXT = unsafePerformIO $ getCommand "glIndexFuncEXT"
+
+-- glIndexMask -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndexMask.xml OpenGL 2.x>.
+glIndexMask
+  :: MonadIO m
+  => GLuint -- ^ @mask@ of type @MaskedColorIndexValueI@.
+  -> m ()
+glIndexMask v1 = liftIO $ dyn2 ptr_glIndexMask v1
+
+{-# NOINLINE ptr_glIndexMask #-}
+ptr_glIndexMask :: FunPtr (GLuint -> IO ())
+ptr_glIndexMask = unsafePerformIO $ getCommand "glIndexMask"
+
+-- glIndexMaterialEXT ----------------------------------------------------------
+
+glIndexMaterialEXT
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @mode@ of type @IndexMaterialParameterEXT@.
+  -> m ()
+glIndexMaterialEXT v1 v2 = liftIO $ dyn51 ptr_glIndexMaterialEXT v1 v2
+
+{-# NOINLINE ptr_glIndexMaterialEXT #-}
+ptr_glIndexMaterialEXT :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glIndexMaterialEXT = unsafePerformIO $ getCommand "glIndexMaterialEXT"
+
+-- glIndexPointer --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndexPointer.xml OpenGL 2.x>.
+glIndexPointer
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [IndexPointerType](Graphics-GL-Groups.html#IndexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glIndexPointer v1 v2 v3 = liftIO $ dyn46 ptr_glIndexPointer v1 v2 v3
+
+{-# NOINLINE ptr_glIndexPointer #-}
+ptr_glIndexPointer :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glIndexPointer = unsafePerformIO $ getCommand "glIndexPointer"
+
+-- glIndexPointerEXT -----------------------------------------------------------
+
+glIndexPointerEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [IndexPointerType](Graphics-GL-Groups.html#IndexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride,count)@ elements of type @a@.
+  -> m ()
+glIndexPointerEXT v1 v2 v3 v4 = liftIO $ dyn464 ptr_glIndexPointerEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glIndexPointerEXT #-}
+ptr_glIndexPointerEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+ptr_glIndexPointerEXT = unsafePerformIO $ getCommand "glIndexPointerEXT"
+
+-- glIndexPointerListIBM -------------------------------------------------------
+
+glIndexPointerListIBM
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [IndexPointerType](Graphics-GL-Groups.html#IndexPointerType).
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glIndexPointerListIBM v1 v2 v3 v4 = liftIO $ dyn279 ptr_glIndexPointerListIBM v1 v2 v3 v4
+
+{-# NOINLINE ptr_glIndexPointerListIBM #-}
+ptr_glIndexPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glIndexPointerListIBM = unsafePerformIO $ getCommand "glIndexPointerListIBM"
+
+-- glIndexd --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexdv'.
+glIndexd
+  :: MonadIO m
+  => GLdouble -- ^ @c@ of type @ColorIndexValueD@.
+  -> m ()
+glIndexd v1 = liftIO $ dyn78 ptr_glIndexd v1
+
+{-# NOINLINE ptr_glIndexd #-}
+ptr_glIndexd :: FunPtr (GLdouble -> IO ())
+ptr_glIndexd = unsafePerformIO $ getCommand "glIndexd"
+
+-- glIndexdv -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
+glIndexdv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @c@ pointing to @1@ element of type @ColorIndexValueD@.
+  -> m ()
+glIndexdv v1 = liftIO $ dyn39 ptr_glIndexdv v1
+
+{-# NOINLINE ptr_glIndexdv #-}
+ptr_glIndexdv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glIndexdv = unsafePerformIO $ getCommand "glIndexdv"
+
+-- glIndexf --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexfv'.
+glIndexf
+  :: MonadIO m
+  => GLfloat -- ^ @c@ of type @ColorIndexValueF@.
+  -> m ()
+glIndexf v1 = liftIO $ dyn79 ptr_glIndexf v1
+
+{-# NOINLINE ptr_glIndexf #-}
+ptr_glIndexf :: FunPtr (GLfloat -> IO ())
+ptr_glIndexf = unsafePerformIO $ getCommand "glIndexf"
+
+-- glIndexfv -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
+glIndexfv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @c@ pointing to @1@ element of type @ColorIndexValueF@.
+  -> m ()
+glIndexfv v1 = liftIO $ dyn41 ptr_glIndexfv v1
+
+{-# NOINLINE ptr_glIndexfv #-}
+ptr_glIndexfv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glIndexfv = unsafePerformIO $ getCommand "glIndexfv"
+
+-- glIndexi --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexiv'.
+glIndexi
+  :: MonadIO m
+  => GLint -- ^ @c@ of type @ColorIndexValueI@.
+  -> m ()
+glIndexi v1 = liftIO $ dyn12 ptr_glIndexi v1
+
+{-# NOINLINE ptr_glIndexi #-}
+ptr_glIndexi :: FunPtr (GLint -> IO ())
+ptr_glIndexi = unsafePerformIO $ getCommand "glIndexi"
+
+-- glIndexiv -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
+glIndexiv
+  :: MonadIO m
+  => Ptr GLint -- ^ @c@ pointing to @1@ element of type @ColorIndexValueI@.
+  -> m ()
+glIndexiv v1 = liftIO $ dyn43 ptr_glIndexiv v1
+
+{-# NOINLINE ptr_glIndexiv #-}
+ptr_glIndexiv :: FunPtr (Ptr GLint -> IO ())
+ptr_glIndexiv = unsafePerformIO $ getCommand "glIndexiv"
+
+-- glIndexs --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexsv'.
+glIndexs
+  :: MonadIO m
+  => GLshort -- ^ @c@ of type @ColorIndexValueS@.
+  -> m ()
+glIndexs v1 = liftIO $ dyn459 ptr_glIndexs v1
+
+{-# NOINLINE ptr_glIndexs #-}
+ptr_glIndexs :: FunPtr (GLshort -> IO ())
+ptr_glIndexs = unsafePerformIO $ getCommand "glIndexs"
+
+-- glIndexsv -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
+glIndexsv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @c@ pointing to @1@ element of type @ColorIndexValueS@.
+  -> m ()
+glIndexsv v1 = liftIO $ dyn45 ptr_glIndexsv v1
+
+{-# NOINLINE ptr_glIndexsv #-}
+ptr_glIndexsv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glIndexsv = unsafePerformIO $ getCommand "glIndexsv"
+
+-- glIndexub -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexubv'.
+glIndexub
+  :: MonadIO m
+  => GLubyte -- ^ @c@ of type @ColorIndexValueUB@.
+  -> m ()
+glIndexub v1 = liftIO $ dyn460 ptr_glIndexub v1
+
+{-# NOINLINE ptr_glIndexub #-}
+ptr_glIndexub :: FunPtr (GLubyte -> IO ())
+ptr_glIndexub = unsafePerformIO $ getCommand "glIndexub"
+
+-- glIndexubv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
+glIndexubv
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @c@ pointing to @1@ element of type @ColorIndexValueUB@.
+  -> m ()
+glIndexubv v1 = liftIO $ dyn100 ptr_glIndexubv v1
+
+{-# NOINLINE ptr_glIndexubv #-}
+ptr_glIndexubv :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glIndexubv = unsafePerformIO $ getCommand "glIndexubv"
+
+-- glIndexxOES -----------------------------------------------------------------
+
+glIndexxOES
+  :: MonadIO m
+  => GLfixed -- ^ @component@.
+  -> m ()
+glIndexxOES v1 = liftIO $ dyn81 ptr_glIndexxOES v1
+
+{-# NOINLINE ptr_glIndexxOES #-}
+ptr_glIndexxOES :: FunPtr (GLfixed -> IO ())
+ptr_glIndexxOES = unsafePerformIO $ getCommand "glIndexxOES"
+
+-- glIndexxvOES ----------------------------------------------------------------
+
+glIndexxvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @component@ pointing to @1@ element of type @GLfixed@.
+  -> m ()
+glIndexxvOES v1 = liftIO $ dyn106 ptr_glIndexxvOES v1
+
+{-# NOINLINE ptr_glIndexxvOES #-}
+ptr_glIndexxvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glIndexxvOES = unsafePerformIO $ getCommand "glIndexxvOES"
+
+-- glInitNames -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glInitNames.xml OpenGL 2.x>.
+glInitNames
+  :: MonadIO m
+  => m ()
+glInitNames = liftIO $ dyn10 ptr_glInitNames
+
+{-# NOINLINE ptr_glInitNames #-}
+ptr_glInitNames :: FunPtr (IO ())
+ptr_glInitNames = unsafePerformIO $ getCommand "glInitNames"
+
+-- glInsertComponentEXT --------------------------------------------------------
+
+glInsertComponentEXT
+  :: MonadIO m
+  => GLuint -- ^ @res@.
+  -> GLuint -- ^ @src@.
+  -> GLuint -- ^ @num@.
+  -> m ()
+glInsertComponentEXT v1 v2 v3 = liftIO $ dyn101 ptr_glInsertComponentEXT v1 v2 v3
+
+{-# NOINLINE ptr_glInsertComponentEXT #-}
+ptr_glInsertComponentEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glInsertComponentEXT = unsafePerformIO $ getCommand "glInsertComponentEXT"
+
+-- glInsertEventMarkerEXT ------------------------------------------------------
+
+glInsertEventMarkerEXT
+  :: MonadIO m
+  => GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @marker@.
+  -> m ()
+glInsertEventMarkerEXT v1 v2 = liftIO $ dyn465 ptr_glInsertEventMarkerEXT v1 v2
+
+{-# NOINLINE ptr_glInsertEventMarkerEXT #-}
+ptr_glInsertEventMarkerEXT :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
+ptr_glInsertEventMarkerEXT = unsafePerformIO $ getCommand "glInsertEventMarkerEXT"
+
+-- glInstrumentsBufferSGIX -----------------------------------------------------
+
+glInstrumentsBufferSGIX
+  :: MonadIO m
+  => GLsizei -- ^ @size@.
+  -> Ptr GLint -- ^ @buffer@ pointing to @size@ elements of type @GLint@.
+  -> m ()
+glInstrumentsBufferSGIX v1 v2 = liftIO $ dyn466 ptr_glInstrumentsBufferSGIX v1 v2
+
+{-# NOINLINE ptr_glInstrumentsBufferSGIX #-}
+ptr_glInstrumentsBufferSGIX :: FunPtr (GLsizei -> Ptr GLint -> IO ())
+ptr_glInstrumentsBufferSGIX = unsafePerformIO $ getCommand "glInstrumentsBufferSGIX"
+
+-- glInterleavedArrays ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glInterleavedArrays.xml OpenGL 2.x>.
+glInterleavedArrays
+  :: MonadIO m
+  => GLenum -- ^ @format@ of type [InterleavedArrayFormat](Graphics-GL-Groups.html#InterleavedArrayFormat).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(format,stride)@ elements of type @a@.
+  -> m ()
+glInterleavedArrays v1 v2 v3 = liftIO $ dyn46 ptr_glInterleavedArrays v1 v2 v3
+
+{-# NOINLINE ptr_glInterleavedArrays #-}
+ptr_glInterleavedArrays :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glInterleavedArrays = unsafePerformIO $ getCommand "glInterleavedArrays"
+
+-- glInterpolatePathsNV --------------------------------------------------------
+
+glInterpolatePathsNV
+  :: MonadIO m
+  => GLuint -- ^ @resultPath@ of type @Path@.
+  -> GLuint -- ^ @pathA@ of type @Path@.
+  -> GLuint -- ^ @pathB@ of type @Path@.
+  -> GLfloat -- ^ @weight@.
+  -> m ()
+glInterpolatePathsNV v1 v2 v3 v4 = liftIO $ dyn467 ptr_glInterpolatePathsNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glInterpolatePathsNV #-}
+ptr_glInterpolatePathsNV :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
+ptr_glInterpolatePathsNV = unsafePerformIO $ getCommand "glInterpolatePathsNV"
+
+-- glInvalidateBufferData ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateBufferData.xhtml OpenGL 4.x>.
+glInvalidateBufferData
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m ()
+glInvalidateBufferData v1 = liftIO $ dyn2 ptr_glInvalidateBufferData v1
+
+{-# NOINLINE ptr_glInvalidateBufferData #-}
+ptr_glInvalidateBufferData :: FunPtr (GLuint -> IO ())
+ptr_glInvalidateBufferData = unsafePerformIO $ getCommand "glInvalidateBufferData"
+
+-- glInvalidateBufferSubData ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateBufferSubData.xhtml OpenGL 4.x>.
+glInvalidateBufferSubData
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
+  -> m ()
+glInvalidateBufferSubData v1 v2 v3 = liftIO $ dyn278 ptr_glInvalidateBufferSubData v1 v2 v3
+
+{-# NOINLINE ptr_glInvalidateBufferSubData #-}
+ptr_glInvalidateBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glInvalidateBufferSubData = unsafePerformIO $ getCommand "glInvalidateBufferSubData"
+
+-- glInvalidateFramebuffer -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateFramebuffer.xhtml OpenGL 4.x>.
+glInvalidateFramebuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @numAttachments@.
+  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
+  -> m ()
+glInvalidateFramebuffer v1 v2 v3 = liftIO $ dyn225 ptr_glInvalidateFramebuffer v1 v2 v3
+
+{-# NOINLINE ptr_glInvalidateFramebuffer #-}
+ptr_glInvalidateFramebuffer :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
+ptr_glInvalidateFramebuffer = unsafePerformIO $ getCommand "glInvalidateFramebuffer"
+
+-- glInvalidateNamedFramebufferData --------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateFramebuffer.xhtml OpenGL 4.x>.
+glInvalidateNamedFramebufferData
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLsizei -- ^ @numAttachments@.
+  -> Ptr GLenum -- ^ @attachments@.
+  -> m ()
+glInvalidateNamedFramebufferData v1 v2 v3 = liftIO $ dyn281 ptr_glInvalidateNamedFramebufferData v1 v2 v3
+
+{-# NOINLINE ptr_glInvalidateNamedFramebufferData #-}
+ptr_glInvalidateNamedFramebufferData :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
+ptr_glInvalidateNamedFramebufferData = unsafePerformIO $ getCommand "glInvalidateNamedFramebufferData"
+
+-- glInvalidateNamedFramebufferSubData -----------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateSubFramebuffer.xhtml OpenGL 4.x>.
+glInvalidateNamedFramebufferSubData
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLsizei -- ^ @numAttachments@.
+  -> Ptr GLenum -- ^ @attachments@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glInvalidateNamedFramebufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn468 ptr_glInvalidateNamedFramebufferSubData v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glInvalidateNamedFramebufferSubData #-}
+ptr_glInvalidateNamedFramebufferSubData :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glInvalidateNamedFramebufferSubData = unsafePerformIO $ getCommand "glInvalidateNamedFramebufferSubData"
+
+-- glInvalidateSubFramebuffer --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateSubFramebuffer.xhtml OpenGL 4.x>.
+glInvalidateSubFramebuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @numAttachments@.
+  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glInvalidateSubFramebuffer v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn469 ptr_glInvalidateSubFramebuffer v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glInvalidateSubFramebuffer #-}
+ptr_glInvalidateSubFramebuffer :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glInvalidateSubFramebuffer = unsafePerformIO $ getCommand "glInvalidateSubFramebuffer"
+
+-- glInvalidateTexImage --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateTexImage.xhtml OpenGL 4.x>.
+glInvalidateTexImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glInvalidateTexImage v1 v2 = liftIO $ dyn470 ptr_glInvalidateTexImage v1 v2
+
+{-# NOINLINE ptr_glInvalidateTexImage #-}
+ptr_glInvalidateTexImage :: FunPtr (GLuint -> GLint -> IO ())
+ptr_glInvalidateTexImage = unsafePerformIO $ getCommand "glInvalidateTexImage"
+
+-- glInvalidateTexSubImage -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateTexSubImage.xhtml OpenGL 4.x>.
+glInvalidateTexSubImage
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> m ()
+glInvalidateTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn471 ptr_glInvalidateTexSubImage v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glInvalidateTexSubImage #-}
+ptr_glInvalidateTexSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glInvalidateTexSubImage = unsafePerformIO $ getCommand "glInvalidateTexSubImage"
+
+-- glIsAsyncMarkerSGIX ---------------------------------------------------------
+
+glIsAsyncMarkerSGIX
+  :: MonadIO m
+  => GLuint -- ^ @marker@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsAsyncMarkerSGIX v1 = liftIO $ dyn272 ptr_glIsAsyncMarkerSGIX v1
+
+{-# NOINLINE ptr_glIsAsyncMarkerSGIX #-}
+ptr_glIsAsyncMarkerSGIX :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsAsyncMarkerSGIX = unsafePerformIO $ getCommand "glIsAsyncMarkerSGIX"
+
+-- glIsBuffer ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsBuffer.xhtml OpenGL 4.x>.
+glIsBuffer
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsBuffer v1 = liftIO $ dyn272 ptr_glIsBuffer v1
+
+{-# NOINLINE ptr_glIsBuffer #-}
+ptr_glIsBuffer :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsBuffer = unsafePerformIO $ getCommand "glIsBuffer"
+
+-- glIsBufferARB ---------------------------------------------------------------
+
+-- | This command is an alias for 'glIsBuffer'.
+glIsBufferARB
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsBufferARB v1 = liftIO $ dyn272 ptr_glIsBufferARB v1
+
+{-# NOINLINE ptr_glIsBufferARB #-}
+ptr_glIsBufferARB :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsBufferARB = unsafePerformIO $ getCommand "glIsBufferARB"
+
+-- glIsBufferResidentNV --------------------------------------------------------
+
+glIsBufferResidentNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsBufferResidentNV v1 = liftIO $ dyn472 ptr_glIsBufferResidentNV v1
+
+{-# NOINLINE ptr_glIsBufferResidentNV #-}
+ptr_glIsBufferResidentNV :: FunPtr (GLenum -> IO GLboolean)
+ptr_glIsBufferResidentNV = unsafePerformIO $ getCommand "glIsBufferResidentNV"
+
+-- glIsCommandListNV -----------------------------------------------------------
+
+glIsCommandListNV
+  :: MonadIO m
+  => GLuint -- ^ @list@.
+  -> m GLboolean
+glIsCommandListNV v1 = liftIO $ dyn272 ptr_glIsCommandListNV v1
+
+{-# NOINLINE ptr_glIsCommandListNV #-}
+ptr_glIsCommandListNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsCommandListNV = unsafePerformIO $ getCommand "glIsCommandListNV"
+
+-- glIsEnabled -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsEnabled.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsEnabled.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsEnabled.xhtml OpenGL 4.x>.
+glIsEnabled
+  :: MonadIO m
+  => GLenum -- ^ @cap@ of type [EnableCap](Graphics-GL-Groups.html#EnableCap).
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsEnabled v1 = liftIO $ dyn472 ptr_glIsEnabled v1
+
+{-# NOINLINE ptr_glIsEnabled #-}
+ptr_glIsEnabled :: FunPtr (GLenum -> IO GLboolean)
+ptr_glIsEnabled = unsafePerformIO $ getCommand "glIsEnabled"
+
+-- glIsEnabledIndexedEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glIsEnabledi'.
+glIsEnabledIndexedEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsEnabledIndexedEXT v1 v2 = liftIO $ dyn473 ptr_glIsEnabledIndexedEXT v1 v2
+
+{-# NOINLINE ptr_glIsEnabledIndexedEXT #-}
+ptr_glIsEnabledIndexedEXT :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+ptr_glIsEnabledIndexedEXT = unsafePerformIO $ getCommand "glIsEnabledIndexedEXT"
+
+-- glIsEnabledi ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsEnabled.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsEnabled.xhtml OpenGL 4.x>.
+glIsEnabledi
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsEnabledi v1 v2 = liftIO $ dyn473 ptr_glIsEnabledi v1 v2
+
+{-# NOINLINE ptr_glIsEnabledi #-}
+ptr_glIsEnabledi :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+ptr_glIsEnabledi = unsafePerformIO $ getCommand "glIsEnabledi"
+
+-- glIsEnablediEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glIsEnabledi'.
+glIsEnablediEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsEnablediEXT v1 v2 = liftIO $ dyn473 ptr_glIsEnablediEXT v1 v2
+
+{-# NOINLINE ptr_glIsEnablediEXT #-}
+ptr_glIsEnablediEXT :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+ptr_glIsEnablediEXT = unsafePerformIO $ getCommand "glIsEnablediEXT"
+
+-- glIsEnablediNV --------------------------------------------------------------
+
+-- | This command is an alias for 'glIsEnabledi'.
+glIsEnablediNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsEnablediNV v1 v2 = liftIO $ dyn473 ptr_glIsEnablediNV v1 v2
+
+{-# NOINLINE ptr_glIsEnablediNV #-}
+ptr_glIsEnablediNV :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+ptr_glIsEnablediNV = unsafePerformIO $ getCommand "glIsEnablediNV"
+
+-- glIsEnablediOES -------------------------------------------------------------
+
+-- | This command is an alias for 'glIsEnabledi'.
+glIsEnablediOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @index@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsEnablediOES v1 v2 = liftIO $ dyn473 ptr_glIsEnablediOES v1 v2
+
+{-# NOINLINE ptr_glIsEnablediOES #-}
+ptr_glIsEnablediOES :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+ptr_glIsEnablediOES = unsafePerformIO $ getCommand "glIsEnablediOES"
+
+-- glIsFenceAPPLE --------------------------------------------------------------
+
+glIsFenceAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsFenceAPPLE v1 = liftIO $ dyn272 ptr_glIsFenceAPPLE v1
+
+{-# NOINLINE ptr_glIsFenceAPPLE #-}
+ptr_glIsFenceAPPLE :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsFenceAPPLE = unsafePerformIO $ getCommand "glIsFenceAPPLE"
+
+-- glIsFenceNV -----------------------------------------------------------------
+
+glIsFenceNV
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsFenceNV v1 = liftIO $ dyn272 ptr_glIsFenceNV v1
+
+{-# NOINLINE ptr_glIsFenceNV #-}
+ptr_glIsFenceNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsFenceNV = unsafePerformIO $ getCommand "glIsFenceNV"
+
+-- glIsFramebuffer -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsFramebuffer.xhtml OpenGL 4.x>.
+glIsFramebuffer
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsFramebuffer v1 = liftIO $ dyn272 ptr_glIsFramebuffer v1
+
+{-# NOINLINE ptr_glIsFramebuffer #-}
+ptr_glIsFramebuffer :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsFramebuffer = unsafePerformIO $ getCommand "glIsFramebuffer"
+
+-- glIsFramebufferEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glIsFramebuffer'.
+glIsFramebufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsFramebufferEXT v1 = liftIO $ dyn272 ptr_glIsFramebufferEXT v1
+
+{-# NOINLINE ptr_glIsFramebufferEXT #-}
+ptr_glIsFramebufferEXT :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsFramebufferEXT = unsafePerformIO $ getCommand "glIsFramebufferEXT"
+
+-- glIsFramebufferOES ----------------------------------------------------------
+
+glIsFramebufferOES
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> m GLboolean
+glIsFramebufferOES v1 = liftIO $ dyn272 ptr_glIsFramebufferOES v1
+
+{-# NOINLINE ptr_glIsFramebufferOES #-}
+ptr_glIsFramebufferOES :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsFramebufferOES = unsafePerformIO $ getCommand "glIsFramebufferOES"
+
+-- glIsImageHandleResidentARB --------------------------------------------------
+
+glIsImageHandleResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m GLboolean
+glIsImageHandleResidentARB v1 = liftIO $ dyn474 ptr_glIsImageHandleResidentARB v1
+
+{-# NOINLINE ptr_glIsImageHandleResidentARB #-}
+ptr_glIsImageHandleResidentARB :: FunPtr (GLuint64 -> IO GLboolean)
+ptr_glIsImageHandleResidentARB = unsafePerformIO $ getCommand "glIsImageHandleResidentARB"
+
+-- glIsImageHandleResidentNV ---------------------------------------------------
+
+glIsImageHandleResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsImageHandleResidentNV v1 = liftIO $ dyn474 ptr_glIsImageHandleResidentNV v1
+
+{-# NOINLINE ptr_glIsImageHandleResidentNV #-}
+ptr_glIsImageHandleResidentNV :: FunPtr (GLuint64 -> IO GLboolean)
+ptr_glIsImageHandleResidentNV = unsafePerformIO $ getCommand "glIsImageHandleResidentNV"
+
+-- glIsList --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsList.xml OpenGL 2.x>.
+glIsList
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsList v1 = liftIO $ dyn272 ptr_glIsList v1
+
+{-# NOINLINE ptr_glIsList #-}
+ptr_glIsList :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsList = unsafePerformIO $ getCommand "glIsList"
+
+-- glIsNameAMD -----------------------------------------------------------------
+
+glIsNameAMD
+  :: MonadIO m
+  => GLenum -- ^ @identifier@.
+  -> GLuint -- ^ @name@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsNameAMD v1 v2 = liftIO $ dyn473 ptr_glIsNameAMD v1 v2
+
+{-# NOINLINE ptr_glIsNameAMD #-}
+ptr_glIsNameAMD :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+ptr_glIsNameAMD = unsafePerformIO $ getCommand "glIsNameAMD"
+
+-- glIsNamedBufferResidentNV ---------------------------------------------------
+
+glIsNamedBufferResidentNV
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsNamedBufferResidentNV v1 = liftIO $ dyn272 ptr_glIsNamedBufferResidentNV v1
+
+{-# NOINLINE ptr_glIsNamedBufferResidentNV #-}
+ptr_glIsNamedBufferResidentNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsNamedBufferResidentNV = unsafePerformIO $ getCommand "glIsNamedBufferResidentNV"
+
+-- glIsNamedStringARB ----------------------------------------------------------
+
+glIsNamedStringARB
+  :: MonadIO m
+  => GLint -- ^ @namelen@.
+  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsNamedStringARB v1 v2 = liftIO $ dyn475 ptr_glIsNamedStringARB v1 v2
+
+{-# NOINLINE ptr_glIsNamedStringARB #-}
+ptr_glIsNamedStringARB :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean)
+ptr_glIsNamedStringARB = unsafePerformIO $ getCommand "glIsNamedStringARB"
+
+-- glIsObjectBufferATI ---------------------------------------------------------
+
+glIsObjectBufferATI
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsObjectBufferATI v1 = liftIO $ dyn272 ptr_glIsObjectBufferATI v1
+
+{-# NOINLINE ptr_glIsObjectBufferATI #-}
+ptr_glIsObjectBufferATI :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsObjectBufferATI = unsafePerformIO $ getCommand "glIsObjectBufferATI"
+
+-- glIsOcclusionQueryNV --------------------------------------------------------
+
+glIsOcclusionQueryNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsOcclusionQueryNV v1 = liftIO $ dyn272 ptr_glIsOcclusionQueryNV v1
+
+{-# NOINLINE ptr_glIsOcclusionQueryNV #-}
+ptr_glIsOcclusionQueryNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsOcclusionQueryNV = unsafePerformIO $ getCommand "glIsOcclusionQueryNV"
+
+-- glIsPathNV ------------------------------------------------------------------
+
+glIsPathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsPathNV v1 = liftIO $ dyn272 ptr_glIsPathNV v1
+
+{-# NOINLINE ptr_glIsPathNV #-}
+ptr_glIsPathNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsPathNV = unsafePerformIO $ getCommand "glIsPathNV"
+
+-- glIsPointInFillPathNV -------------------------------------------------------
+
+glIsPointInFillPathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsPointInFillPathNV v1 v2 v3 v4 = liftIO $ dyn476 ptr_glIsPointInFillPathNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glIsPointInFillPathNV #-}
+ptr_glIsPointInFillPathNV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+ptr_glIsPointInFillPathNV = unsafePerformIO $ getCommand "glIsPointInFillPathNV"
+
+-- glIsPointInStrokePathNV -----------------------------------------------------
+
+glIsPointInStrokePathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsPointInStrokePathNV v1 v2 v3 = liftIO $ dyn477 ptr_glIsPointInStrokePathNV v1 v2 v3
+
+{-# NOINLINE ptr_glIsPointInStrokePathNV #-}
+ptr_glIsPointInStrokePathNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean)
+ptr_glIsPointInStrokePathNV = unsafePerformIO $ getCommand "glIsPointInStrokePathNV"
+
+-- glIsProgram -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsProgram.xhtml OpenGL 4.x>.
+glIsProgram
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsProgram v1 = liftIO $ dyn272 ptr_glIsProgram v1
+
+{-# NOINLINE ptr_glIsProgram #-}
+ptr_glIsProgram :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsProgram = unsafePerformIO $ getCommand "glIsProgram"
+
+-- glIsProgramARB --------------------------------------------------------------
+
+glIsProgramARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsProgramARB v1 = liftIO $ dyn272 ptr_glIsProgramARB v1
+
+{-# NOINLINE ptr_glIsProgramARB #-}
+ptr_glIsProgramARB :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsProgramARB = unsafePerformIO $ getCommand "glIsProgramARB"
+
+-- glIsProgramNV ---------------------------------------------------------------
+
+-- | This command is an alias for 'glIsProgramARB'.
+glIsProgramNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsProgramNV v1 = liftIO $ dyn272 ptr_glIsProgramNV v1
+
+{-# NOINLINE ptr_glIsProgramNV #-}
+ptr_glIsProgramNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsProgramNV = unsafePerformIO $ getCommand "glIsProgramNV"
+
+-- glIsProgramPipeline ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glIsProgramPipeline.xhtml OpenGL 4.x>.
+glIsProgramPipeline
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsProgramPipeline v1 = liftIO $ dyn272 ptr_glIsProgramPipeline v1
+
+{-# NOINLINE ptr_glIsProgramPipeline #-}
+ptr_glIsProgramPipeline :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsProgramPipeline = unsafePerformIO $ getCommand "glIsProgramPipeline"
+
+-- glIsProgramPipelineEXT ------------------------------------------------------
+
+glIsProgramPipelineEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> m GLboolean
+glIsProgramPipelineEXT v1 = liftIO $ dyn272 ptr_glIsProgramPipelineEXT v1
+
+{-# NOINLINE ptr_glIsProgramPipelineEXT #-}
+ptr_glIsProgramPipelineEXT :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsProgramPipelineEXT = unsafePerformIO $ getCommand "glIsProgramPipelineEXT"
+
+-- glIsQuery -------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsQuery.xhtml OpenGL 4.x>.
+glIsQuery
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsQuery v1 = liftIO $ dyn272 ptr_glIsQuery v1
+
+{-# NOINLINE ptr_glIsQuery #-}
+ptr_glIsQuery :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsQuery = unsafePerformIO $ getCommand "glIsQuery"
+
+-- glIsQueryARB ----------------------------------------------------------------
+
+-- | This command is an alias for 'glIsQuery'.
+glIsQueryARB
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsQueryARB v1 = liftIO $ dyn272 ptr_glIsQueryARB v1
+
+{-# NOINLINE ptr_glIsQueryARB #-}
+ptr_glIsQueryARB :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsQueryARB = unsafePerformIO $ getCommand "glIsQueryARB"
+
+-- glIsQueryEXT ----------------------------------------------------------------
+
+glIsQueryEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m GLboolean
+glIsQueryEXT v1 = liftIO $ dyn272 ptr_glIsQueryEXT v1
+
+{-# NOINLINE ptr_glIsQueryEXT #-}
+ptr_glIsQueryEXT :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsQueryEXT = unsafePerformIO $ getCommand "glIsQueryEXT"
+
+-- glIsRenderbuffer ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsRenderbuffer.xhtml OpenGL 4.x>.
+glIsRenderbuffer
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsRenderbuffer v1 = liftIO $ dyn272 ptr_glIsRenderbuffer v1
+
+{-# NOINLINE ptr_glIsRenderbuffer #-}
+ptr_glIsRenderbuffer :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsRenderbuffer = unsafePerformIO $ getCommand "glIsRenderbuffer"
+
+-- glIsRenderbufferEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glIsRenderbuffer'.
+glIsRenderbufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsRenderbufferEXT v1 = liftIO $ dyn272 ptr_glIsRenderbufferEXT v1
+
+{-# NOINLINE ptr_glIsRenderbufferEXT #-}
+ptr_glIsRenderbufferEXT :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsRenderbufferEXT = unsafePerformIO $ getCommand "glIsRenderbufferEXT"
+
+-- glIsRenderbufferOES ---------------------------------------------------------
+
+glIsRenderbufferOES
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@.
+  -> m GLboolean
+glIsRenderbufferOES v1 = liftIO $ dyn272 ptr_glIsRenderbufferOES v1
+
+{-# NOINLINE ptr_glIsRenderbufferOES #-}
+ptr_glIsRenderbufferOES :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsRenderbufferOES = unsafePerformIO $ getCommand "glIsRenderbufferOES"
+
+-- glIsSampler -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsSampler.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsSampler.xhtml OpenGL 4.x>.
+glIsSampler
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsSampler v1 = liftIO $ dyn272 ptr_glIsSampler v1
+
+{-# NOINLINE ptr_glIsSampler #-}
+ptr_glIsSampler :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsSampler = unsafePerformIO $ getCommand "glIsSampler"
+
+-- glIsShader ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsShader.xhtml OpenGL 4.x>.
+glIsShader
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsShader v1 = liftIO $ dyn272 ptr_glIsShader v1
+
+{-# NOINLINE ptr_glIsShader #-}
+ptr_glIsShader :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsShader = unsafePerformIO $ getCommand "glIsShader"
+
+-- glIsStateNV -----------------------------------------------------------------
+
+glIsStateNV
+  :: MonadIO m
+  => GLuint -- ^ @state@.
+  -> m GLboolean
+glIsStateNV v1 = liftIO $ dyn272 ptr_glIsStateNV v1
+
+{-# NOINLINE ptr_glIsStateNV #-}
+ptr_glIsStateNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsStateNV = unsafePerformIO $ getCommand "glIsStateNV"
+
+-- glIsSync --------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsSync.xhtml OpenGL 4.x>.
+glIsSync
+  :: MonadIO m
+  => GLsync -- ^ @sync@ of type @sync@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsSync v1 = liftIO $ dyn478 ptr_glIsSync v1
+
+{-# NOINLINE ptr_glIsSync #-}
+ptr_glIsSync :: FunPtr (GLsync -> IO GLboolean)
+ptr_glIsSync = unsafePerformIO $ getCommand "glIsSync"
+
+-- glIsSyncAPPLE ---------------------------------------------------------------
+
+-- | This command is an alias for 'glIsSync'.
+glIsSyncAPPLE
+  :: MonadIO m
+  => GLsync -- ^ @sync@.
+  -> m GLboolean
+glIsSyncAPPLE v1 = liftIO $ dyn478 ptr_glIsSyncAPPLE v1
+
+{-# NOINLINE ptr_glIsSyncAPPLE #-}
+ptr_glIsSyncAPPLE :: FunPtr (GLsync -> IO GLboolean)
+ptr_glIsSyncAPPLE = unsafePerformIO $ getCommand "glIsSyncAPPLE"
+
+-- glIsTexture -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsTexture.xhtml OpenGL 4.x>.
+glIsTexture
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsTexture v1 = liftIO $ dyn272 ptr_glIsTexture v1
+
+{-# NOINLINE ptr_glIsTexture #-}
+ptr_glIsTexture :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsTexture = unsafePerformIO $ getCommand "glIsTexture"
+
+-- glIsTextureEXT --------------------------------------------------------------
+
+glIsTextureEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsTextureEXT v1 = liftIO $ dyn272 ptr_glIsTextureEXT v1
+
+{-# NOINLINE ptr_glIsTextureEXT #-}
+ptr_glIsTextureEXT :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsTextureEXT = unsafePerformIO $ getCommand "glIsTextureEXT"
+
+-- glIsTextureHandleResidentARB ------------------------------------------------
+
+glIsTextureHandleResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m GLboolean
+glIsTextureHandleResidentARB v1 = liftIO $ dyn474 ptr_glIsTextureHandleResidentARB v1
+
+{-# NOINLINE ptr_glIsTextureHandleResidentARB #-}
+ptr_glIsTextureHandleResidentARB :: FunPtr (GLuint64 -> IO GLboolean)
+ptr_glIsTextureHandleResidentARB = unsafePerformIO $ getCommand "glIsTextureHandleResidentARB"
+
+-- glIsTextureHandleResidentNV -------------------------------------------------
+
+glIsTextureHandleResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsTextureHandleResidentNV v1 = liftIO $ dyn474 ptr_glIsTextureHandleResidentNV v1
+
+{-# NOINLINE ptr_glIsTextureHandleResidentNV #-}
+ptr_glIsTextureHandleResidentNV :: FunPtr (GLuint64 -> IO GLboolean)
+ptr_glIsTextureHandleResidentNV = unsafePerformIO $ getCommand "glIsTextureHandleResidentNV"
+
+-- glIsTransformFeedback -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glIsTransformFeedback.xhtml OpenGL 4.x>.
+glIsTransformFeedback
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsTransformFeedback v1 = liftIO $ dyn272 ptr_glIsTransformFeedback v1
+
+{-# NOINLINE ptr_glIsTransformFeedback #-}
+ptr_glIsTransformFeedback :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsTransformFeedback = unsafePerformIO $ getCommand "glIsTransformFeedback"
+
+-- glIsTransformFeedbackNV -----------------------------------------------------
+
+-- | This command is an alias for 'glIsTransformFeedback'.
+glIsTransformFeedbackNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsTransformFeedbackNV v1 = liftIO $ dyn272 ptr_glIsTransformFeedbackNV v1
+
+{-# NOINLINE ptr_glIsTransformFeedbackNV #-}
+ptr_glIsTransformFeedbackNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsTransformFeedbackNV = unsafePerformIO $ getCommand "glIsTransformFeedbackNV"
+
+-- glIsVariantEnabledEXT -------------------------------------------------------
+
+glIsVariantEnabledEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @cap@ of type @VariantCapEXT@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsVariantEnabledEXT v1 v2 = liftIO $ dyn479 ptr_glIsVariantEnabledEXT v1 v2
+
+{-# NOINLINE ptr_glIsVariantEnabledEXT #-}
+ptr_glIsVariantEnabledEXT :: FunPtr (GLuint -> GLenum -> IO GLboolean)
+ptr_glIsVariantEnabledEXT = unsafePerformIO $ getCommand "glIsVariantEnabledEXT"
+
+-- glIsVertexArray -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsVertexArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsVertexArray.xhtml OpenGL 4.x>.
+glIsVertexArray
+  :: MonadIO m
+  => GLuint -- ^ @array@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsVertexArray v1 = liftIO $ dyn272 ptr_glIsVertexArray v1
+
+{-# NOINLINE ptr_glIsVertexArray #-}
+ptr_glIsVertexArray :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsVertexArray = unsafePerformIO $ getCommand "glIsVertexArray"
+
+-- glIsVertexArrayAPPLE --------------------------------------------------------
+
+-- | This command is an alias for 'glIsVertexArray'.
+glIsVertexArrayAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @array@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsVertexArrayAPPLE v1 = liftIO $ dyn272 ptr_glIsVertexArrayAPPLE v1
+
+{-# NOINLINE ptr_glIsVertexArrayAPPLE #-}
+ptr_glIsVertexArrayAPPLE :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsVertexArrayAPPLE = unsafePerformIO $ getCommand "glIsVertexArrayAPPLE"
+
+-- glIsVertexArrayOES ----------------------------------------------------------
+
+-- | This command is an alias for 'glIsVertexArray'.
+glIsVertexArrayOES
+  :: MonadIO m
+  => GLuint -- ^ @array@.
+  -> m GLboolean
+glIsVertexArrayOES v1 = liftIO $ dyn272 ptr_glIsVertexArrayOES v1
+
+{-# NOINLINE ptr_glIsVertexArrayOES #-}
+ptr_glIsVertexArrayOES :: FunPtr (GLuint -> IO GLboolean)
+ptr_glIsVertexArrayOES = unsafePerformIO $ getCommand "glIsVertexArrayOES"
+
+-- glIsVertexAttribEnabledAPPLE ------------------------------------------------
+
+glIsVertexAttribEnabledAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glIsVertexAttribEnabledAPPLE v1 v2 = liftIO $ dyn479 ptr_glIsVertexAttribEnabledAPPLE v1 v2
+
+{-# NOINLINE ptr_glIsVertexAttribEnabledAPPLE #-}
+ptr_glIsVertexAttribEnabledAPPLE :: FunPtr (GLuint -> GLenum -> IO GLboolean)
+ptr_glIsVertexAttribEnabledAPPLE = unsafePerformIO $ getCommand "glIsVertexAttribEnabledAPPLE"
+
+-- glLabelObjectEXT ------------------------------------------------------------
+
+glLabelObjectEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @object@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @label@.
+  -> m ()
+glLabelObjectEXT v1 v2 v3 v4 = liftIO $ dyn480 ptr_glLabelObjectEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glLabelObjectEXT #-}
+ptr_glLabelObjectEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glLabelObjectEXT = unsafePerformIO $ getCommand "glLabelObjectEXT"
+
+-- glLightEnviSGIX -------------------------------------------------------------
+
+glLightEnviSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [LightEnvParameterSGIX](Graphics-GL-Groups.html#LightEnvParameterSGIX).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glLightEnviSGIX v1 v2 = liftIO $ dyn55 ptr_glLightEnviSGIX v1 v2
+
+{-# NOINLINE ptr_glLightEnviSGIX #-}
+ptr_glLightEnviSGIX :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glLightEnviSGIX = unsafePerformIO $ getCommand "glLightEnviSGIX"
+
+-- glLightModelf ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
+glLightModelf
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glLightModelf v1 v2 = liftIO $ dyn0 ptr_glLightModelf v1 v2
+
+{-# NOINLINE ptr_glLightModelf #-}
+ptr_glLightModelf :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glLightModelf = unsafePerformIO $ getCommand "glLightModelf"
+
+-- glLightModelfv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
+glLightModelfv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glLightModelfv v1 v2 = liftIO $ dyn93 ptr_glLightModelfv v1 v2
+
+{-# NOINLINE ptr_glLightModelfv #-}
+ptr_glLightModelfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glLightModelfv = unsafePerformIO $ getCommand "glLightModelfv"
+
+-- glLightModeli ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
+glLightModeli
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
+  -> GLint -- ^ @param@.
+  -> m ()
+glLightModeli v1 v2 = liftIO $ dyn55 ptr_glLightModeli v1 v2
+
+{-# NOINLINE ptr_glLightModeli #-}
+ptr_glLightModeli :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glLightModeli = unsafePerformIO $ getCommand "glLightModeli"
+
+-- glLightModeliv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
+glLightModeliv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-GL-Groups.html#LightModelParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glLightModeliv v1 v2 = liftIO $ dyn135 ptr_glLightModeliv v1 v2
+
+{-# NOINLINE ptr_glLightModeliv #-}
+ptr_glLightModeliv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glLightModeliv = unsafePerformIO $ getCommand "glLightModeliv"
+
+-- glLightModelx ---------------------------------------------------------------
+
+glLightModelx
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glLightModelx v1 v2 = liftIO $ dyn1 ptr_glLightModelx v1 v2
+
+{-# NOINLINE ptr_glLightModelx #-}
+ptr_glLightModelx :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glLightModelx = unsafePerformIO $ getCommand "glLightModelx"
+
+-- glLightModelxOES ------------------------------------------------------------
+
+glLightModelxOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glLightModelxOES v1 v2 = liftIO $ dyn1 ptr_glLightModelxOES v1 v2
+
+{-# NOINLINE ptr_glLightModelxOES #-}
+ptr_glLightModelxOES :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glLightModelxOES = unsafePerformIO $ getCommand "glLightModelxOES"
+
+-- glLightModelxv --------------------------------------------------------------
+
+glLightModelxv
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glLightModelxv v1 v2 = liftIO $ dyn94 ptr_glLightModelxv v1 v2
+
+{-# NOINLINE ptr_glLightModelxv #-}
+ptr_glLightModelxv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glLightModelxv = unsafePerformIO $ getCommand "glLightModelxv"
+
+-- glLightModelxvOES -----------------------------------------------------------
+
+glLightModelxvOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glLightModelxvOES v1 v2 = liftIO $ dyn94 ptr_glLightModelxvOES v1 v2
+
+{-# NOINLINE ptr_glLightModelxvOES #-}
+ptr_glLightModelxvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glLightModelxvOES = unsafePerformIO $ getCommand "glLightModelxvOES"
+
+-- glLightf --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
+glLightf
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glLightf v1 v2 v3 = liftIO $ dyn160 ptr_glLightf v1 v2 v3
+
+{-# NOINLINE ptr_glLightf #-}
+ptr_glLightf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glLightf = unsafePerformIO $ getCommand "glLightf"
+
+-- glLightfv -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
+glLightfv
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glLightfv v1 v2 v3 = liftIO $ dyn131 ptr_glLightfv v1 v2 v3
+
+{-# NOINLINE ptr_glLightfv #-}
+ptr_glLightfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glLightfv = unsafePerformIO $ getCommand "glLightfv"
+
+-- glLighti --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
+glLighti
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glLighti v1 v2 v3 = liftIO $ dyn62 ptr_glLighti v1 v2 v3
+
+{-# NOINLINE ptr_glLighti #-}
+ptr_glLighti :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glLighti = unsafePerformIO $ getCommand "glLighti"
+
+-- glLightiv -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
+glLightiv
+  :: MonadIO m
+  => GLenum -- ^ @light@ of type [LightName](Graphics-GL-Groups.html#LightName).
+  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-GL-Groups.html#LightParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glLightiv v1 v2 v3 = liftIO $ dyn132 ptr_glLightiv v1 v2 v3
+
+{-# NOINLINE ptr_glLightiv #-}
+ptr_glLightiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glLightiv = unsafePerformIO $ getCommand "glLightiv"
+
+-- glLightx --------------------------------------------------------------------
+
+glLightx
+  :: MonadIO m
+  => GLenum -- ^ @light@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glLightx v1 v2 v3 = liftIO $ dyn161 ptr_glLightx v1 v2 v3
+
+{-# NOINLINE ptr_glLightx #-}
+ptr_glLightx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glLightx = unsafePerformIO $ getCommand "glLightx"
+
+-- glLightxOES -----------------------------------------------------------------
+
+glLightxOES
+  :: MonadIO m
+  => GLenum -- ^ @light@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glLightxOES v1 v2 v3 = liftIO $ dyn161 ptr_glLightxOES v1 v2 v3
+
+{-# NOINLINE ptr_glLightxOES #-}
+ptr_glLightxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glLightxOES = unsafePerformIO $ getCommand "glLightxOES"
+
+-- glLightxv -------------------------------------------------------------------
+
+glLightxv
+  :: MonadIO m
+  => GLenum -- ^ @light@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glLightxv v1 v2 v3 = liftIO $ dyn162 ptr_glLightxv v1 v2 v3
+
+{-# NOINLINE ptr_glLightxv #-}
+ptr_glLightxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glLightxv = unsafePerformIO $ getCommand "glLightxv"
+
+-- glLightxvOES ----------------------------------------------------------------
+
+glLightxvOES
+  :: MonadIO m
+  => GLenum -- ^ @light@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glLightxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glLightxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glLightxvOES #-}
+ptr_glLightxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glLightxvOES = unsafePerformIO $ getCommand "glLightxvOES"
+
+-- glLineStipple ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLineStipple.xml OpenGL 2.x>.
+glLineStipple
+  :: MonadIO m
+  => GLint -- ^ @factor@ of type @CheckedInt32@.
+  -> GLushort -- ^ @pattern@ of type @LineStipple@.
+  -> m ()
+glLineStipple v1 v2 = liftIO $ dyn481 ptr_glLineStipple v1 v2
+
+{-# NOINLINE ptr_glLineStipple #-}
+ptr_glLineStipple :: FunPtr (GLint -> GLushort -> IO ())
+ptr_glLineStipple = unsafePerformIO $ getCommand "glLineStipple"
+
+-- glLineWidth -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glLineWidth.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glLineWidth.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glLineWidth.xhtml OpenGL 4.x>.
+glLineWidth
+  :: MonadIO m
+  => GLfloat -- ^ @width@ of type @CheckedFloat32@.
+  -> m ()
+glLineWidth v1 = liftIO $ dyn79 ptr_glLineWidth v1
+
+{-# NOINLINE ptr_glLineWidth #-}
+ptr_glLineWidth :: FunPtr (GLfloat -> IO ())
+ptr_glLineWidth = unsafePerformIO $ getCommand "glLineWidth"
+
+-- glLineWidthx ----------------------------------------------------------------
+
+glLineWidthx
+  :: MonadIO m
+  => GLfixed -- ^ @width@.
+  -> m ()
+glLineWidthx v1 = liftIO $ dyn81 ptr_glLineWidthx v1
+
+{-# NOINLINE ptr_glLineWidthx #-}
+ptr_glLineWidthx :: FunPtr (GLfixed -> IO ())
+ptr_glLineWidthx = unsafePerformIO $ getCommand "glLineWidthx"
+
+-- glLineWidthxOES -------------------------------------------------------------
+
+glLineWidthxOES
+  :: MonadIO m
+  => GLfixed -- ^ @width@.
+  -> m ()
+glLineWidthxOES v1 = liftIO $ dyn81 ptr_glLineWidthxOES v1
+
+{-# NOINLINE ptr_glLineWidthxOES #-}
+ptr_glLineWidthxOES :: FunPtr (GLfixed -> IO ())
+ptr_glLineWidthxOES = unsafePerformIO $ getCommand "glLineWidthxOES"
+
+-- glLinkProgram ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glLinkProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glLinkProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glLinkProgram.xhtml OpenGL 4.x>.
+glLinkProgram
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m ()
+glLinkProgram v1 = liftIO $ dyn2 ptr_glLinkProgram v1
+
+{-# NOINLINE ptr_glLinkProgram #-}
+ptr_glLinkProgram :: FunPtr (GLuint -> IO ())
+ptr_glLinkProgram = unsafePerformIO $ getCommand "glLinkProgram"
+
+-- glLinkProgramARB ------------------------------------------------------------
+
+-- | This command is an alias for 'glLinkProgram'.
+glLinkProgramARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> m ()
+glLinkProgramARB v1 = liftIO $ dyn136 ptr_glLinkProgramARB v1
+
+{-# NOINLINE ptr_glLinkProgramARB #-}
+ptr_glLinkProgramARB :: FunPtr (GLhandleARB -> IO ())
+ptr_glLinkProgramARB = unsafePerformIO $ getCommand "glLinkProgramARB"
+
+-- glListBase ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glListBase.xml OpenGL 2.x>.
+glListBase
+  :: MonadIO m
+  => GLuint -- ^ @base@ of type @List@.
+  -> m ()
+glListBase v1 = liftIO $ dyn2 ptr_glListBase v1
+
+{-# NOINLINE ptr_glListBase #-}
+ptr_glListBase :: FunPtr (GLuint -> IO ())
+ptr_glListBase = unsafePerformIO $ getCommand "glListBase"
+
+-- glListDrawCommandsStatesClientNV --------------------------------------------
+
+glListDrawCommandsStatesClientNV
+  :: MonadIO m
+  => GLuint -- ^ @list@.
+  -> GLuint -- ^ @segment@.
+  -> Ptr (Ptr a) -- ^ @indirects@.
+  -> Ptr GLsizei -- ^ @sizes@.
+  -> Ptr GLuint -- ^ @states@.
+  -> Ptr GLuint -- ^ @fbos@.
+  -> GLuint -- ^ @count@.
+  -> m ()
+glListDrawCommandsStatesClientNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn482 ptr_glListDrawCommandsStatesClientNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glListDrawCommandsStatesClientNV #-}
+ptr_glListDrawCommandsStatesClientNV :: FunPtr (GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
+ptr_glListDrawCommandsStatesClientNV = unsafePerformIO $ getCommand "glListDrawCommandsStatesClientNV"
+
+-- glListParameterfSGIX --------------------------------------------------------
+
+glListParameterfSGIX
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glListParameterfSGIX v1 v2 v3 = liftIO $ dyn483 ptr_glListParameterfSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glListParameterfSGIX #-}
+ptr_glListParameterfSGIX :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
+ptr_glListParameterfSGIX = unsafePerformIO $ getCommand "glListParameterfSGIX"
+
+-- glListParameterfvSGIX -------------------------------------------------------
+
+glListParameterfvSGIX
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glListParameterfvSGIX v1 v2 v3 = liftIO $ dyn345 ptr_glListParameterfvSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glListParameterfvSGIX #-}
+ptr_glListParameterfvSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glListParameterfvSGIX = unsafePerformIO $ getCommand "glListParameterfvSGIX"
+
+-- glListParameteriSGIX --------------------------------------------------------
+
+glListParameteriSGIX
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glListParameteriSGIX v1 v2 v3 = liftIO $ dyn484 ptr_glListParameteriSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glListParameteriSGIX #-}
+ptr_glListParameteriSGIX :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glListParameteriSGIX = unsafePerformIO $ getCommand "glListParameteriSGIX"
+
+-- glListParameterivSGIX -------------------------------------------------------
+
+glListParameterivSGIX
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-GL-Groups.html#ListParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glListParameterivSGIX v1 v2 v3 = liftIO $ dyn331 ptr_glListParameterivSGIX v1 v2 v3
+
+{-# NOINLINE ptr_glListParameterivSGIX #-}
+ptr_glListParameterivSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glListParameterivSGIX = unsafePerformIO $ getCommand "glListParameterivSGIX"
+
+-- glLoadIdentity --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadIdentity.xml OpenGL 2.x>.
+glLoadIdentity
+  :: MonadIO m
+  => m ()
+glLoadIdentity = liftIO $ dyn10 ptr_glLoadIdentity
+
+{-# NOINLINE ptr_glLoadIdentity #-}
+ptr_glLoadIdentity :: FunPtr (IO ())
+ptr_glLoadIdentity = unsafePerformIO $ getCommand "glLoadIdentity"
+
+-- glLoadIdentityDeformationMapSGIX --------------------------------------------
+
+glLoadIdentityDeformationMapSGIX
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@ of type [FfdMaskSGIX](Graphics-GL-Groups.html#FfdMaskSGIX).
+  -> m ()
+glLoadIdentityDeformationMapSGIX v1 = liftIO $ dyn69 ptr_glLoadIdentityDeformationMapSGIX v1
+
+{-# NOINLINE ptr_glLoadIdentityDeformationMapSGIX #-}
+ptr_glLoadIdentityDeformationMapSGIX :: FunPtr (GLbitfield -> IO ())
+ptr_glLoadIdentityDeformationMapSGIX = unsafePerformIO $ getCommand "glLoadIdentityDeformationMapSGIX"
+
+-- glLoadMatrixd ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadMatrix.xml OpenGL 2.x>.
+glLoadMatrixd
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glLoadMatrixd v1 = liftIO $ dyn39 ptr_glLoadMatrixd v1
+
+{-# NOINLINE ptr_glLoadMatrixd #-}
+ptr_glLoadMatrixd :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glLoadMatrixd = unsafePerformIO $ getCommand "glLoadMatrixd"
+
+-- glLoadMatrixf ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadMatrix.xml OpenGL 2.x>.
+glLoadMatrixf
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glLoadMatrixf v1 = liftIO $ dyn41 ptr_glLoadMatrixf v1
+
+{-# NOINLINE ptr_glLoadMatrixf #-}
+ptr_glLoadMatrixf :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glLoadMatrixf = unsafePerformIO $ getCommand "glLoadMatrixf"
+
+-- glLoadMatrixx ---------------------------------------------------------------
+
+glLoadMatrixx
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
+  -> m ()
+glLoadMatrixx v1 = liftIO $ dyn106 ptr_glLoadMatrixx v1
+
+{-# NOINLINE ptr_glLoadMatrixx #-}
+ptr_glLoadMatrixx :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glLoadMatrixx = unsafePerformIO $ getCommand "glLoadMatrixx"
+
+-- glLoadMatrixxOES ------------------------------------------------------------
+
+glLoadMatrixxOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
+  -> m ()
+glLoadMatrixxOES v1 = liftIO $ dyn106 ptr_glLoadMatrixxOES v1
+
+{-# NOINLINE ptr_glLoadMatrixxOES #-}
+ptr_glLoadMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glLoadMatrixxOES = unsafePerformIO $ getCommand "glLoadMatrixxOES"
+
+-- glLoadName ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadName.xml OpenGL 2.x>.
+glLoadName
+  :: MonadIO m
+  => GLuint -- ^ @name@ of type @SelectName@.
+  -> m ()
+glLoadName v1 = liftIO $ dyn2 ptr_glLoadName v1
+
+{-# NOINLINE ptr_glLoadName #-}
+ptr_glLoadName :: FunPtr (GLuint -> IO ())
+ptr_glLoadName = unsafePerformIO $ getCommand "glLoadName"
+
+-- glLoadPaletteFromModelViewMatrixOES -----------------------------------------
+
+glLoadPaletteFromModelViewMatrixOES
+  :: MonadIO m
+  => m ()
+glLoadPaletteFromModelViewMatrixOES = liftIO $ dyn10 ptr_glLoadPaletteFromModelViewMatrixOES
+
+{-# NOINLINE ptr_glLoadPaletteFromModelViewMatrixOES #-}
+ptr_glLoadPaletteFromModelViewMatrixOES :: FunPtr (IO ())
+ptr_glLoadPaletteFromModelViewMatrixOES = unsafePerformIO $ getCommand "glLoadPaletteFromModelViewMatrixOES"
+
+-- glLoadProgramNV -------------------------------------------------------------
+
+glLoadProgramNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @id@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr GLubyte -- ^ @program@ pointing to @len@ elements of type @GLubyte@.
+  -> m ()
+glLoadProgramNV v1 v2 v3 v4 = liftIO $ dyn485 ptr_glLoadProgramNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glLoadProgramNV #-}
+ptr_glLoadProgramNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+ptr_glLoadProgramNV = unsafePerformIO $ getCommand "glLoadProgramNV"
+
+-- glLoadTransposeMatrixd ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadTransposeMatrix.xml OpenGL 2.x>.
+glLoadTransposeMatrixd
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glLoadTransposeMatrixd v1 = liftIO $ dyn39 ptr_glLoadTransposeMatrixd v1
+
+{-# NOINLINE ptr_glLoadTransposeMatrixd #-}
+ptr_glLoadTransposeMatrixd :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glLoadTransposeMatrixd = unsafePerformIO $ getCommand "glLoadTransposeMatrixd"
+
+-- glLoadTransposeMatrixdARB ---------------------------------------------------
+
+-- | This command is an alias for 'glLoadTransposeMatrixd'.
+glLoadTransposeMatrixdARB
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glLoadTransposeMatrixdARB v1 = liftIO $ dyn39 ptr_glLoadTransposeMatrixdARB v1
+
+{-# NOINLINE ptr_glLoadTransposeMatrixdARB #-}
+ptr_glLoadTransposeMatrixdARB :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glLoadTransposeMatrixdARB = unsafePerformIO $ getCommand "glLoadTransposeMatrixdARB"
+
+-- glLoadTransposeMatrixf ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadTransposeMatrix.xml OpenGL 2.x>.
+glLoadTransposeMatrixf
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glLoadTransposeMatrixf v1 = liftIO $ dyn41 ptr_glLoadTransposeMatrixf v1
+
+{-# NOINLINE ptr_glLoadTransposeMatrixf #-}
+ptr_glLoadTransposeMatrixf :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glLoadTransposeMatrixf = unsafePerformIO $ getCommand "glLoadTransposeMatrixf"
+
+-- glLoadTransposeMatrixfARB ---------------------------------------------------
+
+-- | This command is an alias for 'glLoadTransposeMatrixf'.
+glLoadTransposeMatrixfARB
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glLoadTransposeMatrixfARB v1 = liftIO $ dyn41 ptr_glLoadTransposeMatrixfARB v1
+
+{-# NOINLINE ptr_glLoadTransposeMatrixfARB #-}
+ptr_glLoadTransposeMatrixfARB :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glLoadTransposeMatrixfARB = unsafePerformIO $ getCommand "glLoadTransposeMatrixfARB"
+
+-- glLoadTransposeMatrixxOES ---------------------------------------------------
+
+glLoadTransposeMatrixxOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
+  -> m ()
+glLoadTransposeMatrixxOES v1 = liftIO $ dyn106 ptr_glLoadTransposeMatrixxOES v1
+
+{-# NOINLINE ptr_glLoadTransposeMatrixxOES #-}
+ptr_glLoadTransposeMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glLoadTransposeMatrixxOES = unsafePerformIO $ getCommand "glLoadTransposeMatrixxOES"
+
+-- glLockArraysEXT -------------------------------------------------------------
+
+glLockArraysEXT
+  :: MonadIO m
+  => GLint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> m ()
+glLockArraysEXT v1 v2 = liftIO $ dyn486 ptr_glLockArraysEXT v1 v2
+
+{-# NOINLINE ptr_glLockArraysEXT #-}
+ptr_glLockArraysEXT :: FunPtr (GLint -> GLsizei -> IO ())
+ptr_glLockArraysEXT = unsafePerformIO $ getCommand "glLockArraysEXT"
+
+-- glLogicOp -------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glLogicOp.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glLogicOp.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glLogicOp.xhtml OpenGL 4.x>.
+glLogicOp
+  :: MonadIO m
+  => GLenum -- ^ @opcode@ of type [LogicOp](Graphics-GL-Groups.html#LogicOp).
+  -> m ()
+glLogicOp v1 = liftIO $ dyn4 ptr_glLogicOp v1
+
+{-# NOINLINE ptr_glLogicOp #-}
+ptr_glLogicOp :: FunPtr (GLenum -> IO ())
+ptr_glLogicOp = unsafePerformIO $ getCommand "glLogicOp"
+
+-- glMakeBufferNonResidentNV ---------------------------------------------------
+
+glMakeBufferNonResidentNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m ()
+glMakeBufferNonResidentNV v1 = liftIO $ dyn4 ptr_glMakeBufferNonResidentNV v1
+
+{-# NOINLINE ptr_glMakeBufferNonResidentNV #-}
+ptr_glMakeBufferNonResidentNV :: FunPtr (GLenum -> IO ())
+ptr_glMakeBufferNonResidentNV = unsafePerformIO $ getCommand "glMakeBufferNonResidentNV"
+
+-- glMakeBufferResidentNV ------------------------------------------------------
+
+glMakeBufferResidentNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @access@.
+  -> m ()
+glMakeBufferResidentNV v1 v2 = liftIO $ dyn51 ptr_glMakeBufferResidentNV v1 v2
+
+{-# NOINLINE ptr_glMakeBufferResidentNV #-}
+ptr_glMakeBufferResidentNV :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glMakeBufferResidentNV = unsafePerformIO $ getCommand "glMakeBufferResidentNV"
+
+-- glMakeImageHandleNonResidentARB ---------------------------------------------
+
+glMakeImageHandleNonResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeImageHandleNonResidentARB v1 = liftIO $ dyn487 ptr_glMakeImageHandleNonResidentARB v1
+
+{-# NOINLINE ptr_glMakeImageHandleNonResidentARB #-}
+ptr_glMakeImageHandleNonResidentARB :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeImageHandleNonResidentARB = unsafePerformIO $ getCommand "glMakeImageHandleNonResidentARB"
+
+-- glMakeImageHandleNonResidentNV ----------------------------------------------
+
+glMakeImageHandleNonResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeImageHandleNonResidentNV v1 = liftIO $ dyn487 ptr_glMakeImageHandleNonResidentNV v1
+
+{-# NOINLINE ptr_glMakeImageHandleNonResidentNV #-}
+ptr_glMakeImageHandleNonResidentNV :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeImageHandleNonResidentNV = unsafePerformIO $ getCommand "glMakeImageHandleNonResidentNV"
+
+-- glMakeImageHandleResidentARB ------------------------------------------------
+
+glMakeImageHandleResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> GLenum -- ^ @access@.
+  -> m ()
+glMakeImageHandleResidentARB v1 v2 = liftIO $ dyn488 ptr_glMakeImageHandleResidentARB v1 v2
+
+{-# NOINLINE ptr_glMakeImageHandleResidentARB #-}
+ptr_glMakeImageHandleResidentARB :: FunPtr (GLuint64 -> GLenum -> IO ())
+ptr_glMakeImageHandleResidentARB = unsafePerformIO $ getCommand "glMakeImageHandleResidentARB"
+
+-- glMakeImageHandleResidentNV -------------------------------------------------
+
+glMakeImageHandleResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> GLenum -- ^ @access@.
+  -> m ()
+glMakeImageHandleResidentNV v1 v2 = liftIO $ dyn488 ptr_glMakeImageHandleResidentNV v1 v2
+
+{-# NOINLINE ptr_glMakeImageHandleResidentNV #-}
+ptr_glMakeImageHandleResidentNV :: FunPtr (GLuint64 -> GLenum -> IO ())
+ptr_glMakeImageHandleResidentNV = unsafePerformIO $ getCommand "glMakeImageHandleResidentNV"
+
+-- glMakeNamedBufferNonResidentNV ----------------------------------------------
+
+glMakeNamedBufferNonResidentNV
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m ()
+glMakeNamedBufferNonResidentNV v1 = liftIO $ dyn2 ptr_glMakeNamedBufferNonResidentNV v1
+
+{-# NOINLINE ptr_glMakeNamedBufferNonResidentNV #-}
+ptr_glMakeNamedBufferNonResidentNV :: FunPtr (GLuint -> IO ())
+ptr_glMakeNamedBufferNonResidentNV = unsafePerformIO $ getCommand "glMakeNamedBufferNonResidentNV"
+
+-- glMakeNamedBufferResidentNV -------------------------------------------------
+
+glMakeNamedBufferResidentNV
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @access@.
+  -> m ()
+glMakeNamedBufferResidentNV v1 v2 = liftIO $ dyn15 ptr_glMakeNamedBufferResidentNV v1 v2
+
+{-# NOINLINE ptr_glMakeNamedBufferResidentNV #-}
+ptr_glMakeNamedBufferResidentNV :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glMakeNamedBufferResidentNV = unsafePerformIO $ getCommand "glMakeNamedBufferResidentNV"
+
+-- glMakeTextureHandleNonResidentARB -------------------------------------------
+
+glMakeTextureHandleNonResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeTextureHandleNonResidentARB v1 = liftIO $ dyn487 ptr_glMakeTextureHandleNonResidentARB v1
+
+{-# NOINLINE ptr_glMakeTextureHandleNonResidentARB #-}
+ptr_glMakeTextureHandleNonResidentARB :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeTextureHandleNonResidentARB = unsafePerformIO $ getCommand "glMakeTextureHandleNonResidentARB"
+
+-- glMakeTextureHandleNonResidentNV --------------------------------------------
+
+glMakeTextureHandleNonResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeTextureHandleNonResidentNV v1 = liftIO $ dyn487 ptr_glMakeTextureHandleNonResidentNV v1
+
+{-# NOINLINE ptr_glMakeTextureHandleNonResidentNV #-}
+ptr_glMakeTextureHandleNonResidentNV :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeTextureHandleNonResidentNV = unsafePerformIO $ getCommand "glMakeTextureHandleNonResidentNV"
+
+-- glMakeTextureHandleResidentARB ----------------------------------------------
+
+glMakeTextureHandleResidentARB
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeTextureHandleResidentARB v1 = liftIO $ dyn487 ptr_glMakeTextureHandleResidentARB v1
+
+{-# NOINLINE ptr_glMakeTextureHandleResidentARB #-}
+ptr_glMakeTextureHandleResidentARB :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeTextureHandleResidentARB = unsafePerformIO $ getCommand "glMakeTextureHandleResidentARB"
+
+-- glMakeTextureHandleResidentNV -----------------------------------------------
+
+glMakeTextureHandleResidentNV
+  :: MonadIO m
+  => GLuint64 -- ^ @handle@.
+  -> m ()
+glMakeTextureHandleResidentNV v1 = liftIO $ dyn487 ptr_glMakeTextureHandleResidentNV v1
+
+{-# NOINLINE ptr_glMakeTextureHandleResidentNV #-}
+ptr_glMakeTextureHandleResidentNV :: FunPtr (GLuint64 -> IO ())
+ptr_glMakeTextureHandleResidentNV = unsafePerformIO $ getCommand "glMakeTextureHandleResidentNV"
+
+-- glMap1d ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
+glMap1d
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> GLint -- ^ @stride@.
+  -> GLint -- ^ @order@ of type @CheckedInt32@.
+  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordD@.
+  -> m ()
+glMap1d v1 v2 v3 v4 v5 v6 = liftIO $ dyn489 ptr_glMap1d v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMap1d #-}
+ptr_glMap1d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+ptr_glMap1d = unsafePerformIO $ getCommand "glMap1d"
+
+-- glMap1f ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
+glMap1f
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLfloat -- ^ @u1@ of type @CoordF@.
+  -> GLfloat -- ^ @u2@ of type @CoordF@.
+  -> GLint -- ^ @stride@.
+  -> GLint -- ^ @order@ of type @CheckedInt32@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordF@.
+  -> m ()
+glMap1f v1 v2 v3 v4 v5 v6 = liftIO $ dyn490 ptr_glMap1f v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMap1f #-}
+ptr_glMap1f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+ptr_glMap1f = unsafePerformIO $ getCommand "glMap1f"
+
+-- glMap1xOES ------------------------------------------------------------------
+
+glMap1xOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLfixed -- ^ @u1@.
+  -> GLfixed -- ^ @u2@.
+  -> GLint -- ^ @stride@.
+  -> GLint -- ^ @order@.
+  -> GLfixed -- ^ @points@.
+  -> m ()
+glMap1xOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn491 ptr_glMap1xOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMap1xOES #-}
+ptr_glMap1xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
+ptr_glMap1xOES = unsafePerformIO $ getCommand "glMap1xOES"
+
+-- glMap2d ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap2.xml OpenGL 2.x>.
+glMap2d
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> GLint -- ^ @ustride@.
+  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
+  -> GLdouble -- ^ @v1@ of type @CoordD@.
+  -> GLdouble -- ^ @v2@ of type @CoordD@.
+  -> GLint -- ^ @vstride@.
+  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
+  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder)@ elements of type @CoordD@.
+  -> m ()
+glMap2d v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn492 ptr_glMap2d v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glMap2d #-}
+ptr_glMap2d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+ptr_glMap2d = unsafePerformIO $ getCommand "glMap2d"
+
+-- glMap2f ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap2.xml OpenGL 2.x>.
+glMap2f
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MapTarget](Graphics-GL-Groups.html#MapTarget).
+  -> GLfloat -- ^ @u1@ of type @CoordF@.
+  -> GLfloat -- ^ @u2@ of type @CoordF@.
+  -> GLint -- ^ @ustride@.
+  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
+  -> GLfloat -- ^ @v1@ of type @CoordF@.
+  -> GLfloat -- ^ @v2@ of type @CoordF@.
+  -> GLint -- ^ @vstride@.
+  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder)@ elements of type @CoordF@.
+  -> m ()
+glMap2f v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn493 ptr_glMap2f v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glMap2f #-}
+ptr_glMap2f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+ptr_glMap2f = unsafePerformIO $ getCommand "glMap2f"
+
+-- glMap2xOES ------------------------------------------------------------------
+
+glMap2xOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLfixed -- ^ @u1@.
+  -> GLfixed -- ^ @u2@.
+  -> GLint -- ^ @ustride@.
+  -> GLint -- ^ @uorder@.
+  -> GLfixed -- ^ @v1@.
+  -> GLfixed -- ^ @v2@.
+  -> GLint -- ^ @vstride@.
+  -> GLint -- ^ @vorder@.
+  -> GLfixed -- ^ @points@.
+  -> m ()
+glMap2xOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn494 ptr_glMap2xOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glMap2xOES #-}
+ptr_glMap2xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
+ptr_glMap2xOES = unsafePerformIO $ getCommand "glMap2xOES"
+
+-- glMapBuffer -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml OpenGL 4.x>.
+glMapBuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLenum -- ^ @access@ of type @BufferAccessARB@.
+  -> m (Ptr a)
+glMapBuffer v1 v2 = liftIO $ dyn495 ptr_glMapBuffer v1 v2
+
+{-# NOINLINE ptr_glMapBuffer #-}
+ptr_glMapBuffer :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
+ptr_glMapBuffer = unsafePerformIO $ getCommand "glMapBuffer"
+
+-- glMapBufferARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glMapBuffer'.
+glMapBufferARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLenum -- ^ @access@ of type @BufferAccessARB@.
+  -> m (Ptr a)
+glMapBufferARB v1 v2 = liftIO $ dyn495 ptr_glMapBufferARB v1 v2
+
+{-# NOINLINE ptr_glMapBufferARB #-}
+ptr_glMapBufferARB :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
+ptr_glMapBufferARB = unsafePerformIO $ getCommand "glMapBufferARB"
+
+-- glMapBufferOES --------------------------------------------------------------
+
+-- | This command is an alias for 'glMapBuffer'.
+glMapBufferOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @access@.
+  -> m (Ptr a)
+glMapBufferOES v1 v2 = liftIO $ dyn495 ptr_glMapBufferOES v1 v2
+
+{-# NOINLINE ptr_glMapBufferOES #-}
+ptr_glMapBufferOES :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
+ptr_glMapBufferOES = unsafePerformIO $ getCommand "glMapBufferOES"
+
+-- glMapBufferRange ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMapBufferRange.xhtml OpenGL 4.x>.
+glMapBufferRange
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
+  -> GLbitfield -- ^ @access@ of type @BufferAccessMask@.
+  -> m (Ptr a)
+glMapBufferRange v1 v2 v3 v4 = liftIO $ dyn496 ptr_glMapBufferRange v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMapBufferRange #-}
+ptr_glMapBufferRange :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+ptr_glMapBufferRange = unsafePerformIO $ getCommand "glMapBufferRange"
+
+-- glMapBufferRangeEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glMapBufferRange'.
+glMapBufferRangeEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @length@.
+  -> GLbitfield -- ^ @access@.
+  -> m (Ptr a)
+glMapBufferRangeEXT v1 v2 v3 v4 = liftIO $ dyn496 ptr_glMapBufferRangeEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMapBufferRangeEXT #-}
+ptr_glMapBufferRangeEXT :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+ptr_glMapBufferRangeEXT = unsafePerformIO $ getCommand "glMapBufferRangeEXT"
+
+-- glMapControlPointsNV --------------------------------------------------------
+
+glMapControlPointsNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@ of type @MapTypeNV@.
+  -> GLsizei -- ^ @ustride@.
+  -> GLsizei -- ^ @vstride@.
+  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
+  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
+  -> GLboolean -- ^ @packed@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr a -- ^ @points@ pointing to @COMPSIZE(target,uorder,vorder)@ elements of type @a@.
+  -> m ()
+glMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn497 ptr_glMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glMapControlPointsNV #-}
+ptr_glMapControlPointsNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ())
+ptr_glMapControlPointsNV = unsafePerformIO $ getCommand "glMapControlPointsNV"
+
+-- glMapGrid1d -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
+glMapGrid1d
+  :: MonadIO m
+  => GLint -- ^ @un@.
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> m ()
+glMapGrid1d v1 v2 v3 = liftIO $ dyn498 ptr_glMapGrid1d v1 v2 v3
+
+{-# NOINLINE ptr_glMapGrid1d #-}
+ptr_glMapGrid1d :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
+ptr_glMapGrid1d = unsafePerformIO $ getCommand "glMapGrid1d"
+
+-- glMapGrid1f -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
+glMapGrid1f
+  :: MonadIO m
+  => GLint -- ^ @un@.
+  -> GLfloat -- ^ @u1@ of type @CoordF@.
+  -> GLfloat -- ^ @u2@ of type @CoordF@.
+  -> m ()
+glMapGrid1f v1 v2 v3 = liftIO $ dyn499 ptr_glMapGrid1f v1 v2 v3
+
+{-# NOINLINE ptr_glMapGrid1f #-}
+ptr_glMapGrid1f :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
+ptr_glMapGrid1f = unsafePerformIO $ getCommand "glMapGrid1f"
+
+-- glMapGrid1xOES --------------------------------------------------------------
+
+glMapGrid1xOES
+  :: MonadIO m
+  => GLint -- ^ @n@.
+  -> GLfixed -- ^ @u1@.
+  -> GLfixed -- ^ @u2@.
+  -> m ()
+glMapGrid1xOES v1 v2 v3 = liftIO $ dyn500 ptr_glMapGrid1xOES v1 v2 v3
+
+{-# NOINLINE ptr_glMapGrid1xOES #-}
+ptr_glMapGrid1xOES :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ())
+ptr_glMapGrid1xOES = unsafePerformIO $ getCommand "glMapGrid1xOES"
+
+-- glMapGrid2d -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
+glMapGrid2d
+  :: MonadIO m
+  => GLint -- ^ @un@.
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> GLint -- ^ @vn@.
+  -> GLdouble -- ^ @v1@ of type @CoordD@.
+  -> GLdouble -- ^ @v2@ of type @CoordD@.
+  -> m ()
+glMapGrid2d v1 v2 v3 v4 v5 v6 = liftIO $ dyn501 ptr_glMapGrid2d v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMapGrid2d #-}
+ptr_glMapGrid2d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
+ptr_glMapGrid2d = unsafePerformIO $ getCommand "glMapGrid2d"
+
+-- glMapGrid2f -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
+glMapGrid2f
+  :: MonadIO m
+  => GLint -- ^ @un@.
+  -> GLfloat -- ^ @u1@ of type @CoordF@.
+  -> GLfloat -- ^ @u2@ of type @CoordF@.
+  -> GLint -- ^ @vn@.
+  -> GLfloat -- ^ @v1@ of type @CoordF@.
+  -> GLfloat -- ^ @v2@ of type @CoordF@.
+  -> m ()
+glMapGrid2f v1 v2 v3 v4 v5 v6 = liftIO $ dyn502 ptr_glMapGrid2f v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMapGrid2f #-}
+ptr_glMapGrid2f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
+ptr_glMapGrid2f = unsafePerformIO $ getCommand "glMapGrid2f"
+
+-- glMapGrid2xOES --------------------------------------------------------------
+
+glMapGrid2xOES
+  :: MonadIO m
+  => GLint -- ^ @n@.
+  -> GLfixed -- ^ @u1@.
+  -> GLfixed -- ^ @u2@.
+  -> GLfixed -- ^ @v1@.
+  -> GLfixed -- ^ @v2@.
+  -> m ()
+glMapGrid2xOES v1 v2 v3 v4 v5 = liftIO $ dyn503 ptr_glMapGrid2xOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMapGrid2xOES #-}
+ptr_glMapGrid2xOES :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glMapGrid2xOES = unsafePerformIO $ getCommand "glMapGrid2xOES"
+
+-- glMapNamedBuffer ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml OpenGL 4.x>.
+glMapNamedBuffer
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @access@.
+  -> m (Ptr a)
+glMapNamedBuffer v1 v2 = liftIO $ dyn504 ptr_glMapNamedBuffer v1 v2
+
+{-# NOINLINE ptr_glMapNamedBuffer #-}
+ptr_glMapNamedBuffer :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
+ptr_glMapNamedBuffer = unsafePerformIO $ getCommand "glMapNamedBuffer"
+
+-- glMapNamedBufferEXT ---------------------------------------------------------
+
+glMapNamedBufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @access@ of type @VertexBufferObjectAccess@.
+  -> m (Ptr a)
+glMapNamedBufferEXT v1 v2 = liftIO $ dyn504 ptr_glMapNamedBufferEXT v1 v2
+
+{-# NOINLINE ptr_glMapNamedBufferEXT #-}
+ptr_glMapNamedBufferEXT :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
+ptr_glMapNamedBufferEXT = unsafePerformIO $ getCommand "glMapNamedBufferEXT"
+
+-- glMapNamedBufferRange -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMapBufferRange.xhtml OpenGL 4.x>.
+glMapNamedBufferRange
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
+  -> GLbitfield -- ^ @access@.
+  -> m (Ptr a)
+glMapNamedBufferRange v1 v2 v3 v4 = liftIO $ dyn505 ptr_glMapNamedBufferRange v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMapNamedBufferRange #-}
+ptr_glMapNamedBufferRange :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+ptr_glMapNamedBufferRange = unsafePerformIO $ getCommand "glMapNamedBufferRange"
+
+-- glMapNamedBufferRangeEXT ----------------------------------------------------
+
+glMapNamedBufferRangeEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @length@.
+  -> GLbitfield -- ^ @access@ of type @BufferAccessMask@.
+  -> m (Ptr a)
+glMapNamedBufferRangeEXT v1 v2 v3 v4 = liftIO $ dyn505 ptr_glMapNamedBufferRangeEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMapNamedBufferRangeEXT #-}
+ptr_glMapNamedBufferRangeEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
+ptr_glMapNamedBufferRangeEXT = unsafePerformIO $ getCommand "glMapNamedBufferRangeEXT"
+
+-- glMapObjectBufferATI --------------------------------------------------------
+
+glMapObjectBufferATI
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m (Ptr a)
+glMapObjectBufferATI v1 = liftIO $ dyn506 ptr_glMapObjectBufferATI v1
+
+{-# NOINLINE ptr_glMapObjectBufferATI #-}
+ptr_glMapObjectBufferATI :: FunPtr (GLuint -> IO (Ptr a))
+ptr_glMapObjectBufferATI = unsafePerformIO $ getCommand "glMapObjectBufferATI"
+
+-- glMapParameterfvNV ----------------------------------------------------------
+
+glMapParameterfvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glMapParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glMapParameterfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glMapParameterfvNV #-}
+ptr_glMapParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glMapParameterfvNV = unsafePerformIO $ getCommand "glMapParameterfvNV"
+
+-- glMapParameterivNV ----------------------------------------------------------
+
+glMapParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @EvalTargetNV@.
+  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glMapParameterivNV v1 v2 v3 = liftIO $ dyn132 ptr_glMapParameterivNV v1 v2 v3
+
+{-# NOINLINE ptr_glMapParameterivNV #-}
+ptr_glMapParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glMapParameterivNV = unsafePerformIO $ getCommand "glMapParameterivNV"
+
+-- glMapTexture2DINTEL ---------------------------------------------------------
+
+glMapTexture2DINTEL
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLbitfield -- ^ @access@.
+  -> Ptr GLint -- ^ @stride@ pointing to @1@ element of type @GLint@.
+  -> Ptr GLenum -- ^ @layout@ pointing to @1@ element of type @GLenum@.
+  -> m (Ptr a)
+glMapTexture2DINTEL v1 v2 v3 v4 v5 = liftIO $ dyn507 ptr_glMapTexture2DINTEL v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMapTexture2DINTEL #-}
+ptr_glMapTexture2DINTEL :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
+ptr_glMapTexture2DINTEL = unsafePerformIO $ getCommand "glMapTexture2DINTEL"
+
+-- glMapVertexAttrib1dAPPLE ----------------------------------------------------
+
+glMapVertexAttrib1dAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @size@.
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> GLint -- ^ @stride@.
+  -> GLint -- ^ @order@ of type @CheckedInt32@.
+  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(size,stride,order)@ elements of type @CoordD@.
+  -> m ()
+glMapVertexAttrib1dAPPLE v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn508 ptr_glMapVertexAttrib1dAPPLE v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glMapVertexAttrib1dAPPLE #-}
+ptr_glMapVertexAttrib1dAPPLE :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+ptr_glMapVertexAttrib1dAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib1dAPPLE"
+
+-- glMapVertexAttrib1fAPPLE ----------------------------------------------------
+
+glMapVertexAttrib1fAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @size@.
+  -> GLfloat -- ^ @u1@ of type @CoordF@.
+  -> GLfloat -- ^ @u2@ of type @CoordF@.
+  -> GLint -- ^ @stride@.
+  -> GLint -- ^ @order@ of type @CheckedInt32@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(size,stride,order)@ elements of type @CoordF@.
+  -> m ()
+glMapVertexAttrib1fAPPLE v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn509 ptr_glMapVertexAttrib1fAPPLE v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glMapVertexAttrib1fAPPLE #-}
+ptr_glMapVertexAttrib1fAPPLE :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+ptr_glMapVertexAttrib1fAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib1fAPPLE"
+
+-- glMapVertexAttrib2dAPPLE ----------------------------------------------------
+
+glMapVertexAttrib2dAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @size@.
+  -> GLdouble -- ^ @u1@ of type @CoordD@.
+  -> GLdouble -- ^ @u2@ of type @CoordD@.
+  -> GLint -- ^ @ustride@.
+  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
+  -> GLdouble -- ^ @v1@ of type @CoordD@.
+  -> GLdouble -- ^ @v2@ of type @CoordD@.
+  -> GLint -- ^ @vstride@.
+  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
+  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(size,ustride,uorder,vstride,vorder)@ elements of type @CoordD@.
+  -> m ()
+glMapVertexAttrib2dAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn510 ptr_glMapVertexAttrib2dAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glMapVertexAttrib2dAPPLE #-}
+ptr_glMapVertexAttrib2dAPPLE :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
+ptr_glMapVertexAttrib2dAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib2dAPPLE"
+
+-- glMapVertexAttrib2fAPPLE ----------------------------------------------------
+
+glMapVertexAttrib2fAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @size@.
+  -> GLfloat -- ^ @u1@ of type @CoordF@.
+  -> GLfloat -- ^ @u2@ of type @CoordF@.
+  -> GLint -- ^ @ustride@.
+  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
+  -> GLfloat -- ^ @v1@ of type @CoordF@.
+  -> GLfloat -- ^ @v2@ of type @CoordF@.
+  -> GLint -- ^ @vstride@.
+  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(size,ustride,uorder,vstride,vorder)@ elements of type @CoordF@.
+  -> m ()
+glMapVertexAttrib2fAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn511 ptr_glMapVertexAttrib2fAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glMapVertexAttrib2fAPPLE #-}
+ptr_glMapVertexAttrib2fAPPLE :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
+ptr_glMapVertexAttrib2fAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib2fAPPLE"
+
+-- glMaterialf -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
+glMaterialf
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glMaterialf v1 v2 v3 = liftIO $ dyn160 ptr_glMaterialf v1 v2 v3
+
+{-# NOINLINE ptr_glMaterialf #-}
+ptr_glMaterialf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glMaterialf = unsafePerformIO $ getCommand "glMaterialf"
+
+-- glMaterialfv ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
+glMaterialfv
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glMaterialfv v1 v2 v3 = liftIO $ dyn131 ptr_glMaterialfv v1 v2 v3
+
+{-# NOINLINE ptr_glMaterialfv #-}
+ptr_glMaterialfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glMaterialfv = unsafePerformIO $ getCommand "glMaterialfv"
+
+-- glMateriali -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
+glMateriali
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glMateriali v1 v2 v3 = liftIO $ dyn62 ptr_glMateriali v1 v2 v3
+
+{-# NOINLINE ptr_glMateriali #-}
+ptr_glMateriali :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glMateriali = unsafePerformIO $ getCommand "glMateriali"
+
+-- glMaterialiv ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
+glMaterialiv
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glMaterialiv v1 v2 v3 = liftIO $ dyn132 ptr_glMaterialiv v1 v2 v3
+
+{-# NOINLINE ptr_glMaterialiv #-}
+ptr_glMaterialiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glMaterialiv = unsafePerformIO $ getCommand "glMaterialiv"
+
+-- glMaterialx -----------------------------------------------------------------
+
+glMaterialx
+  :: MonadIO m
+  => GLenum -- ^ @face@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glMaterialx v1 v2 v3 = liftIO $ dyn161 ptr_glMaterialx v1 v2 v3
+
+{-# NOINLINE ptr_glMaterialx #-}
+ptr_glMaterialx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glMaterialx = unsafePerformIO $ getCommand "glMaterialx"
+
+-- glMaterialxOES --------------------------------------------------------------
+
+glMaterialxOES
+  :: MonadIO m
+  => GLenum -- ^ @face@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glMaterialxOES v1 v2 v3 = liftIO $ dyn161 ptr_glMaterialxOES v1 v2 v3
+
+{-# NOINLINE ptr_glMaterialxOES #-}
+ptr_glMaterialxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glMaterialxOES = unsafePerformIO $ getCommand "glMaterialxOES"
+
+-- glMaterialxv ----------------------------------------------------------------
+
+glMaterialxv
+  :: MonadIO m
+  => GLenum -- ^ @face@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glMaterialxv v1 v2 v3 = liftIO $ dyn162 ptr_glMaterialxv v1 v2 v3
+
+{-# NOINLINE ptr_glMaterialxv #-}
+ptr_glMaterialxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glMaterialxv = unsafePerformIO $ getCommand "glMaterialxv"
+
+-- glMaterialxvOES -------------------------------------------------------------
+
+glMaterialxvOES
+  :: MonadIO m
+  => GLenum -- ^ @face@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glMaterialxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glMaterialxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glMaterialxvOES #-}
+ptr_glMaterialxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glMaterialxvOES = unsafePerformIO $ getCommand "glMaterialxvOES"
+
+-- glMatrixFrustumEXT ----------------------------------------------------------
+
+glMatrixFrustumEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLdouble -- ^ @left@.
+  -> GLdouble -- ^ @right@.
+  -> GLdouble -- ^ @bottom@.
+  -> GLdouble -- ^ @top@.
+  -> GLdouble -- ^ @zNear@.
+  -> GLdouble -- ^ @zFar@.
+  -> m ()
+glMatrixFrustumEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn512 ptr_glMatrixFrustumEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glMatrixFrustumEXT #-}
+ptr_glMatrixFrustumEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMatrixFrustumEXT = unsafePerformIO $ getCommand "glMatrixFrustumEXT"
+
+-- glMatrixIndexPointerARB -----------------------------------------------------
+
+glMatrixIndexPointerARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @MatrixIndexPointerTypeARB@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glMatrixIndexPointerARB v1 v2 v3 v4 = liftIO $ dyn125 ptr_glMatrixIndexPointerARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMatrixIndexPointerARB #-}
+ptr_glMatrixIndexPointerARB :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glMatrixIndexPointerARB = unsafePerformIO $ getCommand "glMatrixIndexPointerARB"
+
+-- glMatrixIndexPointerOES -----------------------------------------------------
+
+glMatrixIndexPointerOES
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glMatrixIndexPointerOES v1 v2 v3 v4 = liftIO $ dyn125 ptr_glMatrixIndexPointerOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMatrixIndexPointerOES #-}
+ptr_glMatrixIndexPointerOES :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glMatrixIndexPointerOES = unsafePerformIO $ getCommand "glMatrixIndexPointerOES"
+
+-- glMatrixIndexubvARB ---------------------------------------------------------
+
+glMatrixIndexubvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLubyte -- ^ @indices@ pointing to @size@ elements of type @GLubyte@.
+  -> m ()
+glMatrixIndexubvARB v1 v2 = liftIO $ dyn513 ptr_glMatrixIndexubvARB v1 v2
+
+{-# NOINLINE ptr_glMatrixIndexubvARB #-}
+ptr_glMatrixIndexubvARB :: FunPtr (GLint -> Ptr GLubyte -> IO ())
+ptr_glMatrixIndexubvARB = unsafePerformIO $ getCommand "glMatrixIndexubvARB"
+
+-- glMatrixIndexuivARB ---------------------------------------------------------
+
+glMatrixIndexuivARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLuint -- ^ @indices@ pointing to @size@ elements of type @GLuint@.
+  -> m ()
+glMatrixIndexuivARB v1 v2 = liftIO $ dyn514 ptr_glMatrixIndexuivARB v1 v2
+
+{-# NOINLINE ptr_glMatrixIndexuivARB #-}
+ptr_glMatrixIndexuivARB :: FunPtr (GLint -> Ptr GLuint -> IO ())
+ptr_glMatrixIndexuivARB = unsafePerformIO $ getCommand "glMatrixIndexuivARB"
+
+-- glMatrixIndexusvARB ---------------------------------------------------------
+
+glMatrixIndexusvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLushort -- ^ @indices@ pointing to @size@ elements of type @GLushort@.
+  -> m ()
+glMatrixIndexusvARB v1 v2 = liftIO $ dyn515 ptr_glMatrixIndexusvARB v1 v2
+
+{-# NOINLINE ptr_glMatrixIndexusvARB #-}
+ptr_glMatrixIndexusvARB :: FunPtr (GLint -> Ptr GLushort -> IO ())
+ptr_glMatrixIndexusvARB = unsafePerformIO $ getCommand "glMatrixIndexusvARB"
+
+-- glMatrixLoad3x2fNV ----------------------------------------------------------
+
+glMatrixLoad3x2fNV
+  :: MonadIO m
+  => GLenum -- ^ @matrixMode@.
+  -> Ptr GLfloat -- ^ @m@.
+  -> m ()
+glMatrixLoad3x2fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixLoad3x2fNV v1 v2
+
+{-# NOINLINE ptr_glMatrixLoad3x2fNV #-}
+ptr_glMatrixLoad3x2fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixLoad3x2fNV = unsafePerformIO $ getCommand "glMatrixLoad3x2fNV"
+
+-- glMatrixLoad3x3fNV ----------------------------------------------------------
+
+glMatrixLoad3x3fNV
+  :: MonadIO m
+  => GLenum -- ^ @matrixMode@.
+  -> Ptr GLfloat -- ^ @m@.
+  -> m ()
+glMatrixLoad3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixLoad3x3fNV v1 v2
+
+{-# NOINLINE ptr_glMatrixLoad3x3fNV #-}
+ptr_glMatrixLoad3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixLoad3x3fNV = unsafePerformIO $ getCommand "glMatrixLoad3x3fNV"
+
+-- glMatrixLoadIdentityEXT -----------------------------------------------------
+
+glMatrixLoadIdentityEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> m ()
+glMatrixLoadIdentityEXT v1 = liftIO $ dyn4 ptr_glMatrixLoadIdentityEXT v1
+
+{-# NOINLINE ptr_glMatrixLoadIdentityEXT #-}
+ptr_glMatrixLoadIdentityEXT :: FunPtr (GLenum -> IO ())
+ptr_glMatrixLoadIdentityEXT = unsafePerformIO $ getCommand "glMatrixLoadIdentityEXT"
+
+-- glMatrixLoadTranspose3x3fNV -------------------------------------------------
+
+glMatrixLoadTranspose3x3fNV
+  :: MonadIO m
+  => GLenum -- ^ @matrixMode@.
+  -> Ptr GLfloat -- ^ @m@.
+  -> m ()
+glMatrixLoadTranspose3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixLoadTranspose3x3fNV v1 v2
+
+{-# NOINLINE ptr_glMatrixLoadTranspose3x3fNV #-}
+ptr_glMatrixLoadTranspose3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixLoadTranspose3x3fNV = unsafePerformIO $ getCommand "glMatrixLoadTranspose3x3fNV"
+
+-- glMatrixLoadTransposedEXT ---------------------------------------------------
+
+glMatrixLoadTransposedEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glMatrixLoadTransposedEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixLoadTransposedEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixLoadTransposedEXT #-}
+ptr_glMatrixLoadTransposedEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMatrixLoadTransposedEXT = unsafePerformIO $ getCommand "glMatrixLoadTransposedEXT"
+
+-- glMatrixLoadTransposefEXT ---------------------------------------------------
+
+glMatrixLoadTransposefEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glMatrixLoadTransposefEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixLoadTransposefEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixLoadTransposefEXT #-}
+ptr_glMatrixLoadTransposefEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixLoadTransposefEXT = unsafePerformIO $ getCommand "glMatrixLoadTransposefEXT"
+
+-- glMatrixLoaddEXT ------------------------------------------------------------
+
+glMatrixLoaddEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glMatrixLoaddEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixLoaddEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixLoaddEXT #-}
+ptr_glMatrixLoaddEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMatrixLoaddEXT = unsafePerformIO $ getCommand "glMatrixLoaddEXT"
+
+-- glMatrixLoadfEXT ------------------------------------------------------------
+
+glMatrixLoadfEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glMatrixLoadfEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixLoadfEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixLoadfEXT #-}
+ptr_glMatrixLoadfEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixLoadfEXT = unsafePerformIO $ getCommand "glMatrixLoadfEXT"
+
+-- glMatrixMode ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMatrixMode.xml OpenGL 2.x>.
+glMatrixMode
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> m ()
+glMatrixMode v1 = liftIO $ dyn4 ptr_glMatrixMode v1
+
+{-# NOINLINE ptr_glMatrixMode #-}
+ptr_glMatrixMode :: FunPtr (GLenum -> IO ())
+ptr_glMatrixMode = unsafePerformIO $ getCommand "glMatrixMode"
+
+-- glMatrixMult3x2fNV ----------------------------------------------------------
+
+glMatrixMult3x2fNV
+  :: MonadIO m
+  => GLenum -- ^ @matrixMode@.
+  -> Ptr GLfloat -- ^ @m@.
+  -> m ()
+glMatrixMult3x2fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixMult3x2fNV v1 v2
+
+{-# NOINLINE ptr_glMatrixMult3x2fNV #-}
+ptr_glMatrixMult3x2fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixMult3x2fNV = unsafePerformIO $ getCommand "glMatrixMult3x2fNV"
+
+-- glMatrixMult3x3fNV ----------------------------------------------------------
+
+glMatrixMult3x3fNV
+  :: MonadIO m
+  => GLenum -- ^ @matrixMode@.
+  -> Ptr GLfloat -- ^ @m@.
+  -> m ()
+glMatrixMult3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixMult3x3fNV v1 v2
+
+{-# NOINLINE ptr_glMatrixMult3x3fNV #-}
+ptr_glMatrixMult3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixMult3x3fNV = unsafePerformIO $ getCommand "glMatrixMult3x3fNV"
+
+-- glMatrixMultTranspose3x3fNV -------------------------------------------------
+
+glMatrixMultTranspose3x3fNV
+  :: MonadIO m
+  => GLenum -- ^ @matrixMode@.
+  -> Ptr GLfloat -- ^ @m@.
+  -> m ()
+glMatrixMultTranspose3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixMultTranspose3x3fNV v1 v2
+
+{-# NOINLINE ptr_glMatrixMultTranspose3x3fNV #-}
+ptr_glMatrixMultTranspose3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixMultTranspose3x3fNV = unsafePerformIO $ getCommand "glMatrixMultTranspose3x3fNV"
+
+-- glMatrixMultTransposedEXT ---------------------------------------------------
+
+glMatrixMultTransposedEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glMatrixMultTransposedEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixMultTransposedEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixMultTransposedEXT #-}
+ptr_glMatrixMultTransposedEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMatrixMultTransposedEXT = unsafePerformIO $ getCommand "glMatrixMultTransposedEXT"
+
+-- glMatrixMultTransposefEXT ---------------------------------------------------
+
+glMatrixMultTransposefEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glMatrixMultTransposefEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixMultTransposefEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixMultTransposefEXT #-}
+ptr_glMatrixMultTransposefEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixMultTransposefEXT = unsafePerformIO $ getCommand "glMatrixMultTransposefEXT"
+
+-- glMatrixMultdEXT ------------------------------------------------------------
+
+glMatrixMultdEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glMatrixMultdEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixMultdEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixMultdEXT #-}
+ptr_glMatrixMultdEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMatrixMultdEXT = unsafePerformIO $ getCommand "glMatrixMultdEXT"
+
+-- glMatrixMultfEXT ------------------------------------------------------------
+
+glMatrixMultfEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glMatrixMultfEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixMultfEXT v1 v2
+
+{-# NOINLINE ptr_glMatrixMultfEXT #-}
+ptr_glMatrixMultfEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMatrixMultfEXT = unsafePerformIO $ getCommand "glMatrixMultfEXT"
+
+-- glMatrixOrthoEXT ------------------------------------------------------------
+
+glMatrixOrthoEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLdouble -- ^ @left@.
+  -> GLdouble -- ^ @right@.
+  -> GLdouble -- ^ @bottom@.
+  -> GLdouble -- ^ @top@.
+  -> GLdouble -- ^ @zNear@.
+  -> GLdouble -- ^ @zFar@.
+  -> m ()
+glMatrixOrthoEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn512 ptr_glMatrixOrthoEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glMatrixOrthoEXT #-}
+ptr_glMatrixOrthoEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMatrixOrthoEXT = unsafePerformIO $ getCommand "glMatrixOrthoEXT"
+
+-- glMatrixPopEXT --------------------------------------------------------------
+
+glMatrixPopEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> m ()
+glMatrixPopEXT v1 = liftIO $ dyn4 ptr_glMatrixPopEXT v1
+
+{-# NOINLINE ptr_glMatrixPopEXT #-}
+ptr_glMatrixPopEXT :: FunPtr (GLenum -> IO ())
+ptr_glMatrixPopEXT = unsafePerformIO $ getCommand "glMatrixPopEXT"
+
+-- glMatrixPushEXT -------------------------------------------------------------
+
+glMatrixPushEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> m ()
+glMatrixPushEXT v1 = liftIO $ dyn4 ptr_glMatrixPushEXT v1
+
+{-# NOINLINE ptr_glMatrixPushEXT #-}
+ptr_glMatrixPushEXT :: FunPtr (GLenum -> IO ())
+ptr_glMatrixPushEXT = unsafePerformIO $ getCommand "glMatrixPushEXT"
+
+-- glMatrixRotatedEXT ----------------------------------------------------------
+
+glMatrixRotatedEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLdouble -- ^ @angle@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glMatrixRotatedEXT v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glMatrixRotatedEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMatrixRotatedEXT #-}
+ptr_glMatrixRotatedEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMatrixRotatedEXT = unsafePerformIO $ getCommand "glMatrixRotatedEXT"
+
+-- glMatrixRotatefEXT ----------------------------------------------------------
+
+glMatrixRotatefEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLfloat -- ^ @angle@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glMatrixRotatefEXT v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glMatrixRotatefEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMatrixRotatefEXT #-}
+ptr_glMatrixRotatefEXT :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glMatrixRotatefEXT = unsafePerformIO $ getCommand "glMatrixRotatefEXT"
+
+-- glMatrixScaledEXT -----------------------------------------------------------
+
+glMatrixScaledEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glMatrixScaledEXT v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMatrixScaledEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMatrixScaledEXT #-}
+ptr_glMatrixScaledEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMatrixScaledEXT = unsafePerformIO $ getCommand "glMatrixScaledEXT"
+
+-- glMatrixScalefEXT -----------------------------------------------------------
+
+glMatrixScalefEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glMatrixScalefEXT v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMatrixScalefEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMatrixScalefEXT #-}
+ptr_glMatrixScalefEXT :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glMatrixScalefEXT = unsafePerformIO $ getCommand "glMatrixScalefEXT"
+
+-- glMatrixTranslatedEXT -------------------------------------------------------
+
+glMatrixTranslatedEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glMatrixTranslatedEXT v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMatrixTranslatedEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMatrixTranslatedEXT #-}
+ptr_glMatrixTranslatedEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMatrixTranslatedEXT = unsafePerformIO $ getCommand "glMatrixTranslatedEXT"
+
+-- glMatrixTranslatefEXT -------------------------------------------------------
+
+glMatrixTranslatefEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-GL-Groups.html#MatrixMode).
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glMatrixTranslatefEXT v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMatrixTranslatefEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMatrixTranslatefEXT #-}
+ptr_glMatrixTranslatefEXT :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glMatrixTranslatefEXT = unsafePerformIO $ getCommand "glMatrixTranslatefEXT"
+
+-- glMaxShaderCompilerThreadsARB -----------------------------------------------
+
+glMaxShaderCompilerThreadsARB
+  :: MonadIO m
+  => GLuint -- ^ @count@.
+  -> m ()
+glMaxShaderCompilerThreadsARB v1 = liftIO $ dyn2 ptr_glMaxShaderCompilerThreadsARB v1
+
+{-# NOINLINE ptr_glMaxShaderCompilerThreadsARB #-}
+ptr_glMaxShaderCompilerThreadsARB :: FunPtr (GLuint -> IO ())
+ptr_glMaxShaderCompilerThreadsARB = unsafePerformIO $ getCommand "glMaxShaderCompilerThreadsARB"
+
+-- glMemoryBarrier -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
+glMemoryBarrier
+  :: MonadIO m
+  => GLbitfield -- ^ @barriers@.
+  -> m ()
+glMemoryBarrier v1 = liftIO $ dyn69 ptr_glMemoryBarrier v1
+
+{-# NOINLINE ptr_glMemoryBarrier #-}
+ptr_glMemoryBarrier :: FunPtr (GLbitfield -> IO ())
+ptr_glMemoryBarrier = unsafePerformIO $ getCommand "glMemoryBarrier"
+
+-- glMemoryBarrierByRegion -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
+glMemoryBarrierByRegion
+  :: MonadIO m
+  => GLbitfield -- ^ @barriers@.
+  -> m ()
+glMemoryBarrierByRegion v1 = liftIO $ dyn69 ptr_glMemoryBarrierByRegion v1
+
+{-# NOINLINE ptr_glMemoryBarrierByRegion #-}
+ptr_glMemoryBarrierByRegion :: FunPtr (GLbitfield -> IO ())
+ptr_glMemoryBarrierByRegion = unsafePerformIO $ getCommand "glMemoryBarrierByRegion"
+
+-- glMemoryBarrierEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glMemoryBarrier'.
+glMemoryBarrierEXT
+  :: MonadIO m
+  => GLbitfield -- ^ @barriers@.
+  -> m ()
+glMemoryBarrierEXT v1 = liftIO $ dyn69 ptr_glMemoryBarrierEXT v1
+
+{-# NOINLINE ptr_glMemoryBarrierEXT #-}
+ptr_glMemoryBarrierEXT :: FunPtr (GLbitfield -> IO ())
+ptr_glMemoryBarrierEXT = unsafePerformIO $ getCommand "glMemoryBarrierEXT"
+
+-- glMinSampleShading ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMinSampleShading.xhtml OpenGL 4.x>.
+glMinSampleShading
+  :: MonadIO m
+  => GLfloat -- ^ @value@ of type @ColorF@.
+  -> m ()
+glMinSampleShading v1 = liftIO $ dyn79 ptr_glMinSampleShading v1
+
+{-# NOINLINE ptr_glMinSampleShading #-}
+ptr_glMinSampleShading :: FunPtr (GLfloat -> IO ())
+ptr_glMinSampleShading = unsafePerformIO $ getCommand "glMinSampleShading"
+
+-- glMinSampleShadingARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMinSampleShading'.
+glMinSampleShadingARB
+  :: MonadIO m
+  => GLfloat -- ^ @value@ of type @ColorF@.
+  -> m ()
+glMinSampleShadingARB v1 = liftIO $ dyn79 ptr_glMinSampleShadingARB v1
+
+{-# NOINLINE ptr_glMinSampleShadingARB #-}
+ptr_glMinSampleShadingARB :: FunPtr (GLfloat -> IO ())
+ptr_glMinSampleShadingARB = unsafePerformIO $ getCommand "glMinSampleShadingARB"
+
+-- glMinSampleShadingOES -------------------------------------------------------
+
+-- | This command is an alias for 'glMinSampleShading'.
+glMinSampleShadingOES
+  :: MonadIO m
+  => GLfloat -- ^ @value@ of type @ColorF@.
+  -> m ()
+glMinSampleShadingOES v1 = liftIO $ dyn79 ptr_glMinSampleShadingOES v1
+
+{-# NOINLINE ptr_glMinSampleShadingOES #-}
+ptr_glMinSampleShadingOES :: FunPtr (GLfloat -> IO ())
+ptr_glMinSampleShadingOES = unsafePerformIO $ getCommand "glMinSampleShadingOES"
+
+-- glMinmax --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMinmax.xml OpenGL 2.x>.
+glMinmax
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glMinmax v1 v2 v3 = liftIO $ dyn520 ptr_glMinmax v1 v2 v3
+
+{-# NOINLINE ptr_glMinmax #-}
+ptr_glMinmax :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
+ptr_glMinmax = unsafePerformIO $ getCommand "glMinmax"
+
+-- glMinmaxEXT -----------------------------------------------------------------
+
+-- | This command is an alias for 'glMinmax'.
+glMinmaxEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glMinmaxEXT v1 v2 v3 = liftIO $ dyn520 ptr_glMinmaxEXT v1 v2 v3
+
+{-# NOINLINE ptr_glMinmaxEXT #-}
+ptr_glMinmaxEXT :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
+ptr_glMinmaxEXT = unsafePerformIO $ getCommand "glMinmaxEXT"
+
+-- glMultMatrixd ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultMatrix.xml OpenGL 2.x>.
+glMultMatrixd
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glMultMatrixd v1 = liftIO $ dyn39 ptr_glMultMatrixd v1
+
+{-# NOINLINE ptr_glMultMatrixd #-}
+ptr_glMultMatrixd :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glMultMatrixd = unsafePerformIO $ getCommand "glMultMatrixd"
+
+-- glMultMatrixf ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultMatrix.xml OpenGL 2.x>.
+glMultMatrixf
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glMultMatrixf v1 = liftIO $ dyn41 ptr_glMultMatrixf v1
+
+{-# NOINLINE ptr_glMultMatrixf #-}
+ptr_glMultMatrixf :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glMultMatrixf = unsafePerformIO $ getCommand "glMultMatrixf"
+
+-- glMultMatrixx ---------------------------------------------------------------
+
+glMultMatrixx
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
+  -> m ()
+glMultMatrixx v1 = liftIO $ dyn106 ptr_glMultMatrixx v1
+
+{-# NOINLINE ptr_glMultMatrixx #-}
+ptr_glMultMatrixx :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glMultMatrixx = unsafePerformIO $ getCommand "glMultMatrixx"
+
+-- glMultMatrixxOES ------------------------------------------------------------
+
+glMultMatrixxOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
+  -> m ()
+glMultMatrixxOES v1 = liftIO $ dyn106 ptr_glMultMatrixxOES v1
+
+{-# NOINLINE ptr_glMultMatrixxOES #-}
+ptr_glMultMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glMultMatrixxOES = unsafePerformIO $ getCommand "glMultMatrixxOES"
+
+-- glMultTransposeMatrixd ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultTransposeMatrix.xml OpenGL 2.x>.
+glMultTransposeMatrixd
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glMultTransposeMatrixd v1 = liftIO $ dyn39 ptr_glMultTransposeMatrixd v1
+
+{-# NOINLINE ptr_glMultTransposeMatrixd #-}
+ptr_glMultTransposeMatrixd :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glMultTransposeMatrixd = unsafePerformIO $ getCommand "glMultTransposeMatrixd"
+
+-- glMultTransposeMatrixdARB ---------------------------------------------------
+
+-- | This command is an alias for 'glMultTransposeMatrixd'.
+glMultTransposeMatrixdARB
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
+  -> m ()
+glMultTransposeMatrixdARB v1 = liftIO $ dyn39 ptr_glMultTransposeMatrixdARB v1
+
+{-# NOINLINE ptr_glMultTransposeMatrixdARB #-}
+ptr_glMultTransposeMatrixdARB :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glMultTransposeMatrixdARB = unsafePerformIO $ getCommand "glMultTransposeMatrixdARB"
+
+-- glMultTransposeMatrixf ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultTransposeMatrix.xml OpenGL 2.x>.
+glMultTransposeMatrixf
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glMultTransposeMatrixf v1 = liftIO $ dyn41 ptr_glMultTransposeMatrixf v1
+
+{-# NOINLINE ptr_glMultTransposeMatrixf #-}
+ptr_glMultTransposeMatrixf :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glMultTransposeMatrixf = unsafePerformIO $ getCommand "glMultTransposeMatrixf"
+
+-- glMultTransposeMatrixfARB ---------------------------------------------------
+
+-- | This command is an alias for 'glMultTransposeMatrixf'.
+glMultTransposeMatrixfARB
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
+  -> m ()
+glMultTransposeMatrixfARB v1 = liftIO $ dyn41 ptr_glMultTransposeMatrixfARB v1
+
+{-# NOINLINE ptr_glMultTransposeMatrixfARB #-}
+ptr_glMultTransposeMatrixfARB :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glMultTransposeMatrixfARB = unsafePerformIO $ getCommand "glMultTransposeMatrixfARB"
+
+-- glMultTransposeMatrixxOES ---------------------------------------------------
+
+glMultTransposeMatrixxOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
+  -> m ()
+glMultTransposeMatrixxOES v1 = liftIO $ dyn106 ptr_glMultTransposeMatrixxOES v1
+
+{-# NOINLINE ptr_glMultTransposeMatrixxOES #-}
+ptr_glMultTransposeMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glMultTransposeMatrixxOES = unsafePerformIO $ getCommand "glMultTransposeMatrixxOES"
+
+-- glMultiDrawArrays -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawArrays.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawArrays.xhtml OpenGL 4.x>.
+glMultiDrawArrays
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLsizei -- ^ @drawcount@.
+  -> m ()
+glMultiDrawArrays v1 v2 v3 v4 = liftIO $ dyn521 ptr_glMultiDrawArrays v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiDrawArrays #-}
+ptr_glMultiDrawArrays :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArrays = unsafePerformIO $ getCommand "glMultiDrawArrays"
+
+-- glMultiDrawArraysEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawArrays'.
+glMultiDrawArraysEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(primcount)@ elements of type @GLint@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glMultiDrawArraysEXT v1 v2 v3 v4 = liftIO $ dyn521 ptr_glMultiDrawArraysEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiDrawArraysEXT #-}
+ptr_glMultiDrawArraysEXT :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArraysEXT = unsafePerformIO $ getCommand "glMultiDrawArraysEXT"
+
+-- glMultiDrawArraysIndirect ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawArraysIndirect.xhtml OpenGL 4.x>.
+glMultiDrawArraysIndirect
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawArraysIndirect v1 v2 v3 v4 = liftIO $ dyn522 ptr_glMultiDrawArraysIndirect v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiDrawArraysIndirect #-}
+ptr_glMultiDrawArraysIndirect :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArraysIndirect = unsafePerformIO $ getCommand "glMultiDrawArraysIndirect"
+
+-- glMultiDrawArraysIndirectAMD ------------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawArraysIndirect'.
+glMultiDrawArraysIndirectAMD
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr a -- ^ @indirect@.
+  -> GLsizei -- ^ @primcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawArraysIndirectAMD v1 v2 v3 v4 = liftIO $ dyn522 ptr_glMultiDrawArraysIndirectAMD v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiDrawArraysIndirectAMD #-}
+ptr_glMultiDrawArraysIndirectAMD :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArraysIndirectAMD = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectAMD"
+
+-- glMultiDrawArraysIndirectBindlessCountNV ------------------------------------
+
+glMultiDrawArraysIndirectBindlessCountNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr a -- ^ @indirect@.
+  -> GLsizei -- ^ @drawCount@.
+  -> GLsizei -- ^ @maxDrawCount@.
+  -> GLsizei -- ^ @stride@.
+  -> GLint -- ^ @vertexBufferCount@.
+  -> m ()
+glMultiDrawArraysIndirectBindlessCountNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn523 ptr_glMultiDrawArraysIndirectBindlessCountNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawArraysIndirectBindlessCountNV #-}
+ptr_glMultiDrawArraysIndirectBindlessCountNV :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glMultiDrawArraysIndirectBindlessCountNV = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectBindlessCountNV"
+
+-- glMultiDrawArraysIndirectBindlessNV -----------------------------------------
+
+glMultiDrawArraysIndirectBindlessNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr a -- ^ @indirect@.
+  -> GLsizei -- ^ @drawCount@.
+  -> GLsizei -- ^ @stride@.
+  -> GLint -- ^ @vertexBufferCount@.
+  -> m ()
+glMultiDrawArraysIndirectBindlessNV v1 v2 v3 v4 v5 = liftIO $ dyn524 ptr_glMultiDrawArraysIndirectBindlessNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawArraysIndirectBindlessNV #-}
+ptr_glMultiDrawArraysIndirectBindlessNV :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glMultiDrawArraysIndirectBindlessNV = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectBindlessNV"
+
+-- glMultiDrawArraysIndirectCountARB -------------------------------------------
+
+glMultiDrawArraysIndirectCountARB
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> GLintptr -- ^ @indirect@.
+  -> GLintptr -- ^ @drawcount@.
+  -> GLsizei -- ^ @maxdrawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawArraysIndirectCountARB v1 v2 v3 v4 v5 = liftIO $ dyn525 ptr_glMultiDrawArraysIndirectCountARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawArraysIndirectCountARB #-}
+ptr_glMultiDrawArraysIndirectCountARB :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArraysIndirectCountARB = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectCountARB"
+
+-- glMultiDrawArraysIndirectEXT ------------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawArraysIndirect'.
+glMultiDrawArraysIndirectEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawArraysIndirectEXT v1 v2 v3 v4 = liftIO $ dyn522 ptr_glMultiDrawArraysIndirectEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiDrawArraysIndirectEXT #-}
+ptr_glMultiDrawArraysIndirectEXT :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawArraysIndirectEXT = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectEXT"
+
+-- glMultiDrawElementArrayAPPLE ------------------------------------------------
+
+glMultiDrawElementArrayAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glMultiDrawElementArrayAPPLE v1 v2 v3 v4 = liftIO $ dyn521 ptr_glMultiDrawElementArrayAPPLE v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiDrawElementArrayAPPLE #-}
+ptr_glMultiDrawElementArrayAPPLE :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementArrayAPPLE = unsafePerformIO $ getCommand "glMultiDrawElementArrayAPPLE"
+
+-- glMultiDrawElements ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElements.xhtml OpenGL 4.x>.
+glMultiDrawElements
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> m ()
+glMultiDrawElements v1 v2 v3 v4 v5 = liftIO $ dyn526 ptr_glMultiDrawElements v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawElements #-}
+ptr_glMultiDrawElements :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
+ptr_glMultiDrawElements = unsafePerformIO $ getCommand "glMultiDrawElements"
+
+-- glMultiDrawElementsBaseVertex -----------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsBaseVertex.xhtml OpenGL 4.x>.
+glMultiDrawElementsBaseVertex
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
+  -> m ()
+glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn527 ptr_glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsBaseVertex #-}
+ptr_glMultiDrawElementsBaseVertex :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+ptr_glMultiDrawElementsBaseVertex = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertex"
+
+-- glMultiDrawElementsBaseVertexEXT --------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
+glMultiDrawElementsBaseVertexEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @primcount@.
+  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
+  -> m ()
+glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn527 ptr_glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsBaseVertexEXT #-}
+ptr_glMultiDrawElementsBaseVertexEXT :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+ptr_glMultiDrawElementsBaseVertexEXT = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertexEXT"
+
+-- glMultiDrawElementsBaseVertexOES --------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
+glMultiDrawElementsBaseVertexOES
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @primcount@.
+  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
+  -> m ()
+glMultiDrawElementsBaseVertexOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn527 ptr_glMultiDrawElementsBaseVertexOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsBaseVertexOES #-}
+ptr_glMultiDrawElementsBaseVertexOES :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
+ptr_glMultiDrawElementsBaseVertexOES = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertexOES"
+
+-- glMultiDrawElementsEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawElements'.
+glMultiDrawElementsEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(primcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glMultiDrawElementsEXT v1 v2 v3 v4 v5 = liftIO $ dyn526 ptr_glMultiDrawElementsEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawElementsEXT #-}
+ptr_glMultiDrawElementsEXT :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
+ptr_glMultiDrawElementsEXT = unsafePerformIO $ getCommand "glMultiDrawElementsEXT"
+
+-- glMultiDrawElementsIndirect -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsIndirect.xhtml OpenGL 4.x>.
+glMultiDrawElementsIndirect
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawElementsIndirect v1 v2 v3 v4 v5 = liftIO $ dyn528 ptr_glMultiDrawElementsIndirect v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawElementsIndirect #-}
+ptr_glMultiDrawElementsIndirect :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementsIndirect = unsafePerformIO $ getCommand "glMultiDrawElementsIndirect"
+
+-- glMultiDrawElementsIndirectAMD ----------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawElementsIndirect'.
+glMultiDrawElementsIndirectAMD
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indirect@.
+  -> GLsizei -- ^ @primcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawElementsIndirectAMD v1 v2 v3 v4 v5 = liftIO $ dyn528 ptr_glMultiDrawElementsIndirectAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawElementsIndirectAMD #-}
+ptr_glMultiDrawElementsIndirectAMD :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementsIndirectAMD = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectAMD"
+
+-- glMultiDrawElementsIndirectBindlessCountNV ----------------------------------
+
+glMultiDrawElementsIndirectBindlessCountNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indirect@.
+  -> GLsizei -- ^ @drawCount@.
+  -> GLsizei -- ^ @maxDrawCount@.
+  -> GLsizei -- ^ @stride@.
+  -> GLint -- ^ @vertexBufferCount@.
+  -> m ()
+glMultiDrawElementsIndirectBindlessCountNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn529 ptr_glMultiDrawElementsIndirectBindlessCountNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glMultiDrawElementsIndirectBindlessCountNV #-}
+ptr_glMultiDrawElementsIndirectBindlessCountNV :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glMultiDrawElementsIndirectBindlessCountNV = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectBindlessCountNV"
+
+-- glMultiDrawElementsIndirectBindlessNV ---------------------------------------
+
+glMultiDrawElementsIndirectBindlessNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indirect@.
+  -> GLsizei -- ^ @drawCount@.
+  -> GLsizei -- ^ @stride@.
+  -> GLint -- ^ @vertexBufferCount@.
+  -> m ()
+glMultiDrawElementsIndirectBindlessNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn530 ptr_glMultiDrawElementsIndirectBindlessNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsIndirectBindlessNV #-}
+ptr_glMultiDrawElementsIndirectBindlessNV :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glMultiDrawElementsIndirectBindlessNV = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectBindlessNV"
+
+-- glMultiDrawElementsIndirectCountARB -----------------------------------------
+
+glMultiDrawElementsIndirectCountARB
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> GLenum -- ^ @type@.
+  -> GLintptr -- ^ @indirect@.
+  -> GLintptr -- ^ @drawcount@.
+  -> GLsizei -- ^ @maxdrawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawElementsIndirectCountARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn531 ptr_glMultiDrawElementsIndirectCountARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawElementsIndirectCountARB #-}
+ptr_glMultiDrawElementsIndirectCountARB :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementsIndirectCountARB = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectCountARB"
+
+-- glMultiDrawElementsIndirectEXT ----------------------------------------------
+
+-- | This command is an alias for 'glMultiDrawElementsIndirect'.
+glMultiDrawElementsIndirectEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
+  -> GLsizei -- ^ @drawcount@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glMultiDrawElementsIndirectEXT v1 v2 v3 v4 v5 = liftIO $ dyn528 ptr_glMultiDrawElementsIndirectEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiDrawElementsIndirectEXT #-}
+ptr_glMultiDrawElementsIndirectEXT :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawElementsIndirectEXT = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectEXT"
+
+-- glMultiDrawRangeElementArrayAPPLE -------------------------------------------
+
+glMultiDrawRangeElementArrayAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> GLuint -- ^ @start@.
+  -> GLuint -- ^ @end@.
+  -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
+  -> GLsizei -- ^ @primcount@.
+  -> m ()
+glMultiDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 v6 = liftIO $ dyn532 ptr_glMultiDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiDrawRangeElementArrayAPPLE #-}
+ptr_glMultiDrawRangeElementArrayAPPLE :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
+ptr_glMultiDrawRangeElementArrayAPPLE = unsafePerformIO $ getCommand "glMultiDrawRangeElementArrayAPPLE"
+
+-- glMultiModeDrawArraysIBM ----------------------------------------------------
+
+glMultiModeDrawArraysIBM
+  :: MonadIO m
+  => Ptr GLenum -- ^ @mode@ pointing to @COMPSIZE(primcount)@ elements of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(primcount)@ elements of type @GLint@.
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
+  -> GLsizei -- ^ @primcount@.
+  -> GLint -- ^ @modestride@.
+  -> m ()
+glMultiModeDrawArraysIBM v1 v2 v3 v4 v5 = liftIO $ dyn533 ptr_glMultiModeDrawArraysIBM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiModeDrawArraysIBM #-}
+ptr_glMultiModeDrawArraysIBM :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ())
+ptr_glMultiModeDrawArraysIBM = unsafePerformIO $ getCommand "glMultiModeDrawArraysIBM"
+
+-- glMultiModeDrawElementsIBM --------------------------------------------------
+
+glMultiModeDrawElementsIBM
+  :: MonadIO m
+  => Ptr GLenum -- ^ @mode@ pointing to @COMPSIZE(primcount)@ elements of type [PrimitiveType](Graphics-GL-Groups.html#PrimitiveType).
+  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
+  -> GLenum -- ^ @type@ of type @DrawElementsType@.
+  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(primcount)@ elements of type @Ptr a@.
+  -> GLsizei -- ^ @primcount@.
+  -> GLint -- ^ @modestride@.
+  -> m ()
+glMultiModeDrawElementsIBM v1 v2 v3 v4 v5 v6 = liftIO $ dyn534 ptr_glMultiModeDrawElementsIBM v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glMultiModeDrawElementsIBM #-}
+ptr_glMultiModeDrawElementsIBM :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ())
+ptr_glMultiModeDrawElementsIBM = unsafePerformIO $ getCommand "glMultiModeDrawElementsIBM"
+
+-- glMultiTexBufferEXT ---------------------------------------------------------
+
+glMultiTexBufferEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type @TypeEnum@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glMultiTexBufferEXT v1 v2 v3 v4 = liftIO $ dyn282 ptr_glMultiTexBufferEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexBufferEXT #-}
+ptr_glMultiTexBufferEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glMultiTexBufferEXT = unsafePerformIO $ getCommand "glMultiTexBufferEXT"
+
+-- glMultiTexCoord1bOES --------------------------------------------------------
+
+glMultiTexCoord1bOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLbyte -- ^ @s@.
+  -> m ()
+glMultiTexCoord1bOES v1 v2 = liftIO $ dyn535 ptr_glMultiTexCoord1bOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1bOES #-}
+ptr_glMultiTexCoord1bOES :: FunPtr (GLenum -> GLbyte -> IO ())
+ptr_glMultiTexCoord1bOES = unsafePerformIO $ getCommand "glMultiTexCoord1bOES"
+
+-- glMultiTexCoord1bvOES -------------------------------------------------------
+
+glMultiTexCoord1bvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
+  -> m ()
+glMultiTexCoord1bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord1bvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1bvOES #-}
+ptr_glMultiTexCoord1bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
+ptr_glMultiTexCoord1bvOES = unsafePerformIO $ getCommand "glMultiTexCoord1bvOES"
+
+-- glMultiTexCoord1d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1dv'.
+glMultiTexCoord1d
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord1d v1 v2 = liftIO $ dyn537 ptr_glMultiTexCoord1d v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1d #-}
+ptr_glMultiTexCoord1d :: FunPtr (GLenum -> GLdouble -> IO ())
+ptr_glMultiTexCoord1d = unsafePerformIO $ getCommand "glMultiTexCoord1d"
+
+-- glMultiTexCoord1dARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord1dv'. This command is an alias for 'glMultiTexCoord1d'.
+glMultiTexCoord1dARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord1dARB v1 v2 = liftIO $ dyn537 ptr_glMultiTexCoord1dARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1dARB #-}
+ptr_glMultiTexCoord1dARB :: FunPtr (GLenum -> GLdouble -> IO ())
+ptr_glMultiTexCoord1dARB = unsafePerformIO $ getCommand "glMultiTexCoord1dARB"
+
+-- glMultiTexCoord1dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord1dv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
+  -> m ()
+glMultiTexCoord1dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord1dv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1dv #-}
+ptr_glMultiTexCoord1dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord1dv = unsafePerformIO $ getCommand "glMultiTexCoord1dv"
+
+-- glMultiTexCoord1dvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord1dv'.
+glMultiTexCoord1dvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
+  -> m ()
+glMultiTexCoord1dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord1dvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1dvARB #-}
+ptr_glMultiTexCoord1dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord1dvARB = unsafePerformIO $ getCommand "glMultiTexCoord1dvARB"
+
+-- glMultiTexCoord1f -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1fv'.
+glMultiTexCoord1f
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord1f v1 v2 = liftIO $ dyn0 ptr_glMultiTexCoord1f v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1f #-}
+ptr_glMultiTexCoord1f :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glMultiTexCoord1f = unsafePerformIO $ getCommand "glMultiTexCoord1f"
+
+-- glMultiTexCoord1fARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord1fv'. This command is an alias for 'glMultiTexCoord1f'.
+glMultiTexCoord1fARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord1fARB v1 v2 = liftIO $ dyn0 ptr_glMultiTexCoord1fARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1fARB #-}
+ptr_glMultiTexCoord1fARB :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glMultiTexCoord1fARB = unsafePerformIO $ getCommand "glMultiTexCoord1fARB"
+
+-- glMultiTexCoord1fv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord1fv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
+  -> m ()
+glMultiTexCoord1fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord1fv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1fv #-}
+ptr_glMultiTexCoord1fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord1fv = unsafePerformIO $ getCommand "glMultiTexCoord1fv"
+
+-- glMultiTexCoord1fvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord1fv'.
+glMultiTexCoord1fvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
+  -> m ()
+glMultiTexCoord1fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord1fvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1fvARB #-}
+ptr_glMultiTexCoord1fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord1fvARB = unsafePerformIO $ getCommand "glMultiTexCoord1fvARB"
+
+-- glMultiTexCoord1hNV ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord1hvNV'.
+glMultiTexCoord1hNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> m ()
+glMultiTexCoord1hNV v1 v2 = liftIO $ dyn538 ptr_glMultiTexCoord1hNV v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1hNV #-}
+ptr_glMultiTexCoord1hNV :: FunPtr (GLenum -> GLhalfNV -> IO ())
+ptr_glMultiTexCoord1hNV = unsafePerformIO $ getCommand "glMultiTexCoord1hNV"
+
+-- glMultiTexCoord1hvNV --------------------------------------------------------
+
+glMultiTexCoord1hvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
+  -> m ()
+glMultiTexCoord1hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord1hvNV v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1hvNV #-}
+ptr_glMultiTexCoord1hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
+ptr_glMultiTexCoord1hvNV = unsafePerformIO $ getCommand "glMultiTexCoord1hvNV"
+
+-- glMultiTexCoord1i -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1iv'.
+glMultiTexCoord1i
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord1i v1 v2 = liftIO $ dyn55 ptr_glMultiTexCoord1i v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1i #-}
+ptr_glMultiTexCoord1i :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glMultiTexCoord1i = unsafePerformIO $ getCommand "glMultiTexCoord1i"
+
+-- glMultiTexCoord1iARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord1iv'. This command is an alias for 'glMultiTexCoord1i'.
+glMultiTexCoord1iARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord1iARB v1 v2 = liftIO $ dyn55 ptr_glMultiTexCoord1iARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1iARB #-}
+ptr_glMultiTexCoord1iARB :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glMultiTexCoord1iARB = unsafePerformIO $ getCommand "glMultiTexCoord1iARB"
+
+-- glMultiTexCoord1iv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord1iv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
+  -> m ()
+glMultiTexCoord1iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord1iv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1iv #-}
+ptr_glMultiTexCoord1iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord1iv = unsafePerformIO $ getCommand "glMultiTexCoord1iv"
+
+-- glMultiTexCoord1ivARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord1iv'.
+glMultiTexCoord1ivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
+  -> m ()
+glMultiTexCoord1ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord1ivARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1ivARB #-}
+ptr_glMultiTexCoord1ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord1ivARB = unsafePerformIO $ getCommand "glMultiTexCoord1ivARB"
+
+-- glMultiTexCoord1s -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1sv'.
+glMultiTexCoord1s
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord1s v1 v2 = liftIO $ dyn540 ptr_glMultiTexCoord1s v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1s #-}
+ptr_glMultiTexCoord1s :: FunPtr (GLenum -> GLshort -> IO ())
+ptr_glMultiTexCoord1s = unsafePerformIO $ getCommand "glMultiTexCoord1s"
+
+-- glMultiTexCoord1sARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord1sv'. This command is an alias for 'glMultiTexCoord1s'.
+glMultiTexCoord1sARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord1sARB v1 v2 = liftIO $ dyn540 ptr_glMultiTexCoord1sARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1sARB #-}
+ptr_glMultiTexCoord1sARB :: FunPtr (GLenum -> GLshort -> IO ())
+ptr_glMultiTexCoord1sARB = unsafePerformIO $ getCommand "glMultiTexCoord1sARB"
+
+-- glMultiTexCoord1sv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord1sv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
+  -> m ()
+glMultiTexCoord1sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord1sv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1sv #-}
+ptr_glMultiTexCoord1sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord1sv = unsafePerformIO $ getCommand "glMultiTexCoord1sv"
+
+-- glMultiTexCoord1svARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord1sv'.
+glMultiTexCoord1svARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
+  -> m ()
+glMultiTexCoord1svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord1svARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1svARB #-}
+ptr_glMultiTexCoord1svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord1svARB = unsafePerformIO $ getCommand "glMultiTexCoord1svARB"
+
+-- glMultiTexCoord1xOES --------------------------------------------------------
+
+glMultiTexCoord1xOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLfixed -- ^ @s@.
+  -> m ()
+glMultiTexCoord1xOES v1 v2 = liftIO $ dyn1 ptr_glMultiTexCoord1xOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1xOES #-}
+ptr_glMultiTexCoord1xOES :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glMultiTexCoord1xOES = unsafePerformIO $ getCommand "glMultiTexCoord1xOES"
+
+-- glMultiTexCoord1xvOES -------------------------------------------------------
+
+glMultiTexCoord1xvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
+  -> m ()
+glMultiTexCoord1xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord1xvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord1xvOES #-}
+ptr_glMultiTexCoord1xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glMultiTexCoord1xvOES = unsafePerformIO $ getCommand "glMultiTexCoord1xvOES"
+
+-- glMultiTexCoord2bOES --------------------------------------------------------
+
+glMultiTexCoord2bOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLbyte -- ^ @s@.
+  -> GLbyte -- ^ @t@.
+  -> m ()
+glMultiTexCoord2bOES v1 v2 v3 = liftIO $ dyn542 ptr_glMultiTexCoord2bOES v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2bOES #-}
+ptr_glMultiTexCoord2bOES :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ())
+ptr_glMultiTexCoord2bOES = unsafePerformIO $ getCommand "glMultiTexCoord2bOES"
+
+-- glMultiTexCoord2bvOES -------------------------------------------------------
+
+glMultiTexCoord2bvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLbyte -- ^ @coords@ pointing to @2@ elements of type @GLbyte@.
+  -> m ()
+glMultiTexCoord2bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord2bvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2bvOES #-}
+ptr_glMultiTexCoord2bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
+ptr_glMultiTexCoord2bvOES = unsafePerformIO $ getCommand "glMultiTexCoord2bvOES"
+
+-- glMultiTexCoord2d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2dv'.
+glMultiTexCoord2d
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord2d v1 v2 v3 = liftIO $ dyn543 ptr_glMultiTexCoord2d v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2d #-}
+ptr_glMultiTexCoord2d :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
+ptr_glMultiTexCoord2d = unsafePerformIO $ getCommand "glMultiTexCoord2d"
+
+-- glMultiTexCoord2dARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord2dv'. This command is an alias for 'glMultiTexCoord2d'.
+glMultiTexCoord2dARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord2dARB v1 v2 v3 = liftIO $ dyn543 ptr_glMultiTexCoord2dARB v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2dARB #-}
+ptr_glMultiTexCoord2dARB :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
+ptr_glMultiTexCoord2dARB = unsafePerformIO $ getCommand "glMultiTexCoord2dARB"
+
+-- glMultiTexCoord2dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord2dv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glMultiTexCoord2dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord2dv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2dv #-}
+ptr_glMultiTexCoord2dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord2dv = unsafePerformIO $ getCommand "glMultiTexCoord2dv"
+
+-- glMultiTexCoord2dvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord2dv'.
+glMultiTexCoord2dvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glMultiTexCoord2dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord2dvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2dvARB #-}
+ptr_glMultiTexCoord2dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord2dvARB = unsafePerformIO $ getCommand "glMultiTexCoord2dvARB"
+
+-- glMultiTexCoord2f -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2fv'.
+glMultiTexCoord2f
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord2f v1 v2 v3 = liftIO $ dyn544 ptr_glMultiTexCoord2f v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2f #-}
+ptr_glMultiTexCoord2f :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
+ptr_glMultiTexCoord2f = unsafePerformIO $ getCommand "glMultiTexCoord2f"
+
+-- glMultiTexCoord2fARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord2fv'. This command is an alias for 'glMultiTexCoord2f'.
+glMultiTexCoord2fARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord2fARB v1 v2 v3 = liftIO $ dyn544 ptr_glMultiTexCoord2fARB v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2fARB #-}
+ptr_glMultiTexCoord2fARB :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
+ptr_glMultiTexCoord2fARB = unsafePerformIO $ getCommand "glMultiTexCoord2fARB"
+
+-- glMultiTexCoord2fv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord2fv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glMultiTexCoord2fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord2fv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2fv #-}
+ptr_glMultiTexCoord2fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord2fv = unsafePerformIO $ getCommand "glMultiTexCoord2fv"
+
+-- glMultiTexCoord2fvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord2fv'.
+glMultiTexCoord2fvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glMultiTexCoord2fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord2fvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2fvARB #-}
+ptr_glMultiTexCoord2fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord2fvARB = unsafePerformIO $ getCommand "glMultiTexCoord2fvARB"
+
+-- glMultiTexCoord2hNV ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord2hvNV'.
+glMultiTexCoord2hNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
+  -> m ()
+glMultiTexCoord2hNV v1 v2 v3 = liftIO $ dyn545 ptr_glMultiTexCoord2hNV v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2hNV #-}
+ptr_glMultiTexCoord2hNV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glMultiTexCoord2hNV = unsafePerformIO $ getCommand "glMultiTexCoord2hNV"
+
+-- glMultiTexCoord2hvNV --------------------------------------------------------
+
+glMultiTexCoord2hvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
+  -> m ()
+glMultiTexCoord2hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord2hvNV v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2hvNV #-}
+ptr_glMultiTexCoord2hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
+ptr_glMultiTexCoord2hvNV = unsafePerformIO $ getCommand "glMultiTexCoord2hvNV"
+
+-- glMultiTexCoord2i -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2iv'.
+glMultiTexCoord2i
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord2i v1 v2 v3 = liftIO $ dyn263 ptr_glMultiTexCoord2i v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2i #-}
+ptr_glMultiTexCoord2i :: FunPtr (GLenum -> GLint -> GLint -> IO ())
+ptr_glMultiTexCoord2i = unsafePerformIO $ getCommand "glMultiTexCoord2i"
+
+-- glMultiTexCoord2iARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord2iv'. This command is an alias for 'glMultiTexCoord2i'.
+glMultiTexCoord2iARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord2iARB v1 v2 v3 = liftIO $ dyn263 ptr_glMultiTexCoord2iARB v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2iARB #-}
+ptr_glMultiTexCoord2iARB :: FunPtr (GLenum -> GLint -> GLint -> IO ())
+ptr_glMultiTexCoord2iARB = unsafePerformIO $ getCommand "glMultiTexCoord2iARB"
+
+-- glMultiTexCoord2iv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord2iv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glMultiTexCoord2iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord2iv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2iv #-}
+ptr_glMultiTexCoord2iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord2iv = unsafePerformIO $ getCommand "glMultiTexCoord2iv"
+
+-- glMultiTexCoord2ivARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord2iv'.
+glMultiTexCoord2ivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glMultiTexCoord2ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord2ivARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2ivARB #-}
+ptr_glMultiTexCoord2ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord2ivARB = unsafePerformIO $ getCommand "glMultiTexCoord2ivARB"
+
+-- glMultiTexCoord2s -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2sv'.
+glMultiTexCoord2s
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord2s v1 v2 v3 = liftIO $ dyn546 ptr_glMultiTexCoord2s v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2s #-}
+ptr_glMultiTexCoord2s :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
+ptr_glMultiTexCoord2s = unsafePerformIO $ getCommand "glMultiTexCoord2s"
+
+-- glMultiTexCoord2sARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord2sv'. This command is an alias for 'glMultiTexCoord2s'.
+glMultiTexCoord2sARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord2sARB v1 v2 v3 = liftIO $ dyn546 ptr_glMultiTexCoord2sARB v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2sARB #-}
+ptr_glMultiTexCoord2sARB :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
+ptr_glMultiTexCoord2sARB = unsafePerformIO $ getCommand "glMultiTexCoord2sARB"
+
+-- glMultiTexCoord2sv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord2sv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord2sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord2sv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2sv #-}
+ptr_glMultiTexCoord2sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord2sv = unsafePerformIO $ getCommand "glMultiTexCoord2sv"
+
+-- glMultiTexCoord2svARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord2sv'.
+glMultiTexCoord2svARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord2svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord2svARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2svARB #-}
+ptr_glMultiTexCoord2svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord2svARB = unsafePerformIO $ getCommand "glMultiTexCoord2svARB"
+
+-- glMultiTexCoord2xOES --------------------------------------------------------
+
+glMultiTexCoord2xOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> m ()
+glMultiTexCoord2xOES v1 v2 v3 = liftIO $ dyn547 ptr_glMultiTexCoord2xOES v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoord2xOES #-}
+ptr_glMultiTexCoord2xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
+ptr_glMultiTexCoord2xOES = unsafePerformIO $ getCommand "glMultiTexCoord2xOES"
+
+-- glMultiTexCoord2xvOES -------------------------------------------------------
+
+glMultiTexCoord2xvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
+  -> m ()
+glMultiTexCoord2xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord2xvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord2xvOES #-}
+ptr_glMultiTexCoord2xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glMultiTexCoord2xvOES = unsafePerformIO $ getCommand "glMultiTexCoord2xvOES"
+
+-- glMultiTexCoord3bOES --------------------------------------------------------
+
+glMultiTexCoord3bOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLbyte -- ^ @s@.
+  -> GLbyte -- ^ @t@.
+  -> GLbyte -- ^ @r@.
+  -> m ()
+glMultiTexCoord3bOES v1 v2 v3 v4 = liftIO $ dyn548 ptr_glMultiTexCoord3bOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3bOES #-}
+ptr_glMultiTexCoord3bOES :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glMultiTexCoord3bOES = unsafePerformIO $ getCommand "glMultiTexCoord3bOES"
+
+-- glMultiTexCoord3bvOES -------------------------------------------------------
+
+glMultiTexCoord3bvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
+  -> m ()
+glMultiTexCoord3bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord3bvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3bvOES #-}
+ptr_glMultiTexCoord3bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
+ptr_glMultiTexCoord3bvOES = unsafePerformIO $ getCommand "glMultiTexCoord3bvOES"
+
+-- glMultiTexCoord3d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3dv'.
+glMultiTexCoord3d
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> GLdouble -- ^ @r@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord3d v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMultiTexCoord3d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3d #-}
+ptr_glMultiTexCoord3d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMultiTexCoord3d = unsafePerformIO $ getCommand "glMultiTexCoord3d"
+
+-- glMultiTexCoord3dARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord3dv'. This command is an alias for 'glMultiTexCoord3d'.
+glMultiTexCoord3dARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> GLdouble -- ^ @r@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord3dARB v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMultiTexCoord3dARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3dARB #-}
+ptr_glMultiTexCoord3dARB :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMultiTexCoord3dARB = unsafePerformIO $ getCommand "glMultiTexCoord3dARB"
+
+-- glMultiTexCoord3dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord3dv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glMultiTexCoord3dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord3dv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3dv #-}
+ptr_glMultiTexCoord3dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord3dv = unsafePerformIO $ getCommand "glMultiTexCoord3dv"
+
+-- glMultiTexCoord3dvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord3dv'.
+glMultiTexCoord3dvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glMultiTexCoord3dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord3dvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3dvARB #-}
+ptr_glMultiTexCoord3dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord3dvARB = unsafePerformIO $ getCommand "glMultiTexCoord3dvARB"
+
+-- glMultiTexCoord3f -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3fv'.
+glMultiTexCoord3f
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> GLfloat -- ^ @r@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord3f v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMultiTexCoord3f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3f #-}
+ptr_glMultiTexCoord3f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glMultiTexCoord3f = unsafePerformIO $ getCommand "glMultiTexCoord3f"
+
+-- glMultiTexCoord3fARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord3fv'. This command is an alias for 'glMultiTexCoord3f'.
+glMultiTexCoord3fARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> GLfloat -- ^ @r@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord3fARB v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMultiTexCoord3fARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3fARB #-}
+ptr_glMultiTexCoord3fARB :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glMultiTexCoord3fARB = unsafePerformIO $ getCommand "glMultiTexCoord3fARB"
+
+-- glMultiTexCoord3fv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord3fv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glMultiTexCoord3fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord3fv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3fv #-}
+ptr_glMultiTexCoord3fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord3fv = unsafePerformIO $ getCommand "glMultiTexCoord3fv"
+
+-- glMultiTexCoord3fvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord3fv'.
+glMultiTexCoord3fvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glMultiTexCoord3fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord3fvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3fvARB #-}
+ptr_glMultiTexCoord3fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord3fvARB = unsafePerformIO $ getCommand "glMultiTexCoord3fvARB"
+
+-- glMultiTexCoord3hNV ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord3hvNV'.
+glMultiTexCoord3hNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
+  -> m ()
+glMultiTexCoord3hNV v1 v2 v3 v4 = liftIO $ dyn549 ptr_glMultiTexCoord3hNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3hNV #-}
+ptr_glMultiTexCoord3hNV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glMultiTexCoord3hNV = unsafePerformIO $ getCommand "glMultiTexCoord3hNV"
+
+-- glMultiTexCoord3hvNV --------------------------------------------------------
+
+glMultiTexCoord3hvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
+  -> m ()
+glMultiTexCoord3hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord3hvNV v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3hvNV #-}
+ptr_glMultiTexCoord3hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
+ptr_glMultiTexCoord3hvNV = unsafePerformIO $ getCommand "glMultiTexCoord3hvNV"
+
+-- glMultiTexCoord3i -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3iv'.
+glMultiTexCoord3i
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> GLint -- ^ @r@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord3i v1 v2 v3 v4 = liftIO $ dyn550 ptr_glMultiTexCoord3i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3i #-}
+ptr_glMultiTexCoord3i :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
+ptr_glMultiTexCoord3i = unsafePerformIO $ getCommand "glMultiTexCoord3i"
+
+-- glMultiTexCoord3iARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord3iv'. This command is an alias for 'glMultiTexCoord3i'.
+glMultiTexCoord3iARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> GLint -- ^ @r@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord3iARB v1 v2 v3 v4 = liftIO $ dyn550 ptr_glMultiTexCoord3iARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3iARB #-}
+ptr_glMultiTexCoord3iARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
+ptr_glMultiTexCoord3iARB = unsafePerformIO $ getCommand "glMultiTexCoord3iARB"
+
+-- glMultiTexCoord3iv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord3iv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glMultiTexCoord3iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord3iv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3iv #-}
+ptr_glMultiTexCoord3iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord3iv = unsafePerformIO $ getCommand "glMultiTexCoord3iv"
+
+-- glMultiTexCoord3ivARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord3iv'.
+glMultiTexCoord3ivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glMultiTexCoord3ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord3ivARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3ivARB #-}
+ptr_glMultiTexCoord3ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord3ivARB = unsafePerformIO $ getCommand "glMultiTexCoord3ivARB"
+
+-- glMultiTexCoord3s -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3sv'.
+glMultiTexCoord3s
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> GLshort -- ^ @r@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord3s v1 v2 v3 v4 = liftIO $ dyn551 ptr_glMultiTexCoord3s v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3s #-}
+ptr_glMultiTexCoord3s :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glMultiTexCoord3s = unsafePerformIO $ getCommand "glMultiTexCoord3s"
+
+-- glMultiTexCoord3sARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord3sv'. This command is an alias for 'glMultiTexCoord3s'.
+glMultiTexCoord3sARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> GLshort -- ^ @r@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord3sARB v1 v2 v3 v4 = liftIO $ dyn551 ptr_glMultiTexCoord3sARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3sARB #-}
+ptr_glMultiTexCoord3sARB :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glMultiTexCoord3sARB = unsafePerformIO $ getCommand "glMultiTexCoord3sARB"
+
+-- glMultiTexCoord3sv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord3sv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord3sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord3sv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3sv #-}
+ptr_glMultiTexCoord3sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord3sv = unsafePerformIO $ getCommand "glMultiTexCoord3sv"
+
+-- glMultiTexCoord3svARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord3sv'.
+glMultiTexCoord3svARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord3svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord3svARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3svARB #-}
+ptr_glMultiTexCoord3svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord3svARB = unsafePerformIO $ getCommand "glMultiTexCoord3svARB"
+
+-- glMultiTexCoord3xOES --------------------------------------------------------
+
+glMultiTexCoord3xOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @r@.
+  -> m ()
+glMultiTexCoord3xOES v1 v2 v3 v4 = liftIO $ dyn552 ptr_glMultiTexCoord3xOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexCoord3xOES #-}
+ptr_glMultiTexCoord3xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glMultiTexCoord3xOES = unsafePerformIO $ getCommand "glMultiTexCoord3xOES"
+
+-- glMultiTexCoord3xvOES -------------------------------------------------------
+
+glMultiTexCoord3xvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
+  -> m ()
+glMultiTexCoord3xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord3xvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord3xvOES #-}
+ptr_glMultiTexCoord3xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glMultiTexCoord3xvOES = unsafePerformIO $ getCommand "glMultiTexCoord3xvOES"
+
+-- glMultiTexCoord4bOES --------------------------------------------------------
+
+glMultiTexCoord4bOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLbyte -- ^ @s@.
+  -> GLbyte -- ^ @t@.
+  -> GLbyte -- ^ @r@.
+  -> GLbyte -- ^ @q@.
+  -> m ()
+glMultiTexCoord4bOES v1 v2 v3 v4 v5 = liftIO $ dyn553 ptr_glMultiTexCoord4bOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4bOES #-}
+ptr_glMultiTexCoord4bOES :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glMultiTexCoord4bOES = unsafePerformIO $ getCommand "glMultiTexCoord4bOES"
+
+-- glMultiTexCoord4bvOES -------------------------------------------------------
+
+glMultiTexCoord4bvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glMultiTexCoord4bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord4bvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4bvOES #-}
+ptr_glMultiTexCoord4bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
+ptr_glMultiTexCoord4bvOES = unsafePerformIO $ getCommand "glMultiTexCoord4bvOES"
+
+-- glMultiTexCoord4d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4dv'.
+glMultiTexCoord4d
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> GLdouble -- ^ @r@ of type @CoordD@.
+  -> GLdouble -- ^ @q@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord4d v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glMultiTexCoord4d v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4d #-}
+ptr_glMultiTexCoord4d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMultiTexCoord4d = unsafePerformIO $ getCommand "glMultiTexCoord4d"
+
+-- glMultiTexCoord4dARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord4dv'. This command is an alias for 'glMultiTexCoord4d'.
+glMultiTexCoord4dARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> GLdouble -- ^ @r@ of type @CoordD@.
+  -> GLdouble -- ^ @q@ of type @CoordD@.
+  -> m ()
+glMultiTexCoord4dARB v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glMultiTexCoord4dARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4dARB #-}
+ptr_glMultiTexCoord4dARB :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glMultiTexCoord4dARB = unsafePerformIO $ getCommand "glMultiTexCoord4dARB"
+
+-- glMultiTexCoord4dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord4dv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
+  -> m ()
+glMultiTexCoord4dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord4dv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4dv #-}
+ptr_glMultiTexCoord4dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord4dv = unsafePerformIO $ getCommand "glMultiTexCoord4dv"
+
+-- glMultiTexCoord4dvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord4dv'.
+glMultiTexCoord4dvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
+  -> m ()
+glMultiTexCoord4dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord4dvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4dvARB #-}
+ptr_glMultiTexCoord4dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexCoord4dvARB = unsafePerformIO $ getCommand "glMultiTexCoord4dvARB"
+
+-- glMultiTexCoord4f -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4fv'.
+glMultiTexCoord4f
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> GLfloat -- ^ @r@ of type @CoordF@.
+  -> GLfloat -- ^ @q@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord4f v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glMultiTexCoord4f v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4f #-}
+ptr_glMultiTexCoord4f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glMultiTexCoord4f = unsafePerformIO $ getCommand "glMultiTexCoord4f"
+
+-- glMultiTexCoord4fARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord4fv'. This command is an alias for 'glMultiTexCoord4f'.
+glMultiTexCoord4fARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> GLfloat -- ^ @r@ of type @CoordF@.
+  -> GLfloat -- ^ @q@ of type @CoordF@.
+  -> m ()
+glMultiTexCoord4fARB v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glMultiTexCoord4fARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4fARB #-}
+ptr_glMultiTexCoord4fARB :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glMultiTexCoord4fARB = unsafePerformIO $ getCommand "glMultiTexCoord4fARB"
+
+-- glMultiTexCoord4fv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord4fv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
+  -> m ()
+glMultiTexCoord4fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord4fv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4fv #-}
+ptr_glMultiTexCoord4fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord4fv = unsafePerformIO $ getCommand "glMultiTexCoord4fv"
+
+-- glMultiTexCoord4fvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord4fv'.
+glMultiTexCoord4fvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
+  -> m ()
+glMultiTexCoord4fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord4fvARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4fvARB #-}
+ptr_glMultiTexCoord4fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexCoord4fvARB = unsafePerformIO $ getCommand "glMultiTexCoord4fvARB"
+
+-- glMultiTexCoord4hNV ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord4hvNV'.
+glMultiTexCoord4hNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @q@ of type @Half16NV@.
+  -> m ()
+glMultiTexCoord4hNV v1 v2 v3 v4 v5 = liftIO $ dyn554 ptr_glMultiTexCoord4hNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4hNV #-}
+ptr_glMultiTexCoord4hNV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glMultiTexCoord4hNV = unsafePerformIO $ getCommand "glMultiTexCoord4hNV"
+
+-- glMultiTexCoord4hvNV --------------------------------------------------------
+
+glMultiTexCoord4hvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
+  -> m ()
+glMultiTexCoord4hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord4hvNV v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4hvNV #-}
+ptr_glMultiTexCoord4hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
+ptr_glMultiTexCoord4hvNV = unsafePerformIO $ getCommand "glMultiTexCoord4hvNV"
+
+-- glMultiTexCoord4i -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4iv'.
+glMultiTexCoord4i
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> GLint -- ^ @r@ of type @CoordI@.
+  -> GLint -- ^ @q@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord4i v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glMultiTexCoord4i v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4i #-}
+ptr_glMultiTexCoord4i :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glMultiTexCoord4i = unsafePerformIO $ getCommand "glMultiTexCoord4i"
+
+-- glMultiTexCoord4iARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord4iv'. This command is an alias for 'glMultiTexCoord4i'.
+glMultiTexCoord4iARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> GLint -- ^ @r@ of type @CoordI@.
+  -> GLint -- ^ @q@ of type @CoordI@.
+  -> m ()
+glMultiTexCoord4iARB v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glMultiTexCoord4iARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4iARB #-}
+ptr_glMultiTexCoord4iARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glMultiTexCoord4iARB = unsafePerformIO $ getCommand "glMultiTexCoord4iARB"
+
+-- glMultiTexCoord4iv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord4iv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
+  -> m ()
+glMultiTexCoord4iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord4iv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4iv #-}
+ptr_glMultiTexCoord4iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord4iv = unsafePerformIO $ getCommand "glMultiTexCoord4iv"
+
+-- glMultiTexCoord4ivARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord4iv'.
+glMultiTexCoord4ivARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
+  -> m ()
+glMultiTexCoord4ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord4ivARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4ivARB #-}
+ptr_glMultiTexCoord4ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexCoord4ivARB = unsafePerformIO $ getCommand "glMultiTexCoord4ivARB"
+
+-- glMultiTexCoord4s -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4sv'.
+glMultiTexCoord4s
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> GLshort -- ^ @r@ of type @CoordS@.
+  -> GLshort -- ^ @q@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord4s v1 v2 v3 v4 v5 = liftIO $ dyn555 ptr_glMultiTexCoord4s v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4s #-}
+ptr_glMultiTexCoord4s :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glMultiTexCoord4s = unsafePerformIO $ getCommand "glMultiTexCoord4s"
+
+-- glMultiTexCoord4sARB --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexCoord4sv'. This command is an alias for 'glMultiTexCoord4s'.
+glMultiTexCoord4sARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> GLshort -- ^ @r@ of type @CoordS@.
+  -> GLshort -- ^ @q@ of type @CoordS@.
+  -> m ()
+glMultiTexCoord4sARB v1 v2 v3 v4 v5 = liftIO $ dyn555 ptr_glMultiTexCoord4sARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4sARB #-}
+ptr_glMultiTexCoord4sARB :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glMultiTexCoord4sARB = unsafePerformIO $ getCommand "glMultiTexCoord4sARB"
+
+-- glMultiTexCoord4sv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
+glMultiTexCoord4sv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord4sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord4sv v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4sv #-}
+ptr_glMultiTexCoord4sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord4sv = unsafePerformIO $ getCommand "glMultiTexCoord4sv"
+
+-- glMultiTexCoord4svARB -------------------------------------------------------
+
+-- | This command is an alias for 'glMultiTexCoord4sv'.
+glMultiTexCoord4svARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @TextureUnit@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glMultiTexCoord4svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord4svARB v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4svARB #-}
+ptr_glMultiTexCoord4svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glMultiTexCoord4svARB = unsafePerformIO $ getCommand "glMultiTexCoord4svARB"
+
+-- glMultiTexCoord4x -----------------------------------------------------------
+
+glMultiTexCoord4x
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @q@.
+  -> m ()
+glMultiTexCoord4x v1 v2 v3 v4 v5 = liftIO $ dyn556 ptr_glMultiTexCoord4x v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4x #-}
+ptr_glMultiTexCoord4x :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glMultiTexCoord4x = unsafePerformIO $ getCommand "glMultiTexCoord4x"
+
+-- glMultiTexCoord4xOES --------------------------------------------------------
+
+glMultiTexCoord4xOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @q@.
+  -> m ()
+glMultiTexCoord4xOES v1 v2 v3 v4 v5 = liftIO $ dyn556 ptr_glMultiTexCoord4xOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoord4xOES #-}
+ptr_glMultiTexCoord4xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glMultiTexCoord4xOES = unsafePerformIO $ getCommand "glMultiTexCoord4xOES"
+
+-- glMultiTexCoord4xvOES -------------------------------------------------------
+
+glMultiTexCoord4xvOES
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glMultiTexCoord4xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord4xvOES v1 v2
+
+{-# NOINLINE ptr_glMultiTexCoord4xvOES #-}
+ptr_glMultiTexCoord4xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glMultiTexCoord4xvOES = unsafePerformIO $ getCommand "glMultiTexCoord4xvOES"
+
+-- glMultiTexCoordP1ui ---------------------------------------------------------
+
+glMultiTexCoordP1ui
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glMultiTexCoordP1ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP1ui v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP1ui #-}
+ptr_glMultiTexCoordP1ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glMultiTexCoordP1ui = unsafePerformIO $ getCommand "glMultiTexCoordP1ui"
+
+-- glMultiTexCoordP1uiv --------------------------------------------------------
+
+glMultiTexCoordP1uiv
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glMultiTexCoordP1uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP1uiv v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP1uiv #-}
+ptr_glMultiTexCoordP1uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glMultiTexCoordP1uiv = unsafePerformIO $ getCommand "glMultiTexCoordP1uiv"
+
+-- glMultiTexCoordP2ui ---------------------------------------------------------
+
+glMultiTexCoordP2ui
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glMultiTexCoordP2ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP2ui v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP2ui #-}
+ptr_glMultiTexCoordP2ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glMultiTexCoordP2ui = unsafePerformIO $ getCommand "glMultiTexCoordP2ui"
+
+-- glMultiTexCoordP2uiv --------------------------------------------------------
+
+glMultiTexCoordP2uiv
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glMultiTexCoordP2uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP2uiv v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP2uiv #-}
+ptr_glMultiTexCoordP2uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glMultiTexCoordP2uiv = unsafePerformIO $ getCommand "glMultiTexCoordP2uiv"
+
+-- glMultiTexCoordP3ui ---------------------------------------------------------
+
+glMultiTexCoordP3ui
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glMultiTexCoordP3ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP3ui v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP3ui #-}
+ptr_glMultiTexCoordP3ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glMultiTexCoordP3ui = unsafePerformIO $ getCommand "glMultiTexCoordP3ui"
+
+-- glMultiTexCoordP3uiv --------------------------------------------------------
+
+glMultiTexCoordP3uiv
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glMultiTexCoordP3uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP3uiv v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP3uiv #-}
+ptr_glMultiTexCoordP3uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glMultiTexCoordP3uiv = unsafePerformIO $ getCommand "glMultiTexCoordP3uiv"
+
+-- glMultiTexCoordP4ui ---------------------------------------------------------
+
+glMultiTexCoordP4ui
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glMultiTexCoordP4ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP4ui v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP4ui #-}
+ptr_glMultiTexCoordP4ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glMultiTexCoordP4ui = unsafePerformIO $ getCommand "glMultiTexCoordP4ui"
+
+-- glMultiTexCoordP4uiv --------------------------------------------------------
+
+glMultiTexCoordP4uiv
+  :: MonadIO m
+  => GLenum -- ^ @texture@.
+  -> GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glMultiTexCoordP4uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP4uiv v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexCoordP4uiv #-}
+ptr_glMultiTexCoordP4uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glMultiTexCoordP4uiv = unsafePerformIO $ getCommand "glMultiTexCoordP4uiv"
+
+-- glMultiTexCoordPointerEXT ---------------------------------------------------
+
+glMultiTexCoordPointerEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glMultiTexCoordPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn557 ptr_glMultiTexCoordPointerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glMultiTexCoordPointerEXT #-}
+ptr_glMultiTexCoordPointerEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glMultiTexCoordPointerEXT = unsafePerformIO $ getCommand "glMultiTexCoordPointerEXT"
+
+-- glMultiTexEnvfEXT -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexEnvfvEXT'.
+glMultiTexEnvfEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glMultiTexEnvfEXT v1 v2 v3 v4 = liftIO $ dyn558 ptr_glMultiTexEnvfEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexEnvfEXT #-}
+ptr_glMultiTexEnvfEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glMultiTexEnvfEXT = unsafePerformIO $ getCommand "glMultiTexEnvfEXT"
+
+-- glMultiTexEnvfvEXT ----------------------------------------------------------
+
+glMultiTexEnvfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glMultiTexEnvfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexEnvfvEXT #-}
+ptr_glMultiTexEnvfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexEnvfvEXT = unsafePerformIO $ getCommand "glMultiTexEnvfvEXT"
+
+-- glMultiTexEnviEXT -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexEnvivEXT'.
+glMultiTexEnviEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glMultiTexEnviEXT v1 v2 v3 v4 = liftIO $ dyn559 ptr_glMultiTexEnviEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexEnviEXT #-}
+ptr_glMultiTexEnviEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
+ptr_glMultiTexEnviEXT = unsafePerformIO $ getCommand "glMultiTexEnviEXT"
+
+-- glMultiTexEnvivEXT ----------------------------------------------------------
+
+glMultiTexEnvivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexEnvivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexEnvivEXT #-}
+ptr_glMultiTexEnvivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexEnvivEXT = unsafePerformIO $ getCommand "glMultiTexEnvivEXT"
+
+-- glMultiTexGendEXT -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexGendvEXT'.
+glMultiTexGendEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLdouble -- ^ @param@.
+  -> m ()
+glMultiTexGendEXT v1 v2 v3 v4 = liftIO $ dyn560 ptr_glMultiTexGendEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexGendEXT #-}
+ptr_glMultiTexGendEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
+ptr_glMultiTexGendEXT = unsafePerformIO $ getCommand "glMultiTexGendEXT"
+
+-- glMultiTexGendvEXT ----------------------------------------------------------
+
+glMultiTexGendvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn350 ptr_glMultiTexGendvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexGendvEXT #-}
+ptr_glMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glMultiTexGendvEXT = unsafePerformIO $ getCommand "glMultiTexGendvEXT"
+
+-- glMultiTexGenfEXT -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexGenfvEXT'.
+glMultiTexGenfEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glMultiTexGenfEXT v1 v2 v3 v4 = liftIO $ dyn558 ptr_glMultiTexGenfEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexGenfEXT #-}
+ptr_glMultiTexGenfEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glMultiTexGenfEXT = unsafePerformIO $ getCommand "glMultiTexGenfEXT"
+
+-- glMultiTexGenfvEXT ----------------------------------------------------------
+
+glMultiTexGenfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glMultiTexGenfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexGenfvEXT #-}
+ptr_glMultiTexGenfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexGenfvEXT = unsafePerformIO $ getCommand "glMultiTexGenfvEXT"
+
+-- glMultiTexGeniEXT -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexGenivEXT'.
+glMultiTexGeniEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glMultiTexGeniEXT v1 v2 v3 v4 = liftIO $ dyn559 ptr_glMultiTexGeniEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexGeniEXT #-}
+ptr_glMultiTexGeniEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
+ptr_glMultiTexGeniEXT = unsafePerformIO $ getCommand "glMultiTexGeniEXT"
+
+-- glMultiTexGenivEXT ----------------------------------------------------------
+
+glMultiTexGenivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexGenivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexGenivEXT #-}
+ptr_glMultiTexGenivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexGenivEXT = unsafePerformIO $ getCommand "glMultiTexGenivEXT"
+
+-- glMultiTexImage1DEXT --------------------------------------------------------
+
+glMultiTexImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn561 ptr_glMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glMultiTexImage1DEXT #-}
+ptr_glMultiTexImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glMultiTexImage1DEXT = unsafePerformIO $ getCommand "glMultiTexImage1DEXT"
+
+-- glMultiTexImage2DEXT --------------------------------------------------------
+
+glMultiTexImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn562 ptr_glMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glMultiTexImage2DEXT #-}
+ptr_glMultiTexImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glMultiTexImage2DEXT = unsafePerformIO $ getCommand "glMultiTexImage2DEXT"
+
+-- glMultiTexImage3DEXT --------------------------------------------------------
+
+glMultiTexImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn563 ptr_glMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glMultiTexImage3DEXT #-}
+ptr_glMultiTexImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glMultiTexImage3DEXT = unsafePerformIO $ getCommand "glMultiTexImage3DEXT"
+
+-- glMultiTexParameterIivEXT ---------------------------------------------------
+
+glMultiTexParameterIivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexParameterIivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexParameterIivEXT #-}
+ptr_glMultiTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexParameterIivEXT = unsafePerformIO $ getCommand "glMultiTexParameterIivEXT"
+
+-- glMultiTexParameterIuivEXT --------------------------------------------------
+
+glMultiTexParameterIuivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn354 ptr_glMultiTexParameterIuivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexParameterIuivEXT #-}
+ptr_glMultiTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glMultiTexParameterIuivEXT = unsafePerformIO $ getCommand "glMultiTexParameterIuivEXT"
+
+-- glMultiTexParameterfEXT -----------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexParameterfvEXT'.
+glMultiTexParameterfEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glMultiTexParameterfEXT v1 v2 v3 v4 = liftIO $ dyn558 ptr_glMultiTexParameterfEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexParameterfEXT #-}
+ptr_glMultiTexParameterfEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glMultiTexParameterfEXT = unsafePerformIO $ getCommand "glMultiTexParameterfEXT"
+
+-- glMultiTexParameterfvEXT ----------------------------------------------------
+
+glMultiTexParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glMultiTexParameterfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexParameterfvEXT #-}
+ptr_glMultiTexParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glMultiTexParameterfvEXT = unsafePerformIO $ getCommand "glMultiTexParameterfvEXT"
+
+-- glMultiTexParameteriEXT -----------------------------------------------------
+
+-- | The vector equivalent of this command is 'glMultiTexParameterivEXT'.
+glMultiTexParameteriEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glMultiTexParameteriEXT v1 v2 v3 v4 = liftIO $ dyn559 ptr_glMultiTexParameteriEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexParameteriEXT #-}
+ptr_glMultiTexParameteriEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
+ptr_glMultiTexParameteriEXT = unsafePerformIO $ getCommand "glMultiTexParameteriEXT"
+
+-- glMultiTexParameterivEXT ----------------------------------------------------
+
+glMultiTexParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexParameterivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glMultiTexParameterivEXT #-}
+ptr_glMultiTexParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glMultiTexParameterivEXT = unsafePerformIO $ getCommand "glMultiTexParameterivEXT"
+
+-- glMultiTexRenderbufferEXT ---------------------------------------------------
+
+glMultiTexRenderbufferEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glMultiTexRenderbufferEXT v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexRenderbufferEXT v1 v2 v3
+
+{-# NOINLINE ptr_glMultiTexRenderbufferEXT #-}
+ptr_glMultiTexRenderbufferEXT :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glMultiTexRenderbufferEXT = unsafePerformIO $ getCommand "glMultiTexRenderbufferEXT"
+
+-- glMultiTexSubImage1DEXT -----------------------------------------------------
+
+glMultiTexSubImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn564 ptr_glMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glMultiTexSubImage1DEXT #-}
+ptr_glMultiTexSubImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glMultiTexSubImage1DEXT = unsafePerformIO $ getCommand "glMultiTexSubImage1DEXT"
+
+-- glMultiTexSubImage2DEXT -----------------------------------------------------
+
+glMultiTexSubImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn565 ptr_glMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glMultiTexSubImage2DEXT #-}
+ptr_glMultiTexSubImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glMultiTexSubImage2DEXT = unsafePerformIO $ getCommand "glMultiTexSubImage2DEXT"
+
+-- glMultiTexSubImage3DEXT -----------------------------------------------------
+
+glMultiTexSubImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @texunit@ of type @TextureUnit@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn566 ptr_glMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glMultiTexSubImage3DEXT #-}
+ptr_glMultiTexSubImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glMultiTexSubImage3DEXT = unsafePerformIO $ getCommand "glMultiTexSubImage3DEXT"
+
+-- glNamedBufferData -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferData.xhtml OpenGL 4.x>.
+glNamedBufferData
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@.
+  -> GLenum -- ^ @usage@.
+  -> m ()
+glNamedBufferData v1 v2 v3 v4 = liftIO $ dyn567 ptr_glNamedBufferData v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferData #-}
+ptr_glNamedBufferData :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+ptr_glNamedBufferData = unsafePerformIO $ getCommand "glNamedBufferData"
+
+-- glNamedBufferDataEXT --------------------------------------------------------
+
+glNamedBufferDataEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLsizeiptr -- ^ @size@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
+  -> GLenum -- ^ @usage@ of type @VertexBufferObjectUsage@.
+  -> m ()
+glNamedBufferDataEXT v1 v2 v3 v4 = liftIO $ dyn567 ptr_glNamedBufferDataEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferDataEXT #-}
+ptr_glNamedBufferDataEXT :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
+ptr_glNamedBufferDataEXT = unsafePerformIO $ getCommand "glNamedBufferDataEXT"
+
+-- glNamedBufferPageCommitmentARB ----------------------------------------------
+
+glNamedBufferPageCommitmentARB
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@.
+  -> GLboolean -- ^ @commit@.
+  -> m ()
+glNamedBufferPageCommitmentARB v1 v2 v3 v4 = liftIO $ dyn568 ptr_glNamedBufferPageCommitmentARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferPageCommitmentARB #-}
+ptr_glNamedBufferPageCommitmentARB :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
+ptr_glNamedBufferPageCommitmentARB = unsafePerformIO $ getCommand "glNamedBufferPageCommitmentARB"
+
+-- glNamedBufferPageCommitmentEXT ----------------------------------------------
+
+glNamedBufferPageCommitmentEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@.
+  -> GLboolean -- ^ @commit@.
+  -> m ()
+glNamedBufferPageCommitmentEXT v1 v2 v3 v4 = liftIO $ dyn568 ptr_glNamedBufferPageCommitmentEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferPageCommitmentEXT #-}
+ptr_glNamedBufferPageCommitmentEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
+ptr_glNamedBufferPageCommitmentEXT = unsafePerformIO $ getCommand "glNamedBufferPageCommitmentEXT"
+
+-- glNamedBufferStorage --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferStorage.xhtml OpenGL 4.x>.
+glNamedBufferStorage
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> GLbitfield -- ^ @flags@.
+  -> m ()
+glNamedBufferStorage v1 v2 v3 v4 = liftIO $ dyn569 ptr_glNamedBufferStorage v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferStorage #-}
+ptr_glNamedBufferStorage :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+ptr_glNamedBufferStorage = unsafePerformIO $ getCommand "glNamedBufferStorage"
+
+-- glNamedBufferStorageEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glNamedBufferStorage'.
+glNamedBufferStorageEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
+  -> GLbitfield -- ^ @flags@.
+  -> m ()
+glNamedBufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn569 ptr_glNamedBufferStorageEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferStorageEXT #-}
+ptr_glNamedBufferStorageEXT :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
+ptr_glNamedBufferStorageEXT = unsafePerformIO $ getCommand "glNamedBufferStorageEXT"
+
+-- glNamedBufferSubData --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferSubData.xhtml OpenGL 4.x>.
+glNamedBufferSubData
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
+  -> m ()
+glNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn358 ptr_glNamedBufferSubData v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferSubData #-}
+ptr_glNamedBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+ptr_glNamedBufferSubData = unsafePerformIO $ getCommand "glNamedBufferSubData"
+
+-- glNamedBufferSubDataEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glNamedBufferSubData'.
+glNamedBufferSubDataEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
+  -> m ()
+glNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn358 ptr_glNamedBufferSubDataEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedBufferSubDataEXT #-}
+ptr_glNamedBufferSubDataEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
+ptr_glNamedBufferSubDataEXT = unsafePerformIO $ getCommand "glNamedBufferSubDataEXT"
+
+-- glNamedCopyBufferSubDataEXT -------------------------------------------------
+
+glNamedCopyBufferSubDataEXT
+  :: MonadIO m
+  => GLuint -- ^ @readBuffer@.
+  -> GLuint -- ^ @writeBuffer@.
+  -> GLintptr -- ^ @readOffset@.
+  -> GLintptr -- ^ @writeOffset@.
+  -> GLsizeiptr -- ^ @size@.
+  -> m ()
+glNamedCopyBufferSubDataEXT v1 v2 v3 v4 v5 = liftIO $ dyn173 ptr_glNamedCopyBufferSubDataEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedCopyBufferSubDataEXT #-}
+ptr_glNamedCopyBufferSubDataEXT :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glNamedCopyBufferSubDataEXT = unsafePerformIO $ getCommand "glNamedCopyBufferSubDataEXT"
+
+-- glNamedFramebufferDrawBuffer ------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffer.xhtml OpenGL 4.x>.
+glNamedFramebufferDrawBuffer
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @buf@.
+  -> m ()
+glNamedFramebufferDrawBuffer v1 v2 = liftIO $ dyn15 ptr_glNamedFramebufferDrawBuffer v1 v2
+
+{-# NOINLINE ptr_glNamedFramebufferDrawBuffer #-}
+ptr_glNamedFramebufferDrawBuffer :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glNamedFramebufferDrawBuffer = unsafePerformIO $ getCommand "glNamedFramebufferDrawBuffer"
+
+-- glNamedFramebufferDrawBuffers -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffers.xhtml OpenGL 4.x>.
+glNamedFramebufferDrawBuffers
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLenum -- ^ @bufs@.
+  -> m ()
+glNamedFramebufferDrawBuffers v1 v2 v3 = liftIO $ dyn281 ptr_glNamedFramebufferDrawBuffers v1 v2 v3
+
+{-# NOINLINE ptr_glNamedFramebufferDrawBuffers #-}
+ptr_glNamedFramebufferDrawBuffers :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
+ptr_glNamedFramebufferDrawBuffers = unsafePerformIO $ getCommand "glNamedFramebufferDrawBuffers"
+
+-- glNamedFramebufferParameteri ------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferParameteri.xhtml OpenGL 4.x>.
+glNamedFramebufferParameteri
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glNamedFramebufferParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glNamedFramebufferParameteri v1 v2 v3
+
+{-# NOINLINE ptr_glNamedFramebufferParameteri #-}
+ptr_glNamedFramebufferParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glNamedFramebufferParameteri = unsafePerformIO $ getCommand "glNamedFramebufferParameteri"
+
+-- glNamedFramebufferParameteriEXT ---------------------------------------------
+
+glNamedFramebufferParameteriEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @pname@ of type @FramebufferParameterName@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glNamedFramebufferParameteriEXT v1 v2 v3 = liftIO $ dyn484 ptr_glNamedFramebufferParameteriEXT v1 v2 v3
+
+{-# NOINLINE ptr_glNamedFramebufferParameteriEXT #-}
+ptr_glNamedFramebufferParameteriEXT :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glNamedFramebufferParameteriEXT = unsafePerformIO $ getCommand "glNamedFramebufferParameteriEXT"
+
+-- glNamedFramebufferReadBuffer ------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glReadBuffer.xhtml OpenGL 4.x>.
+glNamedFramebufferReadBuffer
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @src@.
+  -> m ()
+glNamedFramebufferReadBuffer v1 v2 = liftIO $ dyn15 ptr_glNamedFramebufferReadBuffer v1 v2
+
+{-# NOINLINE ptr_glNamedFramebufferReadBuffer #-}
+ptr_glNamedFramebufferReadBuffer :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glNamedFramebufferReadBuffer = unsafePerformIO $ getCommand "glNamedFramebufferReadBuffer"
+
+-- glNamedFramebufferRenderbuffer ----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml OpenGL 4.x>.
+glNamedFramebufferRenderbuffer
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @attachment@.
+  -> GLenum -- ^ @renderbuffertarget@.
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glNamedFramebufferRenderbuffer v1 v2 v3 v4 = liftIO $ dyn570 ptr_glNamedFramebufferRenderbuffer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedFramebufferRenderbuffer #-}
+ptr_glNamedFramebufferRenderbuffer :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glNamedFramebufferRenderbuffer = unsafePerformIO $ getCommand "glNamedFramebufferRenderbuffer"
+
+-- glNamedFramebufferRenderbufferEXT -------------------------------------------
+
+glNamedFramebufferRenderbufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
+  -> GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
+  -> m ()
+glNamedFramebufferRenderbufferEXT v1 v2 v3 v4 = liftIO $ dyn570 ptr_glNamedFramebufferRenderbufferEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedFramebufferRenderbufferEXT #-}
+ptr_glNamedFramebufferRenderbufferEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glNamedFramebufferRenderbufferEXT = unsafePerformIO $ getCommand "glNamedFramebufferRenderbufferEXT"
+
+-- glNamedFramebufferSampleLocationsfvARB --------------------------------------
+
+glNamedFramebufferSampleLocationsfvARB
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLuint -- ^ @start@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glNamedFramebufferSampleLocationsfvARB v1 v2 v3 v4 = liftIO $ dyn571 ptr_glNamedFramebufferSampleLocationsfvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedFramebufferSampleLocationsfvARB #-}
+ptr_glNamedFramebufferSampleLocationsfvARB :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glNamedFramebufferSampleLocationsfvARB = unsafePerformIO $ getCommand "glNamedFramebufferSampleLocationsfvARB"
+
+-- glNamedFramebufferSampleLocationsfvNV ---------------------------------------
+
+glNamedFramebufferSampleLocationsfvNV
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLuint -- ^ @start@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@.
+  -> m ()
+glNamedFramebufferSampleLocationsfvNV v1 v2 v3 v4 = liftIO $ dyn571 ptr_glNamedFramebufferSampleLocationsfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedFramebufferSampleLocationsfvNV #-}
+ptr_glNamedFramebufferSampleLocationsfvNV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glNamedFramebufferSampleLocationsfvNV = unsafePerformIO $ getCommand "glNamedFramebufferSampleLocationsfvNV"
+
+-- glNamedFramebufferTexture ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
+glNamedFramebufferTexture
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @attachment@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glNamedFramebufferTexture v1 v2 v3 v4 = liftIO $ dyn572 ptr_glNamedFramebufferTexture v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedFramebufferTexture #-}
+ptr_glNamedFramebufferTexture :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glNamedFramebufferTexture = unsafePerformIO $ getCommand "glNamedFramebufferTexture"
+
+-- glNamedFramebufferTexture1DEXT ----------------------------------------------
+
+glNamedFramebufferTexture1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> m ()
+glNamedFramebufferTexture1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn573 ptr_glNamedFramebufferTexture1DEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedFramebufferTexture1DEXT #-}
+ptr_glNamedFramebufferTexture1DEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glNamedFramebufferTexture1DEXT = unsafePerformIO $ getCommand "glNamedFramebufferTexture1DEXT"
+
+-- glNamedFramebufferTexture2DEXT ----------------------------------------------
+
+glNamedFramebufferTexture2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> m ()
+glNamedFramebufferTexture2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn573 ptr_glNamedFramebufferTexture2DEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedFramebufferTexture2DEXT #-}
+ptr_glNamedFramebufferTexture2DEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glNamedFramebufferTexture2DEXT = unsafePerformIO $ getCommand "glNamedFramebufferTexture2DEXT"
+
+-- glNamedFramebufferTexture3DEXT ----------------------------------------------
+
+glNamedFramebufferTexture3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> m ()
+glNamedFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn574 ptr_glNamedFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glNamedFramebufferTexture3DEXT #-}
+ptr_glNamedFramebufferTexture3DEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glNamedFramebufferTexture3DEXT = unsafePerformIO $ getCommand "glNamedFramebufferTexture3DEXT"
+
+-- glNamedFramebufferTextureEXT ------------------------------------------------
+
+glNamedFramebufferTextureEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> m ()
+glNamedFramebufferTextureEXT v1 v2 v3 v4 = liftIO $ dyn572 ptr_glNamedFramebufferTextureEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedFramebufferTextureEXT #-}
+ptr_glNamedFramebufferTextureEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
+ptr_glNamedFramebufferTextureEXT = unsafePerformIO $ getCommand "glNamedFramebufferTextureEXT"
+
+-- glNamedFramebufferTextureFaceEXT --------------------------------------------
+
+glNamedFramebufferTextureFaceEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> m ()
+glNamedFramebufferTextureFaceEXT v1 v2 v3 v4 v5 = liftIO $ dyn575 ptr_glNamedFramebufferTextureFaceEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedFramebufferTextureFaceEXT #-}
+ptr_glNamedFramebufferTextureFaceEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
+ptr_glNamedFramebufferTextureFaceEXT = unsafePerformIO $ getCommand "glNamedFramebufferTextureFaceEXT"
+
+-- glNamedFramebufferTextureLayer ----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml OpenGL 4.x>.
+glNamedFramebufferTextureLayer
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@.
+  -> GLenum -- ^ @attachment@.
+  -> GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @layer@.
+  -> m ()
+glNamedFramebufferTextureLayer v1 v2 v3 v4 v5 = liftIO $ dyn576 ptr_glNamedFramebufferTextureLayer v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedFramebufferTextureLayer #-}
+ptr_glNamedFramebufferTextureLayer :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glNamedFramebufferTextureLayer = unsafePerformIO $ getCommand "glNamedFramebufferTextureLayer"
+
+-- glNamedFramebufferTextureLayerEXT -------------------------------------------
+
+glNamedFramebufferTextureLayerEXT
+  :: MonadIO m
+  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
+  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
+  -> GLuint -- ^ @texture@ of type @Texture@.
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @layer@ of type @CheckedInt32@.
+  -> m ()
+glNamedFramebufferTextureLayerEXT v1 v2 v3 v4 v5 = liftIO $ dyn576 ptr_glNamedFramebufferTextureLayerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedFramebufferTextureLayerEXT #-}
+ptr_glNamedFramebufferTextureLayerEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
+ptr_glNamedFramebufferTextureLayerEXT = unsafePerformIO $ getCommand "glNamedFramebufferTextureLayerEXT"
+
+-- glNamedProgramLocalParameter4dEXT -------------------------------------------
+
+-- | The vector equivalent of this command is 'glNamedProgramLocalParameter4dvEXT'.
+glNamedProgramLocalParameter4dEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glNamedProgramLocalParameter4dEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn577 ptr_glNamedProgramLocalParameter4dEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glNamedProgramLocalParameter4dEXT #-}
+ptr_glNamedProgramLocalParameter4dEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glNamedProgramLocalParameter4dEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4dEXT"
+
+-- glNamedProgramLocalParameter4dvEXT ------------------------------------------
+
+glNamedProgramLocalParameter4dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4 = liftIO $ dyn362 ptr_glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedProgramLocalParameter4dvEXT #-}
+ptr_glNamedProgramLocalParameter4dvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glNamedProgramLocalParameter4dvEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4dvEXT"
+
+-- glNamedProgramLocalParameter4fEXT -------------------------------------------
+
+-- | The vector equivalent of this command is 'glNamedProgramLocalParameter4fvEXT'.
+glNamedProgramLocalParameter4fEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glNamedProgramLocalParameter4fEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn578 ptr_glNamedProgramLocalParameter4fEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glNamedProgramLocalParameter4fEXT #-}
+ptr_glNamedProgramLocalParameter4fEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glNamedProgramLocalParameter4fEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4fEXT"
+
+-- glNamedProgramLocalParameter4fvEXT ------------------------------------------
+
+glNamedProgramLocalParameter4fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4 = liftIO $ dyn363 ptr_glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedProgramLocalParameter4fvEXT #-}
+ptr_glNamedProgramLocalParameter4fvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glNamedProgramLocalParameter4fvEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4fvEXT"
+
+-- glNamedProgramLocalParameterI4iEXT ------------------------------------------
+
+-- | The vector equivalent of this command is 'glNamedProgramLocalParameterI4ivEXT'.
+glNamedProgramLocalParameterI4iEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glNamedProgramLocalParameterI4iEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn579 ptr_glNamedProgramLocalParameterI4iEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glNamedProgramLocalParameterI4iEXT #-}
+ptr_glNamedProgramLocalParameterI4iEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glNamedProgramLocalParameterI4iEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4iEXT"
+
+-- glNamedProgramLocalParameterI4ivEXT -----------------------------------------
+
+glNamedProgramLocalParameterI4ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4 = liftIO $ dyn360 ptr_glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedProgramLocalParameterI4ivEXT #-}
+ptr_glNamedProgramLocalParameterI4ivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glNamedProgramLocalParameterI4ivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4ivEXT"
+
+-- glNamedProgramLocalParameterI4uiEXT -----------------------------------------
+
+-- | The vector equivalent of this command is 'glNamedProgramLocalParameterI4uivEXT'.
+glNamedProgramLocalParameterI4uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> GLuint -- ^ @w@.
+  -> m ()
+glNamedProgramLocalParameterI4uiEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn580 ptr_glNamedProgramLocalParameterI4uiEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glNamedProgramLocalParameterI4uiEXT #-}
+ptr_glNamedProgramLocalParameterI4uiEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glNamedProgramLocalParameterI4uiEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4uiEXT"
+
+-- glNamedProgramLocalParameterI4uivEXT ----------------------------------------
+
+glNamedProgramLocalParameterI4uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4 = liftIO $ dyn361 ptr_glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedProgramLocalParameterI4uivEXT #-}
+ptr_glNamedProgramLocalParameterI4uivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glNamedProgramLocalParameterI4uivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4uivEXT"
+
+-- glNamedProgramLocalParameters4fvEXT -----------------------------------------
+
+glNamedProgramLocalParameters4fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glNamedProgramLocalParameters4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn581 ptr_glNamedProgramLocalParameters4fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedProgramLocalParameters4fvEXT #-}
+ptr_glNamedProgramLocalParameters4fvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glNamedProgramLocalParameters4fvEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameters4fvEXT"
+
+-- glNamedProgramLocalParametersI4ivEXT ----------------------------------------
+
+glNamedProgramLocalParametersI4ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @params@ pointing to @count*4@ elements of type @GLint@.
+  -> m ()
+glNamedProgramLocalParametersI4ivEXT v1 v2 v3 v4 v5 = liftIO $ dyn582 ptr_glNamedProgramLocalParametersI4ivEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedProgramLocalParametersI4ivEXT #-}
+ptr_glNamedProgramLocalParametersI4ivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glNamedProgramLocalParametersI4ivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParametersI4ivEXT"
+
+-- glNamedProgramLocalParametersI4uivEXT ---------------------------------------
+
+glNamedProgramLocalParametersI4uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @params@ pointing to @count*4@ elements of type @GLuint@.
+  -> m ()
+glNamedProgramLocalParametersI4uivEXT v1 v2 v3 v4 v5 = liftIO $ dyn583 ptr_glNamedProgramLocalParametersI4uivEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedProgramLocalParametersI4uivEXT #-}
+ptr_glNamedProgramLocalParametersI4uivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glNamedProgramLocalParametersI4uivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParametersI4uivEXT"
+
+-- glNamedProgramStringEXT -----------------------------------------------------
+
+glNamedProgramStringEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLenum -- ^ @format@ of type @ProgramFormat@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr a -- ^ @string@ pointing to @len@ elements of type @a@.
+  -> m ()
+glNamedProgramStringEXT v1 v2 v3 v4 v5 = liftIO $ dyn584 ptr_glNamedProgramStringEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedProgramStringEXT #-}
+ptr_glNamedProgramStringEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glNamedProgramStringEXT = unsafePerformIO $ getCommand "glNamedProgramStringEXT"
+
+-- glNamedRenderbufferStorage --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorage.xhtml OpenGL 4.x>.
+glNamedRenderbufferStorage
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glNamedRenderbufferStorage v1 v2 v3 v4 = liftIO $ dyn585 ptr_glNamedRenderbufferStorage v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedRenderbufferStorage #-}
+ptr_glNamedRenderbufferStorage :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glNamedRenderbufferStorage = unsafePerformIO $ getCommand "glNamedRenderbufferStorage"
+
+-- glNamedRenderbufferStorageEXT -----------------------------------------------
+
+glNamedRenderbufferStorageEXT
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glNamedRenderbufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn585 ptr_glNamedRenderbufferStorageEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNamedRenderbufferStorageEXT #-}
+ptr_glNamedRenderbufferStorageEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glNamedRenderbufferStorageEXT = unsafePerformIO $ getCommand "glNamedRenderbufferStorageEXT"
+
+-- glNamedRenderbufferStorageMultisample ---------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorageMultisample.xhtml OpenGL 4.x>.
+glNamedRenderbufferStorageMultisample
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glNamedRenderbufferStorageMultisample v1 v2 v3 v4 v5 = liftIO $ dyn586 ptr_glNamedRenderbufferStorageMultisample v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedRenderbufferStorageMultisample #-}
+ptr_glNamedRenderbufferStorageMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glNamedRenderbufferStorageMultisample = unsafePerformIO $ getCommand "glNamedRenderbufferStorageMultisample"
+
+-- glNamedRenderbufferStorageMultisampleCoverageEXT ----------------------------
+
+glNamedRenderbufferStorageMultisampleCoverageEXT
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
+  -> GLsizei -- ^ @coverageSamples@.
+  -> GLsizei -- ^ @colorSamples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glNamedRenderbufferStorageMultisampleCoverageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn587 ptr_glNamedRenderbufferStorageMultisampleCoverageEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glNamedRenderbufferStorageMultisampleCoverageEXT #-}
+ptr_glNamedRenderbufferStorageMultisampleCoverageEXT :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glNamedRenderbufferStorageMultisampleCoverageEXT = unsafePerformIO $ getCommand "glNamedRenderbufferStorageMultisampleCoverageEXT"
+
+-- glNamedRenderbufferStorageMultisampleEXT ------------------------------------
+
+glNamedRenderbufferStorageMultisampleEXT
+  :: MonadIO m
+  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glNamedRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5 = liftIO $ dyn586 ptr_glNamedRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedRenderbufferStorageMultisampleEXT #-}
+ptr_glNamedRenderbufferStorageMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glNamedRenderbufferStorageMultisampleEXT = unsafePerformIO $ getCommand "glNamedRenderbufferStorageMultisampleEXT"
+
+-- glNamedStringARB ------------------------------------------------------------
+
+glNamedStringARB
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLint -- ^ @namelen@.
+  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
+  -> GLint -- ^ @stringlen@.
+  -> Ptr GLchar -- ^ @string@ pointing to @stringlen@ elements of type @GLchar@.
+  -> m ()
+glNamedStringARB v1 v2 v3 v4 v5 = liftIO $ dyn588 ptr_glNamedStringARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glNamedStringARB #-}
+ptr_glNamedStringARB :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
+ptr_glNamedStringARB = unsafePerformIO $ getCommand "glNamedStringARB"
+
+-- glNewList -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNewList.xml OpenGL 2.x>.
+glNewList
+  :: MonadIO m
+  => GLuint -- ^ @list@ of type @List@.
+  -> GLenum -- ^ @mode@ of type [ListMode](Graphics-GL-Groups.html#ListMode).
+  -> m ()
+glNewList v1 v2 = liftIO $ dyn15 ptr_glNewList v1 v2
+
+{-# NOINLINE ptr_glNewList #-}
+ptr_glNewList :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glNewList = unsafePerformIO $ getCommand "glNewList"
+
+-- glNewObjectBufferATI --------------------------------------------------------
+
+glNewObjectBufferATI
+  :: MonadIO m
+  => GLsizei -- ^ @size@.
+  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
+  -> GLenum -- ^ @usage@ of type @ArrayObjectUsageATI@.
+  -> m GLuint
+glNewObjectBufferATI v1 v2 v3 = liftIO $ dyn589 ptr_glNewObjectBufferATI v1 v2 v3
+
+{-# NOINLINE ptr_glNewObjectBufferATI #-}
+ptr_glNewObjectBufferATI :: FunPtr (GLsizei -> Ptr a -> GLenum -> IO GLuint)
+ptr_glNewObjectBufferATI = unsafePerformIO $ getCommand "glNewObjectBufferATI"
+
+-- glNormal3b ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3bv'.
+glNormal3b
+  :: MonadIO m
+  => GLbyte -- ^ @nx@.
+  -> GLbyte -- ^ @ny@.
+  -> GLbyte -- ^ @nz@.
+  -> m ()
+glNormal3b v1 v2 v3 = liftIO $ dyn36 ptr_glNormal3b v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3b #-}
+ptr_glNormal3b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glNormal3b = unsafePerformIO $ getCommand "glNormal3b"
+
+-- glNormal3bv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
+glNormal3bv
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @GLbyte@.
+  -> m ()
+glNormal3bv v1 = liftIO $ dyn37 ptr_glNormal3bv v1
+
+{-# NOINLINE ptr_glNormal3bv #-}
+ptr_glNormal3bv :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glNormal3bv = unsafePerformIO $ getCommand "glNormal3bv"
+
+-- glNormal3d ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3dv'.
+glNormal3d
+  :: MonadIO m
+  => GLdouble -- ^ @nx@ of type @CoordD@.
+  -> GLdouble -- ^ @ny@ of type @CoordD@.
+  -> GLdouble -- ^ @nz@ of type @CoordD@.
+  -> m ()
+glNormal3d v1 v2 v3 = liftIO $ dyn38 ptr_glNormal3d v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3d #-}
+ptr_glNormal3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glNormal3d = unsafePerformIO $ getCommand "glNormal3d"
+
+-- glNormal3dv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
+glNormal3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glNormal3dv v1 = liftIO $ dyn39 ptr_glNormal3dv v1
+
+{-# NOINLINE ptr_glNormal3dv #-}
+ptr_glNormal3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glNormal3dv = unsafePerformIO $ getCommand "glNormal3dv"
+
+-- glNormal3f ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3fv'.
+glNormal3f
+  :: MonadIO m
+  => GLfloat -- ^ @nx@ of type @CoordF@.
+  -> GLfloat -- ^ @ny@ of type @CoordF@.
+  -> GLfloat -- ^ @nz@ of type @CoordF@.
+  -> m ()
+glNormal3f v1 v2 v3 = liftIO $ dyn40 ptr_glNormal3f v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3f #-}
+ptr_glNormal3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glNormal3f = unsafePerformIO $ getCommand "glNormal3f"
+
+-- glNormal3fVertex3fSUN -------------------------------------------------------
+
+glNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glNormal3fVertex3fSUN #-}
+ptr_glNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fSUN"
+
+-- glNormal3fVertex3fvSUN ------------------------------------------------------
+
+glNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glNormal3fVertex3fvSUN v1 v2 = liftIO $ dyn96 ptr_glNormal3fVertex3fvSUN v1 v2
+
+{-# NOINLINE ptr_glNormal3fVertex3fvSUN #-}
+ptr_glNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fvSUN"
+
+-- glNormal3fv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
+glNormal3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glNormal3fv v1 = liftIO $ dyn41 ptr_glNormal3fv v1
+
+{-# NOINLINE ptr_glNormal3fv #-}
+ptr_glNormal3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glNormal3fv = unsafePerformIO $ getCommand "glNormal3fv"
+
+-- glNormal3hNV ----------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glNormal3hvNV'.
+glNormal3hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @nx@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @ny@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @nz@ of type @Half16NV@.
+  -> m ()
+glNormal3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glNormal3hNV v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3hNV #-}
+ptr_glNormal3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glNormal3hNV = unsafePerformIO $ getCommand "glNormal3hNV"
+
+-- glNormal3hvNV ---------------------------------------------------------------
+
+glNormal3hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
+  -> m ()
+glNormal3hvNV v1 = liftIO $ dyn98 ptr_glNormal3hvNV v1
+
+{-# NOINLINE ptr_glNormal3hvNV #-}
+ptr_glNormal3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glNormal3hvNV = unsafePerformIO $ getCommand "glNormal3hvNV"
+
+-- glNormal3i ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3iv'.
+glNormal3i
+  :: MonadIO m
+  => GLint -- ^ @nx@.
+  -> GLint -- ^ @ny@.
+  -> GLint -- ^ @nz@.
+  -> m ()
+glNormal3i v1 v2 v3 = liftIO $ dyn42 ptr_glNormal3i v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3i #-}
+ptr_glNormal3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glNormal3i = unsafePerformIO $ getCommand "glNormal3i"
+
+-- glNormal3iv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
+glNormal3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glNormal3iv v1 = liftIO $ dyn43 ptr_glNormal3iv v1
+
+{-# NOINLINE ptr_glNormal3iv #-}
+ptr_glNormal3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glNormal3iv = unsafePerformIO $ getCommand "glNormal3iv"
+
+-- glNormal3s ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3sv'.
+glNormal3s
+  :: MonadIO m
+  => GLshort -- ^ @nx@.
+  -> GLshort -- ^ @ny@.
+  -> GLshort -- ^ @nz@.
+  -> m ()
+glNormal3s v1 v2 v3 = liftIO $ dyn44 ptr_glNormal3s v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3s #-}
+ptr_glNormal3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glNormal3s = unsafePerformIO $ getCommand "glNormal3s"
+
+-- glNormal3sv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
+glNormal3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glNormal3sv v1 = liftIO $ dyn45 ptr_glNormal3sv v1
+
+{-# NOINLINE ptr_glNormal3sv #-}
+ptr_glNormal3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glNormal3sv = unsafePerformIO $ getCommand "glNormal3sv"
+
+-- glNormal3x ------------------------------------------------------------------
+
+glNormal3x
+  :: MonadIO m
+  => GLfixed -- ^ @nx@.
+  -> GLfixed -- ^ @ny@.
+  -> GLfixed -- ^ @nz@.
+  -> m ()
+glNormal3x v1 v2 v3 = liftIO $ dyn105 ptr_glNormal3x v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3x #-}
+ptr_glNormal3x :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glNormal3x = unsafePerformIO $ getCommand "glNormal3x"
+
+-- glNormal3xOES ---------------------------------------------------------------
+
+glNormal3xOES
+  :: MonadIO m
+  => GLfixed -- ^ @nx@.
+  -> GLfixed -- ^ @ny@.
+  -> GLfixed -- ^ @nz@.
+  -> m ()
+glNormal3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glNormal3xOES v1 v2 v3
+
+{-# NOINLINE ptr_glNormal3xOES #-}
+ptr_glNormal3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glNormal3xOES = unsafePerformIO $ getCommand "glNormal3xOES"
+
+-- glNormal3xvOES --------------------------------------------------------------
+
+glNormal3xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
+  -> m ()
+glNormal3xvOES v1 = liftIO $ dyn106 ptr_glNormal3xvOES v1
+
+{-# NOINLINE ptr_glNormal3xvOES #-}
+ptr_glNormal3xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glNormal3xvOES = unsafePerformIO $ getCommand "glNormal3xvOES"
+
+-- glNormalFormatNV ------------------------------------------------------------
+
+glNormalFormatNV
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glNormalFormatNV v1 v2 = liftIO $ dyn238 ptr_glNormalFormatNV v1 v2
+
+{-# NOINLINE ptr_glNormalFormatNV #-}
+ptr_glNormalFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
+ptr_glNormalFormatNV = unsafePerformIO $ getCommand "glNormalFormatNV"
+
+-- glNormalP3ui ----------------------------------------------------------------
+
+glNormalP3ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glNormalP3ui v1 v2 = liftIO $ dyn16 ptr_glNormalP3ui v1 v2
+
+{-# NOINLINE ptr_glNormalP3ui #-}
+ptr_glNormalP3ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glNormalP3ui = unsafePerformIO $ getCommand "glNormalP3ui"
+
+-- glNormalP3uiv ---------------------------------------------------------------
+
+glNormalP3uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glNormalP3uiv v1 v2 = liftIO $ dyn124 ptr_glNormalP3uiv v1 v2
+
+{-# NOINLINE ptr_glNormalP3uiv #-}
+ptr_glNormalP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glNormalP3uiv = unsafePerformIO $ getCommand "glNormalP3uiv"
+
+-- glNormalPointer -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormalPointer.xml OpenGL 2.x>.
+glNormalPointer
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glNormalPointer v1 v2 v3 = liftIO $ dyn46 ptr_glNormalPointer v1 v2 v3
+
+{-# NOINLINE ptr_glNormalPointer #-}
+ptr_glNormalPointer :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glNormalPointer = unsafePerformIO $ getCommand "glNormalPointer"
+
+-- glNormalPointerEXT ----------------------------------------------------------
+
+glNormalPointerEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride,count)@ elements of type @a@.
+  -> m ()
+glNormalPointerEXT v1 v2 v3 v4 = liftIO $ dyn464 ptr_glNormalPointerEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNormalPointerEXT #-}
+ptr_glNormalPointerEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+ptr_glNormalPointerEXT = unsafePerformIO $ getCommand "glNormalPointerEXT"
+
+-- glNormalPointerListIBM ------------------------------------------------------
+
+glNormalPointerListIBM
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glNormalPointerListIBM v1 v2 v3 v4 = liftIO $ dyn279 ptr_glNormalPointerListIBM v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNormalPointerListIBM #-}
+ptr_glNormalPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glNormalPointerListIBM = unsafePerformIO $ getCommand "glNormalPointerListIBM"
+
+-- glNormalPointervINTEL -------------------------------------------------------
+
+glNormalPointervINTEL
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
+  -> m ()
+glNormalPointervINTEL v1 v2 = liftIO $ dyn267 ptr_glNormalPointervINTEL v1 v2
+
+{-# NOINLINE ptr_glNormalPointervINTEL #-}
+ptr_glNormalPointervINTEL :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glNormalPointervINTEL = unsafePerformIO $ getCommand "glNormalPointervINTEL"
+
+-- glNormalStream3bATI ---------------------------------------------------------
+
+glNormalStream3bATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLbyte -- ^ @nx@.
+  -> GLbyte -- ^ @ny@.
+  -> GLbyte -- ^ @nz@.
+  -> m ()
+glNormalStream3bATI v1 v2 v3 v4 = liftIO $ dyn548 ptr_glNormalStream3bATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNormalStream3bATI #-}
+ptr_glNormalStream3bATI :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glNormalStream3bATI = unsafePerformIO $ getCommand "glNormalStream3bATI"
+
+-- glNormalStream3bvATI --------------------------------------------------------
+
+glNormalStream3bvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
+  -> m ()
+glNormalStream3bvATI v1 v2 = liftIO $ dyn536 ptr_glNormalStream3bvATI v1 v2
+
+{-# NOINLINE ptr_glNormalStream3bvATI #-}
+ptr_glNormalStream3bvATI :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
+ptr_glNormalStream3bvATI = unsafePerformIO $ getCommand "glNormalStream3bvATI"
+
+-- glNormalStream3dATI ---------------------------------------------------------
+
+glNormalStream3dATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLdouble -- ^ @nx@.
+  -> GLdouble -- ^ @ny@.
+  -> GLdouble -- ^ @nz@.
+  -> m ()
+glNormalStream3dATI v1 v2 v3 v4 = liftIO $ dyn518 ptr_glNormalStream3dATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNormalStream3dATI #-}
+ptr_glNormalStream3dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glNormalStream3dATI = unsafePerformIO $ getCommand "glNormalStream3dATI"
+
+-- glNormalStream3dvATI --------------------------------------------------------
+
+glNormalStream3dvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLdouble -- ^ @coords@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glNormalStream3dvATI v1 v2 = liftIO $ dyn92 ptr_glNormalStream3dvATI v1 v2
+
+{-# NOINLINE ptr_glNormalStream3dvATI #-}
+ptr_glNormalStream3dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glNormalStream3dvATI = unsafePerformIO $ getCommand "glNormalStream3dvATI"
+
+-- glNormalStream3fATI ---------------------------------------------------------
+
+glNormalStream3fATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> m ()
+glNormalStream3fATI v1 v2 v3 v4 = liftIO $ dyn519 ptr_glNormalStream3fATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNormalStream3fATI #-}
+ptr_glNormalStream3fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glNormalStream3fATI = unsafePerformIO $ getCommand "glNormalStream3fATI"
+
+-- glNormalStream3fvATI --------------------------------------------------------
+
+glNormalStream3fvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLfloat -- ^ @coords@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glNormalStream3fvATI v1 v2 = liftIO $ dyn93 ptr_glNormalStream3fvATI v1 v2
+
+{-# NOINLINE ptr_glNormalStream3fvATI #-}
+ptr_glNormalStream3fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glNormalStream3fvATI = unsafePerformIO $ getCommand "glNormalStream3fvATI"
+
+-- glNormalStream3iATI ---------------------------------------------------------
+
+glNormalStream3iATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLint -- ^ @nx@.
+  -> GLint -- ^ @ny@.
+  -> GLint -- ^ @nz@.
+  -> m ()
+glNormalStream3iATI v1 v2 v3 v4 = liftIO $ dyn550 ptr_glNormalStream3iATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNormalStream3iATI #-}
+ptr_glNormalStream3iATI :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
+ptr_glNormalStream3iATI = unsafePerformIO $ getCommand "glNormalStream3iATI"
+
+-- glNormalStream3ivATI --------------------------------------------------------
+
+glNormalStream3ivATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLint -- ^ @coords@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glNormalStream3ivATI v1 v2 = liftIO $ dyn135 ptr_glNormalStream3ivATI v1 v2
+
+{-# NOINLINE ptr_glNormalStream3ivATI #-}
+ptr_glNormalStream3ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glNormalStream3ivATI = unsafePerformIO $ getCommand "glNormalStream3ivATI"
+
+-- glNormalStream3sATI ---------------------------------------------------------
+
+glNormalStream3sATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLshort -- ^ @nx@.
+  -> GLshort -- ^ @ny@.
+  -> GLshort -- ^ @nz@.
+  -> m ()
+glNormalStream3sATI v1 v2 v3 v4 = liftIO $ dyn551 ptr_glNormalStream3sATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glNormalStream3sATI #-}
+ptr_glNormalStream3sATI :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glNormalStream3sATI = unsafePerformIO $ getCommand "glNormalStream3sATI"
+
+-- glNormalStream3svATI --------------------------------------------------------
+
+glNormalStream3svATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLshort -- ^ @coords@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glNormalStream3svATI v1 v2 = liftIO $ dyn541 ptr_glNormalStream3svATI v1 v2
+
+{-# NOINLINE ptr_glNormalStream3svATI #-}
+ptr_glNormalStream3svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glNormalStream3svATI = unsafePerformIO $ getCommand "glNormalStream3svATI"
+
+-- glObjectLabel ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glObjectLabel.xhtml OpenGL 4.x>.
+glObjectLabel
+  :: MonadIO m
+  => GLenum -- ^ @identifier@.
+  -> GLuint -- ^ @name@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @label@ pointing to @COMPSIZE(label,length)@ elements of type @GLchar@.
+  -> m ()
+glObjectLabel v1 v2 v3 v4 = liftIO $ dyn480 ptr_glObjectLabel v1 v2 v3 v4
+
+{-# NOINLINE ptr_glObjectLabel #-}
+ptr_glObjectLabel :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glObjectLabel = unsafePerformIO $ getCommand "glObjectLabel"
+
+-- glObjectLabelKHR ------------------------------------------------------------
+
+-- | This command is an alias for 'glObjectLabel'.
+glObjectLabelKHR
+  :: MonadIO m
+  => GLenum -- ^ @identifier@.
+  -> GLuint -- ^ @name@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @label@.
+  -> m ()
+glObjectLabelKHR v1 v2 v3 v4 = liftIO $ dyn480 ptr_glObjectLabelKHR v1 v2 v3 v4
+
+{-# NOINLINE ptr_glObjectLabelKHR #-}
+ptr_glObjectLabelKHR :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glObjectLabelKHR = unsafePerformIO $ getCommand "glObjectLabelKHR"
+
+-- glObjectPtrLabel ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glObjectPtrLabel.xhtml OpenGL 4.x>.
+glObjectPtrLabel
+  :: MonadIO m
+  => Ptr a -- ^ @ptr@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @label@ pointing to @COMPSIZE(label,length)@ elements of type @GLchar@.
+  -> m ()
+glObjectPtrLabel v1 v2 v3 = liftIO $ dyn590 ptr_glObjectPtrLabel v1 v2 v3
+
+{-# NOINLINE ptr_glObjectPtrLabel #-}
+ptr_glObjectPtrLabel :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glObjectPtrLabel = unsafePerformIO $ getCommand "glObjectPtrLabel"
+
+-- glObjectPtrLabelKHR ---------------------------------------------------------
+
+-- | This command is an alias for 'glObjectPtrLabel'.
+glObjectPtrLabelKHR
+  :: MonadIO m
+  => Ptr a -- ^ @ptr@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @label@.
+  -> m ()
+glObjectPtrLabelKHR v1 v2 v3 = liftIO $ dyn590 ptr_glObjectPtrLabelKHR v1 v2 v3
+
+{-# NOINLINE ptr_glObjectPtrLabelKHR #-}
+ptr_glObjectPtrLabelKHR :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glObjectPtrLabelKHR = unsafePerformIO $ getCommand "glObjectPtrLabelKHR"
+
+-- glObjectPurgeableAPPLE ------------------------------------------------------
+
+glObjectPurgeableAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @objectType@.
+  -> GLuint -- ^ @name@.
+  -> GLenum -- ^ @option@.
+  -> m GLenum
+glObjectPurgeableAPPLE v1 v2 v3 = liftIO $ dyn591 ptr_glObjectPurgeableAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glObjectPurgeableAPPLE #-}
+ptr_glObjectPurgeableAPPLE :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
+ptr_glObjectPurgeableAPPLE = unsafePerformIO $ getCommand "glObjectPurgeableAPPLE"
+
+-- glObjectUnpurgeableAPPLE ----------------------------------------------------
+
+glObjectUnpurgeableAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @objectType@.
+  -> GLuint -- ^ @name@.
+  -> GLenum -- ^ @option@.
+  -> m GLenum
+glObjectUnpurgeableAPPLE v1 v2 v3 = liftIO $ dyn591 ptr_glObjectUnpurgeableAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glObjectUnpurgeableAPPLE #-}
+ptr_glObjectUnpurgeableAPPLE :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
+ptr_glObjectUnpurgeableAPPLE = unsafePerformIO $ getCommand "glObjectUnpurgeableAPPLE"
+
+-- glOrtho ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glOrtho.xml OpenGL 2.x>.
+glOrtho
+  :: MonadIO m
+  => GLdouble -- ^ @left@.
+  -> GLdouble -- ^ @right@.
+  -> GLdouble -- ^ @bottom@.
+  -> GLdouble -- ^ @top@.
+  -> GLdouble -- ^ @zNear@.
+  -> GLdouble -- ^ @zFar@.
+  -> m ()
+glOrtho v1 v2 v3 v4 v5 v6 = liftIO $ dyn292 ptr_glOrtho v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glOrtho #-}
+ptr_glOrtho :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glOrtho = unsafePerformIO $ getCommand "glOrtho"
+
+-- glOrthof --------------------------------------------------------------------
+
+glOrthof
+  :: MonadIO m
+  => GLfloat -- ^ @l@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @n@.
+  -> GLfloat -- ^ @f@.
+  -> m ()
+glOrthof v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glOrthof v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glOrthof #-}
+ptr_glOrthof :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glOrthof = unsafePerformIO $ getCommand "glOrthof"
+
+-- glOrthofOES -----------------------------------------------------------------
+
+glOrthofOES
+  :: MonadIO m
+  => GLfloat -- ^ @l@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @n@.
+  -> GLfloat -- ^ @f@.
+  -> m ()
+glOrthofOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glOrthofOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glOrthofOES #-}
+ptr_glOrthofOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glOrthofOES = unsafePerformIO $ getCommand "glOrthofOES"
+
+-- glOrthox --------------------------------------------------------------------
+
+glOrthox
+  :: MonadIO m
+  => GLfixed -- ^ @l@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @b@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @n@.
+  -> GLfixed -- ^ @f@.
+  -> m ()
+glOrthox v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glOrthox v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glOrthox #-}
+ptr_glOrthox :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glOrthox = unsafePerformIO $ getCommand "glOrthox"
+
+-- glOrthoxOES -----------------------------------------------------------------
+
+glOrthoxOES
+  :: MonadIO m
+  => GLfixed -- ^ @l@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @b@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @n@.
+  -> GLfixed -- ^ @f@.
+  -> m ()
+glOrthoxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glOrthoxOES v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glOrthoxOES #-}
+ptr_glOrthoxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glOrthoxOES = unsafePerformIO $ getCommand "glOrthoxOES"
+
+-- glPNTrianglesfATI -----------------------------------------------------------
+
+glPNTrianglesfATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PNTrianglesPNameATI@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glPNTrianglesfATI v1 v2 = liftIO $ dyn0 ptr_glPNTrianglesfATI v1 v2
+
+{-# NOINLINE ptr_glPNTrianglesfATI #-}
+ptr_glPNTrianglesfATI :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPNTrianglesfATI = unsafePerformIO $ getCommand "glPNTrianglesfATI"
+
+-- glPNTrianglesiATI -----------------------------------------------------------
+
+glPNTrianglesiATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PNTrianglesPNameATI@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glPNTrianglesiATI v1 v2 = liftIO $ dyn55 ptr_glPNTrianglesiATI v1 v2
+
+{-# NOINLINE ptr_glPNTrianglesiATI #-}
+ptr_glPNTrianglesiATI :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPNTrianglesiATI = unsafePerformIO $ getCommand "glPNTrianglesiATI"
+
+-- glPassTexCoordATI -----------------------------------------------------------
+
+glPassTexCoordATI
+  :: MonadIO m
+  => GLuint -- ^ @dst@.
+  -> GLuint -- ^ @coord@.
+  -> GLenum -- ^ @swizzle@ of type @SwizzleOpATI@.
+  -> m ()
+glPassTexCoordATI v1 v2 v3 = liftIO $ dyn592 ptr_glPassTexCoordATI v1 v2 v3
+
+{-# NOINLINE ptr_glPassTexCoordATI #-}
+ptr_glPassTexCoordATI :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
+ptr_glPassTexCoordATI = unsafePerformIO $ getCommand "glPassTexCoordATI"
+
+-- glPassThrough ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPassThrough.xml OpenGL 2.x>.
+glPassThrough
+  :: MonadIO m
+  => GLfloat -- ^ @token@ of type @FeedbackElement@.
+  -> m ()
+glPassThrough v1 = liftIO $ dyn79 ptr_glPassThrough v1
+
+{-# NOINLINE ptr_glPassThrough #-}
+ptr_glPassThrough :: FunPtr (GLfloat -> IO ())
+ptr_glPassThrough = unsafePerformIO $ getCommand "glPassThrough"
+
+-- glPassThroughxOES -----------------------------------------------------------
+
+glPassThroughxOES
+  :: MonadIO m
+  => GLfixed -- ^ @token@.
+  -> m ()
+glPassThroughxOES v1 = liftIO $ dyn81 ptr_glPassThroughxOES v1
+
+{-# NOINLINE ptr_glPassThroughxOES #-}
+ptr_glPassThroughxOES :: FunPtr (GLfixed -> IO ())
+ptr_glPassThroughxOES = unsafePerformIO $ getCommand "glPassThroughxOES"
+
+-- glPatchParameterfv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml OpenGL 4.x>.
+glPatchParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @values@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glPatchParameterfv v1 v2 = liftIO $ dyn93 ptr_glPatchParameterfv v1 v2
+
+{-# NOINLINE ptr_glPatchParameterfv #-}
+ptr_glPatchParameterfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPatchParameterfv = unsafePerformIO $ getCommand "glPatchParameterfv"
+
+-- glPatchParameteri -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml OpenGL 4.x>.
+glPatchParameteri
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glPatchParameteri v1 v2 = liftIO $ dyn55 ptr_glPatchParameteri v1 v2
+
+{-# NOINLINE ptr_glPatchParameteri #-}
+ptr_glPatchParameteri :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPatchParameteri = unsafePerformIO $ getCommand "glPatchParameteri"
+
+-- glPatchParameteriEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glPatchParameteri'.
+glPatchParameteriEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glPatchParameteriEXT v1 v2 = liftIO $ dyn55 ptr_glPatchParameteriEXT v1 v2
+
+{-# NOINLINE ptr_glPatchParameteriEXT #-}
+ptr_glPatchParameteriEXT :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPatchParameteriEXT = unsafePerformIO $ getCommand "glPatchParameteriEXT"
+
+-- glPatchParameteriOES --------------------------------------------------------
+
+-- | This command is an alias for 'glPatchParameteri'.
+glPatchParameteriOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glPatchParameteriOES v1 v2 = liftIO $ dyn55 ptr_glPatchParameteriOES v1 v2
+
+{-# NOINLINE ptr_glPatchParameteriOES #-}
+ptr_glPatchParameteriOES :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPatchParameteriOES = unsafePerformIO $ getCommand "glPatchParameteriOES"
+
+-- glPathColorGenNV ------------------------------------------------------------
+
+glPathColorGenNV
+  :: MonadIO m
+  => GLenum -- ^ @color@ of type @PathColor@.
+  -> GLenum -- ^ @genMode@ of type @PathGenMode@.
+  -> GLenum -- ^ @colorFormat@ of type @PathColorFormat@.
+  -> Ptr GLfloat -- ^ @coeffs@ pointing to @COMPSIZE(genMode,colorFormat)@ elements of type @GLfloat@.
+  -> m ()
+glPathColorGenNV v1 v2 v3 v4 = liftIO $ dyn317 ptr_glPathColorGenNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glPathColorGenNV #-}
+ptr_glPathColorGenNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glPathColorGenNV = unsafePerformIO $ getCommand "glPathColorGenNV"
+
+-- glPathCommandsNV ------------------------------------------------------------
+
+glPathCommandsNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @numCommands@.
+  -> Ptr GLubyte -- ^ @commands@ pointing to @numCommands@ elements of type @PathCommand@.
+  -> GLsizei -- ^ @numCoords@.
+  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
+  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
+  -> m ()
+glPathCommandsNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn593 ptr_glPathCommandsNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glPathCommandsNV #-}
+ptr_glPathCommandsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glPathCommandsNV = unsafePerformIO $ getCommand "glPathCommandsNV"
+
+-- glPathCoordsNV --------------------------------------------------------------
+
+glPathCoordsNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @numCoords@.
+  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
+  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
+  -> m ()
+glPathCoordsNV v1 v2 v3 v4 = liftIO $ dyn594 ptr_glPathCoordsNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glPathCoordsNV #-}
+ptr_glPathCoordsNV :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glPathCoordsNV = unsafePerformIO $ getCommand "glPathCoordsNV"
+
+-- glPathCoverDepthFuncNV ------------------------------------------------------
+
+glPathCoverDepthFuncNV
+  :: MonadIO m
+  => GLenum -- ^ @func@ of type [DepthFunction](Graphics-GL-Groups.html#DepthFunction).
+  -> m ()
+glPathCoverDepthFuncNV v1 = liftIO $ dyn4 ptr_glPathCoverDepthFuncNV v1
+
+{-# NOINLINE ptr_glPathCoverDepthFuncNV #-}
+ptr_glPathCoverDepthFuncNV :: FunPtr (GLenum -> IO ())
+ptr_glPathCoverDepthFuncNV = unsafePerformIO $ getCommand "glPathCoverDepthFuncNV"
+
+-- glPathDashArrayNV -----------------------------------------------------------
+
+glPathDashArrayNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @dashCount@.
+  -> Ptr GLfloat -- ^ @dashArray@ pointing to @dashCount@ elements of type @GLfloat@.
+  -> m ()
+glPathDashArrayNV v1 v2 v3 = liftIO $ dyn217 ptr_glPathDashArrayNV v1 v2 v3
+
+{-# NOINLINE ptr_glPathDashArrayNV #-}
+ptr_glPathDashArrayNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glPathDashArrayNV = unsafePerformIO $ getCommand "glPathDashArrayNV"
+
+-- glPathFogGenNV --------------------------------------------------------------
+
+glPathFogGenNV
+  :: MonadIO m
+  => GLenum -- ^ @genMode@ of type @PathGenMode@.
+  -> m ()
+glPathFogGenNV v1 = liftIO $ dyn4 ptr_glPathFogGenNV v1
+
+{-# NOINLINE ptr_glPathFogGenNV #-}
+ptr_glPathFogGenNV :: FunPtr (GLenum -> IO ())
+ptr_glPathFogGenNV = unsafePerformIO $ getCommand "glPathFogGenNV"
+
+-- glPathGlyphIndexArrayNV -----------------------------------------------------
+
+glPathGlyphIndexArrayNV
+  :: MonadIO m
+  => GLuint -- ^ @firstPathName@.
+  -> GLenum -- ^ @fontTarget@.
+  -> Ptr a -- ^ @fontName@.
+  -> GLbitfield -- ^ @fontStyle@.
+  -> GLuint -- ^ @firstGlyphIndex@.
+  -> GLsizei -- ^ @numGlyphs@.
+  -> GLuint -- ^ @pathParameterTemplate@.
+  -> GLfloat -- ^ @emScale@.
+  -> m GLenum
+glPathGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn595 ptr_glPathGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glPathGlyphIndexArrayNV #-}
+ptr_glPathGlyphIndexArrayNV :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
+ptr_glPathGlyphIndexArrayNV = unsafePerformIO $ getCommand "glPathGlyphIndexArrayNV"
+
+-- glPathGlyphIndexRangeNV -----------------------------------------------------
+
+glPathGlyphIndexRangeNV
+  :: MonadIO m
+  => GLenum -- ^ @fontTarget@.
+  -> Ptr a -- ^ @fontName@.
+  -> GLbitfield -- ^ @fontStyle@.
+  -> GLuint -- ^ @pathParameterTemplate@.
+  -> GLfloat -- ^ @emScale@.
+  -> Ptr GLuint -- ^ @baseAndCount@.
+  -> m GLenum
+glPathGlyphIndexRangeNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn596 ptr_glPathGlyphIndexRangeNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glPathGlyphIndexRangeNV #-}
+ptr_glPathGlyphIndexRangeNV :: FunPtr (GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum)
+ptr_glPathGlyphIndexRangeNV = unsafePerformIO $ getCommand "glPathGlyphIndexRangeNV"
+
+-- glPathGlyphRangeNV ----------------------------------------------------------
+
+glPathGlyphRangeNV
+  :: MonadIO m
+  => GLuint -- ^ @firstPathName@ of type @Path@.
+  -> GLenum -- ^ @fontTarget@ of type @PathFontTarget@.
+  -> Ptr a -- ^ @fontName@ pointing to @COMPSIZE(fontTarget,fontName)@ elements of type @a@.
+  -> GLbitfield -- ^ @fontStyle@ of type @PathFontStyle@.
+  -> GLuint -- ^ @firstGlyph@.
+  -> GLsizei -- ^ @numGlyphs@.
+  -> GLenum -- ^ @handleMissingGlyphs@ of type @PathHandleMissingGlyphs@.
+  -> GLuint -- ^ @pathParameterTemplate@ of type @Path@.
+  -> GLfloat -- ^ @emScale@.
+  -> m ()
+glPathGlyphRangeNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn597 ptr_glPathGlyphRangeNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glPathGlyphRangeNV #-}
+ptr_glPathGlyphRangeNV :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
+ptr_glPathGlyphRangeNV = unsafePerformIO $ getCommand "glPathGlyphRangeNV"
+
+-- glPathGlyphsNV --------------------------------------------------------------
+
+glPathGlyphsNV
+  :: MonadIO m
+  => GLuint -- ^ @firstPathName@ of type @Path@.
+  -> GLenum -- ^ @fontTarget@ of type @PathFontTarget@.
+  -> Ptr a -- ^ @fontName@ pointing to @COMPSIZE(fontTarget,fontName)@ elements of type @a@.
+  -> GLbitfield -- ^ @fontStyle@ of type @PathFontStyle@.
+  -> GLsizei -- ^ @numGlyphs@.
+  -> GLenum -- ^ @type@ of type @PathElementType@.
+  -> Ptr b -- ^ @charcodes@ pointing to @COMPSIZE(numGlyphs,type,charcodes)@ elements of type @b@.
+  -> GLenum -- ^ @handleMissingGlyphs@ of type @PathHandleMissingGlyphs@.
+  -> GLuint -- ^ @pathParameterTemplate@ of type @Path@.
+  -> GLfloat -- ^ @emScale@.
+  -> m ()
+glPathGlyphsNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn598 ptr_glPathGlyphsNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glPathGlyphsNV #-}
+ptr_glPathGlyphsNV :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ())
+ptr_glPathGlyphsNV = unsafePerformIO $ getCommand "glPathGlyphsNV"
+
+-- glPathMemoryGlyphIndexArrayNV -----------------------------------------------
+
+glPathMemoryGlyphIndexArrayNV
+  :: MonadIO m
+  => GLuint -- ^ @firstPathName@.
+  -> GLenum -- ^ @fontTarget@.
+  -> GLsizeiptr -- ^ @fontSize@.
+  -> Ptr a -- ^ @fontData@.
+  -> GLsizei -- ^ @faceIndex@.
+  -> GLuint -- ^ @firstGlyphIndex@.
+  -> GLsizei -- ^ @numGlyphs@.
+  -> GLuint -- ^ @pathParameterTemplate@.
+  -> GLfloat -- ^ @emScale@.
+  -> m GLenum
+glPathMemoryGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn599 ptr_glPathMemoryGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glPathMemoryGlyphIndexArrayNV #-}
+ptr_glPathMemoryGlyphIndexArrayNV :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
+ptr_glPathMemoryGlyphIndexArrayNV = unsafePerformIO $ getCommand "glPathMemoryGlyphIndexArrayNV"
+
+-- glPathParameterfNV ----------------------------------------------------------
+
+glPathParameterfNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLfloat -- ^ @value@.
+  -> m ()
+glPathParameterfNV v1 v2 v3 = liftIO $ dyn483 ptr_glPathParameterfNV v1 v2 v3
+
+{-# NOINLINE ptr_glPathParameterfNV #-}
+ptr_glPathParameterfNV :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
+ptr_glPathParameterfNV = unsafePerformIO $ getCommand "glPathParameterfNV"
+
+-- glPathParameterfvNV ---------------------------------------------------------
+
+glPathParameterfvNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glPathParameterfvNV v1 v2 v3 = liftIO $ dyn345 ptr_glPathParameterfvNV v1 v2 v3
+
+{-# NOINLINE ptr_glPathParameterfvNV #-}
+ptr_glPathParameterfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glPathParameterfvNV = unsafePerformIO $ getCommand "glPathParameterfvNV"
+
+-- glPathParameteriNV ----------------------------------------------------------
+
+glPathParameteriNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glPathParameteriNV v1 v2 v3 = liftIO $ dyn484 ptr_glPathParameteriNV v1 v2 v3
+
+{-# NOINLINE ptr_glPathParameteriNV #-}
+ptr_glPathParameteriNV :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glPathParameteriNV = unsafePerformIO $ getCommand "glPathParameteriNV"
+
+-- glPathParameterivNV ---------------------------------------------------------
+
+glPathParameterivNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @pname@ of type @PathParameter@.
+  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glPathParameterivNV v1 v2 v3 = liftIO $ dyn331 ptr_glPathParameterivNV v1 v2 v3
+
+{-# NOINLINE ptr_glPathParameterivNV #-}
+ptr_glPathParameterivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glPathParameterivNV = unsafePerformIO $ getCommand "glPathParameterivNV"
+
+-- glPathStencilDepthOffsetNV --------------------------------------------------
+
+glPathStencilDepthOffsetNV
+  :: MonadIO m
+  => GLfloat -- ^ @factor@.
+  -> GLfloat -- ^ @units@.
+  -> m ()
+glPathStencilDepthOffsetNV v1 v2 = liftIO $ dyn221 ptr_glPathStencilDepthOffsetNV v1 v2
+
+{-# NOINLINE ptr_glPathStencilDepthOffsetNV #-}
+ptr_glPathStencilDepthOffsetNV :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glPathStencilDepthOffsetNV = unsafePerformIO $ getCommand "glPathStencilDepthOffsetNV"
+
+-- glPathStencilFuncNV ---------------------------------------------------------
+
+glPathStencilFuncNV
+  :: MonadIO m
+  => GLenum -- ^ @func@ of type [StencilFunction](Graphics-GL-Groups.html#StencilFunction).
+  -> GLint -- ^ @ref@ of type @ClampedStencilValue@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glPathStencilFuncNV v1 v2 v3 = liftIO $ dyn600 ptr_glPathStencilFuncNV v1 v2 v3
+
+{-# NOINLINE ptr_glPathStencilFuncNV #-}
+ptr_glPathStencilFuncNV :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
+ptr_glPathStencilFuncNV = unsafePerformIO $ getCommand "glPathStencilFuncNV"
+
+-- glPathStringNV --------------------------------------------------------------
+
+glPathStringNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @format@ of type @PathStringFormat@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr a -- ^ @pathString@ pointing to @length@ elements of type @a@.
+  -> m ()
+glPathStringNV v1 v2 v3 v4 = liftIO $ dyn601 ptr_glPathStringNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glPathStringNV #-}
+ptr_glPathStringNV :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glPathStringNV = unsafePerformIO $ getCommand "glPathStringNV"
+
+-- glPathSubCommandsNV ---------------------------------------------------------
+
+glPathSubCommandsNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @commandStart@.
+  -> GLsizei -- ^ @commandsToDelete@.
+  -> GLsizei -- ^ @numCommands@.
+  -> Ptr GLubyte -- ^ @commands@ pointing to @numCommands@ elements of type @PathCommand@.
+  -> GLsizei -- ^ @numCoords@.
+  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
+  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
+  -> m ()
+glPathSubCommandsNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn602 ptr_glPathSubCommandsNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glPathSubCommandsNV #-}
+ptr_glPathSubCommandsNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glPathSubCommandsNV = unsafePerformIO $ getCommand "glPathSubCommandsNV"
+
+-- glPathSubCoordsNV -----------------------------------------------------------
+
+glPathSubCoordsNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @coordStart@.
+  -> GLsizei -- ^ @numCoords@.
+  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
+  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
+  -> m ()
+glPathSubCoordsNV v1 v2 v3 v4 v5 = liftIO $ dyn603 ptr_glPathSubCoordsNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glPathSubCoordsNV #-}
+ptr_glPathSubCoordsNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ())
+ptr_glPathSubCoordsNV = unsafePerformIO $ getCommand "glPathSubCoordsNV"
+
+-- glPathTexGenNV --------------------------------------------------------------
+
+glPathTexGenNV
+  :: MonadIO m
+  => GLenum -- ^ @texCoordSet@ of type @PathColor@.
+  -> GLenum -- ^ @genMode@ of type @PathGenMode@.
+  -> GLint -- ^ @components@.
+  -> Ptr GLfloat -- ^ @coeffs@ pointing to @COMPSIZE(genMode,components)@ elements of type @GLfloat@.
+  -> m ()
+glPathTexGenNV v1 v2 v3 v4 = liftIO $ dyn604 ptr_glPathTexGenNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glPathTexGenNV #-}
+ptr_glPathTexGenNV :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+ptr_glPathTexGenNV = unsafePerformIO $ getCommand "glPathTexGenNV"
+
+-- glPauseTransformFeedback ----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPauseTransformFeedback.xhtml OpenGL 4.x>.
+glPauseTransformFeedback
+  :: MonadIO m
+  => m ()
+glPauseTransformFeedback = liftIO $ dyn10 ptr_glPauseTransformFeedback
+
+{-# NOINLINE ptr_glPauseTransformFeedback #-}
+ptr_glPauseTransformFeedback :: FunPtr (IO ())
+ptr_glPauseTransformFeedback = unsafePerformIO $ getCommand "glPauseTransformFeedback"
+
+-- glPauseTransformFeedbackNV --------------------------------------------------
+
+-- | This command is an alias for 'glPauseTransformFeedback'.
+glPauseTransformFeedbackNV
+  :: MonadIO m
+  => m ()
+glPauseTransformFeedbackNV = liftIO $ dyn10 ptr_glPauseTransformFeedbackNV
+
+{-# NOINLINE ptr_glPauseTransformFeedbackNV #-}
+ptr_glPauseTransformFeedbackNV :: FunPtr (IO ())
+ptr_glPauseTransformFeedbackNV = unsafePerformIO $ getCommand "glPauseTransformFeedbackNV"
+
+-- glPixelDataRangeNV ----------------------------------------------------------
+
+glPixelDataRangeNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @PixelDataRangeTargetNV@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
+  -> m ()
+glPixelDataRangeNV v1 v2 v3 = liftIO $ dyn46 ptr_glPixelDataRangeNV v1 v2 v3
+
+{-# NOINLINE ptr_glPixelDataRangeNV #-}
+ptr_glPixelDataRangeNV :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glPixelDataRangeNV = unsafePerformIO $ getCommand "glPixelDataRangeNV"
+
+-- glPixelMapfv ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelMap.xml OpenGL 2.x>.
+glPixelMapfv
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
+  -> Ptr GLfloat -- ^ @values@ pointing to @mapsize@ elements of type @GLfloat@.
+  -> m ()
+glPixelMapfv v1 v2 v3 = liftIO $ dyn224 ptr_glPixelMapfv v1 v2 v3
+
+{-# NOINLINE ptr_glPixelMapfv #-}
+ptr_glPixelMapfv :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glPixelMapfv = unsafePerformIO $ getCommand "glPixelMapfv"
+
+-- glPixelMapuiv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelMap.xml OpenGL 2.x>.
+glPixelMapuiv
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
+  -> Ptr GLuint -- ^ @values@ pointing to @mapsize@ elements of type @GLuint@.
+  -> m ()
+glPixelMapuiv v1 v2 v3 = liftIO $ dyn196 ptr_glPixelMapuiv v1 v2 v3
+
+{-# NOINLINE ptr_glPixelMapuiv #-}
+ptr_glPixelMapuiv :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glPixelMapuiv = unsafePerformIO $ getCommand "glPixelMapuiv"
+
+-- glPixelMapusv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelMap.xml OpenGL 2.x>.
+glPixelMapusv
+  :: MonadIO m
+  => GLenum -- ^ @map@ of type [PixelMap](Graphics-GL-Groups.html#PixelMap).
+  -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
+  -> Ptr GLushort -- ^ @values@ pointing to @mapsize@ elements of type @GLushort@.
+  -> m ()
+glPixelMapusv v1 v2 v3 = liftIO $ dyn448 ptr_glPixelMapusv v1 v2 v3
+
+{-# NOINLINE ptr_glPixelMapusv #-}
+ptr_glPixelMapusv :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
+ptr_glPixelMapusv = unsafePerformIO $ getCommand "glPixelMapusv"
+
+-- glPixelMapx -----------------------------------------------------------------
+
+glPixelMapx
+  :: MonadIO m
+  => GLenum -- ^ @map@.
+  -> GLint -- ^ @size@.
+  -> Ptr GLfixed -- ^ @values@ pointing to @size@ elements of type @GLfixed@.
+  -> m ()
+glPixelMapx v1 v2 v3 = liftIO $ dyn386 ptr_glPixelMapx v1 v2 v3
+
+{-# NOINLINE ptr_glPixelMapx #-}
+ptr_glPixelMapx :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
+ptr_glPixelMapx = unsafePerformIO $ getCommand "glPixelMapx"
+
+-- glPixelStoref ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelStore.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml OpenGL 4.x>.
+glPixelStoref
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-GL-Groups.html#PixelStoreParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPixelStoref v1 v2 = liftIO $ dyn0 ptr_glPixelStoref v1 v2
+
+{-# NOINLINE ptr_glPixelStoref #-}
+ptr_glPixelStoref :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPixelStoref = unsafePerformIO $ getCommand "glPixelStoref"
+
+-- glPixelStorei ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelStore.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml OpenGL 4.x>.
+glPixelStorei
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-GL-Groups.html#PixelStoreParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glPixelStorei v1 v2 = liftIO $ dyn55 ptr_glPixelStorei v1 v2
+
+{-# NOINLINE ptr_glPixelStorei #-}
+ptr_glPixelStorei :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPixelStorei = unsafePerformIO $ getCommand "glPixelStorei"
+
+-- glPixelStorex ---------------------------------------------------------------
+
+glPixelStorex
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glPixelStorex v1 v2 = liftIO $ dyn1 ptr_glPixelStorex v1 v2
+
+{-# NOINLINE ptr_glPixelStorex #-}
+ptr_glPixelStorex :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glPixelStorex = unsafePerformIO $ getCommand "glPixelStorex"
+
+-- glPixelTexGenParameterfSGIS -------------------------------------------------
+
+glPixelTexGenParameterfSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPixelTexGenParameterfSGIS v1 v2 = liftIO $ dyn0 ptr_glPixelTexGenParameterfSGIS v1 v2
+
+{-# NOINLINE ptr_glPixelTexGenParameterfSGIS #-}
+ptr_glPixelTexGenParameterfSGIS :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPixelTexGenParameterfSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameterfSGIS"
+
+-- glPixelTexGenParameterfvSGIS ------------------------------------------------
+
+glPixelTexGenParameterfvSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPixelTexGenParameterfvSGIS v1 v2 = liftIO $ dyn93 ptr_glPixelTexGenParameterfvSGIS v1 v2
+
+{-# NOINLINE ptr_glPixelTexGenParameterfvSGIS #-}
+ptr_glPixelTexGenParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPixelTexGenParameterfvSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameterfvSGIS"
+
+-- glPixelTexGenParameteriSGIS -------------------------------------------------
+
+glPixelTexGenParameteriSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glPixelTexGenParameteriSGIS v1 v2 = liftIO $ dyn55 ptr_glPixelTexGenParameteriSGIS v1 v2
+
+{-# NOINLINE ptr_glPixelTexGenParameteriSGIS #-}
+ptr_glPixelTexGenParameteriSGIS :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPixelTexGenParameteriSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameteriSGIS"
+
+-- glPixelTexGenParameterivSGIS ------------------------------------------------
+
+glPixelTexGenParameterivSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-GL-Groups.html#PixelTexGenParameterNameSGIS).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glPixelTexGenParameterivSGIS v1 v2 = liftIO $ dyn135 ptr_glPixelTexGenParameterivSGIS v1 v2
+
+{-# NOINLINE ptr_glPixelTexGenParameterivSGIS #-}
+ptr_glPixelTexGenParameterivSGIS :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glPixelTexGenParameterivSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameterivSGIS"
+
+-- glPixelTexGenSGIX -----------------------------------------------------------
+
+glPixelTexGenSGIX
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type @PixelTexGenModeSGIX@.
+  -> m ()
+glPixelTexGenSGIX v1 = liftIO $ dyn4 ptr_glPixelTexGenSGIX v1
+
+{-# NOINLINE ptr_glPixelTexGenSGIX #-}
+ptr_glPixelTexGenSGIX :: FunPtr (GLenum -> IO ())
+ptr_glPixelTexGenSGIX = unsafePerformIO $ getCommand "glPixelTexGenSGIX"
+
+-- glPixelTransferf ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelTransfer.xml OpenGL 2.x>.
+glPixelTransferf
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-GL-Groups.html#PixelTransferParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPixelTransferf v1 v2 = liftIO $ dyn0 ptr_glPixelTransferf v1 v2
+
+{-# NOINLINE ptr_glPixelTransferf #-}
+ptr_glPixelTransferf :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPixelTransferf = unsafePerformIO $ getCommand "glPixelTransferf"
+
+-- glPixelTransferi ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelTransfer.xml OpenGL 2.x>.
+glPixelTransferi
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-GL-Groups.html#PixelTransferParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glPixelTransferi v1 v2 = liftIO $ dyn55 ptr_glPixelTransferi v1 v2
+
+{-# NOINLINE ptr_glPixelTransferi #-}
+ptr_glPixelTransferi :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPixelTransferi = unsafePerformIO $ getCommand "glPixelTransferi"
+
+-- glPixelTransferxOES ---------------------------------------------------------
+
+glPixelTransferxOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glPixelTransferxOES v1 v2 = liftIO $ dyn1 ptr_glPixelTransferxOES v1 v2
+
+{-# NOINLINE ptr_glPixelTransferxOES #-}
+ptr_glPixelTransferxOES :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glPixelTransferxOES = unsafePerformIO $ getCommand "glPixelTransferxOES"
+
+-- glPixelTransformParameterfEXT -----------------------------------------------
+
+glPixelTransformParameterfEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
+  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glPixelTransformParameterfEXT v1 v2 v3 = liftIO $ dyn160 ptr_glPixelTransformParameterfEXT v1 v2 v3
+
+{-# NOINLINE ptr_glPixelTransformParameterfEXT #-}
+ptr_glPixelTransformParameterfEXT :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glPixelTransformParameterfEXT = unsafePerformIO $ getCommand "glPixelTransformParameterfEXT"
+
+-- glPixelTransformParameterfvEXT ----------------------------------------------
+
+glPixelTransformParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
+  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glPixelTransformParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glPixelTransformParameterfvEXT v1 v2 v3
+
+{-# NOINLINE ptr_glPixelTransformParameterfvEXT #-}
+ptr_glPixelTransformParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glPixelTransformParameterfvEXT = unsafePerformIO $ getCommand "glPixelTransformParameterfvEXT"
+
+-- glPixelTransformParameteriEXT -----------------------------------------------
+
+glPixelTransformParameteriEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
+  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glPixelTransformParameteriEXT v1 v2 v3 = liftIO $ dyn62 ptr_glPixelTransformParameteriEXT v1 v2 v3
+
+{-# NOINLINE ptr_glPixelTransformParameteriEXT #-}
+ptr_glPixelTransformParameteriEXT :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glPixelTransformParameteriEXT = unsafePerformIO $ getCommand "glPixelTransformParameteriEXT"
+
+-- glPixelTransformParameterivEXT ----------------------------------------------
+
+glPixelTransformParameterivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
+  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
+  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glPixelTransformParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glPixelTransformParameterivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glPixelTransformParameterivEXT #-}
+ptr_glPixelTransformParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glPixelTransformParameterivEXT = unsafePerformIO $ getCommand "glPixelTransformParameterivEXT"
+
+-- glPixelZoom -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelZoom.xml OpenGL 2.x>.
+glPixelZoom
+  :: MonadIO m
+  => GLfloat -- ^ @xfactor@.
+  -> GLfloat -- ^ @yfactor@.
+  -> m ()
+glPixelZoom v1 v2 = liftIO $ dyn221 ptr_glPixelZoom v1 v2
+
+{-# NOINLINE ptr_glPixelZoom #-}
+ptr_glPixelZoom :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glPixelZoom = unsafePerformIO $ getCommand "glPixelZoom"
+
+-- glPixelZoomxOES -------------------------------------------------------------
+
+glPixelZoomxOES
+  :: MonadIO m
+  => GLfixed -- ^ @xfactor@.
+  -> GLfixed -- ^ @yfactor@.
+  -> m ()
+glPixelZoomxOES v1 v2 = liftIO $ dyn223 ptr_glPixelZoomxOES v1 v2
+
+{-# NOINLINE ptr_glPixelZoomxOES #-}
+ptr_glPixelZoomxOES :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glPixelZoomxOES = unsafePerformIO $ getCommand "glPixelZoomxOES"
+
+-- glPointAlongPathNV ----------------------------------------------------------
+
+glPointAlongPathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLsizei -- ^ @startSegment@.
+  -> GLsizei -- ^ @numSegments@.
+  -> GLfloat -- ^ @distance@.
+  -> Ptr GLfloat -- ^ @x@ pointing to @1@ element of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @y@ pointing to @1@ element of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @tangentX@ pointing to @1@ element of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @tangentY@ pointing to @1@ element of type @GLfloat@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glPointAlongPathNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn605 ptr_glPointAlongPathNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glPointAlongPathNV #-}
+ptr_glPointAlongPathNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
+ptr_glPointAlongPathNV = unsafePerformIO $ getCommand "glPointAlongPathNV"
+
+-- glPointParameterf -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
+glPointParameterf
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPointParameterf v1 v2 = liftIO $ dyn0 ptr_glPointParameterf v1 v2
+
+{-# NOINLINE ptr_glPointParameterf #-}
+ptr_glPointParameterf :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPointParameterf = unsafePerformIO $ getCommand "glPointParameterf"
+
+-- glPointParameterfARB --------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterf'.
+glPointParameterfARB
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfARB v1 v2 = liftIO $ dyn0 ptr_glPointParameterfARB v1 v2
+
+{-# NOINLINE ptr_glPointParameterfARB #-}
+ptr_glPointParameterfARB :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPointParameterfARB = unsafePerformIO $ getCommand "glPointParameterfARB"
+
+-- glPointParameterfEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterf'.
+glPointParameterfEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfEXT v1 v2 = liftIO $ dyn0 ptr_glPointParameterfEXT v1 v2
+
+{-# NOINLINE ptr_glPointParameterfEXT #-}
+ptr_glPointParameterfEXT :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPointParameterfEXT = unsafePerformIO $ getCommand "glPointParameterfEXT"
+
+-- glPointParameterfSGIS -------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterf'.
+glPointParameterfSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfSGIS v1 v2 = liftIO $ dyn0 ptr_glPointParameterfSGIS v1 v2
+
+{-# NOINLINE ptr_glPointParameterfSGIS #-}
+ptr_glPointParameterfSGIS :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glPointParameterfSGIS = unsafePerformIO $ getCommand "glPointParameterfSGIS"
+
+-- glPointParameterfv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
+glPointParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfv v1 v2 = liftIO $ dyn93 ptr_glPointParameterfv v1 v2
+
+{-# NOINLINE ptr_glPointParameterfv #-}
+ptr_glPointParameterfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfv = unsafePerformIO $ getCommand "glPointParameterfv"
+
+-- glPointParameterfvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterfv'.
+glPointParameterfvARB
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfvARB v1 v2 = liftIO $ dyn93 ptr_glPointParameterfvARB v1 v2
+
+{-# NOINLINE ptr_glPointParameterfvARB #-}
+ptr_glPointParameterfvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfvARB = unsafePerformIO $ getCommand "glPointParameterfvARB"
+
+-- glPointParameterfvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterfv'.
+glPointParameterfvEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfvEXT v1 v2 = liftIO $ dyn93 ptr_glPointParameterfvEXT v1 v2
+
+{-# NOINLINE ptr_glPointParameterfvEXT #-}
+ptr_glPointParameterfvEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfvEXT = unsafePerformIO $ getCommand "glPointParameterfvEXT"
+
+-- glPointParameterfvSGIS ------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameterfv'.
+glPointParameterfvSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glPointParameterfvSGIS v1 v2 = liftIO $ dyn93 ptr_glPointParameterfvSGIS v1 v2
+
+{-# NOINLINE ptr_glPointParameterfvSGIS #-}
+ptr_glPointParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glPointParameterfvSGIS = unsafePerformIO $ getCommand "glPointParameterfvSGIS"
+
+-- glPointParameteri -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
+glPointParameteri
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glPointParameteri v1 v2 = liftIO $ dyn55 ptr_glPointParameteri v1 v2
+
+{-# NOINLINE ptr_glPointParameteri #-}
+ptr_glPointParameteri :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPointParameteri = unsafePerformIO $ getCommand "glPointParameteri"
+
+-- glPointParameteriNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameteri'.
+glPointParameteriNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glPointParameteriNV v1 v2 = liftIO $ dyn55 ptr_glPointParameteriNV v1 v2
+
+{-# NOINLINE ptr_glPointParameteriNV #-}
+ptr_glPointParameteriNV :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glPointParameteriNV = unsafePerformIO $ getCommand "glPointParameteriNV"
+
+-- glPointParameteriv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
+glPointParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glPointParameteriv v1 v2 = liftIO $ dyn135 ptr_glPointParameteriv v1 v2
+
+{-# NOINLINE ptr_glPointParameteriv #-}
+ptr_glPointParameteriv :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glPointParameteriv = unsafePerformIO $ getCommand "glPointParameteriv"
+
+-- glPointParameterivNV --------------------------------------------------------
+
+-- | This command is an alias for 'glPointParameteriv'.
+glPointParameterivNV
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glPointParameterivNV v1 v2 = liftIO $ dyn135 ptr_glPointParameterivNV v1 v2
+
+{-# NOINLINE ptr_glPointParameterivNV #-}
+ptr_glPointParameterivNV :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glPointParameterivNV = unsafePerformIO $ getCommand "glPointParameterivNV"
+
+-- glPointParameterx -----------------------------------------------------------
+
+glPointParameterx
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glPointParameterx v1 v2 = liftIO $ dyn1 ptr_glPointParameterx v1 v2
+
+{-# NOINLINE ptr_glPointParameterx #-}
+ptr_glPointParameterx :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glPointParameterx = unsafePerformIO $ getCommand "glPointParameterx"
+
+-- glPointParameterxOES --------------------------------------------------------
+
+glPointParameterxOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glPointParameterxOES v1 v2 = liftIO $ dyn1 ptr_glPointParameterxOES v1 v2
+
+{-# NOINLINE ptr_glPointParameterxOES #-}
+ptr_glPointParameterxOES :: FunPtr (GLenum -> GLfixed -> IO ())
+ptr_glPointParameterxOES = unsafePerformIO $ getCommand "glPointParameterxOES"
+
+-- glPointParameterxv ----------------------------------------------------------
+
+glPointParameterxv
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glPointParameterxv v1 v2 = liftIO $ dyn94 ptr_glPointParameterxv v1 v2
+
+{-# NOINLINE ptr_glPointParameterxv #-}
+ptr_glPointParameterxv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glPointParameterxv = unsafePerformIO $ getCommand "glPointParameterxv"
+
+-- glPointParameterxvOES -------------------------------------------------------
+
+glPointParameterxvOES
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glPointParameterxvOES v1 v2 = liftIO $ dyn94 ptr_glPointParameterxvOES v1 v2
+
+{-# NOINLINE ptr_glPointParameterxvOES #-}
+ptr_glPointParameterxvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
+ptr_glPointParameterxvOES = unsafePerformIO $ getCommand "glPointParameterxvOES"
+
+-- glPointSize -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointSize.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointSize.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointSize.xhtml OpenGL 4.x>.
+glPointSize
+  :: MonadIO m
+  => GLfloat -- ^ @size@ of type @CheckedFloat32@.
+  -> m ()
+glPointSize v1 = liftIO $ dyn79 ptr_glPointSize v1
+
+{-# NOINLINE ptr_glPointSize #-}
+ptr_glPointSize :: FunPtr (GLfloat -> IO ())
+ptr_glPointSize = unsafePerformIO $ getCommand "glPointSize"
+
+-- glPointSizePointerOES -------------------------------------------------------
+
+glPointSizePointerOES
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glPointSizePointerOES v1 v2 v3 = liftIO $ dyn46 ptr_glPointSizePointerOES v1 v2 v3
+
+{-# NOINLINE ptr_glPointSizePointerOES #-}
+ptr_glPointSizePointerOES :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glPointSizePointerOES = unsafePerformIO $ getCommand "glPointSizePointerOES"
+
+-- glPointSizex ----------------------------------------------------------------
+
+glPointSizex
+  :: MonadIO m
+  => GLfixed -- ^ @size@.
+  -> m ()
+glPointSizex v1 = liftIO $ dyn81 ptr_glPointSizex v1
+
+{-# NOINLINE ptr_glPointSizex #-}
+ptr_glPointSizex :: FunPtr (GLfixed -> IO ())
+ptr_glPointSizex = unsafePerformIO $ getCommand "glPointSizex"
+
+-- glPointSizexOES -------------------------------------------------------------
+
+glPointSizexOES
+  :: MonadIO m
+  => GLfixed -- ^ @size@.
+  -> m ()
+glPointSizexOES v1 = liftIO $ dyn81 ptr_glPointSizexOES v1
+
+{-# NOINLINE ptr_glPointSizexOES #-}
+ptr_glPointSizexOES :: FunPtr (GLfixed -> IO ())
+ptr_glPointSizexOES = unsafePerformIO $ getCommand "glPointSizexOES"
+
+-- glPollAsyncSGIX -------------------------------------------------------------
+
+glPollAsyncSGIX
+  :: MonadIO m
+  => Ptr GLuint -- ^ @markerp@ pointing to @1@ element of type @GLuint@.
+  -> m GLint
+glPollAsyncSGIX v1 = liftIO $ dyn276 ptr_glPollAsyncSGIX v1
+
+{-# NOINLINE ptr_glPollAsyncSGIX #-}
+ptr_glPollAsyncSGIX :: FunPtr (Ptr GLuint -> IO GLint)
+ptr_glPollAsyncSGIX = unsafePerformIO $ getCommand "glPollAsyncSGIX"
+
+-- glPollInstrumentsSGIX -------------------------------------------------------
+
+glPollInstrumentsSGIX
+  :: MonadIO m
+  => Ptr GLint -- ^ @marker_p@ pointing to @1@ element of type @GLint@.
+  -> m GLint
+glPollInstrumentsSGIX v1 = liftIO $ dyn606 ptr_glPollInstrumentsSGIX v1
+
+{-# NOINLINE ptr_glPollInstrumentsSGIX #-}
+ptr_glPollInstrumentsSGIX :: FunPtr (Ptr GLint -> IO GLint)
+ptr_glPollInstrumentsSGIX = unsafePerformIO $ getCommand "glPollInstrumentsSGIX"
+
+-- glPolygonMode ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPolygonMode.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPolygonMode.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPolygonMode.xhtml OpenGL 4.x>.
+glPolygonMode
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @mode@ of type [PolygonMode](Graphics-GL-Groups.html#PolygonMode).
+  -> m ()
+glPolygonMode v1 v2 = liftIO $ dyn51 ptr_glPolygonMode v1 v2
+
+{-# NOINLINE ptr_glPolygonMode #-}
+ptr_glPolygonMode :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glPolygonMode = unsafePerformIO $ getCommand "glPolygonMode"
+
+-- glPolygonModeNV -------------------------------------------------------------
+
+-- | This command is an alias for 'glPolygonMode'.
+glPolygonModeNV
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @mode@ of type [PolygonMode](Graphics-GL-Groups.html#PolygonMode).
+  -> m ()
+glPolygonModeNV v1 v2 = liftIO $ dyn51 ptr_glPolygonModeNV v1 v2
+
+{-# NOINLINE ptr_glPolygonModeNV #-}
+ptr_glPolygonModeNV :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glPolygonModeNV = unsafePerformIO $ getCommand "glPolygonModeNV"
+
+-- glPolygonOffset -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPolygonOffset.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPolygonOffset.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPolygonOffset.xhtml OpenGL 4.x>.
+glPolygonOffset
+  :: MonadIO m
+  => GLfloat -- ^ @factor@.
+  -> GLfloat -- ^ @units@.
+  -> m ()
+glPolygonOffset v1 v2 = liftIO $ dyn221 ptr_glPolygonOffset v1 v2
+
+{-# NOINLINE ptr_glPolygonOffset #-}
+ptr_glPolygonOffset :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glPolygonOffset = unsafePerformIO $ getCommand "glPolygonOffset"
+
+-- glPolygonOffsetClampEXT -----------------------------------------------------
+
+glPolygonOffsetClampEXT
+  :: MonadIO m
+  => GLfloat -- ^ @factor@.
+  -> GLfloat -- ^ @units@.
+  -> GLfloat -- ^ @clamp@.
+  -> m ()
+glPolygonOffsetClampEXT v1 v2 v3 = liftIO $ dyn40 ptr_glPolygonOffsetClampEXT v1 v2 v3
+
+{-# NOINLINE ptr_glPolygonOffsetClampEXT #-}
+ptr_glPolygonOffsetClampEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glPolygonOffsetClampEXT = unsafePerformIO $ getCommand "glPolygonOffsetClampEXT"
+
+-- glPolygonOffsetEXT ----------------------------------------------------------
+
+glPolygonOffsetEXT
+  :: MonadIO m
+  => GLfloat -- ^ @factor@.
+  -> GLfloat -- ^ @bias@.
+  -> m ()
+glPolygonOffsetEXT v1 v2 = liftIO $ dyn221 ptr_glPolygonOffsetEXT v1 v2
+
+{-# NOINLINE ptr_glPolygonOffsetEXT #-}
+ptr_glPolygonOffsetEXT :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glPolygonOffsetEXT = unsafePerformIO $ getCommand "glPolygonOffsetEXT"
+
+-- glPolygonOffsetx ------------------------------------------------------------
+
+glPolygonOffsetx
+  :: MonadIO m
+  => GLfixed -- ^ @factor@.
+  -> GLfixed -- ^ @units@.
+  -> m ()
+glPolygonOffsetx v1 v2 = liftIO $ dyn223 ptr_glPolygonOffsetx v1 v2
+
+{-# NOINLINE ptr_glPolygonOffsetx #-}
+ptr_glPolygonOffsetx :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glPolygonOffsetx = unsafePerformIO $ getCommand "glPolygonOffsetx"
+
+-- glPolygonOffsetxOES ---------------------------------------------------------
+
+glPolygonOffsetxOES
+  :: MonadIO m
+  => GLfixed -- ^ @factor@.
+  -> GLfixed -- ^ @units@.
+  -> m ()
+glPolygonOffsetxOES v1 v2 = liftIO $ dyn223 ptr_glPolygonOffsetxOES v1 v2
+
+{-# NOINLINE ptr_glPolygonOffsetxOES #-}
+ptr_glPolygonOffsetxOES :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glPolygonOffsetxOES = unsafePerformIO $ getCommand "glPolygonOffsetxOES"
+
+-- glPolygonStipple ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPolygonStipple.xml OpenGL 2.x>.
+glPolygonStipple
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @mask@ pointing to @COMPSIZE()@ elements of type @GLubyte@.
+  -> m ()
+glPolygonStipple v1 = liftIO $ dyn100 ptr_glPolygonStipple v1
+
+{-# NOINLINE ptr_glPolygonStipple #-}
+ptr_glPolygonStipple :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glPolygonStipple = unsafePerformIO $ getCommand "glPolygonStipple"
+
+-- glPopAttrib -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushAttrib.xml OpenGL 2.x>.
+glPopAttrib
+  :: MonadIO m
+  => m ()
+glPopAttrib = liftIO $ dyn10 ptr_glPopAttrib
+
+{-# NOINLINE ptr_glPopAttrib #-}
+ptr_glPopAttrib :: FunPtr (IO ())
+ptr_glPopAttrib = unsafePerformIO $ getCommand "glPopAttrib"
+
+-- glPopClientAttrib -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushClientAttrib.xml OpenGL 2.x>.
+glPopClientAttrib
+  :: MonadIO m
+  => m ()
+glPopClientAttrib = liftIO $ dyn10 ptr_glPopClientAttrib
+
+{-# NOINLINE ptr_glPopClientAttrib #-}
+ptr_glPopClientAttrib :: FunPtr (IO ())
+ptr_glPopClientAttrib = unsafePerformIO $ getCommand "glPopClientAttrib"
+
+-- glPopDebugGroup -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPopDebugGroup.xhtml OpenGL 4.x>.
+glPopDebugGroup
+  :: MonadIO m
+  => m ()
+glPopDebugGroup = liftIO $ dyn10 ptr_glPopDebugGroup
+
+{-# NOINLINE ptr_glPopDebugGroup #-}
+ptr_glPopDebugGroup :: FunPtr (IO ())
+ptr_glPopDebugGroup = unsafePerformIO $ getCommand "glPopDebugGroup"
+
+-- glPopDebugGroupKHR ----------------------------------------------------------
+
+-- | This command is an alias for 'glPopDebugGroup'.
+glPopDebugGroupKHR
+  :: MonadIO m
+  => m ()
+glPopDebugGroupKHR = liftIO $ dyn10 ptr_glPopDebugGroupKHR
+
+{-# NOINLINE ptr_glPopDebugGroupKHR #-}
+ptr_glPopDebugGroupKHR :: FunPtr (IO ())
+ptr_glPopDebugGroupKHR = unsafePerformIO $ getCommand "glPopDebugGroupKHR"
+
+-- glPopGroupMarkerEXT ---------------------------------------------------------
+
+glPopGroupMarkerEXT
+  :: MonadIO m
+  => m ()
+glPopGroupMarkerEXT = liftIO $ dyn10 ptr_glPopGroupMarkerEXT
+
+{-# NOINLINE ptr_glPopGroupMarkerEXT #-}
+ptr_glPopGroupMarkerEXT :: FunPtr (IO ())
+ptr_glPopGroupMarkerEXT = unsafePerformIO $ getCommand "glPopGroupMarkerEXT"
+
+-- glPopMatrix -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushMatrix.xml OpenGL 2.x>.
+glPopMatrix
+  :: MonadIO m
+  => m ()
+glPopMatrix = liftIO $ dyn10 ptr_glPopMatrix
+
+{-# NOINLINE ptr_glPopMatrix #-}
+ptr_glPopMatrix :: FunPtr (IO ())
+ptr_glPopMatrix = unsafePerformIO $ getCommand "glPopMatrix"
+
+-- glPopName -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushName.xml OpenGL 2.x>.
+glPopName
+  :: MonadIO m
+  => m ()
+glPopName = liftIO $ dyn10 ptr_glPopName
+
+{-# NOINLINE ptr_glPopName #-}
+ptr_glPopName :: FunPtr (IO ())
+ptr_glPopName = unsafePerformIO $ getCommand "glPopName"
+
+-- glPresentFrameDualFillNV ----------------------------------------------------
+
+glPresentFrameDualFillNV
+  :: MonadIO m
+  => GLuint -- ^ @video_slot@.
+  -> GLuint64EXT -- ^ @minPresentTime@.
+  -> GLuint -- ^ @beginPresentTimeId@.
+  -> GLuint -- ^ @presentDurationId@.
+  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @target0@.
+  -> GLuint -- ^ @fill0@.
+  -> GLenum -- ^ @target1@.
+  -> GLuint -- ^ @fill1@.
+  -> GLenum -- ^ @target2@.
+  -> GLuint -- ^ @fill2@.
+  -> GLenum -- ^ @target3@.
+  -> GLuint -- ^ @fill3@.
+  -> m ()
+glPresentFrameDualFillNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn607 ptr_glPresentFrameDualFillNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
+
+{-# NOINLINE ptr_glPresentFrameDualFillNV #-}
+ptr_glPresentFrameDualFillNV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
+ptr_glPresentFrameDualFillNV = unsafePerformIO $ getCommand "glPresentFrameDualFillNV"
+
+-- glPresentFrameKeyedNV -------------------------------------------------------
+
+glPresentFrameKeyedNV
+  :: MonadIO m
+  => GLuint -- ^ @video_slot@.
+  -> GLuint64EXT -- ^ @minPresentTime@.
+  -> GLuint -- ^ @beginPresentTimeId@.
+  -> GLuint -- ^ @presentDurationId@.
+  -> GLenum -- ^ @type@.
+  -> GLenum -- ^ @target0@.
+  -> GLuint -- ^ @fill0@.
+  -> GLuint -- ^ @key0@.
+  -> GLenum -- ^ @target1@.
+  -> GLuint -- ^ @fill1@.
+  -> GLuint -- ^ @key1@.
+  -> m ()
+glPresentFrameKeyedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn608 ptr_glPresentFrameKeyedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glPresentFrameKeyedNV #-}
+ptr_glPresentFrameKeyedNV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
+ptr_glPresentFrameKeyedNV = unsafePerformIO $ getCommand "glPresentFrameKeyedNV"
+
+-- glPrimitiveBoundingBox ------------------------------------------------------
+
+glPrimitiveBoundingBox
+  :: MonadIO m
+  => GLfloat -- ^ @minX@.
+  -> GLfloat -- ^ @minY@.
+  -> GLfloat -- ^ @minZ@.
+  -> GLfloat -- ^ @minW@.
+  -> GLfloat -- ^ @maxX@.
+  -> GLfloat -- ^ @maxY@.
+  -> GLfloat -- ^ @maxZ@.
+  -> GLfloat -- ^ @maxW@.
+  -> m ()
+glPrimitiveBoundingBox v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBox v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glPrimitiveBoundingBox #-}
+ptr_glPrimitiveBoundingBox :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glPrimitiveBoundingBox = unsafePerformIO $ getCommand "glPrimitiveBoundingBox"
+
+-- glPrimitiveBoundingBoxARB ---------------------------------------------------
+
+-- | This command is an alias for 'glPrimitiveBoundingBox'.
+glPrimitiveBoundingBoxARB
+  :: MonadIO m
+  => GLfloat -- ^ @minX@.
+  -> GLfloat -- ^ @minY@.
+  -> GLfloat -- ^ @minZ@.
+  -> GLfloat -- ^ @minW@.
+  -> GLfloat -- ^ @maxX@.
+  -> GLfloat -- ^ @maxY@.
+  -> GLfloat -- ^ @maxZ@.
+  -> GLfloat -- ^ @maxW@.
+  -> m ()
+glPrimitiveBoundingBoxARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBoxARB v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glPrimitiveBoundingBoxARB #-}
+ptr_glPrimitiveBoundingBoxARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glPrimitiveBoundingBoxARB = unsafePerformIO $ getCommand "glPrimitiveBoundingBoxARB"
+
+-- glPrimitiveBoundingBoxEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glPrimitiveBoundingBox'.
+glPrimitiveBoundingBoxEXT
+  :: MonadIO m
+  => GLfloat -- ^ @minX@.
+  -> GLfloat -- ^ @minY@.
+  -> GLfloat -- ^ @minZ@.
+  -> GLfloat -- ^ @minW@.
+  -> GLfloat -- ^ @maxX@.
+  -> GLfloat -- ^ @maxY@.
+  -> GLfloat -- ^ @maxZ@.
+  -> GLfloat -- ^ @maxW@.
+  -> m ()
+glPrimitiveBoundingBoxEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBoxEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glPrimitiveBoundingBoxEXT #-}
+ptr_glPrimitiveBoundingBoxEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glPrimitiveBoundingBoxEXT = unsafePerformIO $ getCommand "glPrimitiveBoundingBoxEXT"
+
+-- glPrimitiveBoundingBoxOES ---------------------------------------------------
+
+-- | This command is an alias for 'glPrimitiveBoundingBox'.
+glPrimitiveBoundingBoxOES
+  :: MonadIO m
+  => GLfloat -- ^ @minX@.
+  -> GLfloat -- ^ @minY@.
+  -> GLfloat -- ^ @minZ@.
+  -> GLfloat -- ^ @minW@.
+  -> GLfloat -- ^ @maxX@.
+  -> GLfloat -- ^ @maxY@.
+  -> GLfloat -- ^ @maxZ@.
+  -> GLfloat -- ^ @maxW@.
+  -> m ()
+glPrimitiveBoundingBoxOES v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBoxOES v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glPrimitiveBoundingBoxOES #-}
+ptr_glPrimitiveBoundingBoxOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glPrimitiveBoundingBoxOES = unsafePerformIO $ getCommand "glPrimitiveBoundingBoxOES"
+
+-- glPrimitiveRestartIndex -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glPrimitiveRestartIndex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPrimitiveRestartIndex.xhtml OpenGL 4.x>.
+glPrimitiveRestartIndex
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> m ()
+glPrimitiveRestartIndex v1 = liftIO $ dyn2 ptr_glPrimitiveRestartIndex v1
+
+{-# NOINLINE ptr_glPrimitiveRestartIndex #-}
+ptr_glPrimitiveRestartIndex :: FunPtr (GLuint -> IO ())
+ptr_glPrimitiveRestartIndex = unsafePerformIO $ getCommand "glPrimitiveRestartIndex"
+
+-- glPrimitiveRestartIndexNV ---------------------------------------------------
+
+glPrimitiveRestartIndexNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> m ()
+glPrimitiveRestartIndexNV v1 = liftIO $ dyn2 ptr_glPrimitiveRestartIndexNV v1
+
+{-# NOINLINE ptr_glPrimitiveRestartIndexNV #-}
+ptr_glPrimitiveRestartIndexNV :: FunPtr (GLuint -> IO ())
+ptr_glPrimitiveRestartIndexNV = unsafePerformIO $ getCommand "glPrimitiveRestartIndexNV"
+
+-- glPrimitiveRestartNV --------------------------------------------------------
+
+glPrimitiveRestartNV
+  :: MonadIO m
+  => m ()
+glPrimitiveRestartNV = liftIO $ dyn10 ptr_glPrimitiveRestartNV
+
+{-# NOINLINE ptr_glPrimitiveRestartNV #-}
+ptr_glPrimitiveRestartNV :: FunPtr (IO ())
+ptr_glPrimitiveRestartNV = unsafePerformIO $ getCommand "glPrimitiveRestartNV"
+
+-- glPrioritizeTextures --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPrioritizeTextures.xml OpenGL 2.x>.
+glPrioritizeTextures
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> Ptr GLfloat -- ^ @priorities@ pointing to @n@ elements of type @GLfloat@.
+  -> m ()
+glPrioritizeTextures v1 v2 v3 = liftIO $ dyn610 ptr_glPrioritizeTextures v1 v2 v3
+
+{-# NOINLINE ptr_glPrioritizeTextures #-}
+ptr_glPrioritizeTextures :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
+ptr_glPrioritizeTextures = unsafePerformIO $ getCommand "glPrioritizeTextures"
+
+-- glPrioritizeTexturesEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glPrioritizeTextures'.
+glPrioritizeTexturesEXT
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
+  -> Ptr GLclampf -- ^ @priorities@ pointing to @n@ elements of type @ClampedFloat32@.
+  -> m ()
+glPrioritizeTexturesEXT v1 v2 v3 = liftIO $ dyn611 ptr_glPrioritizeTexturesEXT v1 v2 v3
+
+{-# NOINLINE ptr_glPrioritizeTexturesEXT #-}
+ptr_glPrioritizeTexturesEXT :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
+ptr_glPrioritizeTexturesEXT = unsafePerformIO $ getCommand "glPrioritizeTexturesEXT"
+
+-- glPrioritizeTexturesxOES ----------------------------------------------------
+
+glPrioritizeTexturesxOES
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @GLuint@.
+  -> Ptr GLfixed -- ^ @priorities@ pointing to @n@ elements of type @ClampedFixed@.
+  -> m ()
+glPrioritizeTexturesxOES v1 v2 v3 = liftIO $ dyn612 ptr_glPrioritizeTexturesxOES v1 v2 v3
+
+{-# NOINLINE ptr_glPrioritizeTexturesxOES #-}
+ptr_glPrioritizeTexturesxOES :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ())
+ptr_glPrioritizeTexturesxOES = unsafePerformIO $ getCommand "glPrioritizeTexturesxOES"
+
+-- glProgramBinary -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramBinary.xhtml OpenGL 4.x>.
+glProgramBinary
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @binaryFormat@.
+  -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
+  -> GLsizei -- ^ @length@.
+  -> m ()
+glProgramBinary v1 v2 v3 v4 = liftIO $ dyn613 ptr_glProgramBinary v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramBinary #-}
+ptr_glProgramBinary :: FunPtr (GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+ptr_glProgramBinary = unsafePerformIO $ getCommand "glProgramBinary"
+
+-- glProgramBinaryOES ----------------------------------------------------------
+
+-- | This command is an alias for 'glProgramBinary'.
+glProgramBinaryOES
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @binaryFormat@.
+  -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
+  -> GLint -- ^ @length@.
+  -> m ()
+glProgramBinaryOES v1 v2 v3 v4 = liftIO $ dyn614 ptr_glProgramBinaryOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramBinaryOES #-}
+ptr_glProgramBinaryOES :: FunPtr (GLuint -> GLenum -> Ptr a -> GLint -> IO ())
+ptr_glProgramBinaryOES = unsafePerformIO $ getCommand "glProgramBinaryOES"
+
+-- glProgramBufferParametersIivNV ----------------------------------------------
+
+glProgramBufferParametersIivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @bindingIndex@.
+  -> GLuint -- ^ @wordIndex@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @params@ pointing to @count@ elements of type @GLint@.
+  -> m ()
+glProgramBufferParametersIivNV v1 v2 v3 v4 v5 = liftIO $ dyn615 ptr_glProgramBufferParametersIivNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramBufferParametersIivNV #-}
+ptr_glProgramBufferParametersIivNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramBufferParametersIivNV = unsafePerformIO $ getCommand "glProgramBufferParametersIivNV"
+
+-- glProgramBufferParametersIuivNV ---------------------------------------------
+
+glProgramBufferParametersIuivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @bindingIndex@.
+  -> GLuint -- ^ @wordIndex@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @params@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glProgramBufferParametersIuivNV v1 v2 v3 v4 v5 = liftIO $ dyn616 ptr_glProgramBufferParametersIuivNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramBufferParametersIuivNV #-}
+ptr_glProgramBufferParametersIuivNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramBufferParametersIuivNV = unsafePerformIO $ getCommand "glProgramBufferParametersIuivNV"
+
+-- glProgramBufferParametersfvNV -----------------------------------------------
+
+glProgramBufferParametersfvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @bindingIndex@.
+  -> GLuint -- ^ @wordIndex@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramBufferParametersfvNV v1 v2 v3 v4 v5 = liftIO $ dyn617 ptr_glProgramBufferParametersfvNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramBufferParametersfvNV #-}
+ptr_glProgramBufferParametersfvNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramBufferParametersfvNV = unsafePerformIO $ getCommand "glProgramBufferParametersfvNV"
+
+-- glProgramEnvParameter4dARB --------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramEnvParameter4dvARB'.
+glProgramEnvParameter4dARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glProgramEnvParameter4dARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn618 ptr_glProgramEnvParameter4dARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramEnvParameter4dARB #-}
+ptr_glProgramEnvParameter4dARB :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramEnvParameter4dARB = unsafePerformIO $ getCommand "glProgramEnvParameter4dARB"
+
+-- glProgramEnvParameter4dvARB -------------------------------------------------
+
+glProgramEnvParameter4dvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glProgramEnvParameter4dvARB v1 v2 v3 = liftIO $ dyn327 ptr_glProgramEnvParameter4dvARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramEnvParameter4dvARB #-}
+ptr_glProgramEnvParameter4dvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glProgramEnvParameter4dvARB = unsafePerformIO $ getCommand "glProgramEnvParameter4dvARB"
+
+-- glProgramEnvParameter4fARB --------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramEnvParameter4fvARB'.
+glProgramEnvParameter4fARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glProgramEnvParameter4fARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn619 ptr_glProgramEnvParameter4fARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramEnvParameter4fARB #-}
+ptr_glProgramEnvParameter4fARB :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramEnvParameter4fARB = unsafePerformIO $ getCommand "glProgramEnvParameter4fARB"
+
+-- glProgramEnvParameter4fvARB -------------------------------------------------
+
+glProgramEnvParameter4fvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glProgramEnvParameter4fvARB v1 v2 v3 = liftIO $ dyn266 ptr_glProgramEnvParameter4fvARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramEnvParameter4fvARB #-}
+ptr_glProgramEnvParameter4fvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glProgramEnvParameter4fvARB = unsafePerformIO $ getCommand "glProgramEnvParameter4fvARB"
+
+-- glProgramEnvParameterI4iNV --------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramEnvParameterI4ivNV'.
+glProgramEnvParameterI4iNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glProgramEnvParameterI4iNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn620 ptr_glProgramEnvParameterI4iNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramEnvParameterI4iNV #-}
+ptr_glProgramEnvParameterI4iNV :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramEnvParameterI4iNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4iNV"
+
+-- glProgramEnvParameterI4ivNV -------------------------------------------------
+
+glProgramEnvParameterI4ivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glProgramEnvParameterI4ivNV v1 v2 v3 = liftIO $ dyn338 ptr_glProgramEnvParameterI4ivNV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramEnvParameterI4ivNV #-}
+ptr_glProgramEnvParameterI4ivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glProgramEnvParameterI4ivNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4ivNV"
+
+-- glProgramEnvParameterI4uiNV -------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramEnvParameterI4uivNV'.
+glProgramEnvParameterI4uiNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> GLuint -- ^ @w@.
+  -> m ()
+glProgramEnvParameterI4uiNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn6 ptr_glProgramEnvParameterI4uiNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramEnvParameterI4uiNV #-}
+ptr_glProgramEnvParameterI4uiNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glProgramEnvParameterI4uiNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4uiNV"
+
+-- glProgramEnvParameterI4uivNV ------------------------------------------------
+
+glProgramEnvParameterI4uivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glProgramEnvParameterI4uivNV v1 v2 v3 = liftIO $ dyn213 ptr_glProgramEnvParameterI4uivNV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramEnvParameterI4uivNV #-}
+ptr_glProgramEnvParameterI4uivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glProgramEnvParameterI4uivNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4uivNV"
+
+-- glProgramEnvParameters4fvEXT ------------------------------------------------
+
+glProgramEnvParameters4fvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glProgramEnvParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn283 ptr_glProgramEnvParameters4fvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramEnvParameters4fvEXT #-}
+ptr_glProgramEnvParameters4fvEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramEnvParameters4fvEXT = unsafePerformIO $ getCommand "glProgramEnvParameters4fvEXT"
+
+-- glProgramEnvParametersI4ivNV ------------------------------------------------
+
+glProgramEnvParametersI4ivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @params@ pointing to @count*4@ elements of type @GLint@.
+  -> m ()
+glProgramEnvParametersI4ivNV v1 v2 v3 v4 = liftIO $ dyn621 ptr_glProgramEnvParametersI4ivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramEnvParametersI4ivNV #-}
+ptr_glProgramEnvParametersI4ivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramEnvParametersI4ivNV = unsafePerformIO $ getCommand "glProgramEnvParametersI4ivNV"
+
+-- glProgramEnvParametersI4uivNV -----------------------------------------------
+
+glProgramEnvParametersI4uivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @params@ pointing to @count*4@ elements of type @GLuint@.
+  -> m ()
+glProgramEnvParametersI4uivNV v1 v2 v3 v4 = liftIO $ dyn22 ptr_glProgramEnvParametersI4uivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramEnvParametersI4uivNV #-}
+ptr_glProgramEnvParametersI4uivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramEnvParametersI4uivNV = unsafePerformIO $ getCommand "glProgramEnvParametersI4uivNV"
+
+-- glProgramLocalParameter4dARB ------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramLocalParameter4dvARB'.
+glProgramLocalParameter4dARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glProgramLocalParameter4dARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn618 ptr_glProgramLocalParameter4dARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramLocalParameter4dARB #-}
+ptr_glProgramLocalParameter4dARB :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramLocalParameter4dARB = unsafePerformIO $ getCommand "glProgramLocalParameter4dARB"
+
+-- glProgramLocalParameter4dvARB -----------------------------------------------
+
+glProgramLocalParameter4dvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glProgramLocalParameter4dvARB v1 v2 v3 = liftIO $ dyn327 ptr_glProgramLocalParameter4dvARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramLocalParameter4dvARB #-}
+ptr_glProgramLocalParameter4dvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glProgramLocalParameter4dvARB = unsafePerformIO $ getCommand "glProgramLocalParameter4dvARB"
+
+-- glProgramLocalParameter4fARB ------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramLocalParameter4fvARB'.
+glProgramLocalParameter4fARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glProgramLocalParameter4fARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn619 ptr_glProgramLocalParameter4fARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramLocalParameter4fARB #-}
+ptr_glProgramLocalParameter4fARB :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramLocalParameter4fARB = unsafePerformIO $ getCommand "glProgramLocalParameter4fARB"
+
+-- glProgramLocalParameter4fvARB -----------------------------------------------
+
+glProgramLocalParameter4fvARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glProgramLocalParameter4fvARB v1 v2 v3 = liftIO $ dyn266 ptr_glProgramLocalParameter4fvARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramLocalParameter4fvARB #-}
+ptr_glProgramLocalParameter4fvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glProgramLocalParameter4fvARB = unsafePerformIO $ getCommand "glProgramLocalParameter4fvARB"
+
+-- glProgramLocalParameterI4iNV ------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramLocalParameterI4ivNV'.
+glProgramLocalParameterI4iNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glProgramLocalParameterI4iNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn620 ptr_glProgramLocalParameterI4iNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramLocalParameterI4iNV #-}
+ptr_glProgramLocalParameterI4iNV :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramLocalParameterI4iNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4iNV"
+
+-- glProgramLocalParameterI4ivNV -----------------------------------------------
+
+glProgramLocalParameterI4ivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glProgramLocalParameterI4ivNV v1 v2 v3 = liftIO $ dyn338 ptr_glProgramLocalParameterI4ivNV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramLocalParameterI4ivNV #-}
+ptr_glProgramLocalParameterI4ivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
+ptr_glProgramLocalParameterI4ivNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4ivNV"
+
+-- glProgramLocalParameterI4uiNV -----------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramLocalParameterI4uivNV'.
+glProgramLocalParameterI4uiNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> GLuint -- ^ @w@.
+  -> m ()
+glProgramLocalParameterI4uiNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn6 ptr_glProgramLocalParameterI4uiNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramLocalParameterI4uiNV #-}
+ptr_glProgramLocalParameterI4uiNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glProgramLocalParameterI4uiNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4uiNV"
+
+-- glProgramLocalParameterI4uivNV ----------------------------------------------
+
+glProgramLocalParameterI4uivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glProgramLocalParameterI4uivNV v1 v2 v3 = liftIO $ dyn213 ptr_glProgramLocalParameterI4uivNV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramLocalParameterI4uivNV #-}
+ptr_glProgramLocalParameterI4uivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
+ptr_glProgramLocalParameterI4uivNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4uivNV"
+
+-- glProgramLocalParameters4fvEXT ----------------------------------------------
+
+glProgramLocalParameters4fvEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glProgramLocalParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn283 ptr_glProgramLocalParameters4fvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramLocalParameters4fvEXT #-}
+ptr_glProgramLocalParameters4fvEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramLocalParameters4fvEXT = unsafePerformIO $ getCommand "glProgramLocalParameters4fvEXT"
+
+-- glProgramLocalParametersI4ivNV ----------------------------------------------
+
+glProgramLocalParametersI4ivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @params@ pointing to @count*4@ elements of type @GLint@.
+  -> m ()
+glProgramLocalParametersI4ivNV v1 v2 v3 v4 = liftIO $ dyn621 ptr_glProgramLocalParametersI4ivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramLocalParametersI4ivNV #-}
+ptr_glProgramLocalParametersI4ivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramLocalParametersI4ivNV = unsafePerformIO $ getCommand "glProgramLocalParametersI4ivNV"
+
+-- glProgramLocalParametersI4uivNV ---------------------------------------------
+
+glProgramLocalParametersI4uivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @params@ pointing to @count*4@ elements of type @GLuint@.
+  -> m ()
+glProgramLocalParametersI4uivNV v1 v2 v3 v4 = liftIO $ dyn22 ptr_glProgramLocalParametersI4uivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramLocalParametersI4uivNV #-}
+ptr_glProgramLocalParametersI4uivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramLocalParametersI4uivNV = unsafePerformIO $ getCommand "glProgramLocalParametersI4uivNV"
+
+-- glProgramNamedParameter4dNV -------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramNamedParameter4dvNV'.
+glProgramNamedParameter4dNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glProgramNamedParameter4dNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn622 ptr_glProgramNamedParameter4dNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glProgramNamedParameter4dNV #-}
+ptr_glProgramNamedParameter4dNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramNamedParameter4dNV = unsafePerformIO $ getCommand "glProgramNamedParameter4dNV"
+
+-- glProgramNamedParameter4dvNV ------------------------------------------------
+
+glProgramNamedParameter4dvNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glProgramNamedParameter4dvNV v1 v2 v3 v4 = liftIO $ dyn389 ptr_glProgramNamedParameter4dvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramNamedParameter4dvNV #-}
+ptr_glProgramNamedParameter4dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
+ptr_glProgramNamedParameter4dvNV = unsafePerformIO $ getCommand "glProgramNamedParameter4dvNV"
+
+-- glProgramNamedParameter4fNV -------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramNamedParameter4fvNV'.
+glProgramNamedParameter4fNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glProgramNamedParameter4fNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn623 ptr_glProgramNamedParameter4fNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glProgramNamedParameter4fNV #-}
+ptr_glProgramNamedParameter4fNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramNamedParameter4fNV = unsafePerformIO $ getCommand "glProgramNamedParameter4fNV"
+
+-- glProgramNamedParameter4fvNV ------------------------------------------------
+
+glProgramNamedParameter4fvNV
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glProgramNamedParameter4fvNV v1 v2 v3 v4 = liftIO $ dyn390 ptr_glProgramNamedParameter4fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramNamedParameter4fvNV #-}
+ptr_glProgramNamedParameter4fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+ptr_glProgramNamedParameter4fvNV = unsafePerformIO $ getCommand "glProgramNamedParameter4fvNV"
+
+-- glProgramParameter4dNV ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramParameter4dvNV'.
+glProgramParameter4dNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glProgramParameter4dNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn618 ptr_glProgramParameter4dNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramParameter4dNV #-}
+ptr_glProgramParameter4dNV :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramParameter4dNV = unsafePerformIO $ getCommand "glProgramParameter4dNV"
+
+-- glProgramParameter4dvNV -----------------------------------------------------
+
+glProgramParameter4dvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glProgramParameter4dvNV v1 v2 v3 = liftIO $ dyn327 ptr_glProgramParameter4dvNV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramParameter4dvNV #-}
+ptr_glProgramParameter4dvNV :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
+ptr_glProgramParameter4dvNV = unsafePerformIO $ getCommand "glProgramParameter4dvNV"
+
+-- glProgramParameter4fNV ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glProgramParameter4fvNV'.
+glProgramParameter4fNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glProgramParameter4fNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn619 ptr_glProgramParameter4fNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramParameter4fNV #-}
+ptr_glProgramParameter4fNV :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramParameter4fNV = unsafePerformIO $ getCommand "glProgramParameter4fNV"
+
+-- glProgramParameter4fvNV -----------------------------------------------------
+
+glProgramParameter4fvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glProgramParameter4fvNV v1 v2 v3 = liftIO $ dyn266 ptr_glProgramParameter4fvNV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramParameter4fvNV #-}
+ptr_glProgramParameter4fvNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glProgramParameter4fvNV = unsafePerformIO $ getCommand "glProgramParameter4fvNV"
+
+-- glProgramParameteri ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramParameter.xhtml OpenGL 4.x>.
+glProgramParameteri
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glProgramParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glProgramParameteri v1 v2 v3
+
+{-# NOINLINE ptr_glProgramParameteri #-}
+ptr_glProgramParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glProgramParameteri = unsafePerformIO $ getCommand "glProgramParameteri"
+
+-- glProgramParameteriARB ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramParameteri'.
+glProgramParameteriARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glProgramParameteriARB v1 v2 v3 = liftIO $ dyn484 ptr_glProgramParameteriARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramParameteriARB #-}
+ptr_glProgramParameteriARB :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glProgramParameteriARB = unsafePerformIO $ getCommand "glProgramParameteriARB"
+
+-- glProgramParameteriEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramParameteri'.
+glProgramParameteriEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
+  -> GLint -- ^ @value@.
+  -> m ()
+glProgramParameteriEXT v1 v2 v3 = liftIO $ dyn484 ptr_glProgramParameteriEXT v1 v2 v3
+
+{-# NOINLINE ptr_glProgramParameteriEXT #-}
+ptr_glProgramParameteriEXT :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glProgramParameteriEXT = unsafePerformIO $ getCommand "glProgramParameteriEXT"
+
+-- glProgramParameters4dvNV ----------------------------------------------------
+
+glProgramParameters4dvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @count*4@ elements of type @GLdouble@.
+  -> m ()
+glProgramParameters4dvNV v1 v2 v3 v4 = liftIO $ dyn624 ptr_glProgramParameters4dvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramParameters4dvNV #-}
+ptr_glProgramParameters4dvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramParameters4dvNV = unsafePerformIO $ getCommand "glProgramParameters4dvNV"
+
+-- glProgramParameters4fvNV ----------------------------------------------------
+
+glProgramParameters4fvNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glProgramParameters4fvNV v1 v2 v3 v4 = liftIO $ dyn283 ptr_glProgramParameters4fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramParameters4fvNV #-}
+ptr_glProgramParameters4fvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramParameters4fvNV = unsafePerformIO $ getCommand "glProgramParameters4fvNV"
+
+-- glProgramPathFragmentInputGenNV ---------------------------------------------
+
+glProgramPathFragmentInputGenNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLenum -- ^ @genMode@.
+  -> GLint -- ^ @components@.
+  -> Ptr GLfloat -- ^ @coeffs@.
+  -> m ()
+glProgramPathFragmentInputGenNV v1 v2 v3 v4 v5 = liftIO $ dyn625 ptr_glProgramPathFragmentInputGenNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramPathFragmentInputGenNV #-}
+ptr_glProgramPathFragmentInputGenNV :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
+ptr_glProgramPathFragmentInputGenNV = unsafePerformIO $ getCommand "glProgramPathFragmentInputGenNV"
+
+-- glProgramStringARB ----------------------------------------------------------
+
+glProgramStringARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
+  -> GLenum -- ^ @format@ of type @ProgramFormatARB@.
+  -> GLsizei -- ^ @len@.
+  -> Ptr a -- ^ @string@ pointing to @len@ elements of type @a@.
+  -> m ()
+glProgramStringARB v1 v2 v3 v4 = liftIO $ dyn626 ptr_glProgramStringARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramStringARB #-}
+ptr_glProgramStringARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glProgramStringARB = unsafePerformIO $ getCommand "glProgramStringARB"
+
+-- glProgramSubroutineParametersuivNV ------------------------------------------
+
+glProgramSubroutineParametersuivNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @params@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glProgramSubroutineParametersuivNV v1 v2 v3 = liftIO $ dyn196 ptr_glProgramSubroutineParametersuivNV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramSubroutineParametersuivNV #-}
+ptr_glProgramSubroutineParametersuivNV :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramSubroutineParametersuivNV = unsafePerformIO $ getCommand "glProgramSubroutineParametersuivNV"
+
+-- glProgramUniform1d ----------------------------------------------------------
+
+glProgramUniform1d
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @v0@.
+  -> m ()
+glProgramUniform1d v1 v2 v3 = liftIO $ dyn627 ptr_glProgramUniform1d v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1d #-}
+ptr_glProgramUniform1d :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
+ptr_glProgramUniform1d = unsafePerformIO $ getCommand "glProgramUniform1d"
+
+-- glProgramUniform1dEXT -------------------------------------------------------
+
+glProgramUniform1dEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glProgramUniform1dEXT v1 v2 v3 = liftIO $ dyn627 ptr_glProgramUniform1dEXT v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1dEXT #-}
+ptr_glProgramUniform1dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
+ptr_glProgramUniform1dEXT = unsafePerformIO $ getCommand "glProgramUniform1dEXT"
+
+-- glProgramUniform1dv ---------------------------------------------------------
+
+glProgramUniform1dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glProgramUniform1dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform1dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1dv #-}
+ptr_glProgramUniform1dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform1dv = unsafePerformIO $ getCommand "glProgramUniform1dv"
+
+-- glProgramUniform1dvEXT ------------------------------------------------------
+
+glProgramUniform1dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniform1dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform1dvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1dvEXT #-}
+ptr_glProgramUniform1dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform1dvEXT = unsafePerformIO $ getCommand "glProgramUniform1dvEXT"
+
+-- glProgramUniform1f ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform1f
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> m ()
+glProgramUniform1f v1 v2 v3 = liftIO $ dyn628 ptr_glProgramUniform1f v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1f #-}
+ptr_glProgramUniform1f :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
+ptr_glProgramUniform1f = unsafePerformIO $ getCommand "glProgramUniform1f"
+
+-- glProgramUniform1fEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1f'.
+glProgramUniform1fEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> m ()
+glProgramUniform1fEXT v1 v2 v3 = liftIO $ dyn628 ptr_glProgramUniform1fEXT v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1fEXT #-}
+ptr_glProgramUniform1fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
+ptr_glProgramUniform1fEXT = unsafePerformIO $ getCommand "glProgramUniform1fEXT"
+
+-- glProgramUniform1fv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform1fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glProgramUniform1fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform1fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1fv #-}
+ptr_glProgramUniform1fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform1fv = unsafePerformIO $ getCommand "glProgramUniform1fv"
+
+-- glProgramUniform1fvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1fv'.
+glProgramUniform1fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniform1fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform1fvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1fvEXT #-}
+ptr_glProgramUniform1fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform1fvEXT = unsafePerformIO $ getCommand "glProgramUniform1fvEXT"
+
+-- glProgramUniform1i ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform1i
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> m ()
+glProgramUniform1i v1 v2 v3 = liftIO $ dyn629 ptr_glProgramUniform1i v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1i #-}
+ptr_glProgramUniform1i :: FunPtr (GLuint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform1i = unsafePerformIO $ getCommand "glProgramUniform1i"
+
+-- glProgramUniform1i64ARB -----------------------------------------------------
+
+glProgramUniform1i64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> m ()
+glProgramUniform1i64ARB v1 v2 v3 = liftIO $ dyn630 ptr_glProgramUniform1i64ARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1i64ARB #-}
+ptr_glProgramUniform1i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> IO ())
+ptr_glProgramUniform1i64ARB = unsafePerformIO $ getCommand "glProgramUniform1i64ARB"
+
+-- glProgramUniform1i64NV ------------------------------------------------------
+
+glProgramUniform1i64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> m ()
+glProgramUniform1i64NV v1 v2 v3 = liftIO $ dyn631 ptr_glProgramUniform1i64NV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1i64NV #-}
+ptr_glProgramUniform1i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
+ptr_glProgramUniform1i64NV = unsafePerformIO $ getCommand "glProgramUniform1i64NV"
+
+-- glProgramUniform1i64vARB ----------------------------------------------------
+
+glProgramUniform1i64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count@ elements of type @GLint64@.
+  -> m ()
+glProgramUniform1i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform1i64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1i64vARB #-}
+ptr_glProgramUniform1i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glProgramUniform1i64vARB = unsafePerformIO $ getCommand "glProgramUniform1i64vARB"
+
+-- glProgramUniform1i64vNV -----------------------------------------------------
+
+glProgramUniform1i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count@ elements of type @GLint64EXT@.
+  -> m ()
+glProgramUniform1i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform1i64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1i64vNV #-}
+ptr_glProgramUniform1i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glProgramUniform1i64vNV = unsafePerformIO $ getCommand "glProgramUniform1i64vNV"
+
+-- glProgramUniform1iEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1i'.
+glProgramUniform1iEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> m ()
+glProgramUniform1iEXT v1 v2 v3 = liftIO $ dyn629 ptr_glProgramUniform1iEXT v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1iEXT #-}
+ptr_glProgramUniform1iEXT :: FunPtr (GLuint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform1iEXT = unsafePerformIO $ getCommand "glProgramUniform1iEXT"
+
+-- glProgramUniform1iv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform1iv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glProgramUniform1iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform1iv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1iv #-}
+ptr_glProgramUniform1iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform1iv = unsafePerformIO $ getCommand "glProgramUniform1iv"
+
+-- glProgramUniform1ivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1iv'.
+glProgramUniform1ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count@ elements of type @GLint@.
+  -> m ()
+glProgramUniform1ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform1ivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1ivEXT #-}
+ptr_glProgramUniform1ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform1ivEXT = unsafePerformIO $ getCommand "glProgramUniform1ivEXT"
+
+-- glProgramUniform1ui ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform1ui
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> m ()
+glProgramUniform1ui v1 v2 v3 = liftIO $ dyn633 ptr_glProgramUniform1ui v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1ui #-}
+ptr_glProgramUniform1ui :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
+ptr_glProgramUniform1ui = unsafePerformIO $ getCommand "glProgramUniform1ui"
+
+-- glProgramUniform1ui64ARB ----------------------------------------------------
+
+glProgramUniform1ui64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> m ()
+glProgramUniform1ui64ARB v1 v2 v3 = liftIO $ dyn634 ptr_glProgramUniform1ui64ARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1ui64ARB #-}
+ptr_glProgramUniform1ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
+ptr_glProgramUniform1ui64ARB = unsafePerformIO $ getCommand "glProgramUniform1ui64ARB"
+
+-- glProgramUniform1ui64NV -----------------------------------------------------
+
+glProgramUniform1ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> m ()
+glProgramUniform1ui64NV v1 v2 v3 = liftIO $ dyn635 ptr_glProgramUniform1ui64NV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1ui64NV #-}
+ptr_glProgramUniform1ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
+ptr_glProgramUniform1ui64NV = unsafePerformIO $ getCommand "glProgramUniform1ui64NV"
+
+-- glProgramUniform1ui64vARB ---------------------------------------------------
+
+glProgramUniform1ui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
+  -> m ()
+glProgramUniform1ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform1ui64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1ui64vARB #-}
+ptr_glProgramUniform1ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glProgramUniform1ui64vARB = unsafePerformIO $ getCommand "glProgramUniform1ui64vARB"
+
+-- glProgramUniform1ui64vNV ----------------------------------------------------
+
+glProgramUniform1ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count@ elements of type @GLuint64EXT@.
+  -> m ()
+glProgramUniform1ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform1ui64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1ui64vNV #-}
+ptr_glProgramUniform1ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glProgramUniform1ui64vNV = unsafePerformIO $ getCommand "glProgramUniform1ui64vNV"
+
+-- glProgramUniform1uiEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1ui'.
+glProgramUniform1uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> m ()
+glProgramUniform1uiEXT v1 v2 v3 = liftIO $ dyn633 ptr_glProgramUniform1uiEXT v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniform1uiEXT #-}
+ptr_glProgramUniform1uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
+ptr_glProgramUniform1uiEXT = unsafePerformIO $ getCommand "glProgramUniform1uiEXT"
+
+-- glProgramUniform1uiv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform1uiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glProgramUniform1uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform1uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1uiv #-}
+ptr_glProgramUniform1uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform1uiv = unsafePerformIO $ getCommand "glProgramUniform1uiv"
+
+-- glProgramUniform1uivEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform1uiv'.
+glProgramUniform1uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glProgramUniform1uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform1uivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform1uivEXT #-}
+ptr_glProgramUniform1uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform1uivEXT = unsafePerformIO $ getCommand "glProgramUniform1uivEXT"
+
+-- glProgramUniform2d ----------------------------------------------------------
+
+glProgramUniform2d
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @v0@.
+  -> GLdouble -- ^ @v1@.
+  -> m ()
+glProgramUniform2d v1 v2 v3 v4 = liftIO $ dyn637 ptr_glProgramUniform2d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2d #-}
+ptr_glProgramUniform2d :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramUniform2d = unsafePerformIO $ getCommand "glProgramUniform2d"
+
+-- glProgramUniform2dEXT -------------------------------------------------------
+
+glProgramUniform2dEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glProgramUniform2dEXT v1 v2 v3 v4 = liftIO $ dyn637 ptr_glProgramUniform2dEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2dEXT #-}
+ptr_glProgramUniform2dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramUniform2dEXT = unsafePerformIO $ getCommand "glProgramUniform2dEXT"
+
+-- glProgramUniform2dv ---------------------------------------------------------
+
+glProgramUniform2dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniform2dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform2dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2dv #-}
+ptr_glProgramUniform2dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform2dv = unsafePerformIO $ getCommand "glProgramUniform2dv"
+
+-- glProgramUniform2dvEXT ------------------------------------------------------
+
+glProgramUniform2dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniform2dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform2dvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2dvEXT #-}
+ptr_glProgramUniform2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform2dvEXT = unsafePerformIO $ getCommand "glProgramUniform2dvEXT"
+
+-- glProgramUniform2f ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform2f
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> m ()
+glProgramUniform2f v1 v2 v3 v4 = liftIO $ dyn638 ptr_glProgramUniform2f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2f #-}
+ptr_glProgramUniform2f :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramUniform2f = unsafePerformIO $ getCommand "glProgramUniform2f"
+
+-- glProgramUniform2fEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform2f'.
+glProgramUniform2fEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> m ()
+glProgramUniform2fEXT v1 v2 v3 v4 = liftIO $ dyn638 ptr_glProgramUniform2fEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2fEXT #-}
+ptr_glProgramUniform2fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramUniform2fEXT = unsafePerformIO $ getCommand "glProgramUniform2fEXT"
+
+-- glProgramUniform2fv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform2fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniform2fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform2fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2fv #-}
+ptr_glProgramUniform2fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform2fv = unsafePerformIO $ getCommand "glProgramUniform2fv"
+
+-- glProgramUniform2fvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform2fv'.
+glProgramUniform2fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniform2fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform2fvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2fvEXT #-}
+ptr_glProgramUniform2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform2fvEXT = unsafePerformIO $ getCommand "glProgramUniform2fvEXT"
+
+-- glProgramUniform2i ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform2i
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> m ()
+glProgramUniform2i v1 v2 v3 v4 = liftIO $ dyn639 ptr_glProgramUniform2i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2i #-}
+ptr_glProgramUniform2i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform2i = unsafePerformIO $ getCommand "glProgramUniform2i"
+
+-- glProgramUniform2i64ARB -----------------------------------------------------
+
+glProgramUniform2i64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> GLint64 -- ^ @y@.
+  -> m ()
+glProgramUniform2i64ARB v1 v2 v3 v4 = liftIO $ dyn640 ptr_glProgramUniform2i64ARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2i64ARB #-}
+ptr_glProgramUniform2i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> IO ())
+ptr_glProgramUniform2i64ARB = unsafePerformIO $ getCommand "glProgramUniform2i64ARB"
+
+-- glProgramUniform2i64NV ------------------------------------------------------
+
+glProgramUniform2i64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> m ()
+glProgramUniform2i64NV v1 v2 v3 v4 = liftIO $ dyn641 ptr_glProgramUniform2i64NV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2i64NV #-}
+ptr_glProgramUniform2i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glProgramUniform2i64NV = unsafePerformIO $ getCommand "glProgramUniform2i64NV"
+
+-- glProgramUniform2i64vARB ----------------------------------------------------
+
+glProgramUniform2i64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*2@ elements of type @GLint64@.
+  -> m ()
+glProgramUniform2i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform2i64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2i64vARB #-}
+ptr_glProgramUniform2i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glProgramUniform2i64vARB = unsafePerformIO $ getCommand "glProgramUniform2i64vARB"
+
+-- glProgramUniform2i64vNV -----------------------------------------------------
+
+glProgramUniform2i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLint64EXT@.
+  -> m ()
+glProgramUniform2i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform2i64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2i64vNV #-}
+ptr_glProgramUniform2i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glProgramUniform2i64vNV = unsafePerformIO $ getCommand "glProgramUniform2i64vNV"
+
+-- glProgramUniform2iEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform2i'.
+glProgramUniform2iEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> m ()
+glProgramUniform2iEXT v1 v2 v3 v4 = liftIO $ dyn639 ptr_glProgramUniform2iEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2iEXT #-}
+ptr_glProgramUniform2iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform2iEXT = unsafePerformIO $ getCommand "glProgramUniform2iEXT"
+
+-- glProgramUniform2iv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform2iv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @2@ elements of type @GLint@.
+  -> m ()
+glProgramUniform2iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform2iv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2iv #-}
+ptr_glProgramUniform2iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform2iv = unsafePerformIO $ getCommand "glProgramUniform2iv"
+
+-- glProgramUniform2ivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform2iv'.
+glProgramUniform2ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
+  -> m ()
+glProgramUniform2ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform2ivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2ivEXT #-}
+ptr_glProgramUniform2ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform2ivEXT = unsafePerformIO $ getCommand "glProgramUniform2ivEXT"
+
+-- glProgramUniform2ui ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform2ui
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> m ()
+glProgramUniform2ui v1 v2 v3 v4 = liftIO $ dyn642 ptr_glProgramUniform2ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2ui #-}
+ptr_glProgramUniform2ui :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
+ptr_glProgramUniform2ui = unsafePerformIO $ getCommand "glProgramUniform2ui"
+
+-- glProgramUniform2ui64ARB ----------------------------------------------------
+
+glProgramUniform2ui64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> GLuint64 -- ^ @y@.
+  -> m ()
+glProgramUniform2ui64ARB v1 v2 v3 v4 = liftIO $ dyn643 ptr_glProgramUniform2ui64ARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2ui64ARB #-}
+ptr_glProgramUniform2ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ())
+ptr_glProgramUniform2ui64ARB = unsafePerformIO $ getCommand "glProgramUniform2ui64ARB"
+
+-- glProgramUniform2ui64NV -----------------------------------------------------
+
+glProgramUniform2ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> m ()
+glProgramUniform2ui64NV v1 v2 v3 v4 = liftIO $ dyn644 ptr_glProgramUniform2ui64NV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2ui64NV #-}
+ptr_glProgramUniform2ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glProgramUniform2ui64NV = unsafePerformIO $ getCommand "glProgramUniform2ui64NV"
+
+-- glProgramUniform2ui64vARB ---------------------------------------------------
+
+glProgramUniform2ui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count*2@ elements of type @GLuint64@.
+  -> m ()
+glProgramUniform2ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform2ui64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2ui64vARB #-}
+ptr_glProgramUniform2ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glProgramUniform2ui64vARB = unsafePerformIO $ getCommand "glProgramUniform2ui64vARB"
+
+-- glProgramUniform2ui64vNV ----------------------------------------------------
+
+glProgramUniform2ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLuint64EXT@.
+  -> m ()
+glProgramUniform2ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform2ui64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2ui64vNV #-}
+ptr_glProgramUniform2ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glProgramUniform2ui64vNV = unsafePerformIO $ getCommand "glProgramUniform2ui64vNV"
+
+-- glProgramUniform2uiEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform2ui'.
+glProgramUniform2uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> m ()
+glProgramUniform2uiEXT v1 v2 v3 v4 = liftIO $ dyn642 ptr_glProgramUniform2uiEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2uiEXT #-}
+ptr_glProgramUniform2uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
+ptr_glProgramUniform2uiEXT = unsafePerformIO $ getCommand "glProgramUniform2uiEXT"
+
+-- glProgramUniform2uiv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform2uiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @2@ elements of type @GLuint@.
+  -> m ()
+glProgramUniform2uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform2uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2uiv #-}
+ptr_glProgramUniform2uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform2uiv = unsafePerformIO $ getCommand "glProgramUniform2uiv"
+
+-- glProgramUniform2uivEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform2uiv'.
+glProgramUniform2uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
+  -> m ()
+glProgramUniform2uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform2uivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform2uivEXT #-}
+ptr_glProgramUniform2uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform2uivEXT = unsafePerformIO $ getCommand "glProgramUniform2uivEXT"
+
+-- glProgramUniform3d ----------------------------------------------------------
+
+glProgramUniform3d
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @v0@.
+  -> GLdouble -- ^ @v1@.
+  -> GLdouble -- ^ @v2@.
+  -> m ()
+glProgramUniform3d v1 v2 v3 v4 v5 = liftIO $ dyn645 ptr_glProgramUniform3d v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3d #-}
+ptr_glProgramUniform3d :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramUniform3d = unsafePerformIO $ getCommand "glProgramUniform3d"
+
+-- glProgramUniform3dEXT -------------------------------------------------------
+
+glProgramUniform3dEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glProgramUniform3dEXT v1 v2 v3 v4 v5 = liftIO $ dyn645 ptr_glProgramUniform3dEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3dEXT #-}
+ptr_glProgramUniform3dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramUniform3dEXT = unsafePerformIO $ getCommand "glProgramUniform3dEXT"
+
+-- glProgramUniform3dv ---------------------------------------------------------
+
+glProgramUniform3dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniform3dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform3dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3dv #-}
+ptr_glProgramUniform3dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform3dv = unsafePerformIO $ getCommand "glProgramUniform3dv"
+
+-- glProgramUniform3dvEXT ------------------------------------------------------
+
+glProgramUniform3dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniform3dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform3dvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3dvEXT #-}
+ptr_glProgramUniform3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform3dvEXT = unsafePerformIO $ getCommand "glProgramUniform3dvEXT"
+
+-- glProgramUniform3f ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform3f
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> m ()
+glProgramUniform3f v1 v2 v3 v4 v5 = liftIO $ dyn646 ptr_glProgramUniform3f v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3f #-}
+ptr_glProgramUniform3f :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramUniform3f = unsafePerformIO $ getCommand "glProgramUniform3f"
+
+-- glProgramUniform3fEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform3f'.
+glProgramUniform3fEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> m ()
+glProgramUniform3fEXT v1 v2 v3 v4 v5 = liftIO $ dyn646 ptr_glProgramUniform3fEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3fEXT #-}
+ptr_glProgramUniform3fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramUniform3fEXT = unsafePerformIO $ getCommand "glProgramUniform3fEXT"
+
+-- glProgramUniform3fv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform3fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniform3fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform3fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3fv #-}
+ptr_glProgramUniform3fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform3fv = unsafePerformIO $ getCommand "glProgramUniform3fv"
+
+-- glProgramUniform3fvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform3fv'.
+glProgramUniform3fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniform3fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform3fvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3fvEXT #-}
+ptr_glProgramUniform3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform3fvEXT = unsafePerformIO $ getCommand "glProgramUniform3fvEXT"
+
+-- glProgramUniform3i ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform3i
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> m ()
+glProgramUniform3i v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glProgramUniform3i v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3i #-}
+ptr_glProgramUniform3i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform3i = unsafePerformIO $ getCommand "glProgramUniform3i"
+
+-- glProgramUniform3i64ARB -----------------------------------------------------
+
+glProgramUniform3i64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> GLint64 -- ^ @y@.
+  -> GLint64 -- ^ @z@.
+  -> m ()
+glProgramUniform3i64ARB v1 v2 v3 v4 v5 = liftIO $ dyn648 ptr_glProgramUniform3i64ARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3i64ARB #-}
+ptr_glProgramUniform3i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
+ptr_glProgramUniform3i64ARB = unsafePerformIO $ getCommand "glProgramUniform3i64ARB"
+
+-- glProgramUniform3i64NV ------------------------------------------------------
+
+glProgramUniform3i64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> GLint64EXT -- ^ @z@.
+  -> m ()
+glProgramUniform3i64NV v1 v2 v3 v4 v5 = liftIO $ dyn649 ptr_glProgramUniform3i64NV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3i64NV #-}
+ptr_glProgramUniform3i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glProgramUniform3i64NV = unsafePerformIO $ getCommand "glProgramUniform3i64NV"
+
+-- glProgramUniform3i64vARB ----------------------------------------------------
+
+glProgramUniform3i64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*3@ elements of type @GLint64@.
+  -> m ()
+glProgramUniform3i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform3i64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3i64vARB #-}
+ptr_glProgramUniform3i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glProgramUniform3i64vARB = unsafePerformIO $ getCommand "glProgramUniform3i64vARB"
+
+-- glProgramUniform3i64vNV -----------------------------------------------------
+
+glProgramUniform3i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLint64EXT@.
+  -> m ()
+glProgramUniform3i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform3i64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3i64vNV #-}
+ptr_glProgramUniform3i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glProgramUniform3i64vNV = unsafePerformIO $ getCommand "glProgramUniform3i64vNV"
+
+-- glProgramUniform3iEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform3i'.
+glProgramUniform3iEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> m ()
+glProgramUniform3iEXT v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glProgramUniform3iEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3iEXT #-}
+ptr_glProgramUniform3iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform3iEXT = unsafePerformIO $ getCommand "glProgramUniform3iEXT"
+
+-- glProgramUniform3iv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform3iv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glProgramUniform3iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform3iv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3iv #-}
+ptr_glProgramUniform3iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform3iv = unsafePerformIO $ getCommand "glProgramUniform3iv"
+
+-- glProgramUniform3ivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform3iv'.
+glProgramUniform3ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
+  -> m ()
+glProgramUniform3ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform3ivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3ivEXT #-}
+ptr_glProgramUniform3ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform3ivEXT = unsafePerformIO $ getCommand "glProgramUniform3ivEXT"
+
+-- glProgramUniform3ui ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform3ui
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> m ()
+glProgramUniform3ui v1 v2 v3 v4 v5 = liftIO $ dyn650 ptr_glProgramUniform3ui v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3ui #-}
+ptr_glProgramUniform3ui :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glProgramUniform3ui = unsafePerformIO $ getCommand "glProgramUniform3ui"
+
+-- glProgramUniform3ui64ARB ----------------------------------------------------
+
+glProgramUniform3ui64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> GLuint64 -- ^ @y@.
+  -> GLuint64 -- ^ @z@.
+  -> m ()
+glProgramUniform3ui64ARB v1 v2 v3 v4 v5 = liftIO $ dyn651 ptr_glProgramUniform3ui64ARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3ui64ARB #-}
+ptr_glProgramUniform3ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+ptr_glProgramUniform3ui64ARB = unsafePerformIO $ getCommand "glProgramUniform3ui64ARB"
+
+-- glProgramUniform3ui64NV -----------------------------------------------------
+
+glProgramUniform3ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> GLuint64EXT -- ^ @z@.
+  -> m ()
+glProgramUniform3ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn652 ptr_glProgramUniform3ui64NV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3ui64NV #-}
+ptr_glProgramUniform3ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glProgramUniform3ui64NV = unsafePerformIO $ getCommand "glProgramUniform3ui64NV"
+
+-- glProgramUniform3ui64vARB ---------------------------------------------------
+
+glProgramUniform3ui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count*3@ elements of type @GLuint64@.
+  -> m ()
+glProgramUniform3ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform3ui64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3ui64vARB #-}
+ptr_glProgramUniform3ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glProgramUniform3ui64vARB = unsafePerformIO $ getCommand "glProgramUniform3ui64vARB"
+
+-- glProgramUniform3ui64vNV ----------------------------------------------------
+
+glProgramUniform3ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLuint64EXT@.
+  -> m ()
+glProgramUniform3ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform3ui64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3ui64vNV #-}
+ptr_glProgramUniform3ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glProgramUniform3ui64vNV = unsafePerformIO $ getCommand "glProgramUniform3ui64vNV"
+
+-- glProgramUniform3uiEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform3ui'.
+glProgramUniform3uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> m ()
+glProgramUniform3uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn650 ptr_glProgramUniform3uiEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniform3uiEXT #-}
+ptr_glProgramUniform3uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glProgramUniform3uiEXT = unsafePerformIO $ getCommand "glProgramUniform3uiEXT"
+
+-- glProgramUniform3uiv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform3uiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @3@ elements of type @GLuint@.
+  -> m ()
+glProgramUniform3uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform3uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3uiv #-}
+ptr_glProgramUniform3uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform3uiv = unsafePerformIO $ getCommand "glProgramUniform3uiv"
+
+-- glProgramUniform3uivEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform3uiv'.
+glProgramUniform3uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
+  -> m ()
+glProgramUniform3uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform3uivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform3uivEXT #-}
+ptr_glProgramUniform3uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform3uivEXT = unsafePerformIO $ getCommand "glProgramUniform3uivEXT"
+
+-- glProgramUniform4d ----------------------------------------------------------
+
+glProgramUniform4d
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @v0@.
+  -> GLdouble -- ^ @v1@.
+  -> GLdouble -- ^ @v2@.
+  -> GLdouble -- ^ @v3@.
+  -> m ()
+glProgramUniform4d v1 v2 v3 v4 v5 v6 = liftIO $ dyn653 ptr_glProgramUniform4d v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4d #-}
+ptr_glProgramUniform4d :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramUniform4d = unsafePerformIO $ getCommand "glProgramUniform4d"
+
+-- glProgramUniform4dEXT -------------------------------------------------------
+
+glProgramUniform4dEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glProgramUniform4dEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn653 ptr_glProgramUniform4dEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4dEXT #-}
+ptr_glProgramUniform4dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glProgramUniform4dEXT = unsafePerformIO $ getCommand "glProgramUniform4dEXT"
+
+-- glProgramUniform4dv ---------------------------------------------------------
+
+glProgramUniform4dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniform4dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform4dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4dv #-}
+ptr_glProgramUniform4dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform4dv = unsafePerformIO $ getCommand "glProgramUniform4dv"
+
+-- glProgramUniform4dvEXT ------------------------------------------------------
+
+glProgramUniform4dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniform4dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform4dvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4dvEXT #-}
+ptr_glProgramUniform4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glProgramUniform4dvEXT = unsafePerformIO $ getCommand "glProgramUniform4dvEXT"
+
+-- glProgramUniform4f ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform4f
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> GLfloat -- ^ @v3@.
+  -> m ()
+glProgramUniform4f v1 v2 v3 v4 v5 v6 = liftIO $ dyn654 ptr_glProgramUniform4f v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4f #-}
+ptr_glProgramUniform4f :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramUniform4f = unsafePerformIO $ getCommand "glProgramUniform4f"
+
+-- glProgramUniform4fEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform4f'.
+glProgramUniform4fEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> GLfloat -- ^ @v3@.
+  -> m ()
+glProgramUniform4fEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn654 ptr_glProgramUniform4fEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4fEXT #-}
+ptr_glProgramUniform4fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glProgramUniform4fEXT = unsafePerformIO $ getCommand "glProgramUniform4fEXT"
+
+-- glProgramUniform4fv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform4fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniform4fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform4fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4fv #-}
+ptr_glProgramUniform4fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform4fv = unsafePerformIO $ getCommand "glProgramUniform4fv"
+
+-- glProgramUniform4fvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform4fv'.
+glProgramUniform4fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniform4fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform4fvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4fvEXT #-}
+ptr_glProgramUniform4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glProgramUniform4fvEXT = unsafePerformIO $ getCommand "glProgramUniform4fvEXT"
+
+-- glProgramUniform4i ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform4i
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> GLint -- ^ @v3@.
+  -> m ()
+glProgramUniform4i v1 v2 v3 v4 v5 v6 = liftIO $ dyn655 ptr_glProgramUniform4i v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4i #-}
+ptr_glProgramUniform4i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform4i = unsafePerformIO $ getCommand "glProgramUniform4i"
+
+-- glProgramUniform4i64ARB -----------------------------------------------------
+
+glProgramUniform4i64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> GLint64 -- ^ @y@.
+  -> GLint64 -- ^ @z@.
+  -> GLint64 -- ^ @w@.
+  -> m ()
+glProgramUniform4i64ARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn656 ptr_glProgramUniform4i64ARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4i64ARB #-}
+ptr_glProgramUniform4i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
+ptr_glProgramUniform4i64ARB = unsafePerformIO $ getCommand "glProgramUniform4i64ARB"
+
+-- glProgramUniform4i64NV ------------------------------------------------------
+
+glProgramUniform4i64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> GLint64EXT -- ^ @z@.
+  -> GLint64EXT -- ^ @w@.
+  -> m ()
+glProgramUniform4i64NV v1 v2 v3 v4 v5 v6 = liftIO $ dyn657 ptr_glProgramUniform4i64NV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4i64NV #-}
+ptr_glProgramUniform4i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glProgramUniform4i64NV = unsafePerformIO $ getCommand "glProgramUniform4i64NV"
+
+-- glProgramUniform4i64vARB ----------------------------------------------------
+
+glProgramUniform4i64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*4@ elements of type @GLint64@.
+  -> m ()
+glProgramUniform4i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform4i64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4i64vARB #-}
+ptr_glProgramUniform4i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glProgramUniform4i64vARB = unsafePerformIO $ getCommand "glProgramUniform4i64vARB"
+
+-- glProgramUniform4i64vNV -----------------------------------------------------
+
+glProgramUniform4i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLint64EXT@.
+  -> m ()
+glProgramUniform4i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform4i64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4i64vNV #-}
+ptr_glProgramUniform4i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glProgramUniform4i64vNV = unsafePerformIO $ getCommand "glProgramUniform4i64vNV"
+
+-- glProgramUniform4iEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform4i'.
+glProgramUniform4iEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> GLint -- ^ @v3@.
+  -> m ()
+glProgramUniform4iEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn655 ptr_glProgramUniform4iEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4iEXT #-}
+ptr_glProgramUniform4iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glProgramUniform4iEXT = unsafePerformIO $ getCommand "glProgramUniform4iEXT"
+
+-- glProgramUniform4iv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform4iv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glProgramUniform4iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform4iv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4iv #-}
+ptr_glProgramUniform4iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform4iv = unsafePerformIO $ getCommand "glProgramUniform4iv"
+
+-- glProgramUniform4ivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform4iv'.
+glProgramUniform4ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
+  -> m ()
+glProgramUniform4ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform4ivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4ivEXT #-}
+ptr_glProgramUniform4ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glProgramUniform4ivEXT = unsafePerformIO $ getCommand "glProgramUniform4ivEXT"
+
+-- glProgramUniform4ui ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform4ui
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> GLuint -- ^ @v3@.
+  -> m ()
+glProgramUniform4ui v1 v2 v3 v4 v5 v6 = liftIO $ dyn658 ptr_glProgramUniform4ui v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4ui #-}
+ptr_glProgramUniform4ui :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glProgramUniform4ui = unsafePerformIO $ getCommand "glProgramUniform4ui"
+
+-- glProgramUniform4ui64ARB ----------------------------------------------------
+
+glProgramUniform4ui64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> GLuint64 -- ^ @y@.
+  -> GLuint64 -- ^ @z@.
+  -> GLuint64 -- ^ @w@.
+  -> m ()
+glProgramUniform4ui64ARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn659 ptr_glProgramUniform4ui64ARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4ui64ARB #-}
+ptr_glProgramUniform4ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+ptr_glProgramUniform4ui64ARB = unsafePerformIO $ getCommand "glProgramUniform4ui64ARB"
+
+-- glProgramUniform4ui64NV -----------------------------------------------------
+
+glProgramUniform4ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> GLuint64EXT -- ^ @z@.
+  -> GLuint64EXT -- ^ @w@.
+  -> m ()
+glProgramUniform4ui64NV v1 v2 v3 v4 v5 v6 = liftIO $ dyn660 ptr_glProgramUniform4ui64NV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4ui64NV #-}
+ptr_glProgramUniform4ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glProgramUniform4ui64NV = unsafePerformIO $ getCommand "glProgramUniform4ui64NV"
+
+-- glProgramUniform4ui64vARB ---------------------------------------------------
+
+glProgramUniform4ui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count*4@ elements of type @GLuint64@.
+  -> m ()
+glProgramUniform4ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform4ui64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4ui64vARB #-}
+ptr_glProgramUniform4ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glProgramUniform4ui64vARB = unsafePerformIO $ getCommand "glProgramUniform4ui64vARB"
+
+-- glProgramUniform4ui64vNV ----------------------------------------------------
+
+glProgramUniform4ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLuint64EXT@.
+  -> m ()
+glProgramUniform4ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform4ui64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4ui64vNV #-}
+ptr_glProgramUniform4ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glProgramUniform4ui64vNV = unsafePerformIO $ getCommand "glProgramUniform4ui64vNV"
+
+-- glProgramUniform4uiEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform4ui'.
+glProgramUniform4uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> GLuint -- ^ @v3@.
+  -> m ()
+glProgramUniform4uiEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn658 ptr_glProgramUniform4uiEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glProgramUniform4uiEXT #-}
+ptr_glProgramUniform4uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glProgramUniform4uiEXT = unsafePerformIO $ getCommand "glProgramUniform4uiEXT"
+
+-- glProgramUniform4uiv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniform4uiv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glProgramUniform4uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform4uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4uiv #-}
+ptr_glProgramUniform4uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform4uiv = unsafePerformIO $ getCommand "glProgramUniform4uiv"
+
+-- glProgramUniform4uivEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniform4uiv'.
+glProgramUniform4uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
+  -> m ()
+glProgramUniform4uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform4uivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniform4uivEXT #-}
+ptr_glProgramUniform4uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glProgramUniform4uivEXT = unsafePerformIO $ getCommand "glProgramUniform4uivEXT"
+
+-- glProgramUniformHandleui64ARB -----------------------------------------------
+
+glProgramUniformHandleui64ARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64 -- ^ @value@.
+  -> m ()
+glProgramUniformHandleui64ARB v1 v2 v3 = liftIO $ dyn634 ptr_glProgramUniformHandleui64ARB v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniformHandleui64ARB #-}
+ptr_glProgramUniformHandleui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
+ptr_glProgramUniformHandleui64ARB = unsafePerformIO $ getCommand "glProgramUniformHandleui64ARB"
+
+-- glProgramUniformHandleui64NV ------------------------------------------------
+
+glProgramUniformHandleui64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64 -- ^ @value@.
+  -> m ()
+glProgramUniformHandleui64NV v1 v2 v3 = liftIO $ dyn634 ptr_glProgramUniformHandleui64NV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniformHandleui64NV #-}
+ptr_glProgramUniformHandleui64NV :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
+ptr_glProgramUniformHandleui64NV = unsafePerformIO $ getCommand "glProgramUniformHandleui64NV"
+
+-- glProgramUniformHandleui64vARB ----------------------------------------------
+
+glProgramUniformHandleui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @values@ pointing to @count@ elements of type @GLuint64@.
+  -> m ()
+glProgramUniformHandleui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniformHandleui64vARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniformHandleui64vARB #-}
+ptr_glProgramUniformHandleui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glProgramUniformHandleui64vARB = unsafePerformIO $ getCommand "glProgramUniformHandleui64vARB"
+
+-- glProgramUniformHandleui64vNV -----------------------------------------------
+
+glProgramUniformHandleui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @values@ pointing to @count@ elements of type @GLuint64@.
+  -> m ()
+glProgramUniformHandleui64vNV v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniformHandleui64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniformHandleui64vNV #-}
+ptr_glProgramUniformHandleui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glProgramUniformHandleui64vNV = unsafePerformIO $ getCommand "glProgramUniformHandleui64vNV"
+
+-- glProgramUniformMatrix2dv ---------------------------------------------------
+
+glProgramUniformMatrix2dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2dv #-}
+ptr_glProgramUniformMatrix2dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2dv"
+
+-- glProgramUniformMatrix2dvEXT ------------------------------------------------
+
+glProgramUniformMatrix2dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2dvEXT #-}
+ptr_glProgramUniformMatrix2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2dvEXT"
+
+-- glProgramUniformMatrix2fv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix2fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2fv #-}
+ptr_glProgramUniformMatrix2fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2fv"
+
+-- glProgramUniformMatrix2fvEXT ------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix2fv'.
+glProgramUniformMatrix2fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2fvEXT #-}
+ptr_glProgramUniformMatrix2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2fvEXT"
+
+-- glProgramUniformMatrix2x3dv -------------------------------------------------
+
+glProgramUniformMatrix2x3dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2x3dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x3dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x3dv #-}
+ptr_glProgramUniformMatrix2x3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2x3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3dv"
+
+-- glProgramUniformMatrix2x3dvEXT ----------------------------------------------
+
+glProgramUniformMatrix2x3dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2x3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x3dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x3dvEXT #-}
+ptr_glProgramUniformMatrix2x3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2x3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3dvEXT"
+
+-- glProgramUniformMatrix2x3fv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix2x3fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2x3fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x3fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x3fv #-}
+ptr_glProgramUniformMatrix2x3fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2x3fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3fv"
+
+-- glProgramUniformMatrix2x3fvEXT ----------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix2x3fv'.
+glProgramUniformMatrix2x3fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2x3fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x3fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x3fvEXT #-}
+ptr_glProgramUniformMatrix2x3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2x3fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3fvEXT"
+
+-- glProgramUniformMatrix2x4dv -------------------------------------------------
+
+glProgramUniformMatrix2x4dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4dv #-}
+ptr_glProgramUniformMatrix2x4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2x4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dv"
+
+-- glProgramUniformMatrix2x4dvEXT ----------------------------------------------
+
+glProgramUniformMatrix2x4dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4dvEXT #-}
+ptr_glProgramUniformMatrix2x4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix2x4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dvEXT"
+
+-- glProgramUniformMatrix2x4fv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix2x4fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4fv #-}
+ptr_glProgramUniformMatrix2x4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2x4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fv"
+
+-- glProgramUniformMatrix2x4fvEXT ----------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix2x4fv'.
+glProgramUniformMatrix2x4fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix2x4fvEXT #-}
+ptr_glProgramUniformMatrix2x4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix2x4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fvEXT"
+
+-- glProgramUniformMatrix3dv ---------------------------------------------------
+
+glProgramUniformMatrix3dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3dv #-}
+ptr_glProgramUniformMatrix3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3dv"
+
+-- glProgramUniformMatrix3dvEXT ------------------------------------------------
+
+glProgramUniformMatrix3dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3dvEXT #-}
+ptr_glProgramUniformMatrix3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3dvEXT"
+
+-- glProgramUniformMatrix3fv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix3fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix3fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3fv #-}
+ptr_glProgramUniformMatrix3fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix3fv = unsafePerformIO $ getCommand "glProgramUniformMatrix3fv"
+
+-- glProgramUniformMatrix3fvEXT ------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix3fv'.
+glProgramUniformMatrix3fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix3fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3fvEXT #-}
+ptr_glProgramUniformMatrix3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix3fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3fvEXT"
+
+-- glProgramUniformMatrix3x2dv -------------------------------------------------
+
+glProgramUniformMatrix3x2dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3x2dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x2dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x2dv #-}
+ptr_glProgramUniformMatrix3x2dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3x2dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2dv"
+
+-- glProgramUniformMatrix3x2dvEXT ----------------------------------------------
+
+glProgramUniformMatrix3x2dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3x2dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x2dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x2dvEXT #-}
+ptr_glProgramUniformMatrix3x2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3x2dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2dvEXT"
+
+-- glProgramUniformMatrix3x2fv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix3x2fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix3x2fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x2fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x2fv #-}
+ptr_glProgramUniformMatrix3x2fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix3x2fv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2fv"
+
+-- glProgramUniformMatrix3x2fvEXT ----------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix3x2fv'.
+glProgramUniformMatrix3x2fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix3x2fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x2fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x2fvEXT #-}
+ptr_glProgramUniformMatrix3x2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix3x2fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2fvEXT"
+
+-- glProgramUniformMatrix3x4dv -------------------------------------------------
+
+glProgramUniformMatrix3x4dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3x4dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x4dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x4dv #-}
+ptr_glProgramUniformMatrix3x4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3x4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4dv"
+
+-- glProgramUniformMatrix3x4dvEXT ----------------------------------------------
+
+glProgramUniformMatrix3x4dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix3x4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x4dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x4dvEXT #-}
+ptr_glProgramUniformMatrix3x4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix3x4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4dvEXT"
+
+-- glProgramUniformMatrix3x4fv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix3x4fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix3x4fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x4fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x4fv #-}
+ptr_glProgramUniformMatrix3x4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix3x4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4fv"
+
+-- glProgramUniformMatrix3x4fvEXT ----------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix3x4fv'.
+glProgramUniformMatrix3x4fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix3x4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x4fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix3x4fvEXT #-}
+ptr_glProgramUniformMatrix3x4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix3x4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4fvEXT"
+
+-- glProgramUniformMatrix4dv ---------------------------------------------------
+
+glProgramUniformMatrix4dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix4dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4dv #-}
+ptr_glProgramUniformMatrix4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix4dv"
+
+-- glProgramUniformMatrix4dvEXT ------------------------------------------------
+
+glProgramUniformMatrix4dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4dvEXT #-}
+ptr_glProgramUniformMatrix4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4dvEXT"
+
+-- glProgramUniformMatrix4fv ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix4fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix4fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4fv #-}
+ptr_glProgramUniformMatrix4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix4fv"
+
+-- glProgramUniformMatrix4fvEXT ------------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix4fv'.
+glProgramUniformMatrix4fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4fvEXT #-}
+ptr_glProgramUniformMatrix4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4fvEXT"
+
+-- glProgramUniformMatrix4x2dv -------------------------------------------------
+
+glProgramUniformMatrix4x2dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix4x2dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x2dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x2dv #-}
+ptr_glProgramUniformMatrix4x2dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix4x2dv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2dv"
+
+-- glProgramUniformMatrix4x2dvEXT ----------------------------------------------
+
+glProgramUniformMatrix4x2dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix4x2dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x2dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x2dvEXT #-}
+ptr_glProgramUniformMatrix4x2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix4x2dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2dvEXT"
+
+-- glProgramUniformMatrix4x2fv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix4x2fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix4x2fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x2fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x2fv #-}
+ptr_glProgramUniformMatrix4x2fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix4x2fv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2fv"
+
+-- glProgramUniformMatrix4x2fvEXT ----------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix4x2fv'.
+glProgramUniformMatrix4x2fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix4x2fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x2fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x2fvEXT #-}
+ptr_glProgramUniformMatrix4x2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix4x2fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2fvEXT"
+
+-- glProgramUniformMatrix4x3dv -------------------------------------------------
+
+glProgramUniformMatrix4x3dv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix4x3dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x3dv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x3dv #-}
+ptr_glProgramUniformMatrix4x3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix4x3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3dv"
+
+-- glProgramUniformMatrix4x3dvEXT ----------------------------------------------
+
+glProgramUniformMatrix4x3dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glProgramUniformMatrix4x3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x3dvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x3dvEXT #-}
+ptr_glProgramUniformMatrix4x3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glProgramUniformMatrix4x3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3dvEXT"
+
+-- glProgramUniformMatrix4x3fv -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
+glProgramUniformMatrix4x3fv
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix4x3fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x3fv v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x3fv #-}
+ptr_glProgramUniformMatrix4x3fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix4x3fv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3fv"
+
+-- glProgramUniformMatrix4x3fvEXT ----------------------------------------------
+
+-- | This command is an alias for 'glProgramUniformMatrix4x3fv'.
+glProgramUniformMatrix4x3fvEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
+  -> m ()
+glProgramUniformMatrix4x3fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x3fvEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glProgramUniformMatrix4x3fvEXT #-}
+ptr_glProgramUniformMatrix4x3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glProgramUniformMatrix4x3fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3fvEXT"
+
+-- glProgramUniformui64NV ------------------------------------------------------
+
+glProgramUniformui64NV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @value@.
+  -> m ()
+glProgramUniformui64NV v1 v2 v3 = liftIO $ dyn635 ptr_glProgramUniformui64NV v1 v2 v3
+
+{-# NOINLINE ptr_glProgramUniformui64NV #-}
+ptr_glProgramUniformui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
+ptr_glProgramUniformui64NV = unsafePerformIO $ getCommand "glProgramUniformui64NV"
+
+-- glProgramUniformui64vNV -----------------------------------------------------
+
+glProgramUniformui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count@ elements of type @GLuint64EXT@.
+  -> m ()
+glProgramUniformui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniformui64vNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glProgramUniformui64vNV #-}
+ptr_glProgramUniformui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glProgramUniformui64vNV = unsafePerformIO $ getCommand "glProgramUniformui64vNV"
+
+-- glProgramVertexLimitNV ------------------------------------------------------
+
+glProgramVertexLimitNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @ProgramTarget@.
+  -> GLint -- ^ @limit@.
+  -> m ()
+glProgramVertexLimitNV v1 v2 = liftIO $ dyn55 ptr_glProgramVertexLimitNV v1 v2
+
+{-# NOINLINE ptr_glProgramVertexLimitNV #-}
+ptr_glProgramVertexLimitNV :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glProgramVertexLimitNV = unsafePerformIO $ getCommand "glProgramVertexLimitNV"
+
+-- glProvokingVertex -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glProvokingVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glProvokingVertex.xhtml OpenGL 4.x>.
+glProvokingVertex
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> m ()
+glProvokingVertex v1 = liftIO $ dyn4 ptr_glProvokingVertex v1
+
+{-# NOINLINE ptr_glProvokingVertex #-}
+ptr_glProvokingVertex :: FunPtr (GLenum -> IO ())
+ptr_glProvokingVertex = unsafePerformIO $ getCommand "glProvokingVertex"
+
+-- glProvokingVertexEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glProvokingVertex'.
+glProvokingVertexEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> m ()
+glProvokingVertexEXT v1 = liftIO $ dyn4 ptr_glProvokingVertexEXT v1
+
+{-# NOINLINE ptr_glProvokingVertexEXT #-}
+ptr_glProvokingVertexEXT :: FunPtr (GLenum -> IO ())
+ptr_glProvokingVertexEXT = unsafePerformIO $ getCommand "glProvokingVertexEXT"
+
+-- glPushAttrib ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushAttrib.xml OpenGL 2.x>.
+glPushAttrib
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@ of type [AttribMask](Graphics-GL-Groups.html#AttribMask).
+  -> m ()
+glPushAttrib v1 = liftIO $ dyn69 ptr_glPushAttrib v1
+
+{-# NOINLINE ptr_glPushAttrib #-}
+ptr_glPushAttrib :: FunPtr (GLbitfield -> IO ())
+ptr_glPushAttrib = unsafePerformIO $ getCommand "glPushAttrib"
+
+-- glPushClientAttrib ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushClientAttrib.xml OpenGL 2.x>.
+glPushClientAttrib
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@ of type [ClientAttribMask](Graphics-GL-Groups.html#ClientAttribMask).
+  -> m ()
+glPushClientAttrib v1 = liftIO $ dyn69 ptr_glPushClientAttrib v1
+
+{-# NOINLINE ptr_glPushClientAttrib #-}
+ptr_glPushClientAttrib :: FunPtr (GLbitfield -> IO ())
+ptr_glPushClientAttrib = unsafePerformIO $ getCommand "glPushClientAttrib"
+
+-- glPushClientAttribDefaultEXT ------------------------------------------------
+
+glPushClientAttribDefaultEXT
+  :: MonadIO m
+  => GLbitfield -- ^ @mask@ of type [ClientAttribMask](Graphics-GL-Groups.html#ClientAttribMask).
+  -> m ()
+glPushClientAttribDefaultEXT v1 = liftIO $ dyn69 ptr_glPushClientAttribDefaultEXT v1
+
+{-# NOINLINE ptr_glPushClientAttribDefaultEXT #-}
+ptr_glPushClientAttribDefaultEXT :: FunPtr (GLbitfield -> IO ())
+ptr_glPushClientAttribDefaultEXT = unsafePerformIO $ getCommand "glPushClientAttribDefaultEXT"
+
+-- glPushDebugGroup ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPushDebugGroup.xhtml OpenGL 4.x>.
+glPushDebugGroup
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLuint -- ^ @id@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @message@ pointing to @COMPSIZE(message,length)@ elements of type @GLchar@.
+  -> m ()
+glPushDebugGroup v1 v2 v3 v4 = liftIO $ dyn480 ptr_glPushDebugGroup v1 v2 v3 v4
+
+{-# NOINLINE ptr_glPushDebugGroup #-}
+ptr_glPushDebugGroup :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glPushDebugGroup = unsafePerformIO $ getCommand "glPushDebugGroup"
+
+-- glPushDebugGroupKHR ---------------------------------------------------------
+
+-- | This command is an alias for 'glPushDebugGroup'.
+glPushDebugGroupKHR
+  :: MonadIO m
+  => GLenum -- ^ @source@.
+  -> GLuint -- ^ @id@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @message@.
+  -> m ()
+glPushDebugGroupKHR v1 v2 v3 v4 = liftIO $ dyn480 ptr_glPushDebugGroupKHR v1 v2 v3 v4
+
+{-# NOINLINE ptr_glPushDebugGroupKHR #-}
+ptr_glPushDebugGroupKHR :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
+ptr_glPushDebugGroupKHR = unsafePerformIO $ getCommand "glPushDebugGroupKHR"
+
+-- glPushGroupMarkerEXT --------------------------------------------------------
+
+glPushGroupMarkerEXT
+  :: MonadIO m
+  => GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @marker@.
+  -> m ()
+glPushGroupMarkerEXT v1 v2 = liftIO $ dyn465 ptr_glPushGroupMarkerEXT v1 v2
+
+{-# NOINLINE ptr_glPushGroupMarkerEXT #-}
+ptr_glPushGroupMarkerEXT :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
+ptr_glPushGroupMarkerEXT = unsafePerformIO $ getCommand "glPushGroupMarkerEXT"
+
+-- glPushMatrix ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushMatrix.xml OpenGL 2.x>.
+glPushMatrix
+  :: MonadIO m
+  => m ()
+glPushMatrix = liftIO $ dyn10 ptr_glPushMatrix
+
+{-# NOINLINE ptr_glPushMatrix #-}
+ptr_glPushMatrix :: FunPtr (IO ())
+ptr_glPushMatrix = unsafePerformIO $ getCommand "glPushMatrix"
+
+-- glPushName ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushName.xml OpenGL 2.x>.
+glPushName
+  :: MonadIO m
+  => GLuint -- ^ @name@ of type @SelectName@.
+  -> m ()
+glPushName v1 = liftIO $ dyn2 ptr_glPushName v1
+
+{-# NOINLINE ptr_glPushName #-}
+ptr_glPushName :: FunPtr (GLuint -> IO ())
+ptr_glPushName = unsafePerformIO $ getCommand "glPushName"
+
+-- glQueryCounter --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glQueryCounter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glQueryCounter.xhtml OpenGL 4.x>.
+glQueryCounter
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @target@.
+  -> m ()
+glQueryCounter v1 v2 = liftIO $ dyn15 ptr_glQueryCounter v1 v2
+
+{-# NOINLINE ptr_glQueryCounter #-}
+ptr_glQueryCounter :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glQueryCounter = unsafePerformIO $ getCommand "glQueryCounter"
+
+-- glQueryCounterEXT -----------------------------------------------------------
+
+-- | This command is an alias for 'glQueryCounter'.
+glQueryCounterEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @target@.
+  -> m ()
+glQueryCounterEXT v1 v2 = liftIO $ dyn15 ptr_glQueryCounterEXT v1 v2
+
+{-# NOINLINE ptr_glQueryCounterEXT #-}
+ptr_glQueryCounterEXT :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glQueryCounterEXT = unsafePerformIO $ getCommand "glQueryCounterEXT"
+
+-- glQueryMatrixxOES -----------------------------------------------------------
+
+glQueryMatrixxOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @mantissa@ pointing to @16@ elements of type @GLfixed@.
+  -> Ptr GLint -- ^ @exponent@ pointing to @16@ elements of type @GLint@.
+  -> m GLbitfield
+glQueryMatrixxOES v1 v2 = liftIO $ dyn663 ptr_glQueryMatrixxOES v1 v2
+
+{-# NOINLINE ptr_glQueryMatrixxOES #-}
+ptr_glQueryMatrixxOES :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield)
+ptr_glQueryMatrixxOES = unsafePerformIO $ getCommand "glQueryMatrixxOES"
+
+-- glQueryObjectParameteruiAMD -------------------------------------------------
+
+glQueryObjectParameteruiAMD
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLuint -- ^ @id@.
+  -> GLenum -- ^ @pname@.
+  -> GLuint -- ^ @param@ of type [OcclusionQueryEventMaskAMD](Graphics-GL-Groups.html#OcclusionQueryEventMaskAMD).
+  -> m ()
+glQueryObjectParameteruiAMD v1 v2 v3 v4 = liftIO $ dyn664 ptr_glQueryObjectParameteruiAMD v1 v2 v3 v4
+
+{-# NOINLINE ptr_glQueryObjectParameteruiAMD #-}
+ptr_glQueryObjectParameteruiAMD :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ())
+ptr_glQueryObjectParameteruiAMD = unsafePerformIO $ getCommand "glQueryObjectParameteruiAMD"
+
+-- glRasterPos2d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2dv'.
+glRasterPos2d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> m ()
+glRasterPos2d v1 v2 = liftIO $ dyn216 ptr_glRasterPos2d v1 v2
+
+{-# NOINLINE ptr_glRasterPos2d #-}
+ptr_glRasterPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glRasterPos2d = unsafePerformIO $ getCommand "glRasterPos2d"
+
+-- glRasterPos2dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos2dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glRasterPos2dv v1 = liftIO $ dyn39 ptr_glRasterPos2dv v1
+
+{-# NOINLINE ptr_glRasterPos2dv #-}
+ptr_glRasterPos2dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glRasterPos2dv = unsafePerformIO $ getCommand "glRasterPos2dv"
+
+-- glRasterPos2f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2fv'.
+glRasterPos2f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> m ()
+glRasterPos2f v1 v2 = liftIO $ dyn221 ptr_glRasterPos2f v1 v2
+
+{-# NOINLINE ptr_glRasterPos2f #-}
+ptr_glRasterPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glRasterPos2f = unsafePerformIO $ getCommand "glRasterPos2f"
+
+-- glRasterPos2fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos2fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glRasterPos2fv v1 = liftIO $ dyn41 ptr_glRasterPos2fv v1
+
+{-# NOINLINE ptr_glRasterPos2fv #-}
+ptr_glRasterPos2fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glRasterPos2fv = unsafePerformIO $ getCommand "glRasterPos2fv"
+
+-- glRasterPos2i ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2iv'.
+glRasterPos2i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> m ()
+glRasterPos2i v1 v2 = liftIO $ dyn265 ptr_glRasterPos2i v1 v2
+
+{-# NOINLINE ptr_glRasterPos2i #-}
+ptr_glRasterPos2i :: FunPtr (GLint -> GLint -> IO ())
+ptr_glRasterPos2i = unsafePerformIO $ getCommand "glRasterPos2i"
+
+-- glRasterPos2iv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos2iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glRasterPos2iv v1 = liftIO $ dyn43 ptr_glRasterPos2iv v1
+
+{-# NOINLINE ptr_glRasterPos2iv #-}
+ptr_glRasterPos2iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glRasterPos2iv = unsafePerformIO $ getCommand "glRasterPos2iv"
+
+-- glRasterPos2s ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2sv'.
+glRasterPos2s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> m ()
+glRasterPos2s v1 v2 = liftIO $ dyn665 ptr_glRasterPos2s v1 v2
+
+{-# NOINLINE ptr_glRasterPos2s #-}
+ptr_glRasterPos2s :: FunPtr (GLshort -> GLshort -> IO ())
+ptr_glRasterPos2s = unsafePerformIO $ getCommand "glRasterPos2s"
+
+-- glRasterPos2sv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos2sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glRasterPos2sv v1 = liftIO $ dyn45 ptr_glRasterPos2sv v1
+
+{-# NOINLINE ptr_glRasterPos2sv #-}
+ptr_glRasterPos2sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glRasterPos2sv = unsafePerformIO $ getCommand "glRasterPos2sv"
+
+-- glRasterPos2xOES ------------------------------------------------------------
+
+glRasterPos2xOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> m ()
+glRasterPos2xOES v1 v2 = liftIO $ dyn223 ptr_glRasterPos2xOES v1 v2
+
+{-# NOINLINE ptr_glRasterPos2xOES #-}
+ptr_glRasterPos2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glRasterPos2xOES = unsafePerformIO $ getCommand "glRasterPos2xOES"
+
+-- glRasterPos2xvOES -----------------------------------------------------------
+
+glRasterPos2xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
+  -> m ()
+glRasterPos2xvOES v1 = liftIO $ dyn106 ptr_glRasterPos2xvOES v1
+
+{-# NOINLINE ptr_glRasterPos2xvOES #-}
+ptr_glRasterPos2xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glRasterPos2xvOES = unsafePerformIO $ getCommand "glRasterPos2xvOES"
+
+-- glRasterPos3d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3dv'.
+glRasterPos3d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glRasterPos3d v1 v2 v3 = liftIO $ dyn38 ptr_glRasterPos3d v1 v2 v3
+
+{-# NOINLINE ptr_glRasterPos3d #-}
+ptr_glRasterPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glRasterPos3d = unsafePerformIO $ getCommand "glRasterPos3d"
+
+-- glRasterPos3dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glRasterPos3dv v1 = liftIO $ dyn39 ptr_glRasterPos3dv v1
+
+{-# NOINLINE ptr_glRasterPos3dv #-}
+ptr_glRasterPos3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glRasterPos3dv = unsafePerformIO $ getCommand "glRasterPos3dv"
+
+-- glRasterPos3f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3fv'.
+glRasterPos3f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glRasterPos3f v1 v2 v3 = liftIO $ dyn40 ptr_glRasterPos3f v1 v2 v3
+
+{-# NOINLINE ptr_glRasterPos3f #-}
+ptr_glRasterPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glRasterPos3f = unsafePerformIO $ getCommand "glRasterPos3f"
+
+-- glRasterPos3fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glRasterPos3fv v1 = liftIO $ dyn41 ptr_glRasterPos3fv v1
+
+{-# NOINLINE ptr_glRasterPos3fv #-}
+ptr_glRasterPos3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glRasterPos3fv = unsafePerformIO $ getCommand "glRasterPos3fv"
+
+-- glRasterPos3i ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3iv'.
+glRasterPos3i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> m ()
+glRasterPos3i v1 v2 v3 = liftIO $ dyn42 ptr_glRasterPos3i v1 v2 v3
+
+{-# NOINLINE ptr_glRasterPos3i #-}
+ptr_glRasterPos3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glRasterPos3i = unsafePerformIO $ getCommand "glRasterPos3i"
+
+-- glRasterPos3iv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glRasterPos3iv v1 = liftIO $ dyn43 ptr_glRasterPos3iv v1
+
+{-# NOINLINE ptr_glRasterPos3iv #-}
+ptr_glRasterPos3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glRasterPos3iv = unsafePerformIO $ getCommand "glRasterPos3iv"
+
+-- glRasterPos3s ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3sv'.
+glRasterPos3s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> m ()
+glRasterPos3s v1 v2 v3 = liftIO $ dyn44 ptr_glRasterPos3s v1 v2 v3
+
+{-# NOINLINE ptr_glRasterPos3s #-}
+ptr_glRasterPos3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glRasterPos3s = unsafePerformIO $ getCommand "glRasterPos3s"
+
+-- glRasterPos3sv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glRasterPos3sv v1 = liftIO $ dyn45 ptr_glRasterPos3sv v1
+
+{-# NOINLINE ptr_glRasterPos3sv #-}
+ptr_glRasterPos3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glRasterPos3sv = unsafePerformIO $ getCommand "glRasterPos3sv"
+
+-- glRasterPos3xOES ------------------------------------------------------------
+
+glRasterPos3xOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glRasterPos3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glRasterPos3xOES v1 v2 v3
+
+{-# NOINLINE ptr_glRasterPos3xOES #-}
+ptr_glRasterPos3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glRasterPos3xOES = unsafePerformIO $ getCommand "glRasterPos3xOES"
+
+-- glRasterPos3xvOES -----------------------------------------------------------
+
+glRasterPos3xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
+  -> m ()
+glRasterPos3xvOES v1 = liftIO $ dyn106 ptr_glRasterPos3xvOES v1
+
+{-# NOINLINE ptr_glRasterPos3xvOES #-}
+ptr_glRasterPos3xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glRasterPos3xvOES = unsafePerformIO $ getCommand "glRasterPos3xvOES"
+
+-- glRasterPos4d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4dv'.
+glRasterPos4d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> GLdouble -- ^ @w@ of type @CoordD@.
+  -> m ()
+glRasterPos4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glRasterPos4d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRasterPos4d #-}
+ptr_glRasterPos4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glRasterPos4d = unsafePerformIO $ getCommand "glRasterPos4d"
+
+-- glRasterPos4dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos4dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
+  -> m ()
+glRasterPos4dv v1 = liftIO $ dyn39 ptr_glRasterPos4dv v1
+
+{-# NOINLINE ptr_glRasterPos4dv #-}
+ptr_glRasterPos4dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glRasterPos4dv = unsafePerformIO $ getCommand "glRasterPos4dv"
+
+-- glRasterPos4f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4fv'.
+glRasterPos4f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> GLfloat -- ^ @w@ of type @CoordF@.
+  -> m ()
+glRasterPos4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glRasterPos4f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRasterPos4f #-}
+ptr_glRasterPos4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glRasterPos4f = unsafePerformIO $ getCommand "glRasterPos4f"
+
+-- glRasterPos4fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos4fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
+  -> m ()
+glRasterPos4fv v1 = liftIO $ dyn41 ptr_glRasterPos4fv v1
+
+{-# NOINLINE ptr_glRasterPos4fv #-}
+ptr_glRasterPos4fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glRasterPos4fv = unsafePerformIO $ getCommand "glRasterPos4fv"
+
+-- glRasterPos4i ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4iv'.
+glRasterPos4i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> GLint -- ^ @w@ of type @CoordI@.
+  -> m ()
+glRasterPos4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glRasterPos4i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRasterPos4i #-}
+ptr_glRasterPos4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glRasterPos4i = unsafePerformIO $ getCommand "glRasterPos4i"
+
+-- glRasterPos4iv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos4iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
+  -> m ()
+glRasterPos4iv v1 = liftIO $ dyn43 ptr_glRasterPos4iv v1
+
+{-# NOINLINE ptr_glRasterPos4iv #-}
+ptr_glRasterPos4iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glRasterPos4iv = unsafePerformIO $ getCommand "glRasterPos4iv"
+
+-- glRasterPos4s ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4sv'.
+glRasterPos4s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> GLshort -- ^ @w@ of type @CoordS@.
+  -> m ()
+glRasterPos4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glRasterPos4s v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRasterPos4s #-}
+ptr_glRasterPos4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glRasterPos4s = unsafePerformIO $ getCommand "glRasterPos4s"
+
+-- glRasterPos4sv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
+glRasterPos4sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glRasterPos4sv v1 = liftIO $ dyn45 ptr_glRasterPos4sv v1
+
+{-# NOINLINE ptr_glRasterPos4sv #-}
+ptr_glRasterPos4sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glRasterPos4sv = unsafePerformIO $ getCommand "glRasterPos4sv"
+
+-- glRasterPos4xOES ------------------------------------------------------------
+
+glRasterPos4xOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> GLfixed -- ^ @w@.
+  -> m ()
+glRasterPos4xOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRasterPos4xOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRasterPos4xOES #-}
+ptr_glRasterPos4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glRasterPos4xOES = unsafePerformIO $ getCommand "glRasterPos4xOES"
+
+-- glRasterPos4xvOES -----------------------------------------------------------
+
+glRasterPos4xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glRasterPos4xvOES v1 = liftIO $ dyn106 ptr_glRasterPos4xvOES v1
+
+{-# NOINLINE ptr_glRasterPos4xvOES #-}
+ptr_glRasterPos4xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glRasterPos4xvOES = unsafePerformIO $ getCommand "glRasterPos4xvOES"
+
+-- glRasterSamplesEXT ----------------------------------------------------------
+
+glRasterSamplesEXT
+  :: MonadIO m
+  => GLuint -- ^ @samples@.
+  -> GLboolean -- ^ @fixedsamplelocations@.
+  -> m ()
+glRasterSamplesEXT v1 v2 = liftIO $ dyn666 ptr_glRasterSamplesEXT v1 v2
+
+{-# NOINLINE ptr_glRasterSamplesEXT #-}
+ptr_glRasterSamplesEXT :: FunPtr (GLuint -> GLboolean -> IO ())
+ptr_glRasterSamplesEXT = unsafePerformIO $ getCommand "glRasterSamplesEXT"
+
+-- glReadBuffer ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glReadBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glReadBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glReadBuffer.xhtml OpenGL 4.x>.
+glReadBuffer
+  :: MonadIO m
+  => GLenum -- ^ @src@ of type [ReadBufferMode](Graphics-GL-Groups.html#ReadBufferMode).
+  -> m ()
+glReadBuffer v1 = liftIO $ dyn4 ptr_glReadBuffer v1
+
+{-# NOINLINE ptr_glReadBuffer #-}
+ptr_glReadBuffer :: FunPtr (GLenum -> IO ())
+ptr_glReadBuffer = unsafePerformIO $ getCommand "glReadBuffer"
+
+-- glReadBufferIndexedEXT ------------------------------------------------------
+
+glReadBufferIndexedEXT
+  :: MonadIO m
+  => GLenum -- ^ @src@.
+  -> GLint -- ^ @index@.
+  -> m ()
+glReadBufferIndexedEXT v1 v2 = liftIO $ dyn55 ptr_glReadBufferIndexedEXT v1 v2
+
+{-# NOINLINE ptr_glReadBufferIndexedEXT #-}
+ptr_glReadBufferIndexedEXT :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glReadBufferIndexedEXT = unsafePerformIO $ getCommand "glReadBufferIndexedEXT"
+
+-- glReadBufferNV --------------------------------------------------------------
+
+glReadBufferNV
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> m ()
+glReadBufferNV v1 = liftIO $ dyn4 ptr_glReadBufferNV v1
+
+{-# NOINLINE ptr_glReadBufferNV #-}
+ptr_glReadBufferNV :: FunPtr (GLenum -> IO ())
+ptr_glReadBufferNV = unsafePerformIO $ getCommand "glReadBufferNV"
+
+-- glReadInstrumentsSGIX -------------------------------------------------------
+
+glReadInstrumentsSGIX
+  :: MonadIO m
+  => GLint -- ^ @marker@.
+  -> m ()
+glReadInstrumentsSGIX v1 = liftIO $ dyn12 ptr_glReadInstrumentsSGIX v1
+
+{-# NOINLINE ptr_glReadInstrumentsSGIX #-}
+ptr_glReadInstrumentsSGIX :: FunPtr (GLint -> IO ())
+ptr_glReadInstrumentsSGIX = unsafePerformIO $ getCommand "glReadInstrumentsSGIX"
+
+-- glReadPixels ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glReadPixels.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glReadPixels.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glReadPixels.xhtml OpenGL 4.x>.
+glReadPixels
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glReadPixels v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn667 ptr_glReadPixels v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glReadPixels #-}
+ptr_glReadPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glReadPixels = unsafePerformIO $ getCommand "glReadPixels"
+
+-- glReadnPixels ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glReadPixels.xhtml OpenGL 4.x>.
+glReadnPixels
+  :: MonadIO m
+  => GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @data@.
+  -> m ()
+glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glReadnPixels #-}
+ptr_glReadnPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glReadnPixels = unsafePerformIO $ getCommand "glReadnPixels"
+
+-- glReadnPixelsARB ------------------------------------------------------------
+
+-- | This command is an alias for 'glReadnPixels'.
+glReadnPixelsARB
+  :: MonadIO m
+  => GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glReadnPixelsARB #-}
+ptr_glReadnPixelsARB :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glReadnPixelsARB = unsafePerformIO $ getCommand "glReadnPixelsARB"
+
+-- glReadnPixelsEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glReadnPixels'.
+glReadnPixelsEXT
+  :: MonadIO m
+  => GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glReadnPixelsEXT #-}
+ptr_glReadnPixelsEXT :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glReadnPixelsEXT = unsafePerformIO $ getCommand "glReadnPixelsEXT"
+
+-- glReadnPixelsKHR ------------------------------------------------------------
+
+-- | This command is an alias for 'glReadnPixels'.
+glReadnPixelsKHR
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
+  -> m ()
+glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glReadnPixelsKHR #-}
+ptr_glReadnPixelsKHR :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glReadnPixelsKHR = unsafePerformIO $ getCommand "glReadnPixelsKHR"
+
+-- glRectd ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectdv'.
+glRectd
+  :: MonadIO m
+  => GLdouble -- ^ @x1@ of type @CoordD@.
+  -> GLdouble -- ^ @y1@ of type @CoordD@.
+  -> GLdouble -- ^ @x2@ of type @CoordD@.
+  -> GLdouble -- ^ @y2@ of type @CoordD@.
+  -> m ()
+glRectd v1 v2 v3 v4 = liftIO $ dyn108 ptr_glRectd v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRectd #-}
+ptr_glRectd :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glRectd = unsafePerformIO $ getCommand "glRectd"
+
+-- glRectdv --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
+glRectdv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v1@ pointing to @2@ elements of type @CoordD@.
+  -> Ptr GLdouble -- ^ @v2@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glRectdv v1 v2 = liftIO $ dyn669 ptr_glRectdv v1 v2
+
+{-# NOINLINE ptr_glRectdv #-}
+ptr_glRectdv :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
+ptr_glRectdv = unsafePerformIO $ getCommand "glRectdv"
+
+-- glRectf ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectfv'.
+glRectf
+  :: MonadIO m
+  => GLfloat -- ^ @x1@ of type @CoordF@.
+  -> GLfloat -- ^ @y1@ of type @CoordF@.
+  -> GLfloat -- ^ @x2@ of type @CoordF@.
+  -> GLfloat -- ^ @y2@ of type @CoordF@.
+  -> m ()
+glRectf v1 v2 v3 v4 = liftIO $ dyn49 ptr_glRectf v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRectf #-}
+ptr_glRectf :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glRectf = unsafePerformIO $ getCommand "glRectf"
+
+-- glRectfv --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
+glRectfv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v1@ pointing to @2@ elements of type @CoordF@.
+  -> Ptr GLfloat -- ^ @v2@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glRectfv v1 v2 = liftIO $ dyn96 ptr_glRectfv v1 v2
+
+{-# NOINLINE ptr_glRectfv #-}
+ptr_glRectfv :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glRectfv = unsafePerformIO $ getCommand "glRectfv"
+
+-- glRecti ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectiv'.
+glRecti
+  :: MonadIO m
+  => GLint -- ^ @x1@ of type @CoordI@.
+  -> GLint -- ^ @y1@ of type @CoordI@.
+  -> GLint -- ^ @x2@ of type @CoordI@.
+  -> GLint -- ^ @y2@ of type @CoordI@.
+  -> m ()
+glRecti v1 v2 v3 v4 = liftIO $ dyn76 ptr_glRecti v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRecti #-}
+ptr_glRecti :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glRecti = unsafePerformIO $ getCommand "glRecti"
+
+-- glRectiv --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
+glRectiv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v1@ pointing to @2@ elements of type @CoordI@.
+  -> Ptr GLint -- ^ @v2@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glRectiv v1 v2 = liftIO $ dyn670 ptr_glRectiv v1 v2
+
+{-# NOINLINE ptr_glRectiv #-}
+ptr_glRectiv :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
+ptr_glRectiv = unsafePerformIO $ getCommand "glRectiv"
+
+-- glRects ---------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectsv'.
+glRects
+  :: MonadIO m
+  => GLshort -- ^ @x1@ of type @CoordS@.
+  -> GLshort -- ^ @y1@ of type @CoordS@.
+  -> GLshort -- ^ @x2@ of type @CoordS@.
+  -> GLshort -- ^ @y2@ of type @CoordS@.
+  -> m ()
+glRects v1 v2 v3 v4 = liftIO $ dyn112 ptr_glRects v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRects #-}
+ptr_glRects :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glRects = unsafePerformIO $ getCommand "glRects"
+
+-- glRectsv --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
+glRectsv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v1@ pointing to @2@ elements of type @CoordS@.
+  -> Ptr GLshort -- ^ @v2@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glRectsv v1 v2 = liftIO $ dyn671 ptr_glRectsv v1 v2
+
+{-# NOINLINE ptr_glRectsv #-}
+ptr_glRectsv :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
+ptr_glRectsv = unsafePerformIO $ getCommand "glRectsv"
+
+-- glRectxOES ------------------------------------------------------------------
+
+glRectxOES
+  :: MonadIO m
+  => GLfixed -- ^ @x1@.
+  -> GLfixed -- ^ @y1@.
+  -> GLfixed -- ^ @x2@.
+  -> GLfixed -- ^ @y2@.
+  -> m ()
+glRectxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRectxOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRectxOES #-}
+ptr_glRectxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glRectxOES = unsafePerformIO $ getCommand "glRectxOES"
+
+-- glRectxvOES -----------------------------------------------------------------
+
+glRectxvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @v1@ pointing to @2@ elements of type @GLfixed@.
+  -> Ptr GLfixed -- ^ @v2@ pointing to @2@ elements of type @GLfixed@.
+  -> m ()
+glRectxvOES v1 v2 = liftIO $ dyn672 ptr_glRectxvOES v1 v2
+
+{-# NOINLINE ptr_glRectxvOES #-}
+ptr_glRectxvOES :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ())
+ptr_glRectxvOES = unsafePerformIO $ getCommand "glRectxvOES"
+
+-- glReferencePlaneSGIX --------------------------------------------------------
+
+glReferencePlaneSGIX
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @equation@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glReferencePlaneSGIX v1 = liftIO $ dyn39 ptr_glReferencePlaneSGIX v1
+
+{-# NOINLINE ptr_glReferencePlaneSGIX #-}
+ptr_glReferencePlaneSGIX :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glReferencePlaneSGIX = unsafePerformIO $ getCommand "glReferencePlaneSGIX"
+
+-- glReleaseShaderCompiler -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glReleaseShaderCompiler.xhtml OpenGL 4.x>.
+glReleaseShaderCompiler
+  :: MonadIO m
+  => m ()
+glReleaseShaderCompiler = liftIO $ dyn10 ptr_glReleaseShaderCompiler
+
+{-# NOINLINE ptr_glReleaseShaderCompiler #-}
+ptr_glReleaseShaderCompiler :: FunPtr (IO ())
+ptr_glReleaseShaderCompiler = unsafePerformIO $ getCommand "glReleaseShaderCompiler"
+
+-- glRenderMode ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRenderMode.xml OpenGL 2.x>.
+glRenderMode
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [RenderingMode](Graphics-GL-Groups.html#RenderingMode).
+  -> m GLint
+glRenderMode v1 = liftIO $ dyn673 ptr_glRenderMode v1
+
+{-# NOINLINE ptr_glRenderMode #-}
+ptr_glRenderMode :: FunPtr (GLenum -> IO GLint)
+ptr_glRenderMode = unsafePerformIO $ getCommand "glRenderMode"
+
+-- glRenderbufferStorage -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorage.xhtml OpenGL 4.x>.
+glRenderbufferStorage
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorage v1 v2 v3 v4 = liftIO $ dyn674 ptr_glRenderbufferStorage v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRenderbufferStorage #-}
+ptr_glRenderbufferStorage :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorage = unsafePerformIO $ getCommand "glRenderbufferStorage"
+
+-- glRenderbufferStorageEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glRenderbufferStorage'.
+glRenderbufferStorageEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn674 ptr_glRenderbufferStorageEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRenderbufferStorageEXT #-}
+ptr_glRenderbufferStorageEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageEXT = unsafePerformIO $ getCommand "glRenderbufferStorageEXT"
+
+-- glRenderbufferStorageMultisample --------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorageMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorageMultisample.xhtml OpenGL 4.x>.
+glRenderbufferStorageMultisample
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisample v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisample v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisample #-}
+ptr_glRenderbufferStorageMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisample = unsafePerformIO $ getCommand "glRenderbufferStorageMultisample"
+
+-- glRenderbufferStorageMultisampleANGLE ---------------------------------------
+
+glRenderbufferStorageMultisampleANGLE
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleANGLE #-}
+ptr_glRenderbufferStorageMultisampleANGLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleANGLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleANGLE"
+
+-- glRenderbufferStorageMultisampleAPPLE ---------------------------------------
+
+glRenderbufferStorageMultisampleAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleAPPLE #-}
+ptr_glRenderbufferStorageMultisampleAPPLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleAPPLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleAPPLE"
+
+-- glRenderbufferStorageMultisampleCoverageNV ----------------------------------
+
+glRenderbufferStorageMultisampleCoverageNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
+  -> GLsizei -- ^ @coverageSamples@.
+  -> GLsizei -- ^ @colorSamples@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn676 ptr_glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleCoverageNV #-}
+ptr_glRenderbufferStorageMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleCoverageNV = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleCoverageNV"
+
+-- glRenderbufferStorageMultisampleEXT -----------------------------------------
+
+-- | This command is an alias for 'glRenderbufferStorageMultisample'.
+glRenderbufferStorageMultisampleEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleEXT #-}
+ptr_glRenderbufferStorageMultisampleEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleEXT = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleEXT"
+
+-- glRenderbufferStorageMultisampleIMG -----------------------------------------
+
+glRenderbufferStorageMultisampleIMG
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleIMG #-}
+ptr_glRenderbufferStorageMultisampleIMG :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleIMG = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleIMG"
+
+-- glRenderbufferStorageMultisampleNV ------------------------------------------
+
+-- | This command is an alias for 'glRenderbufferStorageMultisample'.
+glRenderbufferStorageMultisampleNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glRenderbufferStorageMultisampleNV #-}
+ptr_glRenderbufferStorageMultisampleNV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageMultisampleNV = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleNV"
+
+-- glRenderbufferStorageOES ----------------------------------------------------
+
+glRenderbufferStorageOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glRenderbufferStorageOES v1 v2 v3 v4 = liftIO $ dyn674 ptr_glRenderbufferStorageOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRenderbufferStorageOES #-}
+ptr_glRenderbufferStorageOES :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glRenderbufferStorageOES = unsafePerformIO $ getCommand "glRenderbufferStorageOES"
+
+-- glReplacementCodePointerSUN -------------------------------------------------
+
+glReplacementCodePointerSUN
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type @ReplacementCodeTypeSUN@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
+  -> m ()
+glReplacementCodePointerSUN v1 v2 v3 = liftIO $ dyn677 ptr_glReplacementCodePointerSUN v1 v2 v3
+
+{-# NOINLINE ptr_glReplacementCodePointerSUN #-}
+ptr_glReplacementCodePointerSUN :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr a) -> IO ())
+ptr_glReplacementCodePointerSUN = unsafePerformIO $ getCommand "glReplacementCodePointerSUN"
+
+-- glReplacementCodeubSUN ------------------------------------------------------
+
+glReplacementCodeubSUN
+  :: MonadIO m
+  => GLubyte -- ^ @code@.
+  -> m ()
+glReplacementCodeubSUN v1 = liftIO $ dyn460 ptr_glReplacementCodeubSUN v1
+
+{-# NOINLINE ptr_glReplacementCodeubSUN #-}
+ptr_glReplacementCodeubSUN :: FunPtr (GLubyte -> IO ())
+ptr_glReplacementCodeubSUN = unsafePerformIO $ getCommand "glReplacementCodeubSUN"
+
+-- glReplacementCodeubvSUN -----------------------------------------------------
+
+glReplacementCodeubvSUN
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @code@ pointing to @COMPSIZE()@ elements of type @GLubyte@.
+  -> m ()
+glReplacementCodeubvSUN v1 = liftIO $ dyn100 ptr_glReplacementCodeubvSUN v1
+
+{-# NOINLINE ptr_glReplacementCodeubvSUN #-}
+ptr_glReplacementCodeubvSUN :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glReplacementCodeubvSUN = unsafePerformIO $ getCommand "glReplacementCodeubvSUN"
+
+-- glReplacementCodeuiColor3fVertex3fSUN ---------------------------------------
+
+glReplacementCodeuiColor3fVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn678 ptr_glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glReplacementCodeuiColor3fVertex3fSUN #-}
+ptr_glReplacementCodeuiColor3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiColor3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor3fVertex3fSUN"
+
+-- glReplacementCodeuiColor3fVertex3fvSUN --------------------------------------
+
+glReplacementCodeuiColor3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLfloat -- ^ @c@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn679 ptr_glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glReplacementCodeuiColor3fVertex3fvSUN #-}
+ptr_glReplacementCodeuiColor3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiColor3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor3fVertex3fvSUN"
+
+-- glReplacementCodeuiColor4fNormal3fVertex3fSUN -------------------------------
+
+glReplacementCodeuiColor4fNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @a@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn680 ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN #-}
+ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4fNormal3fVertex3fSUN"
+
+-- glReplacementCodeuiColor4fNormal3fVertex3fvSUN ------------------------------
+
+glReplacementCodeuiColor4fNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn681 ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
+
+{-# NOINLINE ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN #-}
+ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4fNormal3fVertex3fvSUN"
+
+-- glReplacementCodeuiColor4ubVertex3fSUN --------------------------------------
+
+glReplacementCodeuiColor4ubVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLubyte -- ^ @r@.
+  -> GLubyte -- ^ @g@.
+  -> GLubyte -- ^ @b@.
+  -> GLubyte -- ^ @a@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn682 ptr_glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glReplacementCodeuiColor4ubVertex3fSUN #-}
+ptr_glReplacementCodeuiColor4ubVertex3fSUN :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiColor4ubVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4ubVertex3fSUN"
+
+-- glReplacementCodeuiColor4ubVertex3fvSUN -------------------------------------
+
+glReplacementCodeuiColor4ubVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn683 ptr_glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glReplacementCodeuiColor4ubVertex3fvSUN #-}
+ptr_glReplacementCodeuiColor4ubVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiColor4ubVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4ubVertex3fvSUN"
+
+-- glReplacementCodeuiNormal3fVertex3fSUN --------------------------------------
+
+glReplacementCodeuiNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn678 ptr_glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glReplacementCodeuiNormal3fVertex3fSUN #-}
+ptr_glReplacementCodeuiNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiNormal3fVertex3fSUN"
+
+-- glReplacementCodeuiNormal3fVertex3fvSUN -------------------------------------
+
+glReplacementCodeuiNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn679 ptr_glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glReplacementCodeuiNormal3fVertex3fvSUN #-}
+ptr_glReplacementCodeuiNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiNormal3fVertex3fvSUN"
+
+-- glReplacementCodeuiSUN ------------------------------------------------------
+
+glReplacementCodeuiSUN
+  :: MonadIO m
+  => GLuint -- ^ @code@.
+  -> m ()
+glReplacementCodeuiSUN v1 = liftIO $ dyn2 ptr_glReplacementCodeuiSUN v1
+
+{-# NOINLINE ptr_glReplacementCodeuiSUN #-}
+ptr_glReplacementCodeuiSUN :: FunPtr (GLuint -> IO ())
+ptr_glReplacementCodeuiSUN = unsafePerformIO $ getCommand "glReplacementCodeuiSUN"
+
+-- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN ---------------------
+
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @a@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn684 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
+
+{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN #-}
+ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN"
+
+-- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN --------------------
+
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5 = liftIO $ dyn685 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN #-}
+ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN"
+
+-- glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN ----------------------------
+
+glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn686 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN #-}
+ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN"
+
+-- glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN ---------------------------
+
+glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn681 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4
+
+{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN #-}
+ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN"
+
+-- glReplacementCodeuiTexCoord2fVertex3fSUN ------------------------------------
+
+glReplacementCodeuiTexCoord2fVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn687 ptr_glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fVertex3fSUN #-}
+ptr_glReplacementCodeuiTexCoord2fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiTexCoord2fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fVertex3fSUN"
+
+-- glReplacementCodeuiTexCoord2fVertex3fvSUN -----------------------------------
+
+glReplacementCodeuiTexCoord2fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3 = liftIO $ dyn679 ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN #-}
+ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fVertex3fvSUN"
+
+-- glReplacementCodeuiVertex3fSUN ----------------------------------------------
+
+glReplacementCodeuiVertex3fSUN
+  :: MonadIO m
+  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glReplacementCodeuiVertex3fSUN v1 v2 v3 v4 = liftIO $ dyn688 ptr_glReplacementCodeuiVertex3fSUN v1 v2 v3 v4
+
+{-# NOINLINE ptr_glReplacementCodeuiVertex3fSUN #-}
+ptr_glReplacementCodeuiVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glReplacementCodeuiVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiVertex3fSUN"
+
+-- glReplacementCodeuiVertex3fvSUN ---------------------------------------------
+
+glReplacementCodeuiVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glReplacementCodeuiVertex3fvSUN v1 v2 = liftIO $ dyn689 ptr_glReplacementCodeuiVertex3fvSUN v1 v2
+
+{-# NOINLINE ptr_glReplacementCodeuiVertex3fvSUN #-}
+ptr_glReplacementCodeuiVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ())
+ptr_glReplacementCodeuiVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiVertex3fvSUN"
+
+-- glReplacementCodeuivSUN -----------------------------------------------------
+
+glReplacementCodeuivSUN
+  :: MonadIO m
+  => Ptr GLuint -- ^ @code@ pointing to @COMPSIZE()@ elements of type @GLuint@.
+  -> m ()
+glReplacementCodeuivSUN v1 = liftIO $ dyn102 ptr_glReplacementCodeuivSUN v1
+
+{-# NOINLINE ptr_glReplacementCodeuivSUN #-}
+ptr_glReplacementCodeuivSUN :: FunPtr (Ptr GLuint -> IO ())
+ptr_glReplacementCodeuivSUN = unsafePerformIO $ getCommand "glReplacementCodeuivSUN"
+
+-- glReplacementCodeusSUN ------------------------------------------------------
+
+glReplacementCodeusSUN
+  :: MonadIO m
+  => GLushort -- ^ @code@.
+  -> m ()
+glReplacementCodeusSUN v1 = liftIO $ dyn461 ptr_glReplacementCodeusSUN v1
+
+{-# NOINLINE ptr_glReplacementCodeusSUN #-}
+ptr_glReplacementCodeusSUN :: FunPtr (GLushort -> IO ())
+ptr_glReplacementCodeusSUN = unsafePerformIO $ getCommand "glReplacementCodeusSUN"
+
+-- glReplacementCodeusvSUN -----------------------------------------------------
+
+glReplacementCodeusvSUN
+  :: MonadIO m
+  => Ptr GLushort -- ^ @code@ pointing to @COMPSIZE()@ elements of type @GLushort@.
+  -> m ()
+glReplacementCodeusvSUN v1 = liftIO $ dyn104 ptr_glReplacementCodeusvSUN v1
+
+{-# NOINLINE ptr_glReplacementCodeusvSUN #-}
+ptr_glReplacementCodeusvSUN :: FunPtr (Ptr GLushort -> IO ())
+ptr_glReplacementCodeusvSUN = unsafePerformIO $ getCommand "glReplacementCodeusvSUN"
+
+-- glRequestResidentProgramsNV -------------------------------------------------
+
+glRequestResidentProgramsNV
+  :: MonadIO m
+  => GLsizei -- ^ @n@.
+  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
+  -> m ()
+glRequestResidentProgramsNV v1 v2 = liftIO $ dyn192 ptr_glRequestResidentProgramsNV v1 v2
+
+{-# NOINLINE ptr_glRequestResidentProgramsNV #-}
+ptr_glRequestResidentProgramsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glRequestResidentProgramsNV = unsafePerformIO $ getCommand "glRequestResidentProgramsNV"
+
+-- glResetHistogram ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glResetHistogram.xml OpenGL 2.x>.
+glResetHistogram
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @HistogramTarget@.
+  -> m ()
+glResetHistogram v1 = liftIO $ dyn4 ptr_glResetHistogram v1
+
+{-# NOINLINE ptr_glResetHistogram #-}
+ptr_glResetHistogram :: FunPtr (GLenum -> IO ())
+ptr_glResetHistogram = unsafePerformIO $ getCommand "glResetHistogram"
+
+-- glResetHistogramEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glResetHistogram'.
+glResetHistogramEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-GL-Groups.html#HistogramTargetEXT).
+  -> m ()
+glResetHistogramEXT v1 = liftIO $ dyn4 ptr_glResetHistogramEXT v1
+
+{-# NOINLINE ptr_glResetHistogramEXT #-}
+ptr_glResetHistogramEXT :: FunPtr (GLenum -> IO ())
+ptr_glResetHistogramEXT = unsafePerformIO $ getCommand "glResetHistogramEXT"
+
+-- glResetMinmax ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glResetMinmax.xml OpenGL 2.x>.
+glResetMinmax
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @MinmaxTarget@.
+  -> m ()
+glResetMinmax v1 = liftIO $ dyn4 ptr_glResetMinmax v1
+
+{-# NOINLINE ptr_glResetMinmax #-}
+ptr_glResetMinmax :: FunPtr (GLenum -> IO ())
+ptr_glResetMinmax = unsafePerformIO $ getCommand "glResetMinmax"
+
+-- glResetMinmaxEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glResetMinmax'.
+glResetMinmaxEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-GL-Groups.html#MinmaxTargetEXT).
+  -> m ()
+glResetMinmaxEXT v1 = liftIO $ dyn4 ptr_glResetMinmaxEXT v1
+
+{-# NOINLINE ptr_glResetMinmaxEXT #-}
+ptr_glResetMinmaxEXT :: FunPtr (GLenum -> IO ())
+ptr_glResetMinmaxEXT = unsafePerformIO $ getCommand "glResetMinmaxEXT"
+
+-- glResizeBuffersMESA ---------------------------------------------------------
+
+glResizeBuffersMESA
+  :: MonadIO m
+  => m ()
+glResizeBuffersMESA = liftIO $ dyn10 ptr_glResizeBuffersMESA
+
+{-# NOINLINE ptr_glResizeBuffersMESA #-}
+ptr_glResizeBuffersMESA :: FunPtr (IO ())
+ptr_glResizeBuffersMESA = unsafePerformIO $ getCommand "glResizeBuffersMESA"
+
+-- glResolveDepthValuesNV ------------------------------------------------------
+
+glResolveDepthValuesNV
+  :: MonadIO m
+  => m ()
+glResolveDepthValuesNV = liftIO $ dyn10 ptr_glResolveDepthValuesNV
+
+{-# NOINLINE ptr_glResolveDepthValuesNV #-}
+ptr_glResolveDepthValuesNV :: FunPtr (IO ())
+ptr_glResolveDepthValuesNV = unsafePerformIO $ getCommand "glResolveDepthValuesNV"
+
+-- glResolveMultisampleFramebufferAPPLE ----------------------------------------
+
+glResolveMultisampleFramebufferAPPLE
+  :: MonadIO m
+  => m ()
+glResolveMultisampleFramebufferAPPLE = liftIO $ dyn10 ptr_glResolveMultisampleFramebufferAPPLE
+
+{-# NOINLINE ptr_glResolveMultisampleFramebufferAPPLE #-}
+ptr_glResolveMultisampleFramebufferAPPLE :: FunPtr (IO ())
+ptr_glResolveMultisampleFramebufferAPPLE = unsafePerformIO $ getCommand "glResolveMultisampleFramebufferAPPLE"
+
+-- glResumeTransformFeedback ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glResumeTransformFeedback.xhtml OpenGL 4.x>.
+glResumeTransformFeedback
+  :: MonadIO m
+  => m ()
+glResumeTransformFeedback = liftIO $ dyn10 ptr_glResumeTransformFeedback
+
+{-# NOINLINE ptr_glResumeTransformFeedback #-}
+ptr_glResumeTransformFeedback :: FunPtr (IO ())
+ptr_glResumeTransformFeedback = unsafePerformIO $ getCommand "glResumeTransformFeedback"
+
+-- glResumeTransformFeedbackNV -------------------------------------------------
+
+-- | This command is an alias for 'glResumeTransformFeedback'.
+glResumeTransformFeedbackNV
+  :: MonadIO m
+  => m ()
+glResumeTransformFeedbackNV = liftIO $ dyn10 ptr_glResumeTransformFeedbackNV
+
+{-# NOINLINE ptr_glResumeTransformFeedbackNV #-}
+ptr_glResumeTransformFeedbackNV :: FunPtr (IO ())
+ptr_glResumeTransformFeedbackNV = unsafePerformIO $ getCommand "glResumeTransformFeedbackNV"
+
+-- glRotated -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRotate.xml OpenGL 2.x>.
+glRotated
+  :: MonadIO m
+  => GLdouble -- ^ @angle@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glRotated v1 v2 v3 v4 = liftIO $ dyn108 ptr_glRotated v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRotated #-}
+ptr_glRotated :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glRotated = unsafePerformIO $ getCommand "glRotated"
+
+-- glRotatef -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRotate.xml OpenGL 2.x>.
+glRotatef
+  :: MonadIO m
+  => GLfloat -- ^ @angle@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glRotatef v1 v2 v3 v4 = liftIO $ dyn49 ptr_glRotatef v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRotatef #-}
+ptr_glRotatef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glRotatef = unsafePerformIO $ getCommand "glRotatef"
+
+-- glRotatex -------------------------------------------------------------------
+
+glRotatex
+  :: MonadIO m
+  => GLfixed -- ^ @angle@.
+  -> GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glRotatex v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRotatex v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRotatex #-}
+ptr_glRotatex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glRotatex = unsafePerformIO $ getCommand "glRotatex"
+
+-- glRotatexOES ----------------------------------------------------------------
+
+glRotatexOES
+  :: MonadIO m
+  => GLfixed -- ^ @angle@.
+  -> GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glRotatexOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRotatexOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glRotatexOES #-}
+ptr_glRotatexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glRotatexOES = unsafePerformIO $ getCommand "glRotatexOES"
+
+-- glSampleCoverage ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glSampleCoverage.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glSampleCoverage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSampleCoverage.xhtml OpenGL 4.x>.
+glSampleCoverage
+  :: MonadIO m
+  => GLfloat -- ^ @value@.
+  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glSampleCoverage v1 v2 = liftIO $ dyn690 ptr_glSampleCoverage v1 v2
+
+{-# NOINLINE ptr_glSampleCoverage #-}
+ptr_glSampleCoverage :: FunPtr (GLfloat -> GLboolean -> IO ())
+ptr_glSampleCoverage = unsafePerformIO $ getCommand "glSampleCoverage"
+
+-- glSampleCoverageARB ---------------------------------------------------------
+
+-- | This command is an alias for 'glSampleCoverage'.
+glSampleCoverageARB
+  :: MonadIO m
+  => GLfloat -- ^ @value@.
+  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glSampleCoverageARB v1 v2 = liftIO $ dyn690 ptr_glSampleCoverageARB v1 v2
+
+{-# NOINLINE ptr_glSampleCoverageARB #-}
+ptr_glSampleCoverageARB :: FunPtr (GLfloat -> GLboolean -> IO ())
+ptr_glSampleCoverageARB = unsafePerformIO $ getCommand "glSampleCoverageARB"
+
+-- glSampleCoveragex -----------------------------------------------------------
+
+glSampleCoveragex
+  :: MonadIO m
+  => GLclampx -- ^ @value@.
+  -> GLboolean -- ^ @invert@.
+  -> m ()
+glSampleCoveragex v1 v2 = liftIO $ dyn691 ptr_glSampleCoveragex v1 v2
+
+{-# NOINLINE ptr_glSampleCoveragex #-}
+ptr_glSampleCoveragex :: FunPtr (GLclampx -> GLboolean -> IO ())
+ptr_glSampleCoveragex = unsafePerformIO $ getCommand "glSampleCoveragex"
+
+-- glSampleCoveragexOES --------------------------------------------------------
+
+glSampleCoveragexOES
+  :: MonadIO m
+  => GLclampx -- ^ @value@.
+  -> GLboolean -- ^ @invert@.
+  -> m ()
+glSampleCoveragexOES v1 v2 = liftIO $ dyn691 ptr_glSampleCoveragexOES v1 v2
+
+{-# NOINLINE ptr_glSampleCoveragexOES #-}
+ptr_glSampleCoveragexOES :: FunPtr (GLclampx -> GLboolean -> IO ())
+ptr_glSampleCoveragexOES = unsafePerformIO $ getCommand "glSampleCoveragexOES"
+
+-- glSampleMapATI --------------------------------------------------------------
+
+glSampleMapATI
+  :: MonadIO m
+  => GLuint -- ^ @dst@.
+  -> GLuint -- ^ @interp@.
+  -> GLenum -- ^ @swizzle@ of type @SwizzleOpATI@.
+  -> m ()
+glSampleMapATI v1 v2 v3 = liftIO $ dyn592 ptr_glSampleMapATI v1 v2 v3
+
+{-# NOINLINE ptr_glSampleMapATI #-}
+ptr_glSampleMapATI :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
+ptr_glSampleMapATI = unsafePerformIO $ getCommand "glSampleMapATI"
+
+-- glSampleMaskEXT -------------------------------------------------------------
+
+glSampleMaskEXT
+  :: MonadIO m
+  => GLclampf -- ^ @value@ of type @ClampedFloat32@.
+  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glSampleMaskEXT v1 v2 = liftIO $ dyn692 ptr_glSampleMaskEXT v1 v2
+
+{-# NOINLINE ptr_glSampleMaskEXT #-}
+ptr_glSampleMaskEXT :: FunPtr (GLclampf -> GLboolean -> IO ())
+ptr_glSampleMaskEXT = unsafePerformIO $ getCommand "glSampleMaskEXT"
+
+-- glSampleMaskIndexedNV -------------------------------------------------------
+
+glSampleMaskIndexedNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLbitfield -- ^ @mask@ of type @SampleMaskNV@.
+  -> m ()
+glSampleMaskIndexedNV v1 v2 = liftIO $ dyn693 ptr_glSampleMaskIndexedNV v1 v2
+
+{-# NOINLINE ptr_glSampleMaskIndexedNV #-}
+ptr_glSampleMaskIndexedNV :: FunPtr (GLuint -> GLbitfield -> IO ())
+ptr_glSampleMaskIndexedNV = unsafePerformIO $ getCommand "glSampleMaskIndexedNV"
+
+-- glSampleMaskSGIS ------------------------------------------------------------
+
+-- | This command is an alias for 'glSampleMaskEXT'.
+glSampleMaskSGIS
+  :: MonadIO m
+  => GLclampf -- ^ @value@ of type @ClampedFloat32@.
+  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glSampleMaskSGIS v1 v2 = liftIO $ dyn692 ptr_glSampleMaskSGIS v1 v2
+
+{-# NOINLINE ptr_glSampleMaskSGIS #-}
+ptr_glSampleMaskSGIS :: FunPtr (GLclampf -> GLboolean -> IO ())
+ptr_glSampleMaskSGIS = unsafePerformIO $ getCommand "glSampleMaskSGIS"
+
+-- glSampleMaski ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSampleMaski.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSampleMaski.xhtml OpenGL 4.x>.
+glSampleMaski
+  :: MonadIO m
+  => GLuint -- ^ @maskNumber@.
+  -> GLbitfield -- ^ @mask@.
+  -> m ()
+glSampleMaski v1 v2 = liftIO $ dyn693 ptr_glSampleMaski v1 v2
+
+{-# NOINLINE ptr_glSampleMaski #-}
+ptr_glSampleMaski :: FunPtr (GLuint -> GLbitfield -> IO ())
+ptr_glSampleMaski = unsafePerformIO $ getCommand "glSampleMaski"
+
+-- glSamplePatternEXT ----------------------------------------------------------
+
+glSamplePatternEXT
+  :: MonadIO m
+  => GLenum -- ^ @pattern@ of type @SamplePatternEXT@.
+  -> m ()
+glSamplePatternEXT v1 = liftIO $ dyn4 ptr_glSamplePatternEXT v1
+
+{-# NOINLINE ptr_glSamplePatternEXT #-}
+ptr_glSamplePatternEXT :: FunPtr (GLenum -> IO ())
+ptr_glSamplePatternEXT = unsafePerformIO $ getCommand "glSamplePatternEXT"
+
+-- glSamplePatternSGIS ---------------------------------------------------------
+
+-- | This command is an alias for 'glSamplePatternEXT'.
+glSamplePatternSGIS
+  :: MonadIO m
+  => GLenum -- ^ @pattern@ of type [SamplePatternSGIS](Graphics-GL-Groups.html#SamplePatternSGIS).
+  -> m ()
+glSamplePatternSGIS v1 = liftIO $ dyn4 ptr_glSamplePatternSGIS v1
+
+{-# NOINLINE ptr_glSamplePatternSGIS #-}
+ptr_glSamplePatternSGIS :: FunPtr (GLenum -> IO ())
+ptr_glSamplePatternSGIS = unsafePerformIO $ getCommand "glSamplePatternSGIS"
+
+-- glSamplerParameterIiv -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
+glSamplerParameterIiv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glSamplerParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameterIiv v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterIiv #-}
+ptr_glSamplerParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glSamplerParameterIiv = unsafePerformIO $ getCommand "glSamplerParameterIiv"
+
+-- glSamplerParameterIivEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glSamplerParameterIiv'.
+glSamplerParameterIivEXT
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameterIivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterIivEXT #-}
+ptr_glSamplerParameterIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glSamplerParameterIivEXT = unsafePerformIO $ getCommand "glSamplerParameterIivEXT"
+
+-- glSamplerParameterIivOES ----------------------------------------------------
+
+-- | This command is an alias for 'glSamplerParameterIiv'.
+glSamplerParameterIivOES
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameterIivOES v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterIivOES #-}
+ptr_glSamplerParameterIivOES :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glSamplerParameterIivOES = unsafePerformIO $ getCommand "glSamplerParameterIivOES"
+
+-- glSamplerParameterIuiv ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
+glSamplerParameterIuiv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glSamplerParameterIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterIuiv #-}
+ptr_glSamplerParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glSamplerParameterIuiv = unsafePerformIO $ getCommand "glSamplerParameterIuiv"
+
+-- glSamplerParameterIuivEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glSamplerParameterIuiv'.
+glSamplerParameterIuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glSamplerParameterIuivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterIuivEXT #-}
+ptr_glSamplerParameterIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glSamplerParameterIuivEXT = unsafePerformIO $ getCommand "glSamplerParameterIuivEXT"
+
+-- glSamplerParameterIuivOES ---------------------------------------------------
+
+-- | This command is an alias for 'glSamplerParameterIuiv'.
+glSamplerParameterIuivOES
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn371 ptr_glSamplerParameterIuivOES v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterIuivOES #-}
+ptr_glSamplerParameterIuivOES :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glSamplerParameterIuivOES = unsafePerformIO $ getCommand "glSamplerParameterIuivOES"
+
+-- glSamplerParameterf ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
+glSamplerParameterf
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glSamplerParameterf v1 v2 v3 = liftIO $ dyn483 ptr_glSamplerParameterf v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterf #-}
+ptr_glSamplerParameterf :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
+ptr_glSamplerParameterf = unsafePerformIO $ getCommand "glSamplerParameterf"
+
+-- glSamplerParameterfv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
+glSamplerParameterfv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glSamplerParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glSamplerParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameterfv #-}
+ptr_glSamplerParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glSamplerParameterfv = unsafePerformIO $ getCommand "glSamplerParameterfv"
+
+-- glSamplerParameteri ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
+glSamplerParameteri
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glSamplerParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glSamplerParameteri v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameteri #-}
+ptr_glSamplerParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glSamplerParameteri = unsafePerformIO $ getCommand "glSamplerParameteri"
+
+-- glSamplerParameteriv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
+glSamplerParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @sampler@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glSamplerParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glSamplerParameteriv #-}
+ptr_glSamplerParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glSamplerParameteriv = unsafePerformIO $ getCommand "glSamplerParameteriv"
+
+-- glScaled --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glScale.xml OpenGL 2.x>.
+glScaled
+  :: MonadIO m
+  => GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glScaled v1 v2 v3 = liftIO $ dyn38 ptr_glScaled v1 v2 v3
+
+{-# NOINLINE ptr_glScaled #-}
+ptr_glScaled :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glScaled = unsafePerformIO $ getCommand "glScaled"
+
+-- glScalef --------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glScale.xml OpenGL 2.x>.
+glScalef
+  :: MonadIO m
+  => GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glScalef v1 v2 v3 = liftIO $ dyn40 ptr_glScalef v1 v2 v3
+
+{-# NOINLINE ptr_glScalef #-}
+ptr_glScalef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glScalef = unsafePerformIO $ getCommand "glScalef"
+
+-- glScalex --------------------------------------------------------------------
+
+glScalex
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glScalex v1 v2 v3 = liftIO $ dyn105 ptr_glScalex v1 v2 v3
+
+{-# NOINLINE ptr_glScalex #-}
+ptr_glScalex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glScalex = unsafePerformIO $ getCommand "glScalex"
+
+-- glScalexOES -----------------------------------------------------------------
+
+glScalexOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glScalexOES v1 v2 v3 = liftIO $ dyn105 ptr_glScalexOES v1 v2 v3
+
+{-# NOINLINE ptr_glScalexOES #-}
+ptr_glScalexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glScalexOES = unsafePerformIO $ getCommand "glScalexOES"
+
+-- glScissor -------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glScissor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glScissor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glScissor.xhtml OpenGL 4.x>.
+glScissor
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glScissor v1 v2 v3 v4 = liftIO $ dyn694 ptr_glScissor v1 v2 v3 v4
+
+{-# NOINLINE ptr_glScissor #-}
+ptr_glScissor :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glScissor = unsafePerformIO $ getCommand "glScissor"
+
+-- glScissorArrayv -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glScissorArray.xhtml OpenGL 4.x>.
+glScissorArrayv
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
+  -> m ()
+glScissorArrayv v1 v2 v3 = liftIO $ dyn695 ptr_glScissorArrayv v1 v2 v3
+
+{-# NOINLINE ptr_glScissorArrayv #-}
+ptr_glScissorArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glScissorArrayv = unsafePerformIO $ getCommand "glScissorArrayv"
+
+-- glScissorArrayvNV -----------------------------------------------------------
+
+-- | This command is an alias for 'glScissorArrayv'.
+glScissorArrayvNV
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
+  -> m ()
+glScissorArrayvNV v1 v2 v3 = liftIO $ dyn695 ptr_glScissorArrayvNV v1 v2 v3
+
+{-# NOINLINE ptr_glScissorArrayvNV #-}
+ptr_glScissorArrayvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glScissorArrayvNV = unsafePerformIO $ getCommand "glScissorArrayvNV"
+
+-- glScissorIndexed ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glScissorIndexed.xhtml OpenGL 4.x>.
+glScissorIndexed
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @left@.
+  -> GLint -- ^ @bottom@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glScissorIndexed v1 v2 v3 v4 v5 = liftIO $ dyn696 ptr_glScissorIndexed v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glScissorIndexed #-}
+ptr_glScissorIndexed :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glScissorIndexed = unsafePerformIO $ getCommand "glScissorIndexed"
+
+-- glScissorIndexedNV ----------------------------------------------------------
+
+-- | This command is an alias for 'glScissorIndexed'.
+glScissorIndexedNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @left@.
+  -> GLint -- ^ @bottom@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glScissorIndexedNV v1 v2 v3 v4 v5 = liftIO $ dyn696 ptr_glScissorIndexedNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glScissorIndexedNV #-}
+ptr_glScissorIndexedNV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glScissorIndexedNV = unsafePerformIO $ getCommand "glScissorIndexedNV"
+
+-- glScissorIndexedv -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glScissorIndexed.xhtml OpenGL 4.x>.
+glScissorIndexedv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glScissorIndexedv v1 v2 = liftIO $ dyn697 ptr_glScissorIndexedv v1 v2
+
+{-# NOINLINE ptr_glScissorIndexedv #-}
+ptr_glScissorIndexedv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glScissorIndexedv = unsafePerformIO $ getCommand "glScissorIndexedv"
+
+-- glScissorIndexedvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glScissorIndexedv'.
+glScissorIndexedvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glScissorIndexedvNV v1 v2 = liftIO $ dyn697 ptr_glScissorIndexedvNV v1 v2
+
+{-# NOINLINE ptr_glScissorIndexedvNV #-}
+ptr_glScissorIndexedvNV :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glScissorIndexedvNV = unsafePerformIO $ getCommand "glScissorIndexedvNV"
+
+-- glSecondaryColor3b ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3bv'.
+glSecondaryColor3b
+  :: MonadIO m
+  => GLbyte -- ^ @red@ of type @ColorB@.
+  -> GLbyte -- ^ @green@ of type @ColorB@.
+  -> GLbyte -- ^ @blue@ of type @ColorB@.
+  -> m ()
+glSecondaryColor3b v1 v2 v3 = liftIO $ dyn36 ptr_glSecondaryColor3b v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3b #-}
+ptr_glSecondaryColor3b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glSecondaryColor3b = unsafePerformIO $ getCommand "glSecondaryColor3b"
+
+-- glSecondaryColor3bEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3bvEXT'. This command is an alias for 'glSecondaryColor3b'.
+glSecondaryColor3bEXT
+  :: MonadIO m
+  => GLbyte -- ^ @red@ of type @ColorB@.
+  -> GLbyte -- ^ @green@ of type @ColorB@.
+  -> GLbyte -- ^ @blue@ of type @ColorB@.
+  -> m ()
+glSecondaryColor3bEXT v1 v2 v3 = liftIO $ dyn36 ptr_glSecondaryColor3bEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3bEXT #-}
+ptr_glSecondaryColor3bEXT :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glSecondaryColor3bEXT = unsafePerformIO $ getCommand "glSecondaryColor3bEXT"
+
+-- glSecondaryColor3bv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3bv
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @ColorB@.
+  -> m ()
+glSecondaryColor3bv v1 = liftIO $ dyn37 ptr_glSecondaryColor3bv v1
+
+{-# NOINLINE ptr_glSecondaryColor3bv #-}
+ptr_glSecondaryColor3bv :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glSecondaryColor3bv = unsafePerformIO $ getCommand "glSecondaryColor3bv"
+
+-- glSecondaryColor3bvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3bv'.
+glSecondaryColor3bvEXT
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @ColorB@.
+  -> m ()
+glSecondaryColor3bvEXT v1 = liftIO $ dyn37 ptr_glSecondaryColor3bvEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3bvEXT #-}
+ptr_glSecondaryColor3bvEXT :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glSecondaryColor3bvEXT = unsafePerformIO $ getCommand "glSecondaryColor3bvEXT"
+
+-- glSecondaryColor3d ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3dv'.
+glSecondaryColor3d
+  :: MonadIO m
+  => GLdouble -- ^ @red@ of type @ColorD@.
+  -> GLdouble -- ^ @green@ of type @ColorD@.
+  -> GLdouble -- ^ @blue@ of type @ColorD@.
+  -> m ()
+glSecondaryColor3d v1 v2 v3 = liftIO $ dyn38 ptr_glSecondaryColor3d v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3d #-}
+ptr_glSecondaryColor3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glSecondaryColor3d = unsafePerformIO $ getCommand "glSecondaryColor3d"
+
+-- glSecondaryColor3dEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3dvEXT'. This command is an alias for 'glSecondaryColor3d'.
+glSecondaryColor3dEXT
+  :: MonadIO m
+  => GLdouble -- ^ @red@ of type @ColorD@.
+  -> GLdouble -- ^ @green@ of type @ColorD@.
+  -> GLdouble -- ^ @blue@ of type @ColorD@.
+  -> m ()
+glSecondaryColor3dEXT v1 v2 v3 = liftIO $ dyn38 ptr_glSecondaryColor3dEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3dEXT #-}
+ptr_glSecondaryColor3dEXT :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glSecondaryColor3dEXT = unsafePerformIO $ getCommand "glSecondaryColor3dEXT"
+
+-- glSecondaryColor3dv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @ColorD@.
+  -> m ()
+glSecondaryColor3dv v1 = liftIO $ dyn39 ptr_glSecondaryColor3dv v1
+
+{-# NOINLINE ptr_glSecondaryColor3dv #-}
+ptr_glSecondaryColor3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glSecondaryColor3dv = unsafePerformIO $ getCommand "glSecondaryColor3dv"
+
+-- glSecondaryColor3dvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3dv'.
+glSecondaryColor3dvEXT
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @ColorD@.
+  -> m ()
+glSecondaryColor3dvEXT v1 = liftIO $ dyn39 ptr_glSecondaryColor3dvEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3dvEXT #-}
+ptr_glSecondaryColor3dvEXT :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glSecondaryColor3dvEXT = unsafePerformIO $ getCommand "glSecondaryColor3dvEXT"
+
+-- glSecondaryColor3f ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3fv'.
+glSecondaryColor3f
+  :: MonadIO m
+  => GLfloat -- ^ @red@ of type @ColorF@.
+  -> GLfloat -- ^ @green@ of type @ColorF@.
+  -> GLfloat -- ^ @blue@ of type @ColorF@.
+  -> m ()
+glSecondaryColor3f v1 v2 v3 = liftIO $ dyn40 ptr_glSecondaryColor3f v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3f #-}
+ptr_glSecondaryColor3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glSecondaryColor3f = unsafePerformIO $ getCommand "glSecondaryColor3f"
+
+-- glSecondaryColor3fEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3fvEXT'. This command is an alias for 'glSecondaryColor3f'.
+glSecondaryColor3fEXT
+  :: MonadIO m
+  => GLfloat -- ^ @red@ of type @ColorF@.
+  -> GLfloat -- ^ @green@ of type @ColorF@.
+  -> GLfloat -- ^ @blue@ of type @ColorF@.
+  -> m ()
+glSecondaryColor3fEXT v1 v2 v3 = liftIO $ dyn40 ptr_glSecondaryColor3fEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3fEXT #-}
+ptr_glSecondaryColor3fEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glSecondaryColor3fEXT = unsafePerformIO $ getCommand "glSecondaryColor3fEXT"
+
+-- glSecondaryColor3fv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @ColorF@.
+  -> m ()
+glSecondaryColor3fv v1 = liftIO $ dyn41 ptr_glSecondaryColor3fv v1
+
+{-# NOINLINE ptr_glSecondaryColor3fv #-}
+ptr_glSecondaryColor3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glSecondaryColor3fv = unsafePerformIO $ getCommand "glSecondaryColor3fv"
+
+-- glSecondaryColor3fvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3fv'.
+glSecondaryColor3fvEXT
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @ColorF@.
+  -> m ()
+glSecondaryColor3fvEXT v1 = liftIO $ dyn41 ptr_glSecondaryColor3fvEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3fvEXT #-}
+ptr_glSecondaryColor3fvEXT :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glSecondaryColor3fvEXT = unsafePerformIO $ getCommand "glSecondaryColor3fvEXT"
+
+-- glSecondaryColor3hNV --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3hvNV'.
+glSecondaryColor3hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @red@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @green@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @blue@ of type @Half16NV@.
+  -> m ()
+glSecondaryColor3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glSecondaryColor3hNV v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3hNV #-}
+ptr_glSecondaryColor3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glSecondaryColor3hNV = unsafePerformIO $ getCommand "glSecondaryColor3hNV"
+
+-- glSecondaryColor3hvNV -------------------------------------------------------
+
+glSecondaryColor3hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
+  -> m ()
+glSecondaryColor3hvNV v1 = liftIO $ dyn98 ptr_glSecondaryColor3hvNV v1
+
+{-# NOINLINE ptr_glSecondaryColor3hvNV #-}
+ptr_glSecondaryColor3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glSecondaryColor3hvNV = unsafePerformIO $ getCommand "glSecondaryColor3hvNV"
+
+-- glSecondaryColor3i ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3iv'.
+glSecondaryColor3i
+  :: MonadIO m
+  => GLint -- ^ @red@ of type @ColorI@.
+  -> GLint -- ^ @green@ of type @ColorI@.
+  -> GLint -- ^ @blue@ of type @ColorI@.
+  -> m ()
+glSecondaryColor3i v1 v2 v3 = liftIO $ dyn42 ptr_glSecondaryColor3i v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3i #-}
+ptr_glSecondaryColor3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glSecondaryColor3i = unsafePerformIO $ getCommand "glSecondaryColor3i"
+
+-- glSecondaryColor3iEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3ivEXT'. This command is an alias for 'glSecondaryColor3i'.
+glSecondaryColor3iEXT
+  :: MonadIO m
+  => GLint -- ^ @red@ of type @ColorI@.
+  -> GLint -- ^ @green@ of type @ColorI@.
+  -> GLint -- ^ @blue@ of type @ColorI@.
+  -> m ()
+glSecondaryColor3iEXT v1 v2 v3 = liftIO $ dyn42 ptr_glSecondaryColor3iEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3iEXT #-}
+ptr_glSecondaryColor3iEXT :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glSecondaryColor3iEXT = unsafePerformIO $ getCommand "glSecondaryColor3iEXT"
+
+-- glSecondaryColor3iv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
+  -> m ()
+glSecondaryColor3iv v1 = liftIO $ dyn43 ptr_glSecondaryColor3iv v1
+
+{-# NOINLINE ptr_glSecondaryColor3iv #-}
+ptr_glSecondaryColor3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glSecondaryColor3iv = unsafePerformIO $ getCommand "glSecondaryColor3iv"
+
+-- glSecondaryColor3ivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3iv'.
+glSecondaryColor3ivEXT
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
+  -> m ()
+glSecondaryColor3ivEXT v1 = liftIO $ dyn43 ptr_glSecondaryColor3ivEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3ivEXT #-}
+ptr_glSecondaryColor3ivEXT :: FunPtr (Ptr GLint -> IO ())
+ptr_glSecondaryColor3ivEXT = unsafePerformIO $ getCommand "glSecondaryColor3ivEXT"
+
+-- glSecondaryColor3s ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3sv'.
+glSecondaryColor3s
+  :: MonadIO m
+  => GLshort -- ^ @red@ of type @ColorS@.
+  -> GLshort -- ^ @green@ of type @ColorS@.
+  -> GLshort -- ^ @blue@ of type @ColorS@.
+  -> m ()
+glSecondaryColor3s v1 v2 v3 = liftIO $ dyn44 ptr_glSecondaryColor3s v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3s #-}
+ptr_glSecondaryColor3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glSecondaryColor3s = unsafePerformIO $ getCommand "glSecondaryColor3s"
+
+-- glSecondaryColor3sEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3svEXT'. This command is an alias for 'glSecondaryColor3s'.
+glSecondaryColor3sEXT
+  :: MonadIO m
+  => GLshort -- ^ @red@ of type @ColorS@.
+  -> GLshort -- ^ @green@ of type @ColorS@.
+  -> GLshort -- ^ @blue@ of type @ColorS@.
+  -> m ()
+glSecondaryColor3sEXT v1 v2 v3 = liftIO $ dyn44 ptr_glSecondaryColor3sEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3sEXT #-}
+ptr_glSecondaryColor3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glSecondaryColor3sEXT = unsafePerformIO $ getCommand "glSecondaryColor3sEXT"
+
+-- glSecondaryColor3sv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
+  -> m ()
+glSecondaryColor3sv v1 = liftIO $ dyn45 ptr_glSecondaryColor3sv v1
+
+{-# NOINLINE ptr_glSecondaryColor3sv #-}
+ptr_glSecondaryColor3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glSecondaryColor3sv = unsafePerformIO $ getCommand "glSecondaryColor3sv"
+
+-- glSecondaryColor3svEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3sv'.
+glSecondaryColor3svEXT
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
+  -> m ()
+glSecondaryColor3svEXT v1 = liftIO $ dyn45 ptr_glSecondaryColor3svEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3svEXT #-}
+ptr_glSecondaryColor3svEXT :: FunPtr (Ptr GLshort -> IO ())
+ptr_glSecondaryColor3svEXT = unsafePerformIO $ getCommand "glSecondaryColor3svEXT"
+
+-- glSecondaryColor3ub ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3ubv'.
+glSecondaryColor3ub
+  :: MonadIO m
+  => GLubyte -- ^ @red@ of type @ColorUB@.
+  -> GLubyte -- ^ @green@ of type @ColorUB@.
+  -> GLubyte -- ^ @blue@ of type @ColorUB@.
+  -> m ()
+glSecondaryColor3ub v1 v2 v3 = liftIO $ dyn99 ptr_glSecondaryColor3ub v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3ub #-}
+ptr_glSecondaryColor3ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glSecondaryColor3ub = unsafePerformIO $ getCommand "glSecondaryColor3ub"
+
+-- glSecondaryColor3ubEXT ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3ubvEXT'. This command is an alias for 'glSecondaryColor3ub'.
+glSecondaryColor3ubEXT
+  :: MonadIO m
+  => GLubyte -- ^ @red@ of type @ColorUB@.
+  -> GLubyte -- ^ @green@ of type @ColorUB@.
+  -> GLubyte -- ^ @blue@ of type @ColorUB@.
+  -> m ()
+glSecondaryColor3ubEXT v1 v2 v3 = liftIO $ dyn99 ptr_glSecondaryColor3ubEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3ubEXT #-}
+ptr_glSecondaryColor3ubEXT :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glSecondaryColor3ubEXT = unsafePerformIO $ getCommand "glSecondaryColor3ubEXT"
+
+-- glSecondaryColor3ubv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3ubv
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @v@ pointing to @3@ elements of type @ColorUB@.
+  -> m ()
+glSecondaryColor3ubv v1 = liftIO $ dyn100 ptr_glSecondaryColor3ubv v1
+
+{-# NOINLINE ptr_glSecondaryColor3ubv #-}
+ptr_glSecondaryColor3ubv :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glSecondaryColor3ubv = unsafePerformIO $ getCommand "glSecondaryColor3ubv"
+
+-- glSecondaryColor3ubvEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3ubv'.
+glSecondaryColor3ubvEXT
+  :: MonadIO m
+  => Ptr GLubyte -- ^ @v@ pointing to @3@ elements of type @ColorUB@.
+  -> m ()
+glSecondaryColor3ubvEXT v1 = liftIO $ dyn100 ptr_glSecondaryColor3ubvEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3ubvEXT #-}
+ptr_glSecondaryColor3ubvEXT :: FunPtr (Ptr GLubyte -> IO ())
+ptr_glSecondaryColor3ubvEXT = unsafePerformIO $ getCommand "glSecondaryColor3ubvEXT"
+
+-- glSecondaryColor3ui ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3uiv'.
+glSecondaryColor3ui
+  :: MonadIO m
+  => GLuint -- ^ @red@ of type @ColorUI@.
+  -> GLuint -- ^ @green@ of type @ColorUI@.
+  -> GLuint -- ^ @blue@ of type @ColorUI@.
+  -> m ()
+glSecondaryColor3ui v1 v2 v3 = liftIO $ dyn101 ptr_glSecondaryColor3ui v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3ui #-}
+ptr_glSecondaryColor3ui :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glSecondaryColor3ui = unsafePerformIO $ getCommand "glSecondaryColor3ui"
+
+-- glSecondaryColor3uiEXT ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3uivEXT'. This command is an alias for 'glSecondaryColor3ui'.
+glSecondaryColor3uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @red@ of type @ColorUI@.
+  -> GLuint -- ^ @green@ of type @ColorUI@.
+  -> GLuint -- ^ @blue@ of type @ColorUI@.
+  -> m ()
+glSecondaryColor3uiEXT v1 v2 v3 = liftIO $ dyn101 ptr_glSecondaryColor3uiEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3uiEXT #-}
+ptr_glSecondaryColor3uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glSecondaryColor3uiEXT = unsafePerformIO $ getCommand "glSecondaryColor3uiEXT"
+
+-- glSecondaryColor3uiv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3uiv
+  :: MonadIO m
+  => Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @ColorUI@.
+  -> m ()
+glSecondaryColor3uiv v1 = liftIO $ dyn102 ptr_glSecondaryColor3uiv v1
+
+{-# NOINLINE ptr_glSecondaryColor3uiv #-}
+ptr_glSecondaryColor3uiv :: FunPtr (Ptr GLuint -> IO ())
+ptr_glSecondaryColor3uiv = unsafePerformIO $ getCommand "glSecondaryColor3uiv"
+
+-- glSecondaryColor3uivEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3uiv'.
+glSecondaryColor3uivEXT
+  :: MonadIO m
+  => Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @ColorUI@.
+  -> m ()
+glSecondaryColor3uivEXT v1 = liftIO $ dyn102 ptr_glSecondaryColor3uivEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3uivEXT #-}
+ptr_glSecondaryColor3uivEXT :: FunPtr (Ptr GLuint -> IO ())
+ptr_glSecondaryColor3uivEXT = unsafePerformIO $ getCommand "glSecondaryColor3uivEXT"
+
+-- glSecondaryColor3us ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3usv'.
+glSecondaryColor3us
+  :: MonadIO m
+  => GLushort -- ^ @red@ of type @ColorUS@.
+  -> GLushort -- ^ @green@ of type @ColorUS@.
+  -> GLushort -- ^ @blue@ of type @ColorUS@.
+  -> m ()
+glSecondaryColor3us v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3us v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3us #-}
+ptr_glSecondaryColor3us :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
+ptr_glSecondaryColor3us = unsafePerformIO $ getCommand "glSecondaryColor3us"
+
+-- glSecondaryColor3usEXT ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glSecondaryColor3usvEXT'. This command is an alias for 'glSecondaryColor3us'.
+glSecondaryColor3usEXT
+  :: MonadIO m
+  => GLushort -- ^ @red@ of type @ColorUS@.
+  -> GLushort -- ^ @green@ of type @ColorUS@.
+  -> GLushort -- ^ @blue@ of type @ColorUS@.
+  -> m ()
+glSecondaryColor3usEXT v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3usEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColor3usEXT #-}
+ptr_glSecondaryColor3usEXT :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
+ptr_glSecondaryColor3usEXT = unsafePerformIO $ getCommand "glSecondaryColor3usEXT"
+
+-- glSecondaryColor3usv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
+glSecondaryColor3usv
+  :: MonadIO m
+  => Ptr GLushort -- ^ @v@ pointing to @3@ elements of type @ColorUS@.
+  -> m ()
+glSecondaryColor3usv v1 = liftIO $ dyn104 ptr_glSecondaryColor3usv v1
+
+{-# NOINLINE ptr_glSecondaryColor3usv #-}
+ptr_glSecondaryColor3usv :: FunPtr (Ptr GLushort -> IO ())
+ptr_glSecondaryColor3usv = unsafePerformIO $ getCommand "glSecondaryColor3usv"
+
+-- glSecondaryColor3usvEXT -----------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColor3usv'.
+glSecondaryColor3usvEXT
+  :: MonadIO m
+  => Ptr GLushort -- ^ @v@ pointing to @3@ elements of type @ColorUS@.
+  -> m ()
+glSecondaryColor3usvEXT v1 = liftIO $ dyn104 ptr_glSecondaryColor3usvEXT v1
+
+{-# NOINLINE ptr_glSecondaryColor3usvEXT #-}
+ptr_glSecondaryColor3usvEXT :: FunPtr (Ptr GLushort -> IO ())
+ptr_glSecondaryColor3usvEXT = unsafePerformIO $ getCommand "glSecondaryColor3usvEXT"
+
+-- glSecondaryColorFormatNV ----------------------------------------------------
+
+glSecondaryColorFormatNV
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glSecondaryColorFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glSecondaryColorFormatNV v1 v2 v3
+
+{-# NOINLINE ptr_glSecondaryColorFormatNV #-}
+ptr_glSecondaryColorFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
+ptr_glSecondaryColorFormatNV = unsafePerformIO $ getCommand "glSecondaryColorFormatNV"
+
+-- glSecondaryColorP3ui --------------------------------------------------------
+
+glSecondaryColorP3ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @color@.
+  -> m ()
+glSecondaryColorP3ui v1 v2 = liftIO $ dyn16 ptr_glSecondaryColorP3ui v1 v2
+
+{-# NOINLINE ptr_glSecondaryColorP3ui #-}
+ptr_glSecondaryColorP3ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glSecondaryColorP3ui = unsafePerformIO $ getCommand "glSecondaryColorP3ui"
+
+-- glSecondaryColorP3uiv -------------------------------------------------------
+
+glSecondaryColorP3uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glSecondaryColorP3uiv v1 v2 = liftIO $ dyn124 ptr_glSecondaryColorP3uiv v1 v2
+
+{-# NOINLINE ptr_glSecondaryColorP3uiv #-}
+ptr_glSecondaryColorP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glSecondaryColorP3uiv = unsafePerformIO $ getCommand "glSecondaryColorP3uiv"
+
+-- glSecondaryColorPointer -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColorPointer.xml OpenGL 2.x>.
+glSecondaryColorPointer
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glSecondaryColorPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glSecondaryColorPointer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glSecondaryColorPointer #-}
+ptr_glSecondaryColorPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glSecondaryColorPointer = unsafePerformIO $ getCommand "glSecondaryColorPointer"
+
+-- glSecondaryColorPointerEXT --------------------------------------------------
+
+-- | This command is an alias for 'glSecondaryColorPointer'.
+glSecondaryColorPointerEXT
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glSecondaryColorPointerEXT v1 v2 v3 v4 = liftIO $ dyn125 ptr_glSecondaryColorPointerEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glSecondaryColorPointerEXT #-}
+ptr_glSecondaryColorPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glSecondaryColorPointerEXT = unsafePerformIO $ getCommand "glSecondaryColorPointerEXT"
+
+-- glSecondaryColorPointerListIBM ----------------------------------------------
+
+glSecondaryColorPointerListIBM
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @SecondaryColorPointerTypeIBM@.
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glSecondaryColorPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glSecondaryColorPointerListIBM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glSecondaryColorPointerListIBM #-}
+ptr_glSecondaryColorPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glSecondaryColorPointerListIBM = unsafePerformIO $ getCommand "glSecondaryColorPointerListIBM"
+
+-- glSelectBuffer --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSelectBuffer.xml OpenGL 2.x>.
+glSelectBuffer
+  :: MonadIO m
+  => GLsizei -- ^ @size@.
+  -> Ptr GLuint -- ^ @buffer@ pointing to @size@ elements of type @SelectName@.
+  -> m ()
+glSelectBuffer v1 v2 = liftIO $ dyn192 ptr_glSelectBuffer v1 v2
+
+{-# NOINLINE ptr_glSelectBuffer #-}
+ptr_glSelectBuffer :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
+ptr_glSelectBuffer = unsafePerformIO $ getCommand "glSelectBuffer"
+
+-- glSelectPerfMonitorCountersAMD ----------------------------------------------
+
+glSelectPerfMonitorCountersAMD
+  :: MonadIO m
+  => GLuint -- ^ @monitor@.
+  -> GLboolean -- ^ @enable@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLuint -- ^ @group@.
+  -> GLint -- ^ @numCounters@.
+  -> Ptr GLuint -- ^ @counterList@ pointing to @numCounters@ elements of type @GLuint@.
+  -> m ()
+glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn698 ptr_glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glSelectPerfMonitorCountersAMD #-}
+ptr_glSelectPerfMonitorCountersAMD :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ())
+ptr_glSelectPerfMonitorCountersAMD = unsafePerformIO $ getCommand "glSelectPerfMonitorCountersAMD"
+
+-- glSeparableFilter2D ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSeparableFilter2D.xml OpenGL 2.x>.
+glSeparableFilter2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @SeparableTarget@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type,width)@ elements of type @a@.
+  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type,height)@ elements of type @b@.
+  -> m ()
+glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn699 ptr_glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glSeparableFilter2D #-}
+ptr_glSeparableFilter2D :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
+ptr_glSeparableFilter2D = unsafePerformIO $ getCommand "glSeparableFilter2D"
+
+-- glSeparableFilter2DEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glSeparableFilter2D'.
+glSeparableFilter2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-GL-Groups.html#SeparableTargetEXT).
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type,width)@ elements of type @a@.
+  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type,height)@ elements of type @b@.
+  -> m ()
+glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn699 ptr_glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glSeparableFilter2DEXT #-}
+ptr_glSeparableFilter2DEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
+ptr_glSeparableFilter2DEXT = unsafePerformIO $ getCommand "glSeparableFilter2DEXT"
+
+-- glSetFenceAPPLE -------------------------------------------------------------
+
+glSetFenceAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> m ()
+glSetFenceAPPLE v1 = liftIO $ dyn2 ptr_glSetFenceAPPLE v1
+
+{-# NOINLINE ptr_glSetFenceAPPLE #-}
+ptr_glSetFenceAPPLE :: FunPtr (GLuint -> IO ())
+ptr_glSetFenceAPPLE = unsafePerformIO $ getCommand "glSetFenceAPPLE"
+
+-- glSetFenceNV ----------------------------------------------------------------
+
+glSetFenceNV
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> GLenum -- ^ @condition@ of type @FenceConditionNV@.
+  -> m ()
+glSetFenceNV v1 v2 = liftIO $ dyn15 ptr_glSetFenceNV v1 v2
+
+{-# NOINLINE ptr_glSetFenceNV #-}
+ptr_glSetFenceNV :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glSetFenceNV = unsafePerformIO $ getCommand "glSetFenceNV"
+
+-- glSetFragmentShaderConstantATI ----------------------------------------------
+
+glSetFragmentShaderConstantATI
+  :: MonadIO m
+  => GLuint -- ^ @dst@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glSetFragmentShaderConstantATI v1 v2 = liftIO $ dyn373 ptr_glSetFragmentShaderConstantATI v1 v2
+
+{-# NOINLINE ptr_glSetFragmentShaderConstantATI #-}
+ptr_glSetFragmentShaderConstantATI :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glSetFragmentShaderConstantATI = unsafePerformIO $ getCommand "glSetFragmentShaderConstantATI"
+
+-- glSetInvariantEXT -----------------------------------------------------------
+
+glSetInvariantEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @type@ of type @ScalarType@.
+  -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type)@ elements of type @a@.
+  -> m ()
+glSetInvariantEXT v1 v2 v3 = liftIO $ dyn700 ptr_glSetInvariantEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSetInvariantEXT #-}
+ptr_glSetInvariantEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
+ptr_glSetInvariantEXT = unsafePerformIO $ getCommand "glSetInvariantEXT"
+
+-- glSetLocalConstantEXT -------------------------------------------------------
+
+glSetLocalConstantEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @type@ of type @ScalarType@.
+  -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type)@ elements of type @a@.
+  -> m ()
+glSetLocalConstantEXT v1 v2 v3 = liftIO $ dyn700 ptr_glSetLocalConstantEXT v1 v2 v3
+
+{-# NOINLINE ptr_glSetLocalConstantEXT #-}
+ptr_glSetLocalConstantEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
+ptr_glSetLocalConstantEXT = unsafePerformIO $ getCommand "glSetLocalConstantEXT"
+
+-- glSetMultisamplefvAMD -------------------------------------------------------
+
+glSetMultisamplefvAMD
+  :: MonadIO m
+  => GLenum -- ^ @pname@.
+  -> GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @val@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glSetMultisamplefvAMD v1 v2 v3 = liftIO $ dyn266 ptr_glSetMultisamplefvAMD v1 v2 v3
+
+{-# NOINLINE ptr_glSetMultisamplefvAMD #-}
+ptr_glSetMultisamplefvAMD :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
+ptr_glSetMultisamplefvAMD = unsafePerformIO $ getCommand "glSetMultisamplefvAMD"
+
+-- glShadeModel ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glShadeModel.xml OpenGL 2.x>.
+glShadeModel
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type [ShadingModel](Graphics-GL-Groups.html#ShadingModel).
+  -> m ()
+glShadeModel v1 = liftIO $ dyn4 ptr_glShadeModel v1
+
+{-# NOINLINE ptr_glShadeModel #-}
+ptr_glShadeModel :: FunPtr (GLenum -> IO ())
+ptr_glShadeModel = unsafePerformIO $ getCommand "glShadeModel"
+
+-- glShaderBinary --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glShaderBinary.xhtml OpenGL 4.x>.
+glShaderBinary
+  :: MonadIO m
+  => GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @shaders@ pointing to @count@ elements of type @GLuint@.
+  -> GLenum -- ^ @binaryformat@.
+  -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
+  -> GLsizei -- ^ @length@.
+  -> m ()
+glShaderBinary v1 v2 v3 v4 v5 = liftIO $ dyn701 ptr_glShaderBinary v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glShaderBinary #-}
+ptr_glShaderBinary :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
+ptr_glShaderBinary = unsafePerformIO $ getCommand "glShaderBinary"
+
+-- glShaderOp1EXT --------------------------------------------------------------
+
+glShaderOp1EXT
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @VertexShaderOpEXT@.
+  -> GLuint -- ^ @res@.
+  -> GLuint -- ^ @arg1@.
+  -> m ()
+glShaderOp1EXT v1 v2 v3 = liftIO $ dyn17 ptr_glShaderOp1EXT v1 v2 v3
+
+{-# NOINLINE ptr_glShaderOp1EXT #-}
+ptr_glShaderOp1EXT :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
+ptr_glShaderOp1EXT = unsafePerformIO $ getCommand "glShaderOp1EXT"
+
+-- glShaderOp2EXT --------------------------------------------------------------
+
+glShaderOp2EXT
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @VertexShaderOpEXT@.
+  -> GLuint -- ^ @res@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg2@.
+  -> m ()
+glShaderOp2EXT v1 v2 v3 v4 = liftIO $ dyn702 ptr_glShaderOp2EXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glShaderOp2EXT #-}
+ptr_glShaderOp2EXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glShaderOp2EXT = unsafePerformIO $ getCommand "glShaderOp2EXT"
+
+-- glShaderOp3EXT --------------------------------------------------------------
+
+glShaderOp3EXT
+  :: MonadIO m
+  => GLenum -- ^ @op@ of type @VertexShaderOpEXT@.
+  -> GLuint -- ^ @res@.
+  -> GLuint -- ^ @arg1@.
+  -> GLuint -- ^ @arg2@.
+  -> GLuint -- ^ @arg3@.
+  -> m ()
+glShaderOp3EXT v1 v2 v3 v4 v5 = liftIO $ dyn703 ptr_glShaderOp3EXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glShaderOp3EXT #-}
+ptr_glShaderOp3EXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glShaderOp3EXT = unsafePerformIO $ getCommand "glShaderOp3EXT"
+
+-- glShaderSource --------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glShaderSource.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glShaderSource.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glShaderSource.xhtml OpenGL 4.x>.
+glShaderSource
+  :: MonadIO m
+  => GLuint -- ^ @shader@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr (Ptr GLchar) -- ^ @string@ pointing to @count@ elements of type @Ptr GLchar@.
+  -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
+  -> m ()
+glShaderSource v1 v2 v3 v4 = liftIO $ dyn137 ptr_glShaderSource v1 v2 v3 v4
+
+{-# NOINLINE ptr_glShaderSource #-}
+ptr_glShaderSource :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
+ptr_glShaderSource = unsafePerformIO $ getCommand "glShaderSource"
+
+-- glShaderSourceARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glShaderSource'.
+glShaderSourceARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @shaderObj@ of type @handleARB@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr (Ptr GLcharARB) -- ^ @string@ pointing to @count@ elements of type @Ptr GLcharARB@.
+  -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
+  -> m ()
+glShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn704 ptr_glShaderSourceARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glShaderSourceARB #-}
+ptr_glShaderSourceARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
+ptr_glShaderSourceARB = unsafePerformIO $ getCommand "glShaderSourceARB"
+
+-- glShaderStorageBlockBinding -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glShaderStorageBlockBinding.xhtml OpenGL 4.x>.
+glShaderStorageBlockBinding
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @storageBlockIndex@.
+  -> GLuint -- ^ @storageBlockBinding@.
+  -> m ()
+glShaderStorageBlockBinding v1 v2 v3 = liftIO $ dyn101 ptr_glShaderStorageBlockBinding v1 v2 v3
+
+{-# NOINLINE ptr_glShaderStorageBlockBinding #-}
+ptr_glShaderStorageBlockBinding :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glShaderStorageBlockBinding = unsafePerformIO $ getCommand "glShaderStorageBlockBinding"
+
+-- glSharpenTexFuncSGIS --------------------------------------------------------
+
+glSharpenTexFuncSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
+  -> m ()
+glSharpenTexFuncSGIS v1 v2 v3 = liftIO $ dyn224 ptr_glSharpenTexFuncSGIS v1 v2 v3
+
+{-# NOINLINE ptr_glSharpenTexFuncSGIS #-}
+ptr_glSharpenTexFuncSGIS :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glSharpenTexFuncSGIS = unsafePerformIO $ getCommand "glSharpenTexFuncSGIS"
+
+-- glSpriteParameterfSGIX ------------------------------------------------------
+
+glSpriteParameterfSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glSpriteParameterfSGIX v1 v2 = liftIO $ dyn0 ptr_glSpriteParameterfSGIX v1 v2
+
+{-# NOINLINE ptr_glSpriteParameterfSGIX #-}
+ptr_glSpriteParameterfSGIX :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glSpriteParameterfSGIX = unsafePerformIO $ getCommand "glSpriteParameterfSGIX"
+
+-- glSpriteParameterfvSGIX -----------------------------------------------------
+
+glSpriteParameterfvSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glSpriteParameterfvSGIX v1 v2 = liftIO $ dyn93 ptr_glSpriteParameterfvSGIX v1 v2
+
+{-# NOINLINE ptr_glSpriteParameterfvSGIX #-}
+ptr_glSpriteParameterfvSGIX :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glSpriteParameterfvSGIX = unsafePerformIO $ getCommand "glSpriteParameterfvSGIX"
+
+-- glSpriteParameteriSGIX ------------------------------------------------------
+
+glSpriteParameteriSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glSpriteParameteriSGIX v1 v2 = liftIO $ dyn55 ptr_glSpriteParameteriSGIX v1 v2
+
+{-# NOINLINE ptr_glSpriteParameteriSGIX #-}
+ptr_glSpriteParameteriSGIX :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glSpriteParameteriSGIX = unsafePerformIO $ getCommand "glSpriteParameteriSGIX"
+
+-- glSpriteParameterivSGIX -----------------------------------------------------
+
+glSpriteParameterivSGIX
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glSpriteParameterivSGIX v1 v2 = liftIO $ dyn135 ptr_glSpriteParameterivSGIX v1 v2
+
+{-# NOINLINE ptr_glSpriteParameterivSGIX #-}
+ptr_glSpriteParameterivSGIX :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glSpriteParameterivSGIX = unsafePerformIO $ getCommand "glSpriteParameterivSGIX"
+
+-- glStartInstrumentsSGIX ------------------------------------------------------
+
+glStartInstrumentsSGIX
+  :: MonadIO m
+  => m ()
+glStartInstrumentsSGIX = liftIO $ dyn10 ptr_glStartInstrumentsSGIX
+
+{-# NOINLINE ptr_glStartInstrumentsSGIX #-}
+ptr_glStartInstrumentsSGIX :: FunPtr (IO ())
+ptr_glStartInstrumentsSGIX = unsafePerformIO $ getCommand "glStartInstrumentsSGIX"
+
+-- glStartTilingQCOM -----------------------------------------------------------
+
+glStartTilingQCOM
+  :: MonadIO m
+  => GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @width@.
+  -> GLuint -- ^ @height@.
+  -> GLbitfield -- ^ @preserveMask@.
+  -> m ()
+glStartTilingQCOM v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glStartTilingQCOM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glStartTilingQCOM #-}
+ptr_glStartTilingQCOM :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ())
+ptr_glStartTilingQCOM = unsafePerformIO $ getCommand "glStartTilingQCOM"
+
+-- glStateCaptureNV ------------------------------------------------------------
+
+glStateCaptureNV
+  :: MonadIO m
+  => GLuint -- ^ @state@.
+  -> GLenum -- ^ @mode@.
+  -> m ()
+glStateCaptureNV v1 v2 = liftIO $ dyn15 ptr_glStateCaptureNV v1 v2
+
+{-# NOINLINE ptr_glStateCaptureNV #-}
+ptr_glStateCaptureNV :: FunPtr (GLuint -> GLenum -> IO ())
+ptr_glStateCaptureNV = unsafePerformIO $ getCommand "glStateCaptureNV"
+
+-- glStencilClearTagEXT --------------------------------------------------------
+
+glStencilClearTagEXT
+  :: MonadIO m
+  => GLsizei -- ^ @stencilTagBits@.
+  -> GLuint -- ^ @stencilClearTag@.
+  -> m ()
+glStencilClearTagEXT v1 v2 = liftIO $ dyn706 ptr_glStencilClearTagEXT v1 v2
+
+{-# NOINLINE ptr_glStencilClearTagEXT #-}
+ptr_glStencilClearTagEXT :: FunPtr (GLsizei -> GLuint -> IO ())
+ptr_glStencilClearTagEXT = unsafePerformIO $ getCommand "glStencilClearTagEXT"
+
+-- glStencilFillPathInstancedNV ------------------------------------------------
+
+glStencilFillPathInstancedNV
+  :: MonadIO m
+  => GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
+  -> GLuint -- ^ @pathBase@ of type @Path@.
+  -> GLenum -- ^ @fillMode@ of type @PathFillMode@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
+  -> m ()
+glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn707 ptr_glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glStencilFillPathInstancedNV #-}
+ptr_glStencilFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glStencilFillPathInstancedNV = unsafePerformIO $ getCommand "glStencilFillPathInstancedNV"
+
+-- glStencilFillPathNV ---------------------------------------------------------
+
+glStencilFillPathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLenum -- ^ @fillMode@ of type @PathFillMode@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glStencilFillPathNV v1 v2 v3 = liftIO $ dyn708 ptr_glStencilFillPathNV v1 v2 v3
+
+{-# NOINLINE ptr_glStencilFillPathNV #-}
+ptr_glStencilFillPathNV :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
+ptr_glStencilFillPathNV = unsafePerformIO $ getCommand "glStencilFillPathNV"
+
+-- glStencilFunc ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilFunc.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilFunc.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilFunc.xhtml OpenGL 4.x>.
+glStencilFunc
+  :: MonadIO m
+  => GLenum -- ^ @func@ of type [StencilFunction](Graphics-GL-Groups.html#StencilFunction).
+  -> GLint -- ^ @ref@ of type @StencilValue@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glStencilFunc v1 v2 v3 = liftIO $ dyn600 ptr_glStencilFunc v1 v2 v3
+
+{-# NOINLINE ptr_glStencilFunc #-}
+ptr_glStencilFunc :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
+ptr_glStencilFunc = unsafePerformIO $ getCommand "glStencilFunc"
+
+-- glStencilFuncSeparate -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilFuncSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilFuncSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilFuncSeparate.xhtml OpenGL 4.x>.
+glStencilFuncSeparate
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
+  -> GLenum -- ^ @func@ of type [StencilFunction](Graphics-GL-Groups.html#StencilFunction).
+  -> GLint -- ^ @ref@ of type @StencilValue@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glStencilFuncSeparate v1 v2 v3 v4 = liftIO $ dyn709 ptr_glStencilFuncSeparate v1 v2 v3 v4
+
+{-# NOINLINE ptr_glStencilFuncSeparate #-}
+ptr_glStencilFuncSeparate :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
+ptr_glStencilFuncSeparate = unsafePerformIO $ getCommand "glStencilFuncSeparate"
+
+-- glStencilFuncSeparateATI ----------------------------------------------------
+
+glStencilFuncSeparateATI
+  :: MonadIO m
+  => GLenum -- ^ @frontfunc@ of type [StencilFunction](Graphics-GL-Groups.html#StencilFunction).
+  -> GLenum -- ^ @backfunc@ of type [StencilFunction](Graphics-GL-Groups.html#StencilFunction).
+  -> GLint -- ^ @ref@ of type @ClampedStencilValue@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glStencilFuncSeparateATI v1 v2 v3 v4 = liftIO $ dyn709 ptr_glStencilFuncSeparateATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glStencilFuncSeparateATI #-}
+ptr_glStencilFuncSeparateATI :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
+ptr_glStencilFuncSeparateATI = unsafePerformIO $ getCommand "glStencilFuncSeparateATI"
+
+-- glStencilMask ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilMask.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilMask.xhtml OpenGL 4.x>.
+glStencilMask
+  :: MonadIO m
+  => GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glStencilMask v1 = liftIO $ dyn2 ptr_glStencilMask v1
+
+{-# NOINLINE ptr_glStencilMask #-}
+ptr_glStencilMask :: FunPtr (GLuint -> IO ())
+ptr_glStencilMask = unsafePerformIO $ getCommand "glStencilMask"
+
+-- glStencilMaskSeparate -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilMaskSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilMaskSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilMaskSeparate.xhtml OpenGL 4.x>.
+glStencilMaskSeparate
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glStencilMaskSeparate v1 v2 = liftIO $ dyn16 ptr_glStencilMaskSeparate v1 v2
+
+{-# NOINLINE ptr_glStencilMaskSeparate #-}
+ptr_glStencilMaskSeparate :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glStencilMaskSeparate = unsafePerformIO $ getCommand "glStencilMaskSeparate"
+
+-- glStencilOp -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilOp.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilOp.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilOp.xhtml OpenGL 4.x>.
+glStencilOp
+  :: MonadIO m
+  => GLenum -- ^ @fail@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> GLenum -- ^ @zfail@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> GLenum -- ^ @zpass@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> m ()
+glStencilOp v1 v2 v3 = liftIO $ dyn710 ptr_glStencilOp v1 v2 v3
+
+{-# NOINLINE ptr_glStencilOp #-}
+ptr_glStencilOp :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
+ptr_glStencilOp = unsafePerformIO $ getCommand "glStencilOp"
+
+-- glStencilOpSeparate ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilOpSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilOpSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilOpSeparate.xhtml OpenGL 4.x>.
+glStencilOpSeparate
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
+  -> GLenum -- ^ @sfail@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> GLenum -- ^ @dpfail@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> GLenum -- ^ @dppass@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> m ()
+glStencilOpSeparate v1 v2 v3 v4 = liftIO $ dyn53 ptr_glStencilOpSeparate v1 v2 v3 v4
+
+{-# NOINLINE ptr_glStencilOpSeparate #-}
+ptr_glStencilOpSeparate :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glStencilOpSeparate = unsafePerformIO $ getCommand "glStencilOpSeparate"
+
+-- glStencilOpSeparateATI ------------------------------------------------------
+
+-- | This command is an alias for 'glStencilOpSeparate'.
+glStencilOpSeparateATI
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
+  -> GLenum -- ^ @sfail@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> GLenum -- ^ @dpfail@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> GLenum -- ^ @dppass@ of type [StencilOp](Graphics-GL-Groups.html#StencilOp).
+  -> m ()
+glStencilOpSeparateATI v1 v2 v3 v4 = liftIO $ dyn53 ptr_glStencilOpSeparateATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glStencilOpSeparateATI #-}
+ptr_glStencilOpSeparateATI :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glStencilOpSeparateATI = unsafePerformIO $ getCommand "glStencilOpSeparateATI"
+
+-- glStencilOpValueAMD ---------------------------------------------------------
+
+glStencilOpValueAMD
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
+  -> GLuint -- ^ @value@.
+  -> m ()
+glStencilOpValueAMD v1 v2 = liftIO $ dyn16 ptr_glStencilOpValueAMD v1 v2
+
+{-# NOINLINE ptr_glStencilOpValueAMD #-}
+ptr_glStencilOpValueAMD :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glStencilOpValueAMD = unsafePerformIO $ getCommand "glStencilOpValueAMD"
+
+-- glStencilStrokePathInstancedNV ----------------------------------------------
+
+glStencilStrokePathInstancedNV
+  :: MonadIO m
+  => GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
+  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
+  -> GLuint -- ^ @pathBase@ of type @Path@.
+  -> GLint -- ^ @reference@ of type @StencilValue@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
+  -> m ()
+glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn711 ptr_glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glStencilStrokePathInstancedNV #-}
+ptr_glStencilStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glStencilStrokePathInstancedNV = unsafePerformIO $ getCommand "glStencilStrokePathInstancedNV"
+
+-- glStencilStrokePathNV -------------------------------------------------------
+
+glStencilStrokePathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@ of type @Path@.
+  -> GLint -- ^ @reference@ of type @StencilValue@.
+  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
+  -> m ()
+glStencilStrokePathNV v1 v2 v3 = liftIO $ dyn633 ptr_glStencilStrokePathNV v1 v2 v3
+
+{-# NOINLINE ptr_glStencilStrokePathNV #-}
+ptr_glStencilStrokePathNV :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
+ptr_glStencilStrokePathNV = unsafePerformIO $ getCommand "glStencilStrokePathNV"
+
+-- glStencilThenCoverFillPathInstancedNV ---------------------------------------
+
+glStencilThenCoverFillPathInstancedNV
+  :: MonadIO m
+  => GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@.
+  -> Ptr a -- ^ @paths@.
+  -> GLuint -- ^ @pathBase@.
+  -> GLenum -- ^ @fillMode@.
+  -> GLuint -- ^ @mask@.
+  -> GLenum -- ^ @coverMode@.
+  -> GLenum -- ^ @transformType@.
+  -> Ptr GLfloat -- ^ @transformValues@.
+  -> m ()
+glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn712 ptr_glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glStencilThenCoverFillPathInstancedNV #-}
+ptr_glStencilThenCoverFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glStencilThenCoverFillPathInstancedNV = unsafePerformIO $ getCommand "glStencilThenCoverFillPathInstancedNV"
+
+-- glStencilThenCoverFillPathNV ------------------------------------------------
+
+glStencilThenCoverFillPathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@.
+  -> GLenum -- ^ @fillMode@.
+  -> GLuint -- ^ @mask@.
+  -> GLenum -- ^ @coverMode@.
+  -> m ()
+glStencilThenCoverFillPathNV v1 v2 v3 v4 = liftIO $ dyn713 ptr_glStencilThenCoverFillPathNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glStencilThenCoverFillPathNV #-}
+ptr_glStencilThenCoverFillPathNV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ())
+ptr_glStencilThenCoverFillPathNV = unsafePerformIO $ getCommand "glStencilThenCoverFillPathNV"
+
+-- glStencilThenCoverStrokePathInstancedNV -------------------------------------
+
+glStencilThenCoverStrokePathInstancedNV
+  :: MonadIO m
+  => GLsizei -- ^ @numPaths@.
+  -> GLenum -- ^ @pathNameType@.
+  -> Ptr a -- ^ @paths@.
+  -> GLuint -- ^ @pathBase@.
+  -> GLint -- ^ @reference@.
+  -> GLuint -- ^ @mask@.
+  -> GLenum -- ^ @coverMode@.
+  -> GLenum -- ^ @transformType@.
+  -> Ptr GLfloat -- ^ @transformValues@.
+  -> m ()
+glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn714 ptr_glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glStencilThenCoverStrokePathInstancedNV #-}
+ptr_glStencilThenCoverStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glStencilThenCoverStrokePathInstancedNV = unsafePerformIO $ getCommand "glStencilThenCoverStrokePathInstancedNV"
+
+-- glStencilThenCoverStrokePathNV ----------------------------------------------
+
+glStencilThenCoverStrokePathNV
+  :: MonadIO m
+  => GLuint -- ^ @path@.
+  -> GLint -- ^ @reference@.
+  -> GLuint -- ^ @mask@.
+  -> GLenum -- ^ @coverMode@.
+  -> m ()
+glStencilThenCoverStrokePathNV v1 v2 v3 v4 = liftIO $ dyn715 ptr_glStencilThenCoverStrokePathNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glStencilThenCoverStrokePathNV #-}
+ptr_glStencilThenCoverStrokePathNV :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ())
+ptr_glStencilThenCoverStrokePathNV = unsafePerformIO $ getCommand "glStencilThenCoverStrokePathNV"
+
+-- glStopInstrumentsSGIX -------------------------------------------------------
+
+glStopInstrumentsSGIX
+  :: MonadIO m
+  => GLint -- ^ @marker@.
+  -> m ()
+glStopInstrumentsSGIX v1 = liftIO $ dyn12 ptr_glStopInstrumentsSGIX v1
+
+{-# NOINLINE ptr_glStopInstrumentsSGIX #-}
+ptr_glStopInstrumentsSGIX :: FunPtr (GLint -> IO ())
+ptr_glStopInstrumentsSGIX = unsafePerformIO $ getCommand "glStopInstrumentsSGIX"
+
+-- glStringMarkerGREMEDY -------------------------------------------------------
+
+glStringMarkerGREMEDY
+  :: MonadIO m
+  => GLsizei -- ^ @len@.
+  -> Ptr a -- ^ @string@ pointing to @len@ elements of type @a@.
+  -> m ()
+glStringMarkerGREMEDY v1 v2 = liftIO $ dyn259 ptr_glStringMarkerGREMEDY v1 v2
+
+{-# NOINLINE ptr_glStringMarkerGREMEDY #-}
+ptr_glStringMarkerGREMEDY :: FunPtr (GLsizei -> Ptr a -> IO ())
+ptr_glStringMarkerGREMEDY = unsafePerformIO $ getCommand "glStringMarkerGREMEDY"
+
+-- glSubpixelPrecisionBiasNV ---------------------------------------------------
+
+glSubpixelPrecisionBiasNV
+  :: MonadIO m
+  => GLuint -- ^ @xbits@.
+  -> GLuint -- ^ @ybits@.
+  -> m ()
+glSubpixelPrecisionBiasNV v1 v2 = liftIO $ dyn3 ptr_glSubpixelPrecisionBiasNV v1 v2
+
+{-# NOINLINE ptr_glSubpixelPrecisionBiasNV #-}
+ptr_glSubpixelPrecisionBiasNV :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glSubpixelPrecisionBiasNV = unsafePerformIO $ getCommand "glSubpixelPrecisionBiasNV"
+
+-- glSwizzleEXT ----------------------------------------------------------------
+
+glSwizzleEXT
+  :: MonadIO m
+  => GLuint -- ^ @res@.
+  -> GLuint -- ^ @in@.
+  -> GLenum -- ^ @outX@ of type @VertexShaderCoordOutEXT@.
+  -> GLenum -- ^ @outY@ of type @VertexShaderCoordOutEXT@.
+  -> GLenum -- ^ @outZ@ of type @VertexShaderCoordOutEXT@.
+  -> GLenum -- ^ @outW@ of type @VertexShaderCoordOutEXT@.
+  -> m ()
+glSwizzleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn716 ptr_glSwizzleEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glSwizzleEXT #-}
+ptr_glSwizzleEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glSwizzleEXT = unsafePerformIO $ getCommand "glSwizzleEXT"
+
+-- glSyncTextureINTEL ----------------------------------------------------------
+
+glSyncTextureINTEL
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> m ()
+glSyncTextureINTEL v1 = liftIO $ dyn2 ptr_glSyncTextureINTEL v1
+
+{-# NOINLINE ptr_glSyncTextureINTEL #-}
+ptr_glSyncTextureINTEL :: FunPtr (GLuint -> IO ())
+ptr_glSyncTextureINTEL = unsafePerformIO $ getCommand "glSyncTextureINTEL"
+
+-- glTagSampleBufferSGIX -------------------------------------------------------
+
+glTagSampleBufferSGIX
+  :: MonadIO m
+  => m ()
+glTagSampleBufferSGIX = liftIO $ dyn10 ptr_glTagSampleBufferSGIX
+
+{-# NOINLINE ptr_glTagSampleBufferSGIX #-}
+ptr_glTagSampleBufferSGIX :: FunPtr (IO ())
+ptr_glTagSampleBufferSGIX = unsafePerformIO $ getCommand "glTagSampleBufferSGIX"
+
+-- glTangent3bEXT --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTangent3bvEXT'.
+glTangent3bEXT
+  :: MonadIO m
+  => GLbyte -- ^ @tx@.
+  -> GLbyte -- ^ @ty@.
+  -> GLbyte -- ^ @tz@.
+  -> m ()
+glTangent3bEXT v1 v2 v3 = liftIO $ dyn36 ptr_glTangent3bEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTangent3bEXT #-}
+ptr_glTangent3bEXT :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glTangent3bEXT = unsafePerformIO $ getCommand "glTangent3bEXT"
+
+-- glTangent3bvEXT -------------------------------------------------------------
+
+glTangent3bvEXT
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @GLbyte@.
+  -> m ()
+glTangent3bvEXT v1 = liftIO $ dyn37 ptr_glTangent3bvEXT v1
+
+{-# NOINLINE ptr_glTangent3bvEXT #-}
+ptr_glTangent3bvEXT :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glTangent3bvEXT = unsafePerformIO $ getCommand "glTangent3bvEXT"
+
+-- glTangent3dEXT --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTangent3dvEXT'.
+glTangent3dEXT
+  :: MonadIO m
+  => GLdouble -- ^ @tx@ of type @CoordD@.
+  -> GLdouble -- ^ @ty@ of type @CoordD@.
+  -> GLdouble -- ^ @tz@ of type @CoordD@.
+  -> m ()
+glTangent3dEXT v1 v2 v3 = liftIO $ dyn38 ptr_glTangent3dEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTangent3dEXT #-}
+ptr_glTangent3dEXT :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glTangent3dEXT = unsafePerformIO $ getCommand "glTangent3dEXT"
+
+-- glTangent3dvEXT -------------------------------------------------------------
+
+glTangent3dvEXT
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glTangent3dvEXT v1 = liftIO $ dyn39 ptr_glTangent3dvEXT v1
+
+{-# NOINLINE ptr_glTangent3dvEXT #-}
+ptr_glTangent3dvEXT :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glTangent3dvEXT = unsafePerformIO $ getCommand "glTangent3dvEXT"
+
+-- glTangent3fEXT --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTangent3fvEXT'.
+glTangent3fEXT
+  :: MonadIO m
+  => GLfloat -- ^ @tx@ of type @CoordF@.
+  -> GLfloat -- ^ @ty@ of type @CoordF@.
+  -> GLfloat -- ^ @tz@ of type @CoordF@.
+  -> m ()
+glTangent3fEXT v1 v2 v3 = liftIO $ dyn40 ptr_glTangent3fEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTangent3fEXT #-}
+ptr_glTangent3fEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTangent3fEXT = unsafePerformIO $ getCommand "glTangent3fEXT"
+
+-- glTangent3fvEXT -------------------------------------------------------------
+
+glTangent3fvEXT
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glTangent3fvEXT v1 = liftIO $ dyn41 ptr_glTangent3fvEXT v1
+
+{-# NOINLINE ptr_glTangent3fvEXT #-}
+ptr_glTangent3fvEXT :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glTangent3fvEXT = unsafePerformIO $ getCommand "glTangent3fvEXT"
+
+-- glTangent3iEXT --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTangent3ivEXT'.
+glTangent3iEXT
+  :: MonadIO m
+  => GLint -- ^ @tx@.
+  -> GLint -- ^ @ty@.
+  -> GLint -- ^ @tz@.
+  -> m ()
+glTangent3iEXT v1 v2 v3 = liftIO $ dyn42 ptr_glTangent3iEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTangent3iEXT #-}
+ptr_glTangent3iEXT :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glTangent3iEXT = unsafePerformIO $ getCommand "glTangent3iEXT"
+
+-- glTangent3ivEXT -------------------------------------------------------------
+
+glTangent3ivEXT
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glTangent3ivEXT v1 = liftIO $ dyn43 ptr_glTangent3ivEXT v1
+
+{-# NOINLINE ptr_glTangent3ivEXT #-}
+ptr_glTangent3ivEXT :: FunPtr (Ptr GLint -> IO ())
+ptr_glTangent3ivEXT = unsafePerformIO $ getCommand "glTangent3ivEXT"
+
+-- glTangent3sEXT --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTangent3svEXT'.
+glTangent3sEXT
+  :: MonadIO m
+  => GLshort -- ^ @tx@.
+  -> GLshort -- ^ @ty@.
+  -> GLshort -- ^ @tz@.
+  -> m ()
+glTangent3sEXT v1 v2 v3 = liftIO $ dyn44 ptr_glTangent3sEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTangent3sEXT #-}
+ptr_glTangent3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glTangent3sEXT = unsafePerformIO $ getCommand "glTangent3sEXT"
+
+-- glTangent3svEXT -------------------------------------------------------------
+
+glTangent3svEXT
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glTangent3svEXT v1 = liftIO $ dyn45 ptr_glTangent3svEXT v1
+
+{-# NOINLINE ptr_glTangent3svEXT #-}
+ptr_glTangent3svEXT :: FunPtr (Ptr GLshort -> IO ())
+ptr_glTangent3svEXT = unsafePerformIO $ getCommand "glTangent3svEXT"
+
+-- glTangentPointerEXT ---------------------------------------------------------
+
+glTangentPointerEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@ of type @TangentPointerTypeEXT@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glTangentPointerEXT v1 v2 v3 = liftIO $ dyn46 ptr_glTangentPointerEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTangentPointerEXT #-}
+ptr_glTangentPointerEXT :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glTangentPointerEXT = unsafePerformIO $ getCommand "glTangentPointerEXT"
+
+-- glTbufferMask3DFX -----------------------------------------------------------
+
+glTbufferMask3DFX
+  :: MonadIO m
+  => GLuint -- ^ @mask@.
+  -> m ()
+glTbufferMask3DFX v1 = liftIO $ dyn2 ptr_glTbufferMask3DFX v1
+
+{-# NOINLINE ptr_glTbufferMask3DFX #-}
+ptr_glTbufferMask3DFX :: FunPtr (GLuint -> IO ())
+ptr_glTbufferMask3DFX = unsafePerformIO $ getCommand "glTbufferMask3DFX"
+
+-- glTessellationFactorAMD -----------------------------------------------------
+
+glTessellationFactorAMD
+  :: MonadIO m
+  => GLfloat -- ^ @factor@.
+  -> m ()
+glTessellationFactorAMD v1 = liftIO $ dyn79 ptr_glTessellationFactorAMD v1
+
+{-# NOINLINE ptr_glTessellationFactorAMD #-}
+ptr_glTessellationFactorAMD :: FunPtr (GLfloat -> IO ())
+ptr_glTessellationFactorAMD = unsafePerformIO $ getCommand "glTessellationFactorAMD"
+
+-- glTessellationModeAMD -------------------------------------------------------
+
+glTessellationModeAMD
+  :: MonadIO m
+  => GLenum -- ^ @mode@.
+  -> m ()
+glTessellationModeAMD v1 = liftIO $ dyn4 ptr_glTessellationModeAMD v1
+
+{-# NOINLINE ptr_glTessellationModeAMD #-}
+ptr_glTessellationModeAMD :: FunPtr (GLenum -> IO ())
+ptr_glTessellationModeAMD = unsafePerformIO $ getCommand "glTessellationModeAMD"
+
+-- glTestFenceAPPLE ------------------------------------------------------------
+
+glTestFenceAPPLE
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glTestFenceAPPLE v1 = liftIO $ dyn272 ptr_glTestFenceAPPLE v1
+
+{-# NOINLINE ptr_glTestFenceAPPLE #-}
+ptr_glTestFenceAPPLE :: FunPtr (GLuint -> IO GLboolean)
+ptr_glTestFenceAPPLE = unsafePerformIO $ getCommand "glTestFenceAPPLE"
+
+-- glTestFenceNV ---------------------------------------------------------------
+
+glTestFenceNV
+  :: MonadIO m
+  => GLuint -- ^ @fence@ of type @FenceNV@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glTestFenceNV v1 = liftIO $ dyn272 ptr_glTestFenceNV v1
+
+{-# NOINLINE ptr_glTestFenceNV #-}
+ptr_glTestFenceNV :: FunPtr (GLuint -> IO GLboolean)
+ptr_glTestFenceNV = unsafePerformIO $ getCommand "glTestFenceNV"
+
+-- glTestObjectAPPLE -----------------------------------------------------------
+
+glTestObjectAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @object@ of type @ObjectTypeAPPLE@.
+  -> GLuint -- ^ @name@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glTestObjectAPPLE v1 v2 = liftIO $ dyn473 ptr_glTestObjectAPPLE v1 v2
+
+{-# NOINLINE ptr_glTestObjectAPPLE #-}
+ptr_glTestObjectAPPLE :: FunPtr (GLenum -> GLuint -> IO GLboolean)
+ptr_glTestObjectAPPLE = unsafePerformIO $ getCommand "glTestObjectAPPLE"
+
+-- glTexBuffer -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexBuffer.xhtml OpenGL 4.x>.
+glTexBuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTexBuffer v1 v2 v3 = liftIO $ dyn29 ptr_glTexBuffer v1 v2 v3
+
+{-# NOINLINE ptr_glTexBuffer #-}
+ptr_glTexBuffer :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glTexBuffer = unsafePerformIO $ getCommand "glTexBuffer"
+
+-- glTexBufferARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glTexBuffer'.
+glTexBufferARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTexBufferARB v1 v2 v3 = liftIO $ dyn29 ptr_glTexBufferARB v1 v2 v3
+
+{-# NOINLINE ptr_glTexBufferARB #-}
+ptr_glTexBufferARB :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glTexBufferARB = unsafePerformIO $ getCommand "glTexBufferARB"
+
+-- glTexBufferEXT --------------------------------------------------------------
+
+-- | This command is an alias for 'glTexBuffer'.
+glTexBufferEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTexBufferEXT v1 v2 v3 = liftIO $ dyn29 ptr_glTexBufferEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTexBufferEXT #-}
+ptr_glTexBufferEXT :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glTexBufferEXT = unsafePerformIO $ getCommand "glTexBufferEXT"
+
+-- glTexBufferOES --------------------------------------------------------------
+
+-- | This command is an alias for 'glTexBuffer'.
+glTexBufferOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTexBufferOES v1 v2 v3 = liftIO $ dyn29 ptr_glTexBufferOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexBufferOES #-}
+ptr_glTexBufferOES :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
+ptr_glTexBufferOES = unsafePerformIO $ getCommand "glTexBufferOES"
+
+-- glTexBufferRange ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBufferRange.xhtml OpenGL 4.x>.
+glTexBufferRange
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTexBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn717 ptr_glTexBufferRange v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexBufferRange #-}
+ptr_glTexBufferRange :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTexBufferRange = unsafePerformIO $ getCommand "glTexBufferRange"
+
+-- glTexBufferRangeEXT ---------------------------------------------------------
+
+-- | This command is an alias for 'glTexBufferRange'.
+glTexBufferRangeEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTexBufferRangeEXT v1 v2 v3 v4 v5 = liftIO $ dyn717 ptr_glTexBufferRangeEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexBufferRangeEXT #-}
+ptr_glTexBufferRangeEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTexBufferRangeEXT = unsafePerformIO $ getCommand "glTexBufferRangeEXT"
+
+-- glTexBufferRangeOES ---------------------------------------------------------
+
+-- | This command is an alias for 'glTexBufferRange'.
+glTexBufferRangeOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTexBufferRangeOES v1 v2 v3 v4 v5 = liftIO $ dyn717 ptr_glTexBufferRangeOES v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexBufferRangeOES #-}
+ptr_glTexBufferRangeOES :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTexBufferRangeOES = unsafePerformIO $ getCommand "glTexBufferRangeOES"
+
+-- glTexBumpParameterfvATI -----------------------------------------------------
+
+glTexBumpParameterfvATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
+  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glTexBumpParameterfvATI v1 v2 = liftIO $ dyn93 ptr_glTexBumpParameterfvATI v1 v2
+
+{-# NOINLINE ptr_glTexBumpParameterfvATI #-}
+ptr_glTexBumpParameterfvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexBumpParameterfvATI = unsafePerformIO $ getCommand "glTexBumpParameterfvATI"
+
+-- glTexBumpParameterivATI -----------------------------------------------------
+
+glTexBumpParameterivATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
+  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glTexBumpParameterivATI v1 v2 = liftIO $ dyn135 ptr_glTexBumpParameterivATI v1 v2
+
+{-# NOINLINE ptr_glTexBumpParameterivATI #-}
+ptr_glTexBumpParameterivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glTexBumpParameterivATI = unsafePerformIO $ getCommand "glTexBumpParameterivATI"
+
+-- glTexCoord1bOES -------------------------------------------------------------
+
+glTexCoord1bOES
+  :: MonadIO m
+  => GLbyte -- ^ @s@.
+  -> m ()
+glTexCoord1bOES v1 = liftIO $ dyn458 ptr_glTexCoord1bOES v1
+
+{-# NOINLINE ptr_glTexCoord1bOES #-}
+ptr_glTexCoord1bOES :: FunPtr (GLbyte -> IO ())
+ptr_glTexCoord1bOES = unsafePerformIO $ getCommand "glTexCoord1bOES"
+
+-- glTexCoord1bvOES ------------------------------------------------------------
+
+glTexCoord1bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
+  -> m ()
+glTexCoord1bvOES v1 = liftIO $ dyn37 ptr_glTexCoord1bvOES v1
+
+{-# NOINLINE ptr_glTexCoord1bvOES #-}
+ptr_glTexCoord1bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glTexCoord1bvOES = unsafePerformIO $ getCommand "glTexCoord1bvOES"
+
+-- glTexCoord1d ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1dv'.
+glTexCoord1d
+  :: MonadIO m
+  => GLdouble -- ^ @s@ of type @CoordD@.
+  -> m ()
+glTexCoord1d v1 = liftIO $ dyn78 ptr_glTexCoord1d v1
+
+{-# NOINLINE ptr_glTexCoord1d #-}
+ptr_glTexCoord1d :: FunPtr (GLdouble -> IO ())
+ptr_glTexCoord1d = unsafePerformIO $ getCommand "glTexCoord1d"
+
+-- glTexCoord1dv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord1dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
+  -> m ()
+glTexCoord1dv v1 = liftIO $ dyn39 ptr_glTexCoord1dv v1
+
+{-# NOINLINE ptr_glTexCoord1dv #-}
+ptr_glTexCoord1dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glTexCoord1dv = unsafePerformIO $ getCommand "glTexCoord1dv"
+
+-- glTexCoord1f ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1fv'.
+glTexCoord1f
+  :: MonadIO m
+  => GLfloat -- ^ @s@ of type @CoordF@.
+  -> m ()
+glTexCoord1f v1 = liftIO $ dyn79 ptr_glTexCoord1f v1
+
+{-# NOINLINE ptr_glTexCoord1f #-}
+ptr_glTexCoord1f :: FunPtr (GLfloat -> IO ())
+ptr_glTexCoord1f = unsafePerformIO $ getCommand "glTexCoord1f"
+
+-- glTexCoord1fv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord1fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
+  -> m ()
+glTexCoord1fv v1 = liftIO $ dyn41 ptr_glTexCoord1fv v1
+
+{-# NOINLINE ptr_glTexCoord1fv #-}
+ptr_glTexCoord1fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glTexCoord1fv = unsafePerformIO $ getCommand "glTexCoord1fv"
+
+-- glTexCoord1hNV --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTexCoord1hvNV'.
+glTexCoord1hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> m ()
+glTexCoord1hNV v1 = liftIO $ dyn280 ptr_glTexCoord1hNV v1
+
+{-# NOINLINE ptr_glTexCoord1hNV #-}
+ptr_glTexCoord1hNV :: FunPtr (GLhalfNV -> IO ())
+ptr_glTexCoord1hNV = unsafePerformIO $ getCommand "glTexCoord1hNV"
+
+-- glTexCoord1hvNV -------------------------------------------------------------
+
+glTexCoord1hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
+  -> m ()
+glTexCoord1hvNV v1 = liftIO $ dyn98 ptr_glTexCoord1hvNV v1
+
+{-# NOINLINE ptr_glTexCoord1hvNV #-}
+ptr_glTexCoord1hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glTexCoord1hvNV = unsafePerformIO $ getCommand "glTexCoord1hvNV"
+
+-- glTexCoord1i ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1iv'.
+glTexCoord1i
+  :: MonadIO m
+  => GLint -- ^ @s@ of type @CoordI@.
+  -> m ()
+glTexCoord1i v1 = liftIO $ dyn12 ptr_glTexCoord1i v1
+
+{-# NOINLINE ptr_glTexCoord1i #-}
+ptr_glTexCoord1i :: FunPtr (GLint -> IO ())
+ptr_glTexCoord1i = unsafePerformIO $ getCommand "glTexCoord1i"
+
+-- glTexCoord1iv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord1iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
+  -> m ()
+glTexCoord1iv v1 = liftIO $ dyn43 ptr_glTexCoord1iv v1
+
+{-# NOINLINE ptr_glTexCoord1iv #-}
+ptr_glTexCoord1iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glTexCoord1iv = unsafePerformIO $ getCommand "glTexCoord1iv"
+
+-- glTexCoord1s ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1sv'.
+glTexCoord1s
+  :: MonadIO m
+  => GLshort -- ^ @s@ of type @CoordS@.
+  -> m ()
+glTexCoord1s v1 = liftIO $ dyn459 ptr_glTexCoord1s v1
+
+{-# NOINLINE ptr_glTexCoord1s #-}
+ptr_glTexCoord1s :: FunPtr (GLshort -> IO ())
+ptr_glTexCoord1s = unsafePerformIO $ getCommand "glTexCoord1s"
+
+-- glTexCoord1sv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord1sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
+  -> m ()
+glTexCoord1sv v1 = liftIO $ dyn45 ptr_glTexCoord1sv v1
+
+{-# NOINLINE ptr_glTexCoord1sv #-}
+ptr_glTexCoord1sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glTexCoord1sv = unsafePerformIO $ getCommand "glTexCoord1sv"
+
+-- glTexCoord1xOES -------------------------------------------------------------
+
+glTexCoord1xOES
+  :: MonadIO m
+  => GLfixed -- ^ @s@.
+  -> m ()
+glTexCoord1xOES v1 = liftIO $ dyn81 ptr_glTexCoord1xOES v1
+
+{-# NOINLINE ptr_glTexCoord1xOES #-}
+ptr_glTexCoord1xOES :: FunPtr (GLfixed -> IO ())
+ptr_glTexCoord1xOES = unsafePerformIO $ getCommand "glTexCoord1xOES"
+
+-- glTexCoord1xvOES ------------------------------------------------------------
+
+glTexCoord1xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
+  -> m ()
+glTexCoord1xvOES v1 = liftIO $ dyn106 ptr_glTexCoord1xvOES v1
+
+{-# NOINLINE ptr_glTexCoord1xvOES #-}
+ptr_glTexCoord1xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glTexCoord1xvOES = unsafePerformIO $ getCommand "glTexCoord1xvOES"
+
+-- glTexCoord2bOES -------------------------------------------------------------
+
+glTexCoord2bOES
+  :: MonadIO m
+  => GLbyte -- ^ @s@.
+  -> GLbyte -- ^ @t@.
+  -> m ()
+glTexCoord2bOES v1 v2 = liftIO $ dyn718 ptr_glTexCoord2bOES v1 v2
+
+{-# NOINLINE ptr_glTexCoord2bOES #-}
+ptr_glTexCoord2bOES :: FunPtr (GLbyte -> GLbyte -> IO ())
+ptr_glTexCoord2bOES = unsafePerformIO $ getCommand "glTexCoord2bOES"
+
+-- glTexCoord2bvOES ------------------------------------------------------------
+
+glTexCoord2bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @2@ elements of type @GLbyte@.
+  -> m ()
+glTexCoord2bvOES v1 = liftIO $ dyn37 ptr_glTexCoord2bvOES v1
+
+{-# NOINLINE ptr_glTexCoord2bvOES #-}
+ptr_glTexCoord2bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glTexCoord2bvOES = unsafePerformIO $ getCommand "glTexCoord2bvOES"
+
+-- glTexCoord2d ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2dv'.
+glTexCoord2d
+  :: MonadIO m
+  => GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> m ()
+glTexCoord2d v1 v2 = liftIO $ dyn216 ptr_glTexCoord2d v1 v2
+
+{-# NOINLINE ptr_glTexCoord2d #-}
+ptr_glTexCoord2d :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glTexCoord2d = unsafePerformIO $ getCommand "glTexCoord2d"
+
+-- glTexCoord2dv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord2dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glTexCoord2dv v1 = liftIO $ dyn39 ptr_glTexCoord2dv v1
+
+{-# NOINLINE ptr_glTexCoord2dv #-}
+ptr_glTexCoord2dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glTexCoord2dv = unsafePerformIO $ getCommand "glTexCoord2dv"
+
+-- glTexCoord2f ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2fv'.
+glTexCoord2f
+  :: MonadIO m
+  => GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> m ()
+glTexCoord2f v1 v2 = liftIO $ dyn221 ptr_glTexCoord2f v1 v2
+
+{-# NOINLINE ptr_glTexCoord2f #-}
+ptr_glTexCoord2f :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord2f = unsafePerformIO $ getCommand "glTexCoord2f"
+
+-- glTexCoord2fColor3fVertex3fSUN ----------------------------------------------
+
+glTexCoord2fColor3fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glTexCoord2fColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glTexCoord2fColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTexCoord2fColor3fVertex3fSUN #-}
+ptr_glTexCoord2fColor3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord2fColor3fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fColor3fVertex3fSUN"
+
+-- glTexCoord2fColor3fVertex3fvSUN ---------------------------------------------
+
+glTexCoord2fColor3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @c@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glTexCoord2fColor3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn110 ptr_glTexCoord2fColor3fVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord2fColor3fVertex3fvSUN #-}
+ptr_glTexCoord2fColor3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glTexCoord2fColor3fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fColor3fVertex3fvSUN"
+
+-- glTexCoord2fColor4fNormal3fVertex3fSUN --------------------------------------
+
+glTexCoord2fColor4fNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @a@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn719 ptr_glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glTexCoord2fColor4fNormal3fVertex3fSUN #-}
+ptr_glTexCoord2fColor4fNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord2fColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4fNormal3fVertex3fSUN"
+
+-- glTexCoord2fColor4fNormal3fVertex3fvSUN -------------------------------------
+
+glTexCoord2fColor4fNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn720 ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN #-}
+ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4fNormal3fVertex3fvSUN"
+
+-- glTexCoord2fColor4ubVertex3fSUN ---------------------------------------------
+
+glTexCoord2fColor4ubVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLubyte -- ^ @r@.
+  -> GLubyte -- ^ @g@.
+  -> GLubyte -- ^ @b@.
+  -> GLubyte -- ^ @a@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn721 ptr_glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTexCoord2fColor4ubVertex3fSUN #-}
+ptr_glTexCoord2fColor4ubVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord2fColor4ubVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4ubVertex3fSUN"
+
+-- glTexCoord2fColor4ubVertex3fvSUN --------------------------------------------
+
+glTexCoord2fColor4ubVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn722 ptr_glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord2fColor4ubVertex3fvSUN #-}
+ptr_glTexCoord2fColor4ubVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ())
+ptr_glTexCoord2fColor4ubVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4ubVertex3fvSUN"
+
+-- glTexCoord2fNormal3fVertex3fSUN ---------------------------------------------
+
+glTexCoord2fNormal3fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTexCoord2fNormal3fVertex3fSUN #-}
+ptr_glTexCoord2fNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord2fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fNormal3fVertex3fSUN"
+
+-- glTexCoord2fNormal3fVertex3fvSUN --------------------------------------------
+
+glTexCoord2fNormal3fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn110 ptr_glTexCoord2fNormal3fVertex3fvSUN v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord2fNormal3fVertex3fvSUN #-}
+ptr_glTexCoord2fNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glTexCoord2fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fNormal3fVertex3fvSUN"
+
+-- glTexCoord2fVertex3fSUN -----------------------------------------------------
+
+glTexCoord2fVertex3fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 = liftIO $ dyn251 ptr_glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexCoord2fVertex3fSUN #-}
+ptr_glTexCoord2fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord2fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fVertex3fSUN"
+
+-- glTexCoord2fVertex3fvSUN ----------------------------------------------------
+
+glTexCoord2fVertex3fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glTexCoord2fVertex3fvSUN v1 v2 = liftIO $ dyn96 ptr_glTexCoord2fVertex3fvSUN v1 v2
+
+{-# NOINLINE ptr_glTexCoord2fVertex3fvSUN #-}
+ptr_glTexCoord2fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glTexCoord2fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fVertex3fvSUN"
+
+-- glTexCoord2fv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord2fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glTexCoord2fv v1 = liftIO $ dyn41 ptr_glTexCoord2fv v1
+
+{-# NOINLINE ptr_glTexCoord2fv #-}
+ptr_glTexCoord2fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glTexCoord2fv = unsafePerformIO $ getCommand "glTexCoord2fv"
+
+-- glTexCoord2hNV --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTexCoord2hvNV'.
+glTexCoord2hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
+  -> m ()
+glTexCoord2hNV v1 v2 = liftIO $ dyn723 ptr_glTexCoord2hNV v1 v2
+
+{-# NOINLINE ptr_glTexCoord2hNV #-}
+ptr_glTexCoord2hNV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
+ptr_glTexCoord2hNV = unsafePerformIO $ getCommand "glTexCoord2hNV"
+
+-- glTexCoord2hvNV -------------------------------------------------------------
+
+glTexCoord2hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
+  -> m ()
+glTexCoord2hvNV v1 = liftIO $ dyn98 ptr_glTexCoord2hvNV v1
+
+{-# NOINLINE ptr_glTexCoord2hvNV #-}
+ptr_glTexCoord2hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glTexCoord2hvNV = unsafePerformIO $ getCommand "glTexCoord2hvNV"
+
+-- glTexCoord2i ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2iv'.
+glTexCoord2i
+  :: MonadIO m
+  => GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> m ()
+glTexCoord2i v1 v2 = liftIO $ dyn265 ptr_glTexCoord2i v1 v2
+
+{-# NOINLINE ptr_glTexCoord2i #-}
+ptr_glTexCoord2i :: FunPtr (GLint -> GLint -> IO ())
+ptr_glTexCoord2i = unsafePerformIO $ getCommand "glTexCoord2i"
+
+-- glTexCoord2iv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord2iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glTexCoord2iv v1 = liftIO $ dyn43 ptr_glTexCoord2iv v1
+
+{-# NOINLINE ptr_glTexCoord2iv #-}
+ptr_glTexCoord2iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glTexCoord2iv = unsafePerformIO $ getCommand "glTexCoord2iv"
+
+-- glTexCoord2s ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2sv'.
+glTexCoord2s
+  :: MonadIO m
+  => GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> m ()
+glTexCoord2s v1 v2 = liftIO $ dyn665 ptr_glTexCoord2s v1 v2
+
+{-# NOINLINE ptr_glTexCoord2s #-}
+ptr_glTexCoord2s :: FunPtr (GLshort -> GLshort -> IO ())
+ptr_glTexCoord2s = unsafePerformIO $ getCommand "glTexCoord2s"
+
+-- glTexCoord2sv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord2sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glTexCoord2sv v1 = liftIO $ dyn45 ptr_glTexCoord2sv v1
+
+{-# NOINLINE ptr_glTexCoord2sv #-}
+ptr_glTexCoord2sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glTexCoord2sv = unsafePerformIO $ getCommand "glTexCoord2sv"
+
+-- glTexCoord2xOES -------------------------------------------------------------
+
+glTexCoord2xOES
+  :: MonadIO m
+  => GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> m ()
+glTexCoord2xOES v1 v2 = liftIO $ dyn223 ptr_glTexCoord2xOES v1 v2
+
+{-# NOINLINE ptr_glTexCoord2xOES #-}
+ptr_glTexCoord2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glTexCoord2xOES = unsafePerformIO $ getCommand "glTexCoord2xOES"
+
+-- glTexCoord2xvOES ------------------------------------------------------------
+
+glTexCoord2xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
+  -> m ()
+glTexCoord2xvOES v1 = liftIO $ dyn106 ptr_glTexCoord2xvOES v1
+
+{-# NOINLINE ptr_glTexCoord2xvOES #-}
+ptr_glTexCoord2xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glTexCoord2xvOES = unsafePerformIO $ getCommand "glTexCoord2xvOES"
+
+-- glTexCoord3bOES -------------------------------------------------------------
+
+glTexCoord3bOES
+  :: MonadIO m
+  => GLbyte -- ^ @s@.
+  -> GLbyte -- ^ @t@.
+  -> GLbyte -- ^ @r@.
+  -> m ()
+glTexCoord3bOES v1 v2 v3 = liftIO $ dyn36 ptr_glTexCoord3bOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord3bOES #-}
+ptr_glTexCoord3bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glTexCoord3bOES = unsafePerformIO $ getCommand "glTexCoord3bOES"
+
+-- glTexCoord3bvOES ------------------------------------------------------------
+
+glTexCoord3bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
+  -> m ()
+glTexCoord3bvOES v1 = liftIO $ dyn37 ptr_glTexCoord3bvOES v1
+
+{-# NOINLINE ptr_glTexCoord3bvOES #-}
+ptr_glTexCoord3bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glTexCoord3bvOES = unsafePerformIO $ getCommand "glTexCoord3bvOES"
+
+-- glTexCoord3d ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3dv'.
+glTexCoord3d
+  :: MonadIO m
+  => GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> GLdouble -- ^ @r@ of type @CoordD@.
+  -> m ()
+glTexCoord3d v1 v2 v3 = liftIO $ dyn38 ptr_glTexCoord3d v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord3d #-}
+ptr_glTexCoord3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glTexCoord3d = unsafePerformIO $ getCommand "glTexCoord3d"
+
+-- glTexCoord3dv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glTexCoord3dv v1 = liftIO $ dyn39 ptr_glTexCoord3dv v1
+
+{-# NOINLINE ptr_glTexCoord3dv #-}
+ptr_glTexCoord3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glTexCoord3dv = unsafePerformIO $ getCommand "glTexCoord3dv"
+
+-- glTexCoord3f ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3fv'.
+glTexCoord3f
+  :: MonadIO m
+  => GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> GLfloat -- ^ @r@ of type @CoordF@.
+  -> m ()
+glTexCoord3f v1 v2 v3 = liftIO $ dyn40 ptr_glTexCoord3f v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord3f #-}
+ptr_glTexCoord3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord3f = unsafePerformIO $ getCommand "glTexCoord3f"
+
+-- glTexCoord3fv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glTexCoord3fv v1 = liftIO $ dyn41 ptr_glTexCoord3fv v1
+
+{-# NOINLINE ptr_glTexCoord3fv #-}
+ptr_glTexCoord3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glTexCoord3fv = unsafePerformIO $ getCommand "glTexCoord3fv"
+
+-- glTexCoord3hNV --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTexCoord3hvNV'.
+glTexCoord3hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
+  -> m ()
+glTexCoord3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glTexCoord3hNV v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord3hNV #-}
+ptr_glTexCoord3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glTexCoord3hNV = unsafePerformIO $ getCommand "glTexCoord3hNV"
+
+-- glTexCoord3hvNV -------------------------------------------------------------
+
+glTexCoord3hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
+  -> m ()
+glTexCoord3hvNV v1 = liftIO $ dyn98 ptr_glTexCoord3hvNV v1
+
+{-# NOINLINE ptr_glTexCoord3hvNV #-}
+ptr_glTexCoord3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glTexCoord3hvNV = unsafePerformIO $ getCommand "glTexCoord3hvNV"
+
+-- glTexCoord3i ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3iv'.
+glTexCoord3i
+  :: MonadIO m
+  => GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> GLint -- ^ @r@ of type @CoordI@.
+  -> m ()
+glTexCoord3i v1 v2 v3 = liftIO $ dyn42 ptr_glTexCoord3i v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord3i #-}
+ptr_glTexCoord3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glTexCoord3i = unsafePerformIO $ getCommand "glTexCoord3i"
+
+-- glTexCoord3iv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glTexCoord3iv v1 = liftIO $ dyn43 ptr_glTexCoord3iv v1
+
+{-# NOINLINE ptr_glTexCoord3iv #-}
+ptr_glTexCoord3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glTexCoord3iv = unsafePerformIO $ getCommand "glTexCoord3iv"
+
+-- glTexCoord3s ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3sv'.
+glTexCoord3s
+  :: MonadIO m
+  => GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> GLshort -- ^ @r@ of type @CoordS@.
+  -> m ()
+glTexCoord3s v1 v2 v3 = liftIO $ dyn44 ptr_glTexCoord3s v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord3s #-}
+ptr_glTexCoord3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glTexCoord3s = unsafePerformIO $ getCommand "glTexCoord3s"
+
+-- glTexCoord3sv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glTexCoord3sv v1 = liftIO $ dyn45 ptr_glTexCoord3sv v1
+
+{-# NOINLINE ptr_glTexCoord3sv #-}
+ptr_glTexCoord3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glTexCoord3sv = unsafePerformIO $ getCommand "glTexCoord3sv"
+
+-- glTexCoord3xOES -------------------------------------------------------------
+
+glTexCoord3xOES
+  :: MonadIO m
+  => GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @r@.
+  -> m ()
+glTexCoord3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glTexCoord3xOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoord3xOES #-}
+ptr_glTexCoord3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glTexCoord3xOES = unsafePerformIO $ getCommand "glTexCoord3xOES"
+
+-- glTexCoord3xvOES ------------------------------------------------------------
+
+glTexCoord3xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
+  -> m ()
+glTexCoord3xvOES v1 = liftIO $ dyn106 ptr_glTexCoord3xvOES v1
+
+{-# NOINLINE ptr_glTexCoord3xvOES #-}
+ptr_glTexCoord3xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glTexCoord3xvOES = unsafePerformIO $ getCommand "glTexCoord3xvOES"
+
+-- glTexCoord4bOES -------------------------------------------------------------
+
+glTexCoord4bOES
+  :: MonadIO m
+  => GLbyte -- ^ @s@.
+  -> GLbyte -- ^ @t@.
+  -> GLbyte -- ^ @r@.
+  -> GLbyte -- ^ @q@.
+  -> m ()
+glTexCoord4bOES v1 v2 v3 v4 = liftIO $ dyn107 ptr_glTexCoord4bOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4bOES #-}
+ptr_glTexCoord4bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glTexCoord4bOES = unsafePerformIO $ getCommand "glTexCoord4bOES"
+
+-- glTexCoord4bvOES ------------------------------------------------------------
+
+glTexCoord4bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glTexCoord4bvOES v1 = liftIO $ dyn37 ptr_glTexCoord4bvOES v1
+
+{-# NOINLINE ptr_glTexCoord4bvOES #-}
+ptr_glTexCoord4bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glTexCoord4bvOES = unsafePerformIO $ getCommand "glTexCoord4bvOES"
+
+-- glTexCoord4d ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4dv'.
+glTexCoord4d
+  :: MonadIO m
+  => GLdouble -- ^ @s@ of type @CoordD@.
+  -> GLdouble -- ^ @t@ of type @CoordD@.
+  -> GLdouble -- ^ @r@ of type @CoordD@.
+  -> GLdouble -- ^ @q@ of type @CoordD@.
+  -> m ()
+glTexCoord4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glTexCoord4d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4d #-}
+ptr_glTexCoord4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glTexCoord4d = unsafePerformIO $ getCommand "glTexCoord4d"
+
+-- glTexCoord4dv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord4dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
+  -> m ()
+glTexCoord4dv v1 = liftIO $ dyn39 ptr_glTexCoord4dv v1
+
+{-# NOINLINE ptr_glTexCoord4dv #-}
+ptr_glTexCoord4dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glTexCoord4dv = unsafePerformIO $ getCommand "glTexCoord4dv"
+
+-- glTexCoord4f ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4fv'.
+glTexCoord4f
+  :: MonadIO m
+  => GLfloat -- ^ @s@ of type @CoordF@.
+  -> GLfloat -- ^ @t@ of type @CoordF@.
+  -> GLfloat -- ^ @r@ of type @CoordF@.
+  -> GLfloat -- ^ @q@ of type @CoordF@.
+  -> m ()
+glTexCoord4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glTexCoord4f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4f #-}
+ptr_glTexCoord4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord4f = unsafePerformIO $ getCommand "glTexCoord4f"
+
+-- glTexCoord4fColor4fNormal3fVertex4fSUN --------------------------------------
+
+glTexCoord4fColor4fNormal3fVertex4fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @p@.
+  -> GLfloat -- ^ @q@.
+  -> GLfloat -- ^ @r@.
+  -> GLfloat -- ^ @g@.
+  -> GLfloat -- ^ @b@.
+  -> GLfloat -- ^ @a@.
+  -> GLfloat -- ^ @nx@.
+  -> GLfloat -- ^ @ny@.
+  -> GLfloat -- ^ @nz@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn724 ptr_glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
+
+{-# NOINLINE ptr_glTexCoord4fColor4fNormal3fVertex4fSUN #-}
+ptr_glTexCoord4fColor4fNormal3fVertex4fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord4fColor4fNormal3fVertex4fSUN = unsafePerformIO $ getCommand "glTexCoord4fColor4fNormal3fVertex4fSUN"
+
+-- glTexCoord4fColor4fNormal3fVertex4fvSUN -------------------------------------
+
+glTexCoord4fColor4fNormal3fVertex4fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @tc@ pointing to @4@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4 = liftIO $ dyn720 ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN #-}
+ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN = unsafePerformIO $ getCommand "glTexCoord4fColor4fNormal3fVertex4fvSUN"
+
+-- glTexCoord4fVertex4fSUN -----------------------------------------------------
+
+glTexCoord4fVertex4fSUN
+  :: MonadIO m
+  => GLfloat -- ^ @s@.
+  -> GLfloat -- ^ @t@.
+  -> GLfloat -- ^ @p@.
+  -> GLfloat -- ^ @q@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glTexCoord4fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glTexCoord4fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTexCoord4fVertex4fSUN #-}
+ptr_glTexCoord4fVertex4fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTexCoord4fVertex4fSUN = unsafePerformIO $ getCommand "glTexCoord4fVertex4fSUN"
+
+-- glTexCoord4fVertex4fvSUN ----------------------------------------------------
+
+glTexCoord4fVertex4fvSUN
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @tc@ pointing to @4@ elements of type @GLfloat@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glTexCoord4fVertex4fvSUN v1 v2 = liftIO $ dyn96 ptr_glTexCoord4fVertex4fvSUN v1 v2
+
+{-# NOINLINE ptr_glTexCoord4fVertex4fvSUN #-}
+ptr_glTexCoord4fVertex4fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
+ptr_glTexCoord4fVertex4fvSUN = unsafePerformIO $ getCommand "glTexCoord4fVertex4fvSUN"
+
+-- glTexCoord4fv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord4fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
+  -> m ()
+glTexCoord4fv v1 = liftIO $ dyn41 ptr_glTexCoord4fv v1
+
+{-# NOINLINE ptr_glTexCoord4fv #-}
+ptr_glTexCoord4fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glTexCoord4fv = unsafePerformIO $ getCommand "glTexCoord4fv"
+
+-- glTexCoord4hNV --------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTexCoord4hvNV'.
+glTexCoord4hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @s@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @q@ of type @Half16NV@.
+  -> m ()
+glTexCoord4hNV v1 v2 v3 v4 = liftIO $ dyn111 ptr_glTexCoord4hNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4hNV #-}
+ptr_glTexCoord4hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glTexCoord4hNV = unsafePerformIO $ getCommand "glTexCoord4hNV"
+
+-- glTexCoord4hvNV -------------------------------------------------------------
+
+glTexCoord4hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
+  -> m ()
+glTexCoord4hvNV v1 = liftIO $ dyn98 ptr_glTexCoord4hvNV v1
+
+{-# NOINLINE ptr_glTexCoord4hvNV #-}
+ptr_glTexCoord4hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glTexCoord4hvNV = unsafePerformIO $ getCommand "glTexCoord4hvNV"
+
+-- glTexCoord4i ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4iv'.
+glTexCoord4i
+  :: MonadIO m
+  => GLint -- ^ @s@ of type @CoordI@.
+  -> GLint -- ^ @t@ of type @CoordI@.
+  -> GLint -- ^ @r@ of type @CoordI@.
+  -> GLint -- ^ @q@ of type @CoordI@.
+  -> m ()
+glTexCoord4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glTexCoord4i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4i #-}
+ptr_glTexCoord4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glTexCoord4i = unsafePerformIO $ getCommand "glTexCoord4i"
+
+-- glTexCoord4iv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord4iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
+  -> m ()
+glTexCoord4iv v1 = liftIO $ dyn43 ptr_glTexCoord4iv v1
+
+{-# NOINLINE ptr_glTexCoord4iv #-}
+ptr_glTexCoord4iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glTexCoord4iv = unsafePerformIO $ getCommand "glTexCoord4iv"
+
+-- glTexCoord4s ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4sv'.
+glTexCoord4s
+  :: MonadIO m
+  => GLshort -- ^ @s@ of type @CoordS@.
+  -> GLshort -- ^ @t@ of type @CoordS@.
+  -> GLshort -- ^ @r@ of type @CoordS@.
+  -> GLshort -- ^ @q@ of type @CoordS@.
+  -> m ()
+glTexCoord4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glTexCoord4s v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4s #-}
+ptr_glTexCoord4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glTexCoord4s = unsafePerformIO $ getCommand "glTexCoord4s"
+
+-- glTexCoord4sv ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
+glTexCoord4sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glTexCoord4sv v1 = liftIO $ dyn45 ptr_glTexCoord4sv v1
+
+{-# NOINLINE ptr_glTexCoord4sv #-}
+ptr_glTexCoord4sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glTexCoord4sv = unsafePerformIO $ getCommand "glTexCoord4sv"
+
+-- glTexCoord4xOES -------------------------------------------------------------
+
+glTexCoord4xOES
+  :: MonadIO m
+  => GLfixed -- ^ @s@.
+  -> GLfixed -- ^ @t@.
+  -> GLfixed -- ^ @r@.
+  -> GLfixed -- ^ @q@.
+  -> m ()
+glTexCoord4xOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glTexCoord4xOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoord4xOES #-}
+ptr_glTexCoord4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glTexCoord4xOES = unsafePerformIO $ getCommand "glTexCoord4xOES"
+
+-- glTexCoord4xvOES ------------------------------------------------------------
+
+glTexCoord4xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glTexCoord4xvOES v1 = liftIO $ dyn106 ptr_glTexCoord4xvOES v1
+
+{-# NOINLINE ptr_glTexCoord4xvOES #-}
+ptr_glTexCoord4xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glTexCoord4xvOES = unsafePerformIO $ getCommand "glTexCoord4xvOES"
+
+-- glTexCoordFormatNV ----------------------------------------------------------
+
+glTexCoordFormatNV
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glTexCoordFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glTexCoordFormatNV v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoordFormatNV #-}
+ptr_glTexCoordFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
+ptr_glTexCoordFormatNV = unsafePerformIO $ getCommand "glTexCoordFormatNV"
+
+-- glTexCoordP1ui --------------------------------------------------------------
+
+glTexCoordP1ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glTexCoordP1ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP1ui v1 v2
+
+{-# NOINLINE ptr_glTexCoordP1ui #-}
+ptr_glTexCoordP1ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glTexCoordP1ui = unsafePerformIO $ getCommand "glTexCoordP1ui"
+
+-- glTexCoordP1uiv -------------------------------------------------------------
+
+glTexCoordP1uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glTexCoordP1uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP1uiv v1 v2
+
+{-# NOINLINE ptr_glTexCoordP1uiv #-}
+ptr_glTexCoordP1uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glTexCoordP1uiv = unsafePerformIO $ getCommand "glTexCoordP1uiv"
+
+-- glTexCoordP2ui --------------------------------------------------------------
+
+glTexCoordP2ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glTexCoordP2ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP2ui v1 v2
+
+{-# NOINLINE ptr_glTexCoordP2ui #-}
+ptr_glTexCoordP2ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glTexCoordP2ui = unsafePerformIO $ getCommand "glTexCoordP2ui"
+
+-- glTexCoordP2uiv -------------------------------------------------------------
+
+glTexCoordP2uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glTexCoordP2uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP2uiv v1 v2
+
+{-# NOINLINE ptr_glTexCoordP2uiv #-}
+ptr_glTexCoordP2uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glTexCoordP2uiv = unsafePerformIO $ getCommand "glTexCoordP2uiv"
+
+-- glTexCoordP3ui --------------------------------------------------------------
+
+glTexCoordP3ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glTexCoordP3ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP3ui v1 v2
+
+{-# NOINLINE ptr_glTexCoordP3ui #-}
+ptr_glTexCoordP3ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glTexCoordP3ui = unsafePerformIO $ getCommand "glTexCoordP3ui"
+
+-- glTexCoordP3uiv -------------------------------------------------------------
+
+glTexCoordP3uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glTexCoordP3uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP3uiv v1 v2
+
+{-# NOINLINE ptr_glTexCoordP3uiv #-}
+ptr_glTexCoordP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glTexCoordP3uiv = unsafePerformIO $ getCommand "glTexCoordP3uiv"
+
+-- glTexCoordP4ui --------------------------------------------------------------
+
+glTexCoordP4ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @coords@.
+  -> m ()
+glTexCoordP4ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP4ui v1 v2
+
+{-# NOINLINE ptr_glTexCoordP4ui #-}
+ptr_glTexCoordP4ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glTexCoordP4ui = unsafePerformIO $ getCommand "glTexCoordP4ui"
+
+-- glTexCoordP4uiv -------------------------------------------------------------
+
+glTexCoordP4uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glTexCoordP4uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP4uiv v1 v2
+
+{-# NOINLINE ptr_glTexCoordP4uiv #-}
+ptr_glTexCoordP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glTexCoordP4uiv = unsafePerformIO $ getCommand "glTexCoordP4uiv"
+
+-- glTexCoordPointer -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoordPointer.xml OpenGL 2.x>.
+glTexCoordPointer
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glTexCoordPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glTexCoordPointer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexCoordPointer #-}
+ptr_glTexCoordPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glTexCoordPointer = unsafePerformIO $ getCommand "glTexCoordPointer"
+
+-- glTexCoordPointerEXT --------------------------------------------------------
+
+glTexCoordPointerEXT
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
+  -> m ()
+glTexCoordPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn126 ptr_glTexCoordPointerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexCoordPointerEXT #-}
+ptr_glTexCoordPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+ptr_glTexCoordPointerEXT = unsafePerformIO $ getCommand "glTexCoordPointerEXT"
+
+-- glTexCoordPointerListIBM ----------------------------------------------------
+
+glTexCoordPointerListIBM
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glTexCoordPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glTexCoordPointerListIBM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexCoordPointerListIBM #-}
+ptr_glTexCoordPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glTexCoordPointerListIBM = unsafePerformIO $ getCommand "glTexCoordPointerListIBM"
+
+-- glTexCoordPointervINTEL -----------------------------------------------------
+
+glTexCoordPointervINTEL
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
+  -> m ()
+glTexCoordPointervINTEL v1 v2 v3 = liftIO $ dyn128 ptr_glTexCoordPointervINTEL v1 v2 v3
+
+{-# NOINLINE ptr_glTexCoordPointervINTEL #-}
+ptr_glTexCoordPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glTexCoordPointervINTEL = unsafePerformIO $ getCommand "glTexCoordPointervINTEL"
+
+-- glTexEnvf -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
+glTexEnvf
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glTexEnvf v1 v2 v3 = liftIO $ dyn160 ptr_glTexEnvf v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnvf #-}
+ptr_glTexEnvf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glTexEnvf = unsafePerformIO $ getCommand "glTexEnvf"
+
+-- glTexEnvfv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
+glTexEnvfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glTexEnvfv v1 v2 v3 = liftIO $ dyn131 ptr_glTexEnvfv v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnvfv #-}
+ptr_glTexEnvfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexEnvfv = unsafePerformIO $ getCommand "glTexEnvfv"
+
+-- glTexEnvi -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
+glTexEnvi
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glTexEnvi v1 v2 v3 = liftIO $ dyn62 ptr_glTexEnvi v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnvi #-}
+ptr_glTexEnvi :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glTexEnvi = unsafePerformIO $ getCommand "glTexEnvi"
+
+-- glTexEnviv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
+glTexEnviv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-GL-Groups.html#TextureEnvTarget).
+  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-GL-Groups.html#TextureEnvParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glTexEnviv v1 v2 v3 = liftIO $ dyn132 ptr_glTexEnviv v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnviv #-}
+ptr_glTexEnviv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexEnviv = unsafePerformIO $ getCommand "glTexEnviv"
+
+-- glTexEnvx -------------------------------------------------------------------
+
+glTexEnvx
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glTexEnvx v1 v2 v3 = liftIO $ dyn161 ptr_glTexEnvx v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnvx #-}
+ptr_glTexEnvx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glTexEnvx = unsafePerformIO $ getCommand "glTexEnvx"
+
+-- glTexEnvxOES ----------------------------------------------------------------
+
+glTexEnvxOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glTexEnvxOES v1 v2 v3 = liftIO $ dyn161 ptr_glTexEnvxOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnvxOES #-}
+ptr_glTexEnvxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glTexEnvxOES = unsafePerformIO $ getCommand "glTexEnvxOES"
+
+-- glTexEnvxv ------------------------------------------------------------------
+
+glTexEnvxv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glTexEnvxv v1 v2 v3 = liftIO $ dyn162 ptr_glTexEnvxv v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnvxv #-}
+ptr_glTexEnvxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glTexEnvxv = unsafePerformIO $ getCommand "glTexEnvxv"
+
+-- glTexEnvxvOES ---------------------------------------------------------------
+
+glTexEnvxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glTexEnvxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glTexEnvxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexEnvxvOES #-}
+ptr_glTexEnvxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glTexEnvxvOES = unsafePerformIO $ getCommand "glTexEnvxvOES"
+
+-- glTexFilterFuncSGIS ---------------------------------------------------------
+
+glTexFilterFuncSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @filter@ of type @TextureFilterSGIS@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLfloat -- ^ @weights@ pointing to @n@ elements of type @GLfloat@.
+  -> m ()
+glTexFilterFuncSGIS v1 v2 v3 v4 = liftIO $ dyn446 ptr_glTexFilterFuncSGIS v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexFilterFuncSGIS #-}
+ptr_glTexFilterFuncSGIS :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glTexFilterFuncSGIS = unsafePerformIO $ getCommand "glTexFilterFuncSGIS"
+
+-- glTexGend -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGend
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLdouble -- ^ @param@.
+  -> m ()
+glTexGend v1 v2 v3 = liftIO $ dyn725 ptr_glTexGend v1 v2 v3
+
+{-# NOINLINE ptr_glTexGend #-}
+ptr_glTexGend :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
+ptr_glTexGend = unsafePerformIO $ getCommand "glTexGend"
+
+-- glTexGendv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGendv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glTexGendv v1 v2 v3 = liftIO $ dyn349 ptr_glTexGendv v1 v2 v3
+
+{-# NOINLINE ptr_glTexGendv #-}
+ptr_glTexGendv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glTexGendv = unsafePerformIO $ getCommand "glTexGendv"
+
+-- glTexGenf -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGenf
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glTexGenf v1 v2 v3 = liftIO $ dyn160 ptr_glTexGenf v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenf #-}
+ptr_glTexGenf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glTexGenf = unsafePerformIO $ getCommand "glTexGenf"
+
+-- glTexGenfOES ----------------------------------------------------------------
+
+glTexGenfOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glTexGenfOES v1 v2 v3 = liftIO $ dyn160 ptr_glTexGenfOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenfOES #-}
+ptr_glTexGenfOES :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glTexGenfOES = unsafePerformIO $ getCommand "glTexGenfOES"
+
+-- glTexGenfv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGenfv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glTexGenfv v1 v2 v3 = liftIO $ dyn131 ptr_glTexGenfv v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenfv #-}
+ptr_glTexGenfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexGenfv = unsafePerformIO $ getCommand "glTexGenfv"
+
+-- glTexGenfvOES ---------------------------------------------------------------
+
+glTexGenfvOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glTexGenfvOES v1 v2 v3 = liftIO $ dyn131 ptr_glTexGenfvOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenfvOES #-}
+ptr_glTexGenfvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexGenfvOES = unsafePerformIO $ getCommand "glTexGenfvOES"
+
+-- glTexGeni -------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGeni
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glTexGeni v1 v2 v3 = liftIO $ dyn62 ptr_glTexGeni v1 v2 v3
+
+{-# NOINLINE ptr_glTexGeni #-}
+ptr_glTexGeni :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glTexGeni = unsafePerformIO $ getCommand "glTexGeni"
+
+-- glTexGeniOES ----------------------------------------------------------------
+
+glTexGeniOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glTexGeniOES v1 v2 v3 = liftIO $ dyn62 ptr_glTexGeniOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGeniOES #-}
+ptr_glTexGeniOES :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glTexGeniOES = unsafePerformIO $ getCommand "glTexGeniOES"
+
+-- glTexGeniv ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
+glTexGeniv
+  :: MonadIO m
+  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-GL-Groups.html#TextureCoordName).
+  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-GL-Groups.html#TextureGenParameter).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glTexGeniv v1 v2 v3 = liftIO $ dyn132 ptr_glTexGeniv v1 v2 v3
+
+{-# NOINLINE ptr_glTexGeniv #-}
+ptr_glTexGeniv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexGeniv = unsafePerformIO $ getCommand "glTexGeniv"
+
+-- glTexGenivOES ---------------------------------------------------------------
+
+glTexGenivOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glTexGenivOES v1 v2 v3 = liftIO $ dyn132 ptr_glTexGenivOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenivOES #-}
+ptr_glTexGenivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexGenivOES = unsafePerformIO $ getCommand "glTexGenivOES"
+
+-- glTexGenxOES ----------------------------------------------------------------
+
+glTexGenxOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glTexGenxOES v1 v2 v3 = liftIO $ dyn161 ptr_glTexGenxOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenxOES #-}
+ptr_glTexGenxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glTexGenxOES = unsafePerformIO $ getCommand "glTexGenxOES"
+
+-- glTexGenxvOES ---------------------------------------------------------------
+
+glTexGenxvOES
+  :: MonadIO m
+  => GLenum -- ^ @coord@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glTexGenxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glTexGenxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexGenxvOES #-}
+ptr_glTexGenxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glTexGenxvOES = unsafePerformIO $ getCommand "glTexGenxvOES"
+
+-- glTexImage1D ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage1D.xhtml OpenGL 4.x>.
+glTexImage1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn726 ptr_glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTexImage1D #-}
+ptr_glTexImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexImage1D = unsafePerformIO $ getCommand "glTexImage1D"
+
+-- glTexImage2D ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage2D.xhtml OpenGL 4.x>.
+glTexImage2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn727 ptr_glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTexImage2D #-}
+ptr_glTexImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexImage2D = unsafePerformIO $ getCommand "glTexImage2D"
+
+-- glTexImage2DMultisample -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2DMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage2DMultisample.xhtml OpenGL 4.x>.
+glTexImage2DMultisample
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTexImage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn728 ptr_glTexImage2DMultisample v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTexImage2DMultisample #-}
+ptr_glTexImage2DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexImage2DMultisample = unsafePerformIO $ getCommand "glTexImage2DMultisample"
+
+-- glTexImage2DMultisampleCoverageNV -------------------------------------------
+
+glTexImage2DMultisampleCoverageNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @coverageSamples@.
+  -> GLsizei -- ^ @colorSamples@.
+  -> GLint -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn729 ptr_glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTexImage2DMultisampleCoverageNV #-}
+ptr_glTexImage2DMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexImage2DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTexImage2DMultisampleCoverageNV"
+
+-- glTexImage3D ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage3D.xhtml OpenGL 4.x>.
+glTexImage3D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn730 ptr_glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glTexImage3D #-}
+ptr_glTexImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexImage3D = unsafePerformIO $ getCommand "glTexImage3D"
+
+-- glTexImage3DEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glTexImage3D'.
+glTexImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn731 ptr_glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glTexImage3DEXT #-}
+ptr_glTexImage3DEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexImage3DEXT = unsafePerformIO $ getCommand "glTexImage3DEXT"
+
+-- glTexImage3DMultisample -----------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3DMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage3DMultisample.xhtml OpenGL 4.x>.
+glTexImage3DMultisample
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn732 ptr_glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTexImage3DMultisample #-}
+ptr_glTexImage3DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexImage3DMultisample = unsafePerformIO $ getCommand "glTexImage3DMultisample"
+
+-- glTexImage3DMultisampleCoverageNV -------------------------------------------
+
+glTexImage3DMultisampleCoverageNV
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @coverageSamples@.
+  -> GLsizei -- ^ @colorSamples@.
+  -> GLint -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn733 ptr_glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTexImage3DMultisampleCoverageNV #-}
+ptr_glTexImage3DMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexImage3DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTexImage3DMultisampleCoverageNV"
+
+-- glTexImage3DOES -------------------------------------------------------------
+
+-- | This command is an alias for 'glTexImage3D'.
+glTexImage3DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn731 ptr_glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glTexImage3DOES #-}
+ptr_glTexImage3DOES :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexImage3DOES = unsafePerformIO $ getCommand "glTexImage3DOES"
+
+-- glTexImage4DSGIS ------------------------------------------------------------
+
+glTexImage4DSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-GL-Groups.html#InternalFormat).
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLsizei -- ^ @size4d@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth,size4d)@ elements of type @a@.
+  -> m ()
+glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn734 ptr_glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glTexImage4DSGIS #-}
+ptr_glTexImage4DSGIS :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexImage4DSGIS = unsafePerformIO $ getCommand "glTexImage4DSGIS"
+
+-- glTexPageCommitmentARB ------------------------------------------------------
+
+glTexPageCommitmentARB
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @commit@.
+  -> m ()
+glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn735 ptr_glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTexPageCommitmentARB #-}
+ptr_glTexPageCommitmentARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexPageCommitmentARB = unsafePerformIO $ getCommand "glTexPageCommitmentARB"
+
+-- glTexPageCommitmentEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glTexPageCommitmentARB'.
+glTexPageCommitmentEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @commit@.
+  -> m ()
+glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn735 ptr_glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTexPageCommitmentEXT #-}
+ptr_glTexPageCommitmentEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexPageCommitmentEXT = unsafePerformIO $ getCommand "glTexPageCommitmentEXT"
+
+-- glTexParameterIiv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTexParameterIiv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glTexParameterIiv v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameterIiv v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterIiv #-}
+ptr_glTexParameterIiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexParameterIiv = unsafePerformIO $ getCommand "glTexParameterIiv"
+
+-- glTexParameterIivEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glTexParameterIiv'.
+glTexParameterIivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glTexParameterIivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameterIivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterIivEXT #-}
+ptr_glTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexParameterIivEXT = unsafePerformIO $ getCommand "glTexParameterIivEXT"
+
+-- glTexParameterIivOES --------------------------------------------------------
+
+-- | This command is an alias for 'glTexParameterIiv'.
+glTexParameterIivOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glTexParameterIivOES v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameterIivOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterIivOES #-}
+ptr_glTexParameterIivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexParameterIivOES = unsafePerformIO $ getCommand "glTexParameterIivOES"
+
+-- glTexParameterIuiv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTexParameterIuiv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glTexParameterIuiv v1 v2 v3 = liftIO $ dyn409 ptr_glTexParameterIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterIuiv #-}
+ptr_glTexParameterIuiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glTexParameterIuiv = unsafePerformIO $ getCommand "glTexParameterIuiv"
+
+-- glTexParameterIuivEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glTexParameterIuiv'.
+glTexParameterIuivEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn409 ptr_glTexParameterIuivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterIuivEXT #-}
+ptr_glTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glTexParameterIuivEXT = unsafePerformIO $ getCommand "glTexParameterIuivEXT"
+
+-- glTexParameterIuivOES -------------------------------------------------------
+
+-- | This command is an alias for 'glTexParameterIuiv'.
+glTexParameterIuivOES
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glTexParameterIuivOES v1 v2 v3 = liftIO $ dyn409 ptr_glTexParameterIuivOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterIuivOES #-}
+ptr_glTexParameterIuivOES :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glTexParameterIuivOES = unsafePerformIO $ getCommand "glTexParameterIuivOES"
+
+-- glTexParameterf -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTexParameterf
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glTexParameterf v1 v2 v3 = liftIO $ dyn160 ptr_glTexParameterf v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterf #-}
+ptr_glTexParameterf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glTexParameterf = unsafePerformIO $ getCommand "glTexParameterf"
+
+-- glTexParameterfv ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTexParameterfv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glTexParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glTexParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterfv #-}
+ptr_glTexParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTexParameterfv = unsafePerformIO $ getCommand "glTexParameterfv"
+
+-- glTexParameteri -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTexParameteri
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glTexParameteri v1 v2 v3 = liftIO $ dyn62 ptr_glTexParameteri v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameteri #-}
+ptr_glTexParameteri :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
+ptr_glTexParameteri = unsafePerformIO $ getCommand "glTexParameteri"
+
+-- glTexParameteriv ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTexParameteriv
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glTexParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameteriv #-}
+ptr_glTexParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTexParameteriv = unsafePerformIO $ getCommand "glTexParameteriv"
+
+-- glTexParameterx -------------------------------------------------------------
+
+glTexParameterx
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glTexParameterx v1 v2 v3 = liftIO $ dyn161 ptr_glTexParameterx v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterx #-}
+ptr_glTexParameterx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glTexParameterx = unsafePerformIO $ getCommand "glTexParameterx"
+
+-- glTexParameterxOES ----------------------------------------------------------
+
+glTexParameterxOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> GLfixed -- ^ @param@.
+  -> m ()
+glTexParameterxOES v1 v2 v3 = liftIO $ dyn161 ptr_glTexParameterxOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterxOES #-}
+ptr_glTexParameterxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
+ptr_glTexParameterxOES = unsafePerformIO $ getCommand "glTexParameterxOES"
+
+-- glTexParameterxv ------------------------------------------------------------
+
+glTexParameterxv
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glTexParameterxv v1 v2 v3 = liftIO $ dyn162 ptr_glTexParameterxv v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterxv #-}
+ptr_glTexParameterxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glTexParameterxv = unsafePerformIO $ getCommand "glTexParameterxv"
+
+-- glTexParameterxvOES ---------------------------------------------------------
+
+glTexParameterxvOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
+  -> m ()
+glTexParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glTexParameterxvOES v1 v2 v3
+
+{-# NOINLINE ptr_glTexParameterxvOES #-}
+ptr_glTexParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
+ptr_glTexParameterxvOES = unsafePerformIO $ getCommand "glTexParameterxvOES"
+
+-- glTexRenderbufferNV ---------------------------------------------------------
+
+glTexRenderbufferNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glTexRenderbufferNV v1 v2 = liftIO $ dyn16 ptr_glTexRenderbufferNV v1 v2
+
+{-# NOINLINE ptr_glTexRenderbufferNV #-}
+ptr_glTexRenderbufferNV :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glTexRenderbufferNV = unsafePerformIO $ getCommand "glTexRenderbufferNV"
+
+-- glTexStorage1D --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage1D.xhtml OpenGL 4.x>.
+glTexStorage1D
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glTexStorage1D v1 v2 v3 v4 = liftIO $ dyn736 ptr_glTexStorage1D v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexStorage1D #-}
+ptr_glTexStorage1D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
+ptr_glTexStorage1D = unsafePerformIO $ getCommand "glTexStorage1D"
+
+-- glTexStorage1DEXT -----------------------------------------------------------
+
+-- | This command is an alias for 'glTexStorage1D'.
+glTexStorage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glTexStorage1DEXT v1 v2 v3 v4 = liftIO $ dyn736 ptr_glTexStorage1DEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTexStorage1DEXT #-}
+ptr_glTexStorage1DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
+ptr_glTexStorage1DEXT = unsafePerformIO $ getCommand "glTexStorage1DEXT"
+
+-- glTexStorage2D --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2D.xhtml OpenGL 4.x>.
+glTexStorage2D
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glTexStorage2D v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glTexStorage2D v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexStorage2D #-}
+ptr_glTexStorage2D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glTexStorage2D = unsafePerformIO $ getCommand "glTexStorage2D"
+
+-- glTexStorage2DEXT -----------------------------------------------------------
+
+-- | This command is an alias for 'glTexStorage2D'.
+glTexStorage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glTexStorage2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glTexStorage2DEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTexStorage2DEXT #-}
+ptr_glTexStorage2DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glTexStorage2DEXT = unsafePerformIO $ getCommand "glTexStorage2DEXT"
+
+-- glTexStorage2DMultisample ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2DMultisample.xhtml OpenGL 4.x>.
+glTexStorage2DMultisample
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTexStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn728 ptr_glTexStorage2DMultisample v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTexStorage2DMultisample #-}
+ptr_glTexStorage2DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexStorage2DMultisample = unsafePerformIO $ getCommand "glTexStorage2DMultisample"
+
+-- glTexStorage3D --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3D.xhtml OpenGL 4.x>.
+glTexStorage3D
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> m ()
+glTexStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn737 ptr_glTexStorage3D v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTexStorage3D #-}
+ptr_glTexStorage3D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glTexStorage3D = unsafePerformIO $ getCommand "glTexStorage3D"
+
+-- glTexStorage3DEXT -----------------------------------------------------------
+
+-- | This command is an alias for 'glTexStorage3D'.
+glTexStorage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> m ()
+glTexStorage3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn737 ptr_glTexStorage3DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTexStorage3DEXT #-}
+ptr_glTexStorage3DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glTexStorage3DEXT = unsafePerformIO $ getCommand "glTexStorage3DEXT"
+
+-- glTexStorage3DMultisample ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
+glTexStorage3DMultisample
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn732 ptr_glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTexStorage3DMultisample #-}
+ptr_glTexStorage3DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexStorage3DMultisample = unsafePerformIO $ getCommand "glTexStorage3DMultisample"
+
+-- glTexStorage3DMultisampleOES ------------------------------------------------
+
+-- | This command is an alias for 'glTexStorage3DMultisample'.
+glTexStorage3DMultisampleOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn732 ptr_glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTexStorage3DMultisampleOES #-}
+ptr_glTexStorage3DMultisampleOES :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexStorage3DMultisampleOES = unsafePerformIO $ getCommand "glTexStorage3DMultisampleOES"
+
+-- glTexStorageSparseAMD -------------------------------------------------------
+
+glTexStorageSparseAMD
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLsizei -- ^ @layers@.
+  -> GLbitfield -- ^ @flags@.
+  -> m ()
+glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn738 ptr_glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTexStorageSparseAMD #-}
+ptr_glTexStorageSparseAMD :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
+ptr_glTexStorageSparseAMD = unsafePerformIO $ getCommand "glTexStorageSparseAMD"
+
+-- glTexSubImage1D -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml OpenGL 4.x>.
+glTexSubImage1D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glTexSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn739 ptr_glTexSubImage1D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTexSubImage1D #-}
+ptr_glTexSubImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage1D = unsafePerformIO $ getCommand "glTexSubImage1D"
+
+-- glTexSubImage1DEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glTexSubImage1D'.
+glTexSubImage1DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn739 ptr_glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTexSubImage1DEXT #-}
+ptr_glTexSubImage1DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage1DEXT = unsafePerformIO $ getCommand "glTexSubImage1DEXT"
+
+-- glTexSubImage2D -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage2D.xhtml OpenGL 4.x>.
+glTexSubImage2D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn740 ptr_glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTexSubImage2D #-}
+ptr_glTexSubImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage2D = unsafePerformIO $ getCommand "glTexSubImage2D"
+
+-- glTexSubImage2DEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glTexSubImage2D'.
+glTexSubImage2DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn740 ptr_glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTexSubImage2DEXT #-}
+ptr_glTexSubImage2DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage2DEXT = unsafePerformIO $ getCommand "glTexSubImage2DEXT"
+
+-- glTexSubImage3D -------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage3D.xhtml OpenGL 4.x>.
+glTexSubImage3D
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glTexSubImage3D #-}
+ptr_glTexSubImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage3D = unsafePerformIO $ getCommand "glTexSubImage3D"
+
+-- glTexSubImage3DEXT ----------------------------------------------------------
+
+-- | This command is an alias for 'glTexSubImage3D'.
+glTexSubImage3DEXT
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glTexSubImage3DEXT #-}
+ptr_glTexSubImage3DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage3DEXT = unsafePerformIO $ getCommand "glTexSubImage3DEXT"
+
+-- glTexSubImage3DOES ----------------------------------------------------------
+
+-- | This command is an alias for 'glTexSubImage3D'.
+glTexSubImage3DOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glTexSubImage3DOES #-}
+ptr_glTexSubImage3DOES :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage3DOES = unsafePerformIO $ getCommand "glTexSubImage3DOES"
+
+-- glTexSubImage4DSGIS ---------------------------------------------------------
+
+glTexSubImage4DSGIS
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @woffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLsizei -- ^ @size4d@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth,size4d)@ elements of type @a@.
+  -> m ()
+glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn741 ptr_glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
+
+{-# NOINLINE ptr_glTexSubImage4DSGIS #-}
+ptr_glTexSubImage4DSGIS :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTexSubImage4DSGIS = unsafePerformIO $ getCommand "glTexSubImage4DSGIS"
+
+-- glTextureBarrier ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTextureBarrier.xhtml OpenGL 4.x>.
+glTextureBarrier
+  :: MonadIO m
+  => m ()
+glTextureBarrier = liftIO $ dyn10 ptr_glTextureBarrier
+
+{-# NOINLINE ptr_glTextureBarrier #-}
+ptr_glTextureBarrier :: FunPtr (IO ())
+ptr_glTextureBarrier = unsafePerformIO $ getCommand "glTextureBarrier"
+
+-- glTextureBarrierNV ----------------------------------------------------------
+
+glTextureBarrierNV
+  :: MonadIO m
+  => m ()
+glTextureBarrierNV = liftIO $ dyn10 ptr_glTextureBarrierNV
+
+{-# NOINLINE ptr_glTextureBarrierNV #-}
+ptr_glTextureBarrierNV :: FunPtr (IO ())
+ptr_glTextureBarrierNV = unsafePerformIO $ getCommand "glTextureBarrierNV"
+
+-- glTextureBuffer -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBuffer.xhtml OpenGL 4.x>.
+glTextureBuffer
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTextureBuffer v1 v2 v3 = liftIO $ dyn708 ptr_glTextureBuffer v1 v2 v3
+
+{-# NOINLINE ptr_glTextureBuffer #-}
+ptr_glTextureBuffer :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
+ptr_glTextureBuffer = unsafePerformIO $ getCommand "glTextureBuffer"
+
+-- glTextureBufferEXT ----------------------------------------------------------
+
+glTextureBufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTextureBufferEXT v1 v2 v3 v4 = liftIO $ dyn570 ptr_glTextureBufferEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureBufferEXT #-}
+ptr_glTextureBufferEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
+ptr_glTextureBufferEXT = unsafePerformIO $ getCommand "glTextureBufferEXT"
+
+-- glTextureBufferRange --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBufferRange.xhtml OpenGL 4.x>.
+glTextureBufferRange
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTextureBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn742 ptr_glTextureBufferRange v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTextureBufferRange #-}
+ptr_glTextureBufferRange :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTextureBufferRange = unsafePerformIO $ getCommand "glTextureBufferRange"
+
+-- glTextureBufferRangeEXT -----------------------------------------------------
+
+glTextureBufferRangeEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn743 ptr_glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTextureBufferRangeEXT #-}
+ptr_glTextureBufferRangeEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTextureBufferRangeEXT = unsafePerformIO $ getCommand "glTextureBufferRangeEXT"
+
+-- glTextureColorMaskSGIS ------------------------------------------------------
+
+glTextureColorMaskSGIS
+  :: MonadIO m
+  => GLboolean -- ^ @red@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @green@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @blue@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLboolean -- ^ @alpha@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureColorMaskSGIS v1 v2 v3 v4 = liftIO $ dyn122 ptr_glTextureColorMaskSGIS v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureColorMaskSGIS #-}
+ptr_glTextureColorMaskSGIS :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
+ptr_glTextureColorMaskSGIS = unsafePerformIO $ getCommand "glTextureColorMaskSGIS"
+
+-- glTextureImage1DEXT ---------------------------------------------------------
+
+glTextureImage1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn744 ptr_glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTextureImage1DEXT #-}
+ptr_glTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureImage1DEXT = unsafePerformIO $ getCommand "glTextureImage1DEXT"
+
+-- glTextureImage2DEXT ---------------------------------------------------------
+
+glTextureImage2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn745 ptr_glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glTextureImage2DEXT #-}
+ptr_glTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureImage2DEXT = unsafePerformIO $ getCommand "glTextureImage2DEXT"
+
+-- glTextureImage2DMultisampleCoverageNV ---------------------------------------
+
+glTextureImage2DMultisampleCoverageNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @coverageSamples@.
+  -> GLsizei -- ^ @colorSamples@.
+  -> GLint -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn746 ptr_glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureImage2DMultisampleCoverageNV #-}
+ptr_glTextureImage2DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureImage2DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTextureImage2DMultisampleCoverageNV"
+
+-- glTextureImage2DMultisampleNV -----------------------------------------------
+
+glTextureImage2DMultisampleNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLint -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn747 ptr_glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureImage2DMultisampleNV #-}
+ptr_glTextureImage2DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureImage2DMultisampleNV = unsafePerformIO $ getCommand "glTextureImage2DMultisampleNV"
+
+-- glTextureImage3DEXT ---------------------------------------------------------
+
+glTextureImage3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLint -- ^ @border@ of type @CheckedInt32@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn748 ptr_glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glTextureImage3DEXT #-}
+ptr_glTextureImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureImage3DEXT = unsafePerformIO $ getCommand "glTextureImage3DEXT"
+
+-- glTextureImage3DMultisampleCoverageNV ---------------------------------------
+
+glTextureImage3DMultisampleCoverageNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @coverageSamples@.
+  -> GLsizei -- ^ @colorSamples@.
+  -> GLint -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn749 ptr_glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTextureImage3DMultisampleCoverageNV #-}
+ptr_glTextureImage3DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureImage3DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTextureImage3DMultisampleCoverageNV"
+
+-- glTextureImage3DMultisampleNV -----------------------------------------------
+
+glTextureImage3DMultisampleNV
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLint -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn750 ptr_glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureImage3DMultisampleNV #-}
+ptr_glTextureImage3DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureImage3DMultisampleNV = unsafePerformIO $ getCommand "glTextureImage3DMultisampleNV"
+
+-- glTextureLightEXT -----------------------------------------------------------
+
+glTextureLightEXT
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @LightTexturePNameEXT@.
+  -> m ()
+glTextureLightEXT v1 = liftIO $ dyn4 ptr_glTextureLightEXT v1
+
+{-# NOINLINE ptr_glTextureLightEXT #-}
+ptr_glTextureLightEXT :: FunPtr (GLenum -> IO ())
+ptr_glTextureLightEXT = unsafePerformIO $ getCommand "glTextureLightEXT"
+
+-- glTextureMaterialEXT --------------------------------------------------------
+
+glTextureMaterialEXT
+  :: MonadIO m
+  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-GL-Groups.html#MaterialFace).
+  -> GLenum -- ^ @mode@ of type [MaterialParameter](Graphics-GL-Groups.html#MaterialParameter).
+  -> m ()
+glTextureMaterialEXT v1 v2 = liftIO $ dyn51 ptr_glTextureMaterialEXT v1 v2
+
+{-# NOINLINE ptr_glTextureMaterialEXT #-}
+ptr_glTextureMaterialEXT :: FunPtr (GLenum -> GLenum -> IO ())
+ptr_glTextureMaterialEXT = unsafePerformIO $ getCommand "glTextureMaterialEXT"
+
+-- glTextureNormalEXT ----------------------------------------------------------
+
+glTextureNormalEXT
+  :: MonadIO m
+  => GLenum -- ^ @mode@ of type @TextureNormalModeEXT@.
+  -> m ()
+glTextureNormalEXT v1 = liftIO $ dyn4 ptr_glTextureNormalEXT v1
+
+{-# NOINLINE ptr_glTextureNormalEXT #-}
+ptr_glTextureNormalEXT :: FunPtr (GLenum -> IO ())
+ptr_glTextureNormalEXT = unsafePerformIO $ getCommand "glTextureNormalEXT"
+
+-- glTexturePageCommitmentEXT --------------------------------------------------
+
+glTexturePageCommitmentEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @commit@.
+  -> m ()
+glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn751 ptr_glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTexturePageCommitmentEXT #-}
+ptr_glTexturePageCommitmentEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTexturePageCommitmentEXT = unsafePerformIO $ getCommand "glTexturePageCommitmentEXT"
+
+-- glTextureParameterIiv -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTextureParameterIiv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@.
+  -> m ()
+glTextureParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glTextureParameterIiv v1 v2 v3
+
+{-# NOINLINE ptr_glTextureParameterIiv #-}
+ptr_glTextureParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glTextureParameterIiv = unsafePerformIO $ getCommand "glTextureParameterIiv"
+
+-- glTextureParameterIivEXT ----------------------------------------------------
+
+glTextureParameterIivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glTextureParameterIivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureParameterIivEXT #-}
+ptr_glTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTextureParameterIivEXT = unsafePerformIO $ getCommand "glTextureParameterIivEXT"
+
+-- glTextureParameterIuiv ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTextureParameterIuiv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLuint -- ^ @params@.
+  -> m ()
+glTextureParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glTextureParameterIuiv v1 v2 v3
+
+{-# NOINLINE ptr_glTextureParameterIuiv #-}
+ptr_glTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
+ptr_glTextureParameterIuiv = unsafePerformIO $ getCommand "glTextureParameterIuiv"
+
+-- glTextureParameterIuivEXT ---------------------------------------------------
+
+glTextureParameterIuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
+  -> m ()
+glTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn416 ptr_glTextureParameterIuivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureParameterIuivEXT #-}
+ptr_glTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
+ptr_glTextureParameterIuivEXT = unsafePerformIO $ getCommand "glTextureParameterIuivEXT"
+
+-- glTextureParameterf ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTextureParameterf
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glTextureParameterf v1 v2 v3 = liftIO $ dyn483 ptr_glTextureParameterf v1 v2 v3
+
+{-# NOINLINE ptr_glTextureParameterf #-}
+ptr_glTextureParameterf :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
+ptr_glTextureParameterf = unsafePerformIO $ getCommand "glTextureParameterf"
+
+-- glTextureParameterfEXT ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTextureParameterfvEXT'.
+glTextureParameterfEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
+  -> m ()
+glTextureParameterfEXT v1 v2 v3 v4 = liftIO $ dyn752 ptr_glTextureParameterfEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureParameterfEXT #-}
+ptr_glTextureParameterfEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
+ptr_glTextureParameterfEXT = unsafePerformIO $ getCommand "glTextureParameterfEXT"
+
+-- glTextureParameterfv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTextureParameterfv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @param@.
+  -> m ()
+glTextureParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glTextureParameterfv v1 v2 v3
+
+{-# NOINLINE ptr_glTextureParameterfv #-}
+ptr_glTextureParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTextureParameterfv = unsafePerformIO $ getCommand "glTextureParameterfv"
+
+-- glTextureParameterfvEXT -----------------------------------------------------
+
+glTextureParameterfvEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
+  -> m ()
+glTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn417 ptr_glTextureParameterfvEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureParameterfvEXT #-}
+ptr_glTextureParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTextureParameterfvEXT = unsafePerformIO $ getCommand "glTextureParameterfvEXT"
+
+-- glTextureParameteri ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTextureParameteri
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glTextureParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glTextureParameteri v1 v2 v3
+
+{-# NOINLINE ptr_glTextureParameteri #-}
+ptr_glTextureParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glTextureParameteri = unsafePerformIO $ getCommand "glTextureParameteri"
+
+-- glTextureParameteriEXT ------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glTextureParameterivEXT'.
+glTextureParameteriEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> GLint -- ^ @param@ of type @CheckedInt32@.
+  -> m ()
+glTextureParameteriEXT v1 v2 v3 v4 = liftIO $ dyn753 ptr_glTextureParameteriEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureParameteriEXT #-}
+ptr_glTextureParameteriEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
+ptr_glTextureParameteriEXT = unsafePerformIO $ getCommand "glTextureParameteriEXT"
+
+-- glTextureParameteriv --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
+glTextureParameteriv
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @param@.
+  -> m ()
+glTextureParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glTextureParameteriv v1 v2 v3
+
+{-# NOINLINE ptr_glTextureParameteriv #-}
+ptr_glTextureParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glTextureParameteriv = unsafePerformIO $ getCommand "glTextureParameteriv"
+
+-- glTextureParameterivEXT -----------------------------------------------------
+
+glTextureParameterivEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-GL-Groups.html#TextureParameterName).
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
+  -> m ()
+glTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glTextureParameterivEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureParameterivEXT #-}
+ptr_glTextureParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
+ptr_glTextureParameterivEXT = unsafePerformIO $ getCommand "glTextureParameterivEXT"
+
+-- glTextureRangeAPPLE ---------------------------------------------------------
+
+glTextureRangeAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
+  -> m ()
+glTextureRangeAPPLE v1 v2 v3 = liftIO $ dyn46 ptr_glTextureRangeAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glTextureRangeAPPLE #-}
+ptr_glTextureRangeAPPLE :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glTextureRangeAPPLE = unsafePerformIO $ getCommand "glTextureRangeAPPLE"
+
+-- glTextureRenderbufferEXT ----------------------------------------------------
+
+glTextureRenderbufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLuint -- ^ @renderbuffer@.
+  -> m ()
+glTextureRenderbufferEXT v1 v2 v3 = liftIO $ dyn708 ptr_glTextureRenderbufferEXT v1 v2 v3
+
+{-# NOINLINE ptr_glTextureRenderbufferEXT #-}
+ptr_glTextureRenderbufferEXT :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
+ptr_glTextureRenderbufferEXT = unsafePerformIO $ getCommand "glTextureRenderbufferEXT"
+
+-- glTextureStorage1D ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage1D.xhtml OpenGL 4.x>.
+glTextureStorage1D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glTextureStorage1D v1 v2 v3 v4 = liftIO $ dyn754 ptr_glTextureStorage1D v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTextureStorage1D #-}
+ptr_glTextureStorage1D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
+ptr_glTextureStorage1D = unsafePerformIO $ getCommand "glTextureStorage1D"
+
+-- glTextureStorage1DEXT -------------------------------------------------------
+
+glTextureStorage1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> m ()
+glTextureStorage1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn755 ptr_glTextureStorage1DEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTextureStorage1DEXT #-}
+ptr_glTextureStorage1DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
+ptr_glTextureStorage1DEXT = unsafePerformIO $ getCommand "glTextureStorage1DEXT"
+
+-- glTextureStorage2D ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2D.xhtml OpenGL 4.x>.
+glTextureStorage2D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glTextureStorage2D v1 v2 v3 v4 v5 = liftIO $ dyn586 ptr_glTextureStorage2D v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTextureStorage2D #-}
+ptr_glTextureStorage2D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glTextureStorage2D = unsafePerformIO $ getCommand "glTextureStorage2D"
+
+-- glTextureStorage2DEXT -------------------------------------------------------
+
+glTextureStorage2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glTextureStorage2DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn756 ptr_glTextureStorage2DEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTextureStorage2DEXT #-}
+ptr_glTextureStorage2DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
+ptr_glTextureStorage2DEXT = unsafePerformIO $ getCommand "glTextureStorage2DEXT"
+
+-- glTextureStorage2DMultisample -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2DMultisample.xhtml OpenGL 4.x>.
+glTextureStorage2DMultisample
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedsamplelocations@.
+  -> m ()
+glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn757 ptr_glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTextureStorage2DMultisample #-}
+ptr_glTextureStorage2DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureStorage2DMultisample = unsafePerformIO $ getCommand "glTextureStorage2DMultisample"
+
+-- glTextureStorage2DMultisampleEXT --------------------------------------------
+
+glTextureStorage2DMultisampleEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn758 ptr_glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureStorage2DMultisampleEXT #-}
+ptr_glTextureStorage2DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureStorage2DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorage2DMultisampleEXT"
+
+-- glTextureStorage3D ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3D.xhtml OpenGL 4.x>.
+glTextureStorage3D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> m ()
+glTextureStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn759 ptr_glTextureStorage3D v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glTextureStorage3D #-}
+ptr_glTextureStorage3D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glTextureStorage3D = unsafePerformIO $ getCommand "glTextureStorage3D"
+
+-- glTextureStorage3DEXT -------------------------------------------------------
+
+glTextureStorage3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @levels@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> m ()
+glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn760 ptr_glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureStorage3DEXT #-}
+ptr_glTextureStorage3DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
+ptr_glTextureStorage3DEXT = unsafePerformIO $ getCommand "glTextureStorage3DEXT"
+
+-- glTextureStorage3DMultisample -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
+glTextureStorage3DMultisample
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedsamplelocations@.
+  -> m ()
+glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn761 ptr_glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureStorage3DMultisample #-}
+ptr_glTextureStorage3DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureStorage3DMultisample = unsafePerformIO $ getCommand "glTextureStorage3DMultisample"
+
+-- glTextureStorage3DMultisampleEXT --------------------------------------------
+
+glTextureStorage3DMultisampleEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @samples@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> m ()
+glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn762 ptr_glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureStorage3DMultisampleEXT #-}
+ptr_glTextureStorage3DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
+ptr_glTextureStorage3DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorage3DMultisampleEXT"
+
+-- glTextureStorageSparseAMD ---------------------------------------------------
+
+glTextureStorageSparseAMD
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLenum -- ^ @internalFormat@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLsizei -- ^ @layers@.
+  -> GLbitfield -- ^ @flags@.
+  -> m ()
+glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn763 ptr_glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureStorageSparseAMD #-}
+ptr_glTextureStorageSparseAMD :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
+ptr_glTextureStorageSparseAMD = unsafePerformIO $ getCommand "glTextureStorageSparseAMD"
+
+-- glTextureSubImage1D ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml OpenGL 4.x>.
+glTextureSubImage1D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn764 ptr_glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glTextureSubImage1D #-}
+ptr_glTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureSubImage1D = unsafePerformIO $ getCommand "glTextureSubImage1D"
+
+-- glTextureSubImage1DEXT ------------------------------------------------------
+
+glTextureSubImage1DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
+  -> m ()
+glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn765 ptr_glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureSubImage1DEXT #-}
+ptr_glTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureSubImage1DEXT = unsafePerformIO $ getCommand "glTextureSubImage1DEXT"
+
+-- glTextureSubImage2D ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage2D.xhtml OpenGL 4.x>.
+glTextureSubImage2D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn766 ptr_glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
+
+{-# NOINLINE ptr_glTextureSubImage2D #-}
+ptr_glTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureSubImage2D = unsafePerformIO $ getCommand "glTextureSubImage2D"
+
+-- glTextureSubImage2DEXT ------------------------------------------------------
+
+glTextureSubImage2DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
+  -> m ()
+glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn767 ptr_glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
+
+{-# NOINLINE ptr_glTextureSubImage2DEXT #-}
+ptr_glTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureSubImage2DEXT = unsafePerformIO $ getCommand "glTextureSubImage2DEXT"
+
+-- glTextureSubImage3D ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage3D.xhtml OpenGL 4.x>.
+glTextureSubImage3D
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> GLint -- ^ @xoffset@.
+  -> GLint -- ^ @yoffset@.
+  -> GLint -- ^ @zoffset@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@.
+  -> GLenum -- ^ @type@.
+  -> Ptr a -- ^ @pixels@.
+  -> m ()
+glTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn90 ptr_glTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
+
+{-# NOINLINE ptr_glTextureSubImage3D #-}
+ptr_glTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureSubImage3D = unsafePerformIO $ getCommand "glTextureSubImage3D"
+
+-- glTextureSubImage3DEXT ------------------------------------------------------
+
+glTextureSubImage3DEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@ of type @Texture@.
+  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-GL-Groups.html#TextureTarget).
+  -> GLint -- ^ @level@ of type @CheckedInt32@.
+  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
+  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> GLsizei -- ^ @depth@.
+  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-GL-Groups.html#PixelFormat).
+  -> GLenum -- ^ @type@ of type [PixelType](Graphics-GL-Groups.html#PixelType).
+  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
+  -> m ()
+glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn768 ptr_glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
+
+{-# NOINLINE ptr_glTextureSubImage3DEXT #-}
+ptr_glTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
+ptr_glTextureSubImage3DEXT = unsafePerformIO $ getCommand "glTextureSubImage3DEXT"
+
+-- glTextureView ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTextureView.xhtml OpenGL 4.x>.
+glTextureView
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLuint -- ^ @origtexture@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @minlevel@.
+  -> GLuint -- ^ @numlevels@.
+  -> GLuint -- ^ @minlayer@.
+  -> GLuint -- ^ @numlayers@.
+  -> m ()
+glTextureView v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn769 ptr_glTextureView v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureView #-}
+ptr_glTextureView :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glTextureView = unsafePerformIO $ getCommand "glTextureView"
+
+-- glTextureViewEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glTextureView'.
+glTextureViewEXT
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLuint -- ^ @origtexture@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @minlevel@.
+  -> GLuint -- ^ @numlevels@.
+  -> GLuint -- ^ @minlayer@.
+  -> GLuint -- ^ @numlayers@.
+  -> m ()
+glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn769 ptr_glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureViewEXT #-}
+ptr_glTextureViewEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glTextureViewEXT = unsafePerformIO $ getCommand "glTextureViewEXT"
+
+-- glTextureViewOES ------------------------------------------------------------
+
+-- | This command is an alias for 'glTextureView'.
+glTextureViewOES
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLenum -- ^ @target@.
+  -> GLuint -- ^ @origtexture@.
+  -> GLenum -- ^ @internalformat@.
+  -> GLuint -- ^ @minlevel@.
+  -> GLuint -- ^ @numlevels@.
+  -> GLuint -- ^ @minlayer@.
+  -> GLuint -- ^ @numlayers@.
+  -> m ()
+glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn769 ptr_glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glTextureViewOES #-}
+ptr_glTextureViewOES :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glTextureViewOES = unsafePerformIO $ getCommand "glTextureViewOES"
+
+-- glTrackMatrixNV -------------------------------------------------------------
+
+glTrackMatrixNV
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
+  -> GLuint -- ^ @address@.
+  -> GLenum -- ^ @matrix@ of type @VertexAttribEnumNV@.
+  -> GLenum -- ^ @transform@ of type @VertexAttribEnumNV@.
+  -> m ()
+glTrackMatrixNV v1 v2 v3 v4 = liftIO $ dyn770 ptr_glTrackMatrixNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTrackMatrixNV #-}
+ptr_glTrackMatrixNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
+ptr_glTrackMatrixNV = unsafePerformIO $ getCommand "glTrackMatrixNV"
+
+-- glTransformFeedbackAttribsNV ------------------------------------------------
+
+glTransformFeedbackAttribsNV
+  :: MonadIO m
+  => GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @attribs@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
+  -> GLenum -- ^ @bufferMode@.
+  -> m ()
+glTransformFeedbackAttribsNV v1 v2 v3 = liftIO $ dyn771 ptr_glTransformFeedbackAttribsNV v1 v2 v3
+
+{-# NOINLINE ptr_glTransformFeedbackAttribsNV #-}
+ptr_glTransformFeedbackAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
+ptr_glTransformFeedbackAttribsNV = unsafePerformIO $ getCommand "glTransformFeedbackAttribsNV"
+
+-- glTransformFeedbackBufferBase -----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackBufferBase.xhtml OpenGL 4.x>.
+glTransformFeedbackBufferBase
+  :: MonadIO m
+  => GLuint -- ^ @xfb@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glTransformFeedbackBufferBase v1 v2 v3 = liftIO $ dyn101 ptr_glTransformFeedbackBufferBase v1 v2 v3
+
+{-# NOINLINE ptr_glTransformFeedbackBufferBase #-}
+ptr_glTransformFeedbackBufferBase :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glTransformFeedbackBufferBase = unsafePerformIO $ getCommand "glTransformFeedbackBufferBase"
+
+-- glTransformFeedbackBufferRange ----------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackBufferRange.xhtml OpenGL 4.x>.
+glTransformFeedbackBufferRange
+  :: MonadIO m
+  => GLuint -- ^ @xfb@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
+  -> m ()
+glTransformFeedbackBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn772 ptr_glTransformFeedbackBufferRange v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTransformFeedbackBufferRange #-}
+ptr_glTransformFeedbackBufferRange :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
+ptr_glTransformFeedbackBufferRange = unsafePerformIO $ getCommand "glTransformFeedbackBufferRange"
+
+-- glTransformFeedbackStreamAttribsNV ------------------------------------------
+
+glTransformFeedbackStreamAttribsNV
+  :: MonadIO m
+  => GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @attribs@ pointing to @count@ elements of type @GLint@.
+  -> GLsizei -- ^ @nbuffers@.
+  -> Ptr GLint -- ^ @bufstreams@ pointing to @nbuffers@ elements of type @GLint@.
+  -> GLenum -- ^ @bufferMode@.
+  -> m ()
+glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5 = liftIO $ dyn773 ptr_glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glTransformFeedbackStreamAttribsNV #-}
+ptr_glTransformFeedbackStreamAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
+ptr_glTransformFeedbackStreamAttribsNV = unsafePerformIO $ getCommand "glTransformFeedbackStreamAttribsNV"
+
+-- glTransformFeedbackVaryings -------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTransformFeedbackVaryings.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackVaryings.xhtml OpenGL 4.x>.
+glTransformFeedbackVaryings
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
+  -> GLenum -- ^ @bufferMode@.
+  -> m ()
+glTransformFeedbackVaryings v1 v2 v3 v4 = liftIO $ dyn774 ptr_glTransformFeedbackVaryings v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTransformFeedbackVaryings #-}
+ptr_glTransformFeedbackVaryings :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
+ptr_glTransformFeedbackVaryings = unsafePerformIO $ getCommand "glTransformFeedbackVaryings"
+
+-- glTransformFeedbackVaryingsEXT ----------------------------------------------
+
+-- | This command is an alias for 'glTransformFeedbackVaryings'.
+glTransformFeedbackVaryingsEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
+  -> GLenum -- ^ @bufferMode@.
+  -> m ()
+glTransformFeedbackVaryingsEXT v1 v2 v3 v4 = liftIO $ dyn774 ptr_glTransformFeedbackVaryingsEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTransformFeedbackVaryingsEXT #-}
+ptr_glTransformFeedbackVaryingsEXT :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
+ptr_glTransformFeedbackVaryingsEXT = unsafePerformIO $ getCommand "glTransformFeedbackVaryingsEXT"
+
+-- glTransformFeedbackVaryingsNV -----------------------------------------------
+
+glTransformFeedbackVaryingsNV
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @locations@ pointing to @count@ elements of type @GLint@.
+  -> GLenum -- ^ @bufferMode@.
+  -> m ()
+glTransformFeedbackVaryingsNV v1 v2 v3 v4 = liftIO $ dyn775 ptr_glTransformFeedbackVaryingsNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTransformFeedbackVaryingsNV #-}
+ptr_glTransformFeedbackVaryingsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
+ptr_glTransformFeedbackVaryingsNV = unsafePerformIO $ getCommand "glTransformFeedbackVaryingsNV"
+
+-- glTransformPathNV -----------------------------------------------------------
+
+glTransformPathNV
+  :: MonadIO m
+  => GLuint -- ^ @resultPath@ of type @Path@.
+  -> GLuint -- ^ @srcPath@ of type @Path@.
+  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
+  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(transformType)@ elements of type @GLfloat@.
+  -> m ()
+glTransformPathNV v1 v2 v3 v4 = liftIO $ dyn441 ptr_glTransformPathNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glTransformPathNV #-}
+ptr_glTransformPathNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glTransformPathNV = unsafePerformIO $ getCommand "glTransformPathNV"
+
+-- glTranslated ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTranslate.xml OpenGL 2.x>.
+glTranslated
+  :: MonadIO m
+  => GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glTranslated v1 v2 v3 = liftIO $ dyn38 ptr_glTranslated v1 v2 v3
+
+{-# NOINLINE ptr_glTranslated #-}
+ptr_glTranslated :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glTranslated = unsafePerformIO $ getCommand "glTranslated"
+
+-- glTranslatef ----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTranslate.xml OpenGL 2.x>.
+glTranslatef
+  :: MonadIO m
+  => GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glTranslatef v1 v2 v3 = liftIO $ dyn40 ptr_glTranslatef v1 v2 v3
+
+{-# NOINLINE ptr_glTranslatef #-}
+ptr_glTranslatef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glTranslatef = unsafePerformIO $ getCommand "glTranslatef"
+
+-- glTranslatex ----------------------------------------------------------------
+
+glTranslatex
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glTranslatex v1 v2 v3 = liftIO $ dyn105 ptr_glTranslatex v1 v2 v3
+
+{-# NOINLINE ptr_glTranslatex #-}
+ptr_glTranslatex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glTranslatex = unsafePerformIO $ getCommand "glTranslatex"
+
+-- glTranslatexOES -------------------------------------------------------------
+
+glTranslatexOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glTranslatexOES v1 v2 v3 = liftIO $ dyn105 ptr_glTranslatexOES v1 v2 v3
+
+{-# NOINLINE ptr_glTranslatexOES #-}
+ptr_glTranslatexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glTranslatexOES = unsafePerformIO $ getCommand "glTranslatexOES"
+
+-- glUniform1d -----------------------------------------------------------------
+
+glUniform1d
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glUniform1d v1 v2 = liftIO $ dyn776 ptr_glUniform1d v1 v2
+
+{-# NOINLINE ptr_glUniform1d #-}
+ptr_glUniform1d :: FunPtr (GLint -> GLdouble -> IO ())
+ptr_glUniform1d = unsafePerformIO $ getCommand "glUniform1d"
+
+-- glUniform1dv ----------------------------------------------------------------
+
+glUniform1dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*1@ elements of type @GLdouble@.
+  -> m ()
+glUniform1dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform1dv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1dv #-}
+ptr_glUniform1dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glUniform1dv = unsafePerformIO $ getCommand "glUniform1dv"
+
+-- glUniform1f -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform1f
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> m ()
+glUniform1f v1 v2 = liftIO $ dyn778 ptr_glUniform1f v1 v2
+
+{-# NOINLINE ptr_glUniform1f #-}
+ptr_glUniform1f :: FunPtr (GLint -> GLfloat -> IO ())
+ptr_glUniform1f = unsafePerformIO $ getCommand "glUniform1f"
+
+-- glUniform1fARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform1f'.
+glUniform1fARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> m ()
+glUniform1fARB v1 v2 = liftIO $ dyn778 ptr_glUniform1fARB v1 v2
+
+{-# NOINLINE ptr_glUniform1fARB #-}
+ptr_glUniform1fARB :: FunPtr (GLint -> GLfloat -> IO ())
+ptr_glUniform1fARB = unsafePerformIO $ getCommand "glUniform1fARB"
+
+-- glUniform1fv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform1fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
+  -> m ()
+glUniform1fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform1fv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1fv #-}
+ptr_glUniform1fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform1fv = unsafePerformIO $ getCommand "glUniform1fv"
+
+-- glUniform1fvARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform1fv'.
+glUniform1fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
+  -> m ()
+glUniform1fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform1fvARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1fvARB #-}
+ptr_glUniform1fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform1fvARB = unsafePerformIO $ getCommand "glUniform1fvARB"
+
+-- glUniform1i -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform1i
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> m ()
+glUniform1i v1 v2 = liftIO $ dyn265 ptr_glUniform1i v1 v2
+
+{-# NOINLINE ptr_glUniform1i #-}
+ptr_glUniform1i :: FunPtr (GLint -> GLint -> IO ())
+ptr_glUniform1i = unsafePerformIO $ getCommand "glUniform1i"
+
+-- glUniform1i64ARB ------------------------------------------------------------
+
+glUniform1i64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> m ()
+glUniform1i64ARB v1 v2 = liftIO $ dyn780 ptr_glUniform1i64ARB v1 v2
+
+{-# NOINLINE ptr_glUniform1i64ARB #-}
+ptr_glUniform1i64ARB :: FunPtr (GLint -> GLint64 -> IO ())
+ptr_glUniform1i64ARB = unsafePerformIO $ getCommand "glUniform1i64ARB"
+
+-- glUniform1i64NV -------------------------------------------------------------
+
+glUniform1i64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> m ()
+glUniform1i64NV v1 v2 = liftIO $ dyn781 ptr_glUniform1i64NV v1 v2
+
+{-# NOINLINE ptr_glUniform1i64NV #-}
+ptr_glUniform1i64NV :: FunPtr (GLint -> GLint64EXT -> IO ())
+ptr_glUniform1i64NV = unsafePerformIO $ getCommand "glUniform1i64NV"
+
+-- glUniform1i64vARB -----------------------------------------------------------
+
+glUniform1i64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*1@ elements of type @GLint64@.
+  -> m ()
+glUniform1i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform1i64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1i64vARB #-}
+ptr_glUniform1i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glUniform1i64vARB = unsafePerformIO $ getCommand "glUniform1i64vARB"
+
+-- glUniform1i64vNV ------------------------------------------------------------
+
+glUniform1i64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLint64EXT@.
+  -> m ()
+glUniform1i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform1i64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1i64vNV #-}
+ptr_glUniform1i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glUniform1i64vNV = unsafePerformIO $ getCommand "glUniform1i64vNV"
+
+-- glUniform1iARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform1i'.
+glUniform1iARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> m ()
+glUniform1iARB v1 v2 = liftIO $ dyn265 ptr_glUniform1iARB v1 v2
+
+{-# NOINLINE ptr_glUniform1iARB #-}
+ptr_glUniform1iARB :: FunPtr (GLint -> GLint -> IO ())
+ptr_glUniform1iARB = unsafePerformIO $ getCommand "glUniform1iARB"
+
+-- glUniform1iv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform1iv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
+  -> m ()
+glUniform1iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform1iv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1iv #-}
+ptr_glUniform1iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform1iv = unsafePerformIO $ getCommand "glUniform1iv"
+
+-- glUniform1ivARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform1iv'.
+glUniform1ivARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
+  -> m ()
+glUniform1ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform1ivARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1ivARB #-}
+ptr_glUniform1ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform1ivARB = unsafePerformIO $ getCommand "glUniform1ivARB"
+
+-- glUniform1ui ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform1ui
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> m ()
+glUniform1ui v1 v2 = liftIO $ dyn785 ptr_glUniform1ui v1 v2
+
+{-# NOINLINE ptr_glUniform1ui #-}
+ptr_glUniform1ui :: FunPtr (GLint -> GLuint -> IO ())
+ptr_glUniform1ui = unsafePerformIO $ getCommand "glUniform1ui"
+
+-- glUniform1ui64ARB -----------------------------------------------------------
+
+glUniform1ui64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> m ()
+glUniform1ui64ARB v1 v2 = liftIO $ dyn786 ptr_glUniform1ui64ARB v1 v2
+
+{-# NOINLINE ptr_glUniform1ui64ARB #-}
+ptr_glUniform1ui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
+ptr_glUniform1ui64ARB = unsafePerformIO $ getCommand "glUniform1ui64ARB"
+
+-- glUniform1ui64NV ------------------------------------------------------------
+
+glUniform1ui64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> m ()
+glUniform1ui64NV v1 v2 = liftIO $ dyn787 ptr_glUniform1ui64NV v1 v2
+
+{-# NOINLINE ptr_glUniform1ui64NV #-}
+ptr_glUniform1ui64NV :: FunPtr (GLint -> GLuint64EXT -> IO ())
+ptr_glUniform1ui64NV = unsafePerformIO $ getCommand "glUniform1ui64NV"
+
+-- glUniform1ui64vARB ----------------------------------------------------------
+
+glUniform1ui64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count*1@ elements of type @GLuint64@.
+  -> m ()
+glUniform1ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform1ui64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1ui64vARB #-}
+ptr_glUniform1ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glUniform1ui64vARB = unsafePerformIO $ getCommand "glUniform1ui64vARB"
+
+-- glUniform1ui64vNV -----------------------------------------------------------
+
+glUniform1ui64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLuint64EXT@.
+  -> m ()
+glUniform1ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform1ui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1ui64vNV #-}
+ptr_glUniform1ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glUniform1ui64vNV = unsafePerformIO $ getCommand "glUniform1ui64vNV"
+
+-- glUniform1uiEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform1ui'.
+glUniform1uiEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> m ()
+glUniform1uiEXT v1 v2 = liftIO $ dyn785 ptr_glUniform1uiEXT v1 v2
+
+{-# NOINLINE ptr_glUniform1uiEXT #-}
+ptr_glUniform1uiEXT :: FunPtr (GLint -> GLuint -> IO ())
+ptr_glUniform1uiEXT = unsafePerformIO $ getCommand "glUniform1uiEXT"
+
+-- glUniform1uiv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform1uiv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
+  -> m ()
+glUniform1uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform1uiv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1uiv #-}
+ptr_glUniform1uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform1uiv = unsafePerformIO $ getCommand "glUniform1uiv"
+
+-- glUniform1uivEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform1uiv'.
+glUniform1uivEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
+  -> m ()
+glUniform1uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform1uivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glUniform1uivEXT #-}
+ptr_glUniform1uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform1uivEXT = unsafePerformIO $ getCommand "glUniform1uivEXT"
+
+-- glUniform2d -----------------------------------------------------------------
+
+glUniform2d
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glUniform2d v1 v2 v3 = liftIO $ dyn498 ptr_glUniform2d v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2d #-}
+ptr_glUniform2d :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
+ptr_glUniform2d = unsafePerformIO $ getCommand "glUniform2d"
+
+-- glUniform2dv ----------------------------------------------------------------
+
+glUniform2dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*2@ elements of type @GLdouble@.
+  -> m ()
+glUniform2dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform2dv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2dv #-}
+ptr_glUniform2dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glUniform2dv = unsafePerformIO $ getCommand "glUniform2dv"
+
+-- glUniform2f -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform2f
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> m ()
+glUniform2f v1 v2 v3 = liftIO $ dyn499 ptr_glUniform2f v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2f #-}
+ptr_glUniform2f :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
+ptr_glUniform2f = unsafePerformIO $ getCommand "glUniform2f"
+
+-- glUniform2fARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform2f'.
+glUniform2fARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> m ()
+glUniform2fARB v1 v2 v3 = liftIO $ dyn499 ptr_glUniform2fARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2fARB #-}
+ptr_glUniform2fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
+ptr_glUniform2fARB = unsafePerformIO $ getCommand "glUniform2fARB"
+
+-- glUniform2fv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform2fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
+  -> m ()
+glUniform2fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform2fv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2fv #-}
+ptr_glUniform2fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform2fv = unsafePerformIO $ getCommand "glUniform2fv"
+
+-- glUniform2fvARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform2fv'.
+glUniform2fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
+  -> m ()
+glUniform2fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform2fvARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2fvARB #-}
+ptr_glUniform2fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform2fvARB = unsafePerformIO $ getCommand "glUniform2fvARB"
+
+-- glUniform2i -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform2i
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> m ()
+glUniform2i v1 v2 v3 = liftIO $ dyn42 ptr_glUniform2i v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2i #-}
+ptr_glUniform2i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glUniform2i = unsafePerformIO $ getCommand "glUniform2i"
+
+-- glUniform2i64ARB ------------------------------------------------------------
+
+glUniform2i64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> GLint64 -- ^ @y@.
+  -> m ()
+glUniform2i64ARB v1 v2 v3 = liftIO $ dyn791 ptr_glUniform2i64ARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2i64ARB #-}
+ptr_glUniform2i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
+ptr_glUniform2i64ARB = unsafePerformIO $ getCommand "glUniform2i64ARB"
+
+-- glUniform2i64NV -------------------------------------------------------------
+
+glUniform2i64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> m ()
+glUniform2i64NV v1 v2 v3 = liftIO $ dyn792 ptr_glUniform2i64NV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2i64NV #-}
+ptr_glUniform2i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glUniform2i64NV = unsafePerformIO $ getCommand "glUniform2i64NV"
+
+-- glUniform2i64vARB -----------------------------------------------------------
+
+glUniform2i64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*2@ elements of type @GLint64@.
+  -> m ()
+glUniform2i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform2i64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2i64vARB #-}
+ptr_glUniform2i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glUniform2i64vARB = unsafePerformIO $ getCommand "glUniform2i64vARB"
+
+-- glUniform2i64vNV ------------------------------------------------------------
+
+glUniform2i64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLint64EXT@.
+  -> m ()
+glUniform2i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform2i64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2i64vNV #-}
+ptr_glUniform2i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glUniform2i64vNV = unsafePerformIO $ getCommand "glUniform2i64vNV"
+
+-- glUniform2iARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform2i'.
+glUniform2iARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> m ()
+glUniform2iARB v1 v2 v3 = liftIO $ dyn42 ptr_glUniform2iARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2iARB #-}
+ptr_glUniform2iARB :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glUniform2iARB = unsafePerformIO $ getCommand "glUniform2iARB"
+
+-- glUniform2iv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform2iv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
+  -> m ()
+glUniform2iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform2iv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2iv #-}
+ptr_glUniform2iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform2iv = unsafePerformIO $ getCommand "glUniform2iv"
+
+-- glUniform2ivARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform2iv'.
+glUniform2ivARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
+  -> m ()
+glUniform2ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform2ivARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2ivARB #-}
+ptr_glUniform2ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform2ivARB = unsafePerformIO $ getCommand "glUniform2ivARB"
+
+-- glUniform2ui ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform2ui
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> m ()
+glUniform2ui v1 v2 v3 = liftIO $ dyn793 ptr_glUniform2ui v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2ui #-}
+ptr_glUniform2ui :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
+ptr_glUniform2ui = unsafePerformIO $ getCommand "glUniform2ui"
+
+-- glUniform2ui64ARB -----------------------------------------------------------
+
+glUniform2ui64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> GLuint64 -- ^ @y@.
+  -> m ()
+glUniform2ui64ARB v1 v2 v3 = liftIO $ dyn794 ptr_glUniform2ui64ARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2ui64ARB #-}
+ptr_glUniform2ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> IO ())
+ptr_glUniform2ui64ARB = unsafePerformIO $ getCommand "glUniform2ui64ARB"
+
+-- glUniform2ui64NV ------------------------------------------------------------
+
+glUniform2ui64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> m ()
+glUniform2ui64NV v1 v2 v3 = liftIO $ dyn795 ptr_glUniform2ui64NV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2ui64NV #-}
+ptr_glUniform2ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glUniform2ui64NV = unsafePerformIO $ getCommand "glUniform2ui64NV"
+
+-- glUniform2ui64vARB ----------------------------------------------------------
+
+glUniform2ui64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count*2@ elements of type @GLuint64@.
+  -> m ()
+glUniform2ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform2ui64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2ui64vARB #-}
+ptr_glUniform2ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glUniform2ui64vARB = unsafePerformIO $ getCommand "glUniform2ui64vARB"
+
+-- glUniform2ui64vNV -----------------------------------------------------------
+
+glUniform2ui64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLuint64EXT@.
+  -> m ()
+glUniform2ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform2ui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2ui64vNV #-}
+ptr_glUniform2ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glUniform2ui64vNV = unsafePerformIO $ getCommand "glUniform2ui64vNV"
+
+-- glUniform2uiEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform2ui'.
+glUniform2uiEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> m ()
+glUniform2uiEXT v1 v2 v3 = liftIO $ dyn793 ptr_glUniform2uiEXT v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2uiEXT #-}
+ptr_glUniform2uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
+ptr_glUniform2uiEXT = unsafePerformIO $ getCommand "glUniform2uiEXT"
+
+-- glUniform2uiv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform2uiv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
+  -> m ()
+glUniform2uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform2uiv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2uiv #-}
+ptr_glUniform2uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform2uiv = unsafePerformIO $ getCommand "glUniform2uiv"
+
+-- glUniform2uivEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform2uiv'.
+glUniform2uivEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
+  -> m ()
+glUniform2uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform2uivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glUniform2uivEXT #-}
+ptr_glUniform2uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform2uivEXT = unsafePerformIO $ getCommand "glUniform2uivEXT"
+
+-- glUniform3d -----------------------------------------------------------------
+
+glUniform3d
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glUniform3d v1 v2 v3 v4 = liftIO $ dyn796 ptr_glUniform3d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3d #-}
+ptr_glUniform3d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glUniform3d = unsafePerformIO $ getCommand "glUniform3d"
+
+-- glUniform3dv ----------------------------------------------------------------
+
+glUniform3dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*3@ elements of type @GLdouble@.
+  -> m ()
+glUniform3dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform3dv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3dv #-}
+ptr_glUniform3dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glUniform3dv = unsafePerformIO $ getCommand "glUniform3dv"
+
+-- glUniform3f -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform3f
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> m ()
+glUniform3f v1 v2 v3 v4 = liftIO $ dyn797 ptr_glUniform3f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3f #-}
+ptr_glUniform3f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glUniform3f = unsafePerformIO $ getCommand "glUniform3f"
+
+-- glUniform3fARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform3f'.
+glUniform3fARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> m ()
+glUniform3fARB v1 v2 v3 v4 = liftIO $ dyn797 ptr_glUniform3fARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3fARB #-}
+ptr_glUniform3fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glUniform3fARB = unsafePerformIO $ getCommand "glUniform3fARB"
+
+-- glUniform3fv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform3fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
+  -> m ()
+glUniform3fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform3fv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3fv #-}
+ptr_glUniform3fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform3fv = unsafePerformIO $ getCommand "glUniform3fv"
+
+-- glUniform3fvARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform3fv'.
+glUniform3fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
+  -> m ()
+glUniform3fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform3fvARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3fvARB #-}
+ptr_glUniform3fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform3fvARB = unsafePerformIO $ getCommand "glUniform3fvARB"
+
+-- glUniform3i -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform3i
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> m ()
+glUniform3i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glUniform3i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3i #-}
+ptr_glUniform3i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glUniform3i = unsafePerformIO $ getCommand "glUniform3i"
+
+-- glUniform3i64ARB ------------------------------------------------------------
+
+glUniform3i64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> GLint64 -- ^ @y@.
+  -> GLint64 -- ^ @z@.
+  -> m ()
+glUniform3i64ARB v1 v2 v3 v4 = liftIO $ dyn798 ptr_glUniform3i64ARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3i64ARB #-}
+ptr_glUniform3i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
+ptr_glUniform3i64ARB = unsafePerformIO $ getCommand "glUniform3i64ARB"
+
+-- glUniform3i64NV -------------------------------------------------------------
+
+glUniform3i64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> GLint64EXT -- ^ @z@.
+  -> m ()
+glUniform3i64NV v1 v2 v3 v4 = liftIO $ dyn799 ptr_glUniform3i64NV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3i64NV #-}
+ptr_glUniform3i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glUniform3i64NV = unsafePerformIO $ getCommand "glUniform3i64NV"
+
+-- glUniform3i64vARB -----------------------------------------------------------
+
+glUniform3i64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*3@ elements of type @GLint64@.
+  -> m ()
+glUniform3i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform3i64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3i64vARB #-}
+ptr_glUniform3i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glUniform3i64vARB = unsafePerformIO $ getCommand "glUniform3i64vARB"
+
+-- glUniform3i64vNV ------------------------------------------------------------
+
+glUniform3i64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLint64EXT@.
+  -> m ()
+glUniform3i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform3i64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3i64vNV #-}
+ptr_glUniform3i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glUniform3i64vNV = unsafePerformIO $ getCommand "glUniform3i64vNV"
+
+-- glUniform3iARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform3i'.
+glUniform3iARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> m ()
+glUniform3iARB v1 v2 v3 v4 = liftIO $ dyn76 ptr_glUniform3iARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3iARB #-}
+ptr_glUniform3iARB :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glUniform3iARB = unsafePerformIO $ getCommand "glUniform3iARB"
+
+-- glUniform3iv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform3iv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
+  -> m ()
+glUniform3iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform3iv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3iv #-}
+ptr_glUniform3iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform3iv = unsafePerformIO $ getCommand "glUniform3iv"
+
+-- glUniform3ivARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform3iv'.
+glUniform3ivARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
+  -> m ()
+glUniform3ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform3ivARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3ivARB #-}
+ptr_glUniform3ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform3ivARB = unsafePerformIO $ getCommand "glUniform3ivARB"
+
+-- glUniform3ui ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform3ui
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> m ()
+glUniform3ui v1 v2 v3 v4 = liftIO $ dyn800 ptr_glUniform3ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3ui #-}
+ptr_glUniform3ui :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glUniform3ui = unsafePerformIO $ getCommand "glUniform3ui"
+
+-- glUniform3ui64ARB -----------------------------------------------------------
+
+glUniform3ui64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> GLuint64 -- ^ @y@.
+  -> GLuint64 -- ^ @z@.
+  -> m ()
+glUniform3ui64ARB v1 v2 v3 v4 = liftIO $ dyn801 ptr_glUniform3ui64ARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3ui64ARB #-}
+ptr_glUniform3ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+ptr_glUniform3ui64ARB = unsafePerformIO $ getCommand "glUniform3ui64ARB"
+
+-- glUniform3ui64NV ------------------------------------------------------------
+
+glUniform3ui64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> GLuint64EXT -- ^ @z@.
+  -> m ()
+glUniform3ui64NV v1 v2 v3 v4 = liftIO $ dyn802 ptr_glUniform3ui64NV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3ui64NV #-}
+ptr_glUniform3ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glUniform3ui64NV = unsafePerformIO $ getCommand "glUniform3ui64NV"
+
+-- glUniform3ui64vARB ----------------------------------------------------------
+
+glUniform3ui64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count*3@ elements of type @GLuint64@.
+  -> m ()
+glUniform3ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform3ui64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3ui64vARB #-}
+ptr_glUniform3ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glUniform3ui64vARB = unsafePerformIO $ getCommand "glUniform3ui64vARB"
+
+-- glUniform3ui64vNV -----------------------------------------------------------
+
+glUniform3ui64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLuint64EXT@.
+  -> m ()
+glUniform3ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform3ui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3ui64vNV #-}
+ptr_glUniform3ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glUniform3ui64vNV = unsafePerformIO $ getCommand "glUniform3ui64vNV"
+
+-- glUniform3uiEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform3ui'.
+glUniform3uiEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> m ()
+glUniform3uiEXT v1 v2 v3 v4 = liftIO $ dyn800 ptr_glUniform3uiEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniform3uiEXT #-}
+ptr_glUniform3uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glUniform3uiEXT = unsafePerformIO $ getCommand "glUniform3uiEXT"
+
+-- glUniform3uiv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform3uiv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
+  -> m ()
+glUniform3uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform3uiv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3uiv #-}
+ptr_glUniform3uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform3uiv = unsafePerformIO $ getCommand "glUniform3uiv"
+
+-- glUniform3uivEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform3uiv'.
+glUniform3uivEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
+  -> m ()
+glUniform3uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform3uivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glUniform3uivEXT #-}
+ptr_glUniform3uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform3uivEXT = unsafePerformIO $ getCommand "glUniform3uivEXT"
+
+-- glUniform4d -----------------------------------------------------------------
+
+glUniform4d
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glUniform4d v1 v2 v3 v4 v5 = liftIO $ dyn803 ptr_glUniform4d v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4d #-}
+ptr_glUniform4d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glUniform4d = unsafePerformIO $ getCommand "glUniform4d"
+
+-- glUniform4dv ----------------------------------------------------------------
+
+glUniform4dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
+  -> m ()
+glUniform4dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform4dv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4dv #-}
+ptr_glUniform4dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glUniform4dv = unsafePerformIO $ getCommand "glUniform4dv"
+
+-- glUniform4f -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4f
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> GLfloat -- ^ @v3@.
+  -> m ()
+glUniform4f v1 v2 v3 v4 v5 = liftIO $ dyn804 ptr_glUniform4f v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4f #-}
+ptr_glUniform4f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glUniform4f = unsafePerformIO $ getCommand "glUniform4f"
+
+-- glUniform4fARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4f'.
+glUniform4fARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLfloat -- ^ @v0@.
+  -> GLfloat -- ^ @v1@.
+  -> GLfloat -- ^ @v2@.
+  -> GLfloat -- ^ @v3@.
+  -> m ()
+glUniform4fARB v1 v2 v3 v4 v5 = liftIO $ dyn804 ptr_glUniform4fARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4fARB #-}
+ptr_glUniform4fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glUniform4fARB = unsafePerformIO $ getCommand "glUniform4fARB"
+
+-- glUniform4fv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glUniform4fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform4fv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4fv #-}
+ptr_glUniform4fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform4fv = unsafePerformIO $ getCommand "glUniform4fv"
+
+-- glUniform4fvARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4fv'.
+glUniform4fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glUniform4fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform4fvARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4fvARB #-}
+ptr_glUniform4fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glUniform4fvARB = unsafePerformIO $ getCommand "glUniform4fvARB"
+
+-- glUniform4i -----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4i
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> GLint -- ^ @v3@.
+  -> m ()
+glUniform4i v1 v2 v3 v4 v5 = liftIO $ dyn252 ptr_glUniform4i v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4i #-}
+ptr_glUniform4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glUniform4i = unsafePerformIO $ getCommand "glUniform4i"
+
+-- glUniform4i64ARB ------------------------------------------------------------
+
+glUniform4i64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64 -- ^ @x@.
+  -> GLint64 -- ^ @y@.
+  -> GLint64 -- ^ @z@.
+  -> GLint64 -- ^ @w@.
+  -> m ()
+glUniform4i64ARB v1 v2 v3 v4 v5 = liftIO $ dyn805 ptr_glUniform4i64ARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4i64ARB #-}
+ptr_glUniform4i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
+ptr_glUniform4i64ARB = unsafePerformIO $ getCommand "glUniform4i64ARB"
+
+-- glUniform4i64NV -------------------------------------------------------------
+
+glUniform4i64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> GLint64EXT -- ^ @z@.
+  -> GLint64EXT -- ^ @w@.
+  -> m ()
+glUniform4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn806 ptr_glUniform4i64NV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4i64NV #-}
+ptr_glUniform4i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glUniform4i64NV = unsafePerformIO $ getCommand "glUniform4i64NV"
+
+-- glUniform4i64vARB -----------------------------------------------------------
+
+glUniform4i64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64 -- ^ @value@ pointing to @count*4@ elements of type @GLint64@.
+  -> m ()
+glUniform4i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform4i64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4i64vARB #-}
+ptr_glUniform4i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
+ptr_glUniform4i64vARB = unsafePerformIO $ getCommand "glUniform4i64vARB"
+
+-- glUniform4i64vNV ------------------------------------------------------------
+
+glUniform4i64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLint64EXT@.
+  -> m ()
+glUniform4i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform4i64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4i64vNV #-}
+ptr_glUniform4i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
+ptr_glUniform4i64vNV = unsafePerformIO $ getCommand "glUniform4i64vNV"
+
+-- glUniform4iARB --------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4i'.
+glUniform4iARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLint -- ^ @v0@.
+  -> GLint -- ^ @v1@.
+  -> GLint -- ^ @v2@.
+  -> GLint -- ^ @v3@.
+  -> m ()
+glUniform4iARB v1 v2 v3 v4 v5 = liftIO $ dyn252 ptr_glUniform4iARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4iARB #-}
+ptr_glUniform4iARB :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glUniform4iARB = unsafePerformIO $ getCommand "glUniform4iARB"
+
+-- glUniform4iv ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4iv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
+  -> m ()
+glUniform4iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform4iv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4iv #-}
+ptr_glUniform4iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform4iv = unsafePerformIO $ getCommand "glUniform4iv"
+
+-- glUniform4ivARB -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4iv'.
+glUniform4ivARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
+  -> m ()
+glUniform4ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform4ivARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4ivARB #-}
+ptr_glUniform4ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
+ptr_glUniform4ivARB = unsafePerformIO $ getCommand "glUniform4ivARB"
+
+-- glUniform4ui ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4ui
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> GLuint -- ^ @v3@.
+  -> m ()
+glUniform4ui v1 v2 v3 v4 v5 = liftIO $ dyn807 ptr_glUniform4ui v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4ui #-}
+ptr_glUniform4ui :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glUniform4ui = unsafePerformIO $ getCommand "glUniform4ui"
+
+-- glUniform4ui64ARB -----------------------------------------------------------
+
+glUniform4ui64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64 -- ^ @x@.
+  -> GLuint64 -- ^ @y@.
+  -> GLuint64 -- ^ @z@.
+  -> GLuint64 -- ^ @w@.
+  -> m ()
+glUniform4ui64ARB v1 v2 v3 v4 v5 = liftIO $ dyn808 ptr_glUniform4ui64ARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4ui64ARB #-}
+ptr_glUniform4ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
+ptr_glUniform4ui64ARB = unsafePerformIO $ getCommand "glUniform4ui64ARB"
+
+-- glUniform4ui64NV ------------------------------------------------------------
+
+glUniform4ui64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> GLuint64EXT -- ^ @z@.
+  -> GLuint64EXT -- ^ @w@.
+  -> m ()
+glUniform4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn809 ptr_glUniform4ui64NV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4ui64NV #-}
+ptr_glUniform4ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glUniform4ui64NV = unsafePerformIO $ getCommand "glUniform4ui64NV"
+
+-- glUniform4ui64vARB ----------------------------------------------------------
+
+glUniform4ui64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count*4@ elements of type @GLuint64@.
+  -> m ()
+glUniform4ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform4ui64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4ui64vARB #-}
+ptr_glUniform4ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glUniform4ui64vARB = unsafePerformIO $ getCommand "glUniform4ui64vARB"
+
+-- glUniform4ui64vNV -----------------------------------------------------------
+
+glUniform4ui64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLuint64EXT@.
+  -> m ()
+glUniform4ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform4ui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4ui64vNV #-}
+ptr_glUniform4ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glUniform4ui64vNV = unsafePerformIO $ getCommand "glUniform4ui64vNV"
+
+-- glUniform4uiEXT -------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4ui'.
+glUniform4uiEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint -- ^ @v0@.
+  -> GLuint -- ^ @v1@.
+  -> GLuint -- ^ @v2@.
+  -> GLuint -- ^ @v3@.
+  -> m ()
+glUniform4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn807 ptr_glUniform4uiEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUniform4uiEXT #-}
+ptr_glUniform4uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glUniform4uiEXT = unsafePerformIO $ getCommand "glUniform4uiEXT"
+
+-- glUniform4uiv ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniform4uiv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
+  -> m ()
+glUniform4uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform4uiv v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4uiv #-}
+ptr_glUniform4uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform4uiv = unsafePerformIO $ getCommand "glUniform4uiv"
+
+-- glUniform4uivEXT ------------------------------------------------------------
+
+-- | This command is an alias for 'glUniform4uiv'.
+glUniform4uivEXT
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
+  -> m ()
+glUniform4uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform4uivEXT v1 v2 v3
+
+{-# NOINLINE ptr_glUniform4uivEXT #-}
+ptr_glUniform4uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniform4uivEXT = unsafePerformIO $ getCommand "glUniform4uivEXT"
+
+-- glUniformBlockBinding -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniformBlockBinding.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniformBlockBinding.xhtml OpenGL 4.x>.
+glUniformBlockBinding
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLuint -- ^ @uniformBlockIndex@.
+  -> GLuint -- ^ @uniformBlockBinding@.
+  -> m ()
+glUniformBlockBinding v1 v2 v3 = liftIO $ dyn101 ptr_glUniformBlockBinding v1 v2 v3
+
+{-# NOINLINE ptr_glUniformBlockBinding #-}
+ptr_glUniformBlockBinding :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glUniformBlockBinding = unsafePerformIO $ getCommand "glUniformBlockBinding"
+
+-- glUniformBufferEXT ----------------------------------------------------------
+
+glUniformBufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> GLint -- ^ @location@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glUniformBufferEXT v1 v2 v3 = liftIO $ dyn633 ptr_glUniformBufferEXT v1 v2 v3
+
+{-# NOINLINE ptr_glUniformBufferEXT #-}
+ptr_glUniformBufferEXT :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
+ptr_glUniformBufferEXT = unsafePerformIO $ getCommand "glUniformBufferEXT"
+
+-- glUniformHandleui64ARB ------------------------------------------------------
+
+glUniformHandleui64ARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64 -- ^ @value@.
+  -> m ()
+glUniformHandleui64ARB v1 v2 = liftIO $ dyn786 ptr_glUniformHandleui64ARB v1 v2
+
+{-# NOINLINE ptr_glUniformHandleui64ARB #-}
+ptr_glUniformHandleui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
+ptr_glUniformHandleui64ARB = unsafePerformIO $ getCommand "glUniformHandleui64ARB"
+
+-- glUniformHandleui64NV -------------------------------------------------------
+
+glUniformHandleui64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64 -- ^ @value@.
+  -> m ()
+glUniformHandleui64NV v1 v2 = liftIO $ dyn786 ptr_glUniformHandleui64NV v1 v2
+
+{-# NOINLINE ptr_glUniformHandleui64NV #-}
+ptr_glUniformHandleui64NV :: FunPtr (GLint -> GLuint64 -> IO ())
+ptr_glUniformHandleui64NV = unsafePerformIO $ getCommand "glUniformHandleui64NV"
+
+-- glUniformHandleui64vARB -----------------------------------------------------
+
+glUniformHandleui64vARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
+  -> m ()
+glUniformHandleui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniformHandleui64vARB v1 v2 v3
+
+{-# NOINLINE ptr_glUniformHandleui64vARB #-}
+ptr_glUniformHandleui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glUniformHandleui64vARB = unsafePerformIO $ getCommand "glUniformHandleui64vARB"
+
+-- glUniformHandleui64vNV ------------------------------------------------------
+
+glUniformHandleui64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
+  -> m ()
+glUniformHandleui64vNV v1 v2 v3 = liftIO $ dyn788 ptr_glUniformHandleui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniformHandleui64vNV #-}
+ptr_glUniformHandleui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
+ptr_glUniformHandleui64vNV = unsafePerformIO $ getCommand "glUniformHandleui64vNV"
+
+-- glUniformMatrix2dv ----------------------------------------------------------
+
+glUniformMatrix2dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix2dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix2dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2dv #-}
+ptr_glUniformMatrix2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix2dv = unsafePerformIO $ getCommand "glUniformMatrix2dv"
+
+-- glUniformMatrix2fv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix2fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix2fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2fv #-}
+ptr_glUniformMatrix2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix2fv = unsafePerformIO $ getCommand "glUniformMatrix2fv"
+
+-- glUniformMatrix2fvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix2fv'.
+glUniformMatrix2fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix2fvARB v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2fvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2fvARB #-}
+ptr_glUniformMatrix2fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix2fvARB = unsafePerformIO $ getCommand "glUniformMatrix2fvARB"
+
+-- glUniformMatrix2x3dv --------------------------------------------------------
+
+glUniformMatrix2x3dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*6@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix2x3dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix2x3dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2x3dv #-}
+ptr_glUniformMatrix2x3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix2x3dv = unsafePerformIO $ getCommand "glUniformMatrix2x3dv"
+
+-- glUniformMatrix2x3fv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix2x3fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix2x3fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x3fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2x3fv #-}
+ptr_glUniformMatrix2x3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix2x3fv = unsafePerformIO $ getCommand "glUniformMatrix2x3fv"
+
+-- glUniformMatrix2x3fvNV ------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix2x3fv'.
+glUniformMatrix2x3fvNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix2x3fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x3fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2x3fvNV #-}
+ptr_glUniformMatrix2x3fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix2x3fvNV = unsafePerformIO $ getCommand "glUniformMatrix2x3fvNV"
+
+-- glUniformMatrix2x4dv --------------------------------------------------------
+
+glUniformMatrix2x4dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix2x4dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix2x4dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2x4dv #-}
+ptr_glUniformMatrix2x4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix2x4dv = unsafePerformIO $ getCommand "glUniformMatrix2x4dv"
+
+-- glUniformMatrix2x4fv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix2x4fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix2x4fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x4fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2x4fv #-}
+ptr_glUniformMatrix2x4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix2x4fv = unsafePerformIO $ getCommand "glUniformMatrix2x4fv"
+
+-- glUniformMatrix2x4fvNV ------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix2x4fv'.
+glUniformMatrix2x4fvNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix2x4fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x4fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix2x4fvNV #-}
+ptr_glUniformMatrix2x4fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix2x4fvNV = unsafePerformIO $ getCommand "glUniformMatrix2x4fvNV"
+
+-- glUniformMatrix3dv ----------------------------------------------------------
+
+glUniformMatrix3dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*9@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix3dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix3dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3dv #-}
+ptr_glUniformMatrix3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix3dv = unsafePerformIO $ getCommand "glUniformMatrix3dv"
+
+-- glUniformMatrix3fv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix3fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix3fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3fv #-}
+ptr_glUniformMatrix3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix3fv = unsafePerformIO $ getCommand "glUniformMatrix3fv"
+
+-- glUniformMatrix3fvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix3fv'.
+glUniformMatrix3fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix3fvARB v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3fvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3fvARB #-}
+ptr_glUniformMatrix3fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix3fvARB = unsafePerformIO $ getCommand "glUniformMatrix3fvARB"
+
+-- glUniformMatrix3x2dv --------------------------------------------------------
+
+glUniformMatrix3x2dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*6@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix3x2dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix3x2dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3x2dv #-}
+ptr_glUniformMatrix3x2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix3x2dv = unsafePerformIO $ getCommand "glUniformMatrix3x2dv"
+
+-- glUniformMatrix3x2fv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix3x2fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix3x2fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x2fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3x2fv #-}
+ptr_glUniformMatrix3x2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix3x2fv = unsafePerformIO $ getCommand "glUniformMatrix3x2fv"
+
+-- glUniformMatrix3x2fvNV ------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix3x2fv'.
+glUniformMatrix3x2fvNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix3x2fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x2fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3x2fvNV #-}
+ptr_glUniformMatrix3x2fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix3x2fvNV = unsafePerformIO $ getCommand "glUniformMatrix3x2fvNV"
+
+-- glUniformMatrix3x4dv --------------------------------------------------------
+
+glUniformMatrix3x4dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*12@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix3x4dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix3x4dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3x4dv #-}
+ptr_glUniformMatrix3x4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix3x4dv = unsafePerformIO $ getCommand "glUniformMatrix3x4dv"
+
+-- glUniformMatrix3x4fv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix3x4fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix3x4fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x4fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3x4fv #-}
+ptr_glUniformMatrix3x4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix3x4fv = unsafePerformIO $ getCommand "glUniformMatrix3x4fv"
+
+-- glUniformMatrix3x4fvNV ------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix3x4fv'.
+glUniformMatrix3x4fvNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix3x4fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x4fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix3x4fvNV #-}
+ptr_glUniformMatrix3x4fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix3x4fvNV = unsafePerformIO $ getCommand "glUniformMatrix3x4fvNV"
+
+-- glUniformMatrix4dv ----------------------------------------------------------
+
+glUniformMatrix4dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*16@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix4dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix4dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4dv #-}
+ptr_glUniformMatrix4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix4dv = unsafePerformIO $ getCommand "glUniformMatrix4dv"
+
+-- glUniformMatrix4fv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix4fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix4fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4fv #-}
+ptr_glUniformMatrix4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix4fv = unsafePerformIO $ getCommand "glUniformMatrix4fv"
+
+-- glUniformMatrix4fvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix4fv'.
+glUniformMatrix4fvARB
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix4fvARB v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4fvARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4fvARB #-}
+ptr_glUniformMatrix4fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix4fvARB = unsafePerformIO $ getCommand "glUniformMatrix4fvARB"
+
+-- glUniformMatrix4x2dv --------------------------------------------------------
+
+glUniformMatrix4x2dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix4x2dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix4x2dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4x2dv #-}
+ptr_glUniformMatrix4x2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix4x2dv = unsafePerformIO $ getCommand "glUniformMatrix4x2dv"
+
+-- glUniformMatrix4x2fv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix4x2fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix4x2fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x2fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4x2fv #-}
+ptr_glUniformMatrix4x2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix4x2fv = unsafePerformIO $ getCommand "glUniformMatrix4x2fv"
+
+-- glUniformMatrix4x2fvNV ------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix4x2fv'.
+glUniformMatrix4x2fvNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix4x2fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x2fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4x2fvNV #-}
+ptr_glUniformMatrix4x2fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix4x2fvNV = unsafePerformIO $ getCommand "glUniformMatrix4x2fvNV"
+
+-- glUniformMatrix4x3dv --------------------------------------------------------
+
+glUniformMatrix4x3dv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLdouble -- ^ @value@ pointing to @count*12@ elements of type @GLdouble@.
+  -> m ()
+glUniformMatrix4x3dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix4x3dv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4x3dv #-}
+ptr_glUniformMatrix4x3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
+ptr_glUniformMatrix4x3dv = unsafePerformIO $ getCommand "glUniformMatrix4x3dv"
+
+-- glUniformMatrix4x3fv --------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
+glUniformMatrix4x3fv
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix4x3fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x3fv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4x3fv #-}
+ptr_glUniformMatrix4x3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix4x3fv = unsafePerformIO $ getCommand "glUniformMatrix4x3fv"
+
+-- glUniformMatrix4x3fvNV ------------------------------------------------------
+
+-- | This command is an alias for 'glUniformMatrix4x3fv'.
+glUniformMatrix4x3fvNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
+  -> m ()
+glUniformMatrix4x3fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x3fvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glUniformMatrix4x3fvNV #-}
+ptr_glUniformMatrix4x3fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
+ptr_glUniformMatrix4x3fvNV = unsafePerformIO $ getCommand "glUniformMatrix4x3fvNV"
+
+-- glUniformSubroutinesuiv -----------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glUniformSubroutines.xhtml OpenGL 4.x>.
+glUniformSubroutinesuiv
+  :: MonadIO m
+  => GLenum -- ^ @shadertype@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @indices@ pointing to @count@ elements of type @GLuint@.
+  -> m ()
+glUniformSubroutinesuiv v1 v2 v3 = liftIO $ dyn196 ptr_glUniformSubroutinesuiv v1 v2 v3
+
+{-# NOINLINE ptr_glUniformSubroutinesuiv #-}
+ptr_glUniformSubroutinesuiv :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
+ptr_glUniformSubroutinesuiv = unsafePerformIO $ getCommand "glUniformSubroutinesuiv"
+
+-- glUniformui64NV -------------------------------------------------------------
+
+glUniformui64NV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLuint64EXT -- ^ @value@.
+  -> m ()
+glUniformui64NV v1 v2 = liftIO $ dyn787 ptr_glUniformui64NV v1 v2
+
+{-# NOINLINE ptr_glUniformui64NV #-}
+ptr_glUniformui64NV :: FunPtr (GLint -> GLuint64EXT -> IO ())
+ptr_glUniformui64NV = unsafePerformIO $ getCommand "glUniformui64NV"
+
+-- glUniformui64vNV ------------------------------------------------------------
+
+glUniformui64vNV
+  :: MonadIO m
+  => GLint -- ^ @location@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLuint64EXT@.
+  -> m ()
+glUniformui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniformui64vNV v1 v2 v3
+
+{-# NOINLINE ptr_glUniformui64vNV #-}
+ptr_glUniformui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
+ptr_glUniformui64vNV = unsafePerformIO $ getCommand "glUniformui64vNV"
+
+-- glUnlockArraysEXT -----------------------------------------------------------
+
+glUnlockArraysEXT
+  :: MonadIO m
+  => m ()
+glUnlockArraysEXT = liftIO $ dyn10 ptr_glUnlockArraysEXT
+
+{-# NOINLINE ptr_glUnlockArraysEXT #-}
+ptr_glUnlockArraysEXT :: FunPtr (IO ())
+ptr_glUnlockArraysEXT = unsafePerformIO $ getCommand "glUnlockArraysEXT"
+
+-- glUnmapBuffer ---------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUnmapBuffer.xhtml OpenGL 4.x>.
+glUnmapBuffer
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glUnmapBuffer v1 = liftIO $ dyn472 ptr_glUnmapBuffer v1
+
+{-# NOINLINE ptr_glUnmapBuffer #-}
+ptr_glUnmapBuffer :: FunPtr (GLenum -> IO GLboolean)
+ptr_glUnmapBuffer = unsafePerformIO $ getCommand "glUnmapBuffer"
+
+-- glUnmapBufferARB ------------------------------------------------------------
+
+-- | This command is an alias for 'glUnmapBuffer'.
+glUnmapBufferARB
+  :: MonadIO m
+  => GLenum -- ^ @target@ of type @BufferTargetARB@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glUnmapBufferARB v1 = liftIO $ dyn472 ptr_glUnmapBufferARB v1
+
+{-# NOINLINE ptr_glUnmapBufferARB #-}
+ptr_glUnmapBufferARB :: FunPtr (GLenum -> IO GLboolean)
+ptr_glUnmapBufferARB = unsafePerformIO $ getCommand "glUnmapBufferARB"
+
+-- glUnmapBufferOES ------------------------------------------------------------
+
+-- | This command is an alias for 'glUnmapBuffer'.
+glUnmapBufferOES
+  :: MonadIO m
+  => GLenum -- ^ @target@.
+  -> m GLboolean
+glUnmapBufferOES v1 = liftIO $ dyn472 ptr_glUnmapBufferOES v1
+
+{-# NOINLINE ptr_glUnmapBufferOES #-}
+ptr_glUnmapBufferOES :: FunPtr (GLenum -> IO GLboolean)
+ptr_glUnmapBufferOES = unsafePerformIO $ getCommand "glUnmapBufferOES"
+
+-- glUnmapNamedBuffer ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glUnmapBuffer.xhtml OpenGL 4.x>.
+glUnmapNamedBuffer
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m GLboolean
+glUnmapNamedBuffer v1 = liftIO $ dyn272 ptr_glUnmapNamedBuffer v1
+
+{-# NOINLINE ptr_glUnmapNamedBuffer #-}
+ptr_glUnmapNamedBuffer :: FunPtr (GLuint -> IO GLboolean)
+ptr_glUnmapNamedBuffer = unsafePerformIO $ getCommand "glUnmapNamedBuffer"
+
+-- glUnmapNamedBufferEXT -------------------------------------------------------
+
+glUnmapNamedBufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m GLboolean -- ^ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+glUnmapNamedBufferEXT v1 = liftIO $ dyn272 ptr_glUnmapNamedBufferEXT v1
+
+{-# NOINLINE ptr_glUnmapNamedBufferEXT #-}
+ptr_glUnmapNamedBufferEXT :: FunPtr (GLuint -> IO GLboolean)
+ptr_glUnmapNamedBufferEXT = unsafePerformIO $ getCommand "glUnmapNamedBufferEXT"
+
+-- glUnmapObjectBufferATI ------------------------------------------------------
+
+glUnmapObjectBufferATI
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> m ()
+glUnmapObjectBufferATI v1 = liftIO $ dyn2 ptr_glUnmapObjectBufferATI v1
+
+{-# NOINLINE ptr_glUnmapObjectBufferATI #-}
+ptr_glUnmapObjectBufferATI :: FunPtr (GLuint -> IO ())
+ptr_glUnmapObjectBufferATI = unsafePerformIO $ getCommand "glUnmapObjectBufferATI"
+
+-- glUnmapTexture2DINTEL -------------------------------------------------------
+
+glUnmapTexture2DINTEL
+  :: MonadIO m
+  => GLuint -- ^ @texture@.
+  -> GLint -- ^ @level@.
+  -> m ()
+glUnmapTexture2DINTEL v1 v2 = liftIO $ dyn470 ptr_glUnmapTexture2DINTEL v1 v2
+
+{-# NOINLINE ptr_glUnmapTexture2DINTEL #-}
+ptr_glUnmapTexture2DINTEL :: FunPtr (GLuint -> GLint -> IO ())
+ptr_glUnmapTexture2DINTEL = unsafePerformIO $ getCommand "glUnmapTexture2DINTEL"
+
+-- glUpdateObjectBufferATI -----------------------------------------------------
+
+glUpdateObjectBufferATI
+  :: MonadIO m
+  => GLuint -- ^ @buffer@.
+  -> GLuint -- ^ @offset@.
+  -> GLsizei -- ^ @size@.
+  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
+  -> GLenum -- ^ @preserve@ of type @PreserveModeATI@.
+  -> m ()
+glUpdateObjectBufferATI v1 v2 v3 v4 v5 = liftIO $ dyn812 ptr_glUpdateObjectBufferATI v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glUpdateObjectBufferATI #-}
+ptr_glUpdateObjectBufferATI :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ())
+ptr_glUpdateObjectBufferATI = unsafePerformIO $ getCommand "glUpdateObjectBufferATI"
+
+-- glUseProgram ----------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUseProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUseProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUseProgram.xhtml OpenGL 4.x>.
+glUseProgram
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m ()
+glUseProgram v1 = liftIO $ dyn2 ptr_glUseProgram v1
+
+{-# NOINLINE ptr_glUseProgram #-}
+ptr_glUseProgram :: FunPtr (GLuint -> IO ())
+ptr_glUseProgram = unsafePerformIO $ getCommand "glUseProgram"
+
+-- glUseProgramObjectARB -------------------------------------------------------
+
+-- | This command is an alias for 'glUseProgram'.
+glUseProgramObjectARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> m ()
+glUseProgramObjectARB v1 = liftIO $ dyn136 ptr_glUseProgramObjectARB v1
+
+{-# NOINLINE ptr_glUseProgramObjectARB #-}
+ptr_glUseProgramObjectARB :: FunPtr (GLhandleARB -> IO ())
+ptr_glUseProgramObjectARB = unsafePerformIO $ getCommand "glUseProgramObjectARB"
+
+-- glUseProgramStages ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glUseProgramStages.xhtml OpenGL 4.x>.
+glUseProgramStages
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLbitfield -- ^ @stages@.
+  -> GLuint -- ^ @program@.
+  -> m ()
+glUseProgramStages v1 v2 v3 = liftIO $ dyn813 ptr_glUseProgramStages v1 v2 v3
+
+{-# NOINLINE ptr_glUseProgramStages #-}
+ptr_glUseProgramStages :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
+ptr_glUseProgramStages = unsafePerformIO $ getCommand "glUseProgramStages"
+
+-- glUseProgramStagesEXT -------------------------------------------------------
+
+glUseProgramStagesEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> GLbitfield -- ^ @stages@.
+  -> GLuint -- ^ @program@.
+  -> m ()
+glUseProgramStagesEXT v1 v2 v3 = liftIO $ dyn813 ptr_glUseProgramStagesEXT v1 v2 v3
+
+{-# NOINLINE ptr_glUseProgramStagesEXT #-}
+ptr_glUseProgramStagesEXT :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
+ptr_glUseProgramStagesEXT = unsafePerformIO $ getCommand "glUseProgramStagesEXT"
+
+-- glUseShaderProgramEXT -------------------------------------------------------
+
+glUseShaderProgramEXT
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @program@.
+  -> m ()
+glUseShaderProgramEXT v1 v2 = liftIO $ dyn16 ptr_glUseShaderProgramEXT v1 v2
+
+{-# NOINLINE ptr_glUseShaderProgramEXT #-}
+ptr_glUseShaderProgramEXT :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glUseShaderProgramEXT = unsafePerformIO $ getCommand "glUseShaderProgramEXT"
+
+-- glVDPAUFiniNV ---------------------------------------------------------------
+
+glVDPAUFiniNV
+  :: MonadIO m
+  => m ()
+glVDPAUFiniNV = liftIO $ dyn10 ptr_glVDPAUFiniNV
+
+{-# NOINLINE ptr_glVDPAUFiniNV #-}
+ptr_glVDPAUFiniNV :: FunPtr (IO ())
+ptr_glVDPAUFiniNV = unsafePerformIO $ getCommand "glVDPAUFiniNV"
+
+-- glVDPAUGetSurfaceivNV -------------------------------------------------------
+
+glVDPAUGetSurfaceivNV
+  :: MonadIO m
+  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
+  -> GLenum -- ^ @pname@.
+  -> GLsizei -- ^ @bufSize@.
+  -> Ptr GLsizei -- ^ @length@.
+  -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
+  -> m ()
+glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5 = liftIO $ dyn814 ptr_glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVDPAUGetSurfaceivNV #-}
+ptr_glVDPAUGetSurfaceivNV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
+ptr_glVDPAUGetSurfaceivNV = unsafePerformIO $ getCommand "glVDPAUGetSurfaceivNV"
+
+-- glVDPAUInitNV ---------------------------------------------------------------
+
+glVDPAUInitNV
+  :: MonadIO m
+  => Ptr a -- ^ @vdpDevice@.
+  -> Ptr b -- ^ @getProcAddress@.
+  -> m ()
+glVDPAUInitNV v1 v2 = liftIO $ dyn815 ptr_glVDPAUInitNV v1 v2
+
+{-# NOINLINE ptr_glVDPAUInitNV #-}
+ptr_glVDPAUInitNV :: FunPtr (Ptr a -> Ptr b -> IO ())
+ptr_glVDPAUInitNV = unsafePerformIO $ getCommand "glVDPAUInitNV"
+
+-- glVDPAUIsSurfaceNV ----------------------------------------------------------
+
+glVDPAUIsSurfaceNV
+  :: MonadIO m
+  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
+  -> m GLboolean
+glVDPAUIsSurfaceNV v1 = liftIO $ dyn816 ptr_glVDPAUIsSurfaceNV v1
+
+{-# NOINLINE ptr_glVDPAUIsSurfaceNV #-}
+ptr_glVDPAUIsSurfaceNV :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
+ptr_glVDPAUIsSurfaceNV = unsafePerformIO $ getCommand "glVDPAUIsSurfaceNV"
+
+-- glVDPAUMapSurfacesNV --------------------------------------------------------
+
+glVDPAUMapSurfacesNV
+  :: MonadIO m
+  => GLsizei -- ^ @numSurfaces@.
+  -> Ptr GLvdpauSurfaceNV -- ^ @surfaces@ pointing to @numSurfaces@ elements of type @vdpauSurfaceNV@.
+  -> m ()
+glVDPAUMapSurfacesNV v1 v2 = liftIO $ dyn817 ptr_glVDPAUMapSurfacesNV v1 v2
+
+{-# NOINLINE ptr_glVDPAUMapSurfacesNV #-}
+ptr_glVDPAUMapSurfacesNV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
+ptr_glVDPAUMapSurfacesNV = unsafePerformIO $ getCommand "glVDPAUMapSurfacesNV"
+
+-- glVDPAURegisterOutputSurfaceNV ----------------------------------------------
+
+glVDPAURegisterOutputSurfaceNV
+  :: MonadIO m
+  => Ptr a -- ^ @vdpSurface@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @numTextureNames@.
+  -> Ptr GLuint -- ^ @textureNames@ pointing to @numTextureNames@ elements of type @GLuint@.
+  -> m GLvdpauSurfaceNV -- ^ of type @vdpauSurfaceNV@.
+glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4 = liftIO $ dyn818 ptr_glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVDPAURegisterOutputSurfaceNV #-}
+ptr_glVDPAURegisterOutputSurfaceNV :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
+ptr_glVDPAURegisterOutputSurfaceNV = unsafePerformIO $ getCommand "glVDPAURegisterOutputSurfaceNV"
+
+-- glVDPAURegisterVideoSurfaceNV -----------------------------------------------
+
+glVDPAURegisterVideoSurfaceNV
+  :: MonadIO m
+  => Ptr a -- ^ @vdpSurface@.
+  -> GLenum -- ^ @target@.
+  -> GLsizei -- ^ @numTextureNames@.
+  -> Ptr GLuint -- ^ @textureNames@ pointing to @numTextureNames@ elements of type @GLuint@.
+  -> m GLvdpauSurfaceNV -- ^ of type @vdpauSurfaceNV@.
+glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4 = liftIO $ dyn818 ptr_glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVDPAURegisterVideoSurfaceNV #-}
+ptr_glVDPAURegisterVideoSurfaceNV :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
+ptr_glVDPAURegisterVideoSurfaceNV = unsafePerformIO $ getCommand "glVDPAURegisterVideoSurfaceNV"
+
+-- glVDPAUSurfaceAccessNV ------------------------------------------------------
+
+glVDPAUSurfaceAccessNV
+  :: MonadIO m
+  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
+  -> GLenum -- ^ @access@.
+  -> m ()
+glVDPAUSurfaceAccessNV v1 v2 = liftIO $ dyn819 ptr_glVDPAUSurfaceAccessNV v1 v2
+
+{-# NOINLINE ptr_glVDPAUSurfaceAccessNV #-}
+ptr_glVDPAUSurfaceAccessNV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
+ptr_glVDPAUSurfaceAccessNV = unsafePerformIO $ getCommand "glVDPAUSurfaceAccessNV"
+
+-- glVDPAUUnmapSurfacesNV ------------------------------------------------------
+
+glVDPAUUnmapSurfacesNV
+  :: MonadIO m
+  => GLsizei -- ^ @numSurface@.
+  -> Ptr GLvdpauSurfaceNV -- ^ @surfaces@ pointing to @numSurface@ elements of type @vdpauSurfaceNV@.
+  -> m ()
+glVDPAUUnmapSurfacesNV v1 v2 = liftIO $ dyn817 ptr_glVDPAUUnmapSurfacesNV v1 v2
+
+{-# NOINLINE ptr_glVDPAUUnmapSurfacesNV #-}
+ptr_glVDPAUUnmapSurfacesNV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
+ptr_glVDPAUUnmapSurfacesNV = unsafePerformIO $ getCommand "glVDPAUUnmapSurfacesNV"
+
+-- glVDPAUUnregisterSurfaceNV --------------------------------------------------
+
+glVDPAUUnregisterSurfaceNV
+  :: MonadIO m
+  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
+  -> m ()
+glVDPAUUnregisterSurfaceNV v1 = liftIO $ dyn820 ptr_glVDPAUUnregisterSurfaceNV v1
+
+{-# NOINLINE ptr_glVDPAUUnregisterSurfaceNV #-}
+ptr_glVDPAUUnregisterSurfaceNV :: FunPtr (GLvdpauSurfaceNV -> IO ())
+ptr_glVDPAUUnregisterSurfaceNV = unsafePerformIO $ getCommand "glVDPAUUnregisterSurfaceNV"
+
+-- glValidateProgram -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glValidateProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glValidateProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glValidateProgram.xhtml OpenGL 4.x>.
+glValidateProgram
+  :: MonadIO m
+  => GLuint -- ^ @program@.
+  -> m ()
+glValidateProgram v1 = liftIO $ dyn2 ptr_glValidateProgram v1
+
+{-# NOINLINE ptr_glValidateProgram #-}
+ptr_glValidateProgram :: FunPtr (GLuint -> IO ())
+ptr_glValidateProgram = unsafePerformIO $ getCommand "glValidateProgram"
+
+-- glValidateProgramARB --------------------------------------------------------
+
+-- | This command is an alias for 'glValidateProgram'.
+glValidateProgramARB
+  :: MonadIO m
+  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
+  -> m ()
+glValidateProgramARB v1 = liftIO $ dyn136 ptr_glValidateProgramARB v1
+
+{-# NOINLINE ptr_glValidateProgramARB #-}
+ptr_glValidateProgramARB :: FunPtr (GLhandleARB -> IO ())
+ptr_glValidateProgramARB = unsafePerformIO $ getCommand "glValidateProgramARB"
+
+-- glValidateProgramPipeline ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glValidateProgramPipeline.xhtml OpenGL 4.x>.
+glValidateProgramPipeline
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> m ()
+glValidateProgramPipeline v1 = liftIO $ dyn2 ptr_glValidateProgramPipeline v1
+
+{-# NOINLINE ptr_glValidateProgramPipeline #-}
+ptr_glValidateProgramPipeline :: FunPtr (GLuint -> IO ())
+ptr_glValidateProgramPipeline = unsafePerformIO $ getCommand "glValidateProgramPipeline"
+
+-- glValidateProgramPipelineEXT ------------------------------------------------
+
+glValidateProgramPipelineEXT
+  :: MonadIO m
+  => GLuint -- ^ @pipeline@.
+  -> m ()
+glValidateProgramPipelineEXT v1 = liftIO $ dyn2 ptr_glValidateProgramPipelineEXT v1
+
+{-# NOINLINE ptr_glValidateProgramPipelineEXT #-}
+ptr_glValidateProgramPipelineEXT :: FunPtr (GLuint -> IO ())
+ptr_glValidateProgramPipelineEXT = unsafePerformIO $ getCommand "glValidateProgramPipelineEXT"
+
+-- glVariantArrayObjectATI -----------------------------------------------------
+
+glVariantArrayObjectATI
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @type@ of type @ScalarType@.
+  -> GLsizei -- ^ @stride@.
+  -> GLuint -- ^ @buffer@.
+  -> GLuint -- ^ @offset@.
+  -> m ()
+glVariantArrayObjectATI v1 v2 v3 v4 v5 = liftIO $ dyn821 ptr_glVariantArrayObjectATI v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVariantArrayObjectATI #-}
+ptr_glVariantArrayObjectATI :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
+ptr_glVariantArrayObjectATI = unsafePerformIO $ getCommand "glVariantArrayObjectATI"
+
+-- glVariantPointerEXT ---------------------------------------------------------
+
+glVariantPointerEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> GLenum -- ^ @type@ of type @ScalarType@.
+  -> GLuint -- ^ @stride@.
+  -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type,stride)@ elements of type @a@.
+  -> m ()
+glVariantPointerEXT v1 v2 v3 v4 = liftIO $ dyn822 ptr_glVariantPointerEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVariantPointerEXT #-}
+ptr_glVariantPointerEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
+ptr_glVariantPointerEXT = unsafePerformIO $ getCommand "glVariantPointerEXT"
+
+-- glVariantbvEXT --------------------------------------------------------------
+
+glVariantbvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLbyte -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLbyte@.
+  -> m ()
+glVariantbvEXT v1 v2 = liftIO $ dyn823 ptr_glVariantbvEXT v1 v2
+
+{-# NOINLINE ptr_glVariantbvEXT #-}
+ptr_glVariantbvEXT :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVariantbvEXT = unsafePerformIO $ getCommand "glVariantbvEXT"
+
+-- glVariantdvEXT --------------------------------------------------------------
+
+glVariantdvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLdouble -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLdouble@.
+  -> m ()
+glVariantdvEXT v1 v2 = liftIO $ dyn824 ptr_glVariantdvEXT v1 v2
+
+{-# NOINLINE ptr_glVariantdvEXT #-}
+ptr_glVariantdvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVariantdvEXT = unsafePerformIO $ getCommand "glVariantdvEXT"
+
+-- glVariantfvEXT --------------------------------------------------------------
+
+glVariantfvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLfloat -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
+  -> m ()
+glVariantfvEXT v1 v2 = liftIO $ dyn373 ptr_glVariantfvEXT v1 v2
+
+{-# NOINLINE ptr_glVariantfvEXT #-}
+ptr_glVariantfvEXT :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVariantfvEXT = unsafePerformIO $ getCommand "glVariantfvEXT"
+
+-- glVariantivEXT --------------------------------------------------------------
+
+glVariantivEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLint -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
+  -> m ()
+glVariantivEXT v1 v2 = liftIO $ dyn697 ptr_glVariantivEXT v1 v2
+
+{-# NOINLINE ptr_glVariantivEXT #-}
+ptr_glVariantivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVariantivEXT = unsafePerformIO $ getCommand "glVariantivEXT"
+
+-- glVariantsvEXT --------------------------------------------------------------
+
+glVariantsvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLshort -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLshort@.
+  -> m ()
+glVariantsvEXT v1 v2 = liftIO $ dyn825 ptr_glVariantsvEXT v1 v2
+
+{-# NOINLINE ptr_glVariantsvEXT #-}
+ptr_glVariantsvEXT :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVariantsvEXT = unsafePerformIO $ getCommand "glVariantsvEXT"
+
+-- glVariantubvEXT -------------------------------------------------------------
+
+glVariantubvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLubyte -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLubyte@.
+  -> m ()
+glVariantubvEXT v1 v2 = liftIO $ dyn372 ptr_glVariantubvEXT v1 v2
+
+{-# NOINLINE ptr_glVariantubvEXT #-}
+ptr_glVariantubvEXT :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVariantubvEXT = unsafePerformIO $ getCommand "glVariantubvEXT"
+
+-- glVariantuivEXT -------------------------------------------------------------
+
+glVariantuivEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLuint -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLuint@.
+  -> m ()
+glVariantuivEXT v1 v2 = liftIO $ dyn193 ptr_glVariantuivEXT v1 v2
+
+{-# NOINLINE ptr_glVariantuivEXT #-}
+ptr_glVariantuivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVariantuivEXT = unsafePerformIO $ getCommand "glVariantuivEXT"
+
+-- glVariantusvEXT -------------------------------------------------------------
+
+glVariantusvEXT
+  :: MonadIO m
+  => GLuint -- ^ @id@.
+  -> Ptr GLushort -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLushort@.
+  -> m ()
+glVariantusvEXT v1 v2 = liftIO $ dyn826 ptr_glVariantusvEXT v1 v2
+
+{-# NOINLINE ptr_glVariantusvEXT #-}
+ptr_glVariantusvEXT :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+ptr_glVariantusvEXT = unsafePerformIO $ getCommand "glVariantusvEXT"
+
+-- glVertex2bOES ---------------------------------------------------------------
+
+glVertex2bOES
+  :: MonadIO m
+  => GLbyte -- ^ @x@.
+  -> GLbyte -- ^ @y@.
+  -> m ()
+glVertex2bOES v1 v2 = liftIO $ dyn718 ptr_glVertex2bOES v1 v2
+
+{-# NOINLINE ptr_glVertex2bOES #-}
+ptr_glVertex2bOES :: FunPtr (GLbyte -> GLbyte -> IO ())
+ptr_glVertex2bOES = unsafePerformIO $ getCommand "glVertex2bOES"
+
+-- glVertex2bvOES --------------------------------------------------------------
+
+glVertex2bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @2@ elements of type @GLbyte@.
+  -> m ()
+glVertex2bvOES v1 = liftIO $ dyn37 ptr_glVertex2bvOES v1
+
+{-# NOINLINE ptr_glVertex2bvOES #-}
+ptr_glVertex2bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glVertex2bvOES = unsafePerformIO $ getCommand "glVertex2bvOES"
+
+-- glVertex2d ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2dv'.
+glVertex2d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> m ()
+glVertex2d v1 v2 = liftIO $ dyn216 ptr_glVertex2d v1 v2
+
+{-# NOINLINE ptr_glVertex2d #-}
+ptr_glVertex2d :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glVertex2d = unsafePerformIO $ getCommand "glVertex2d"
+
+-- glVertex2dv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex2dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glVertex2dv v1 = liftIO $ dyn39 ptr_glVertex2dv v1
+
+{-# NOINLINE ptr_glVertex2dv #-}
+ptr_glVertex2dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glVertex2dv = unsafePerformIO $ getCommand "glVertex2dv"
+
+-- glVertex2f ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2fv'.
+glVertex2f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> m ()
+glVertex2f v1 v2 = liftIO $ dyn221 ptr_glVertex2f v1 v2
+
+{-# NOINLINE ptr_glVertex2f #-}
+ptr_glVertex2f :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glVertex2f = unsafePerformIO $ getCommand "glVertex2f"
+
+-- glVertex2fv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex2fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glVertex2fv v1 = liftIO $ dyn41 ptr_glVertex2fv v1
+
+{-# NOINLINE ptr_glVertex2fv #-}
+ptr_glVertex2fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glVertex2fv = unsafePerformIO $ getCommand "glVertex2fv"
+
+-- glVertex2hNV ----------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertex2hvNV'.
+glVertex2hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
+  -> m ()
+glVertex2hNV v1 v2 = liftIO $ dyn723 ptr_glVertex2hNV v1 v2
+
+{-# NOINLINE ptr_glVertex2hNV #-}
+ptr_glVertex2hNV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
+ptr_glVertex2hNV = unsafePerformIO $ getCommand "glVertex2hNV"
+
+-- glVertex2hvNV ---------------------------------------------------------------
+
+glVertex2hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
+  -> m ()
+glVertex2hvNV v1 = liftIO $ dyn98 ptr_glVertex2hvNV v1
+
+{-# NOINLINE ptr_glVertex2hvNV #-}
+ptr_glVertex2hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glVertex2hvNV = unsafePerformIO $ getCommand "glVertex2hvNV"
+
+-- glVertex2i ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2iv'.
+glVertex2i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> m ()
+glVertex2i v1 v2 = liftIO $ dyn265 ptr_glVertex2i v1 v2
+
+{-# NOINLINE ptr_glVertex2i #-}
+ptr_glVertex2i :: FunPtr (GLint -> GLint -> IO ())
+ptr_glVertex2i = unsafePerformIO $ getCommand "glVertex2i"
+
+-- glVertex2iv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex2iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glVertex2iv v1 = liftIO $ dyn43 ptr_glVertex2iv v1
+
+{-# NOINLINE ptr_glVertex2iv #-}
+ptr_glVertex2iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glVertex2iv = unsafePerformIO $ getCommand "glVertex2iv"
+
+-- glVertex2s ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2sv'.
+glVertex2s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> m ()
+glVertex2s v1 v2 = liftIO $ dyn665 ptr_glVertex2s v1 v2
+
+{-# NOINLINE ptr_glVertex2s #-}
+ptr_glVertex2s :: FunPtr (GLshort -> GLshort -> IO ())
+ptr_glVertex2s = unsafePerformIO $ getCommand "glVertex2s"
+
+-- glVertex2sv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex2sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glVertex2sv v1 = liftIO $ dyn45 ptr_glVertex2sv v1
+
+{-# NOINLINE ptr_glVertex2sv #-}
+ptr_glVertex2sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glVertex2sv = unsafePerformIO $ getCommand "glVertex2sv"
+
+-- glVertex2xOES ---------------------------------------------------------------
+
+glVertex2xOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> m ()
+glVertex2xOES v1 = liftIO $ dyn81 ptr_glVertex2xOES v1
+
+{-# NOINLINE ptr_glVertex2xOES #-}
+ptr_glVertex2xOES :: FunPtr (GLfixed -> IO ())
+ptr_glVertex2xOES = unsafePerformIO $ getCommand "glVertex2xOES"
+
+-- glVertex2xvOES --------------------------------------------------------------
+
+glVertex2xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
+  -> m ()
+glVertex2xvOES v1 = liftIO $ dyn106 ptr_glVertex2xvOES v1
+
+{-# NOINLINE ptr_glVertex2xvOES #-}
+ptr_glVertex2xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glVertex2xvOES = unsafePerformIO $ getCommand "glVertex2xvOES"
+
+-- glVertex3bOES ---------------------------------------------------------------
+
+glVertex3bOES
+  :: MonadIO m
+  => GLbyte -- ^ @x@.
+  -> GLbyte -- ^ @y@.
+  -> GLbyte -- ^ @z@.
+  -> m ()
+glVertex3bOES v1 v2 v3 = liftIO $ dyn36 ptr_glVertex3bOES v1 v2 v3
+
+{-# NOINLINE ptr_glVertex3bOES #-}
+ptr_glVertex3bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glVertex3bOES = unsafePerformIO $ getCommand "glVertex3bOES"
+
+-- glVertex3bvOES --------------------------------------------------------------
+
+glVertex3bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
+  -> m ()
+glVertex3bvOES v1 = liftIO $ dyn37 ptr_glVertex3bvOES v1
+
+{-# NOINLINE ptr_glVertex3bvOES #-}
+ptr_glVertex3bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glVertex3bvOES = unsafePerformIO $ getCommand "glVertex3bvOES"
+
+-- glVertex3d ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3dv'.
+glVertex3d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glVertex3d v1 v2 v3 = liftIO $ dyn38 ptr_glVertex3d v1 v2 v3
+
+{-# NOINLINE ptr_glVertex3d #-}
+ptr_glVertex3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertex3d = unsafePerformIO $ getCommand "glVertex3d"
+
+-- glVertex3dv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glVertex3dv v1 = liftIO $ dyn39 ptr_glVertex3dv v1
+
+{-# NOINLINE ptr_glVertex3dv #-}
+ptr_glVertex3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glVertex3dv = unsafePerformIO $ getCommand "glVertex3dv"
+
+-- glVertex3f ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3fv'.
+glVertex3f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glVertex3f v1 v2 v3 = liftIO $ dyn40 ptr_glVertex3f v1 v2 v3
+
+{-# NOINLINE ptr_glVertex3f #-}
+ptr_glVertex3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertex3f = unsafePerformIO $ getCommand "glVertex3f"
+
+-- glVertex3fv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glVertex3fv v1 = liftIO $ dyn41 ptr_glVertex3fv v1
+
+{-# NOINLINE ptr_glVertex3fv #-}
+ptr_glVertex3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glVertex3fv = unsafePerformIO $ getCommand "glVertex3fv"
+
+-- glVertex3hNV ----------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertex3hvNV'.
+glVertex3hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
+  -> m ()
+glVertex3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glVertex3hNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertex3hNV #-}
+ptr_glVertex3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glVertex3hNV = unsafePerformIO $ getCommand "glVertex3hNV"
+
+-- glVertex3hvNV ---------------------------------------------------------------
+
+glVertex3hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
+  -> m ()
+glVertex3hvNV v1 = liftIO $ dyn98 ptr_glVertex3hvNV v1
+
+{-# NOINLINE ptr_glVertex3hvNV #-}
+ptr_glVertex3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glVertex3hvNV = unsafePerformIO $ getCommand "glVertex3hvNV"
+
+-- glVertex3i ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3iv'.
+glVertex3i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> m ()
+glVertex3i v1 v2 v3 = liftIO $ dyn42 ptr_glVertex3i v1 v2 v3
+
+{-# NOINLINE ptr_glVertex3i #-}
+ptr_glVertex3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glVertex3i = unsafePerformIO $ getCommand "glVertex3i"
+
+-- glVertex3iv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glVertex3iv v1 = liftIO $ dyn43 ptr_glVertex3iv v1
+
+{-# NOINLINE ptr_glVertex3iv #-}
+ptr_glVertex3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glVertex3iv = unsafePerformIO $ getCommand "glVertex3iv"
+
+-- glVertex3s ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3sv'.
+glVertex3s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> m ()
+glVertex3s v1 v2 v3 = liftIO $ dyn44 ptr_glVertex3s v1 v2 v3
+
+{-# NOINLINE ptr_glVertex3s #-}
+ptr_glVertex3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertex3s = unsafePerformIO $ getCommand "glVertex3s"
+
+-- glVertex3sv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glVertex3sv v1 = liftIO $ dyn45 ptr_glVertex3sv v1
+
+{-# NOINLINE ptr_glVertex3sv #-}
+ptr_glVertex3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glVertex3sv = unsafePerformIO $ getCommand "glVertex3sv"
+
+-- glVertex3xOES ---------------------------------------------------------------
+
+glVertex3xOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> m ()
+glVertex3xOES v1 v2 = liftIO $ dyn223 ptr_glVertex3xOES v1 v2
+
+{-# NOINLINE ptr_glVertex3xOES #-}
+ptr_glVertex3xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
+ptr_glVertex3xOES = unsafePerformIO $ getCommand "glVertex3xOES"
+
+-- glVertex3xvOES --------------------------------------------------------------
+
+glVertex3xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
+  -> m ()
+glVertex3xvOES v1 = liftIO $ dyn106 ptr_glVertex3xvOES v1
+
+{-# NOINLINE ptr_glVertex3xvOES #-}
+ptr_glVertex3xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glVertex3xvOES = unsafePerformIO $ getCommand "glVertex3xvOES"
+
+-- glVertex4bOES ---------------------------------------------------------------
+
+glVertex4bOES
+  :: MonadIO m
+  => GLbyte -- ^ @x@.
+  -> GLbyte -- ^ @y@.
+  -> GLbyte -- ^ @z@.
+  -> GLbyte -- ^ @w@.
+  -> m ()
+glVertex4bOES v1 v2 v3 v4 = liftIO $ dyn107 ptr_glVertex4bOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertex4bOES #-}
+ptr_glVertex4bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
+ptr_glVertex4bOES = unsafePerformIO $ getCommand "glVertex4bOES"
+
+-- glVertex4bvOES --------------------------------------------------------------
+
+glVertex4bvOES
+  :: MonadIO m
+  => Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertex4bvOES v1 = liftIO $ dyn37 ptr_glVertex4bvOES v1
+
+{-# NOINLINE ptr_glVertex4bvOES #-}
+ptr_glVertex4bvOES :: FunPtr (Ptr GLbyte -> IO ())
+ptr_glVertex4bvOES = unsafePerformIO $ getCommand "glVertex4bvOES"
+
+-- glVertex4d ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4dv'.
+glVertex4d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> GLdouble -- ^ @w@ of type @CoordD@.
+  -> m ()
+glVertex4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glVertex4d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertex4d #-}
+ptr_glVertex4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertex4d = unsafePerformIO $ getCommand "glVertex4d"
+
+-- glVertex4dv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex4dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
+  -> m ()
+glVertex4dv v1 = liftIO $ dyn39 ptr_glVertex4dv v1
+
+{-# NOINLINE ptr_glVertex4dv #-}
+ptr_glVertex4dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glVertex4dv = unsafePerformIO $ getCommand "glVertex4dv"
+
+-- glVertex4f ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4fv'.
+glVertex4f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> GLfloat -- ^ @w@ of type @CoordF@.
+  -> m ()
+glVertex4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glVertex4f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertex4f #-}
+ptr_glVertex4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertex4f = unsafePerformIO $ getCommand "glVertex4f"
+
+-- glVertex4fv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex4fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
+  -> m ()
+glVertex4fv v1 = liftIO $ dyn41 ptr_glVertex4fv v1
+
+{-# NOINLINE ptr_glVertex4fv #-}
+ptr_glVertex4fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glVertex4fv = unsafePerformIO $ getCommand "glVertex4fv"
+
+-- glVertex4hNV ----------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertex4hvNV'.
+glVertex4hNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @w@ of type @Half16NV@.
+  -> m ()
+glVertex4hNV v1 v2 v3 v4 = liftIO $ dyn111 ptr_glVertex4hNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertex4hNV #-}
+ptr_glVertex4hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glVertex4hNV = unsafePerformIO $ getCommand "glVertex4hNV"
+
+-- glVertex4hvNV ---------------------------------------------------------------
+
+glVertex4hvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
+  -> m ()
+glVertex4hvNV v1 = liftIO $ dyn98 ptr_glVertex4hvNV v1
+
+{-# NOINLINE ptr_glVertex4hvNV #-}
+ptr_glVertex4hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glVertex4hvNV = unsafePerformIO $ getCommand "glVertex4hvNV"
+
+-- glVertex4i ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4iv'.
+glVertex4i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> GLint -- ^ @w@ of type @CoordI@.
+  -> m ()
+glVertex4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glVertex4i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertex4i #-}
+ptr_glVertex4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertex4i = unsafePerformIO $ getCommand "glVertex4i"
+
+-- glVertex4iv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex4iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
+  -> m ()
+glVertex4iv v1 = liftIO $ dyn43 ptr_glVertex4iv v1
+
+{-# NOINLINE ptr_glVertex4iv #-}
+ptr_glVertex4iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glVertex4iv = unsafePerformIO $ getCommand "glVertex4iv"
+
+-- glVertex4s ------------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4sv'.
+glVertex4s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> GLshort -- ^ @w@ of type @CoordS@.
+  -> m ()
+glVertex4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glVertex4s v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertex4s #-}
+ptr_glVertex4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertex4s = unsafePerformIO $ getCommand "glVertex4s"
+
+-- glVertex4sv -----------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
+glVertex4sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glVertex4sv v1 = liftIO $ dyn45 ptr_glVertex4sv v1
+
+{-# NOINLINE ptr_glVertex4sv #-}
+ptr_glVertex4sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glVertex4sv = unsafePerformIO $ getCommand "glVertex4sv"
+
+-- glVertex4xOES ---------------------------------------------------------------
+
+glVertex4xOES
+  :: MonadIO m
+  => GLfixed -- ^ @x@.
+  -> GLfixed -- ^ @y@.
+  -> GLfixed -- ^ @z@.
+  -> m ()
+glVertex4xOES v1 v2 v3 = liftIO $ dyn105 ptr_glVertex4xOES v1 v2 v3
+
+{-# NOINLINE ptr_glVertex4xOES #-}
+ptr_glVertex4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
+ptr_glVertex4xOES = unsafePerformIO $ getCommand "glVertex4xOES"
+
+-- glVertex4xvOES --------------------------------------------------------------
+
+glVertex4xvOES
+  :: MonadIO m
+  => Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
+  -> m ()
+glVertex4xvOES v1 = liftIO $ dyn106 ptr_glVertex4xvOES v1
+
+{-# NOINLINE ptr_glVertex4xvOES #-}
+ptr_glVertex4xvOES :: FunPtr (Ptr GLfixed -> IO ())
+ptr_glVertex4xvOES = unsafePerformIO $ getCommand "glVertex4xvOES"
+
+-- glVertexArrayAttribBinding --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribBinding.xhtml OpenGL 4.x>.
+glVertexArrayAttribBinding
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLuint -- ^ @bindingindex@.
+  -> m ()
+glVertexArrayAttribBinding v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayAttribBinding v1 v2 v3
+
+{-# NOINLINE ptr_glVertexArrayAttribBinding #-}
+ptr_glVertexArrayAttribBinding :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexArrayAttribBinding = unsafePerformIO $ getCommand "glVertexArrayAttribBinding"
+
+-- glVertexArrayAttribFormat ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
+glVertexArrayAttribFormat
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@.
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6 = liftIO $ dyn827 ptr_glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexArrayAttribFormat #-}
+ptr_glVertexArrayAttribFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
+ptr_glVertexArrayAttribFormat = unsafePerformIO $ getCommand "glVertexArrayAttribFormat"
+
+-- glVertexArrayAttribIFormat --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
+glVertexArrayAttribIFormat
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexArrayAttribIFormat v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayAttribIFormat v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayAttribIFormat #-}
+ptr_glVertexArrayAttribIFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
+ptr_glVertexArrayAttribIFormat = unsafePerformIO $ getCommand "glVertexArrayAttribIFormat"
+
+-- glVertexArrayAttribLFormat --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
+glVertexArrayAttribLFormat
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexArrayAttribLFormat v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayAttribLFormat v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayAttribLFormat #-}
+ptr_glVertexArrayAttribLFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
+ptr_glVertexArrayAttribLFormat = unsafePerformIO $ getCommand "glVertexArrayAttribLFormat"
+
+-- glVertexArrayBindVertexBufferEXT --------------------------------------------
+
+glVertexArrayBindVertexBufferEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @bindingindex@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5 = liftIO $ dyn829 ptr_glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayBindVertexBufferEXT #-}
+ptr_glVertexArrayBindVertexBufferEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
+ptr_glVertexArrayBindVertexBufferEXT = unsafePerformIO $ getCommand "glVertexArrayBindVertexBufferEXT"
+
+-- glVertexArrayBindingDivisor -------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexBindingDivisor.xhtml OpenGL 4.x>.
+glVertexArrayBindingDivisor
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @bindingindex@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexArrayBindingDivisor v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayBindingDivisor v1 v2 v3
+
+{-# NOINLINE ptr_glVertexArrayBindingDivisor #-}
+ptr_glVertexArrayBindingDivisor :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexArrayBindingDivisor = unsafePerformIO $ getCommand "glVertexArrayBindingDivisor"
+
+-- glVertexArrayColorOffsetEXT -------------------------------------------------
+
+glVertexArrayColorOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexArrayColorOffsetEXT #-}
+ptr_glVertexArrayColorOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayColorOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayColorOffsetEXT"
+
+-- glVertexArrayEdgeFlagOffsetEXT ----------------------------------------------
+
+glVertexArrayEdgeFlagOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4 = liftIO $ dyn831 ptr_glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexArrayEdgeFlagOffsetEXT #-}
+ptr_glVertexArrayEdgeFlagOffsetEXT :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayEdgeFlagOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayEdgeFlagOffsetEXT"
+
+-- glVertexArrayElementBuffer --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexArrayElementBuffer.xhtml OpenGL 4.x>.
+glVertexArrayElementBuffer
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> m ()
+glVertexArrayElementBuffer v1 v2 = liftIO $ dyn3 ptr_glVertexArrayElementBuffer v1 v2
+
+{-# NOINLINE ptr_glVertexArrayElementBuffer #-}
+ptr_glVertexArrayElementBuffer :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexArrayElementBuffer = unsafePerformIO $ getCommand "glVertexArrayElementBuffer"
+
+-- glVertexArrayFogCoordOffsetEXT ----------------------------------------------
+
+glVertexArrayFogCoordOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @type@ of type [FogCoordinatePointerType](Graphics-GL-Groups.html#FogCoordinatePointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn832 ptr_glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayFogCoordOffsetEXT #-}
+ptr_glVertexArrayFogCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayFogCoordOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayFogCoordOffsetEXT"
+
+-- glVertexArrayIndexOffsetEXT -------------------------------------------------
+
+glVertexArrayIndexOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @type@ of type [IndexPointerType](Graphics-GL-Groups.html#IndexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn832 ptr_glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayIndexOffsetEXT #-}
+ptr_glVertexArrayIndexOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayIndexOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayIndexOffsetEXT"
+
+-- glVertexArrayMultiTexCoordOffsetEXT -----------------------------------------
+
+glVertexArrayMultiTexCoordOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @texunit@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn833 ptr_glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glVertexArrayMultiTexCoordOffsetEXT #-}
+ptr_glVertexArrayMultiTexCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayMultiTexCoordOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayMultiTexCoordOffsetEXT"
+
+-- glVertexArrayNormalOffsetEXT ------------------------------------------------
+
+glVertexArrayNormalOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLenum -- ^ @type@ of type [NormalPointerType](Graphics-GL-Groups.html#NormalPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn832 ptr_glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayNormalOffsetEXT #-}
+ptr_glVertexArrayNormalOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayNormalOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayNormalOffsetEXT"
+
+-- glVertexArrayParameteriAPPLE ------------------------------------------------
+
+glVertexArrayParameteriAPPLE
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @VertexArrayPNameAPPLE@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glVertexArrayParameteriAPPLE v1 v2 = liftIO $ dyn55 ptr_glVertexArrayParameteriAPPLE v1 v2
+
+{-# NOINLINE ptr_glVertexArrayParameteriAPPLE #-}
+ptr_glVertexArrayParameteriAPPLE :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glVertexArrayParameteriAPPLE = unsafePerformIO $ getCommand "glVertexArrayParameteriAPPLE"
+
+-- glVertexArrayRangeAPPLE -----------------------------------------------------
+
+glVertexArrayRangeAPPLE
+  :: MonadIO m
+  => GLsizei -- ^ @length@.
+  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
+  -> m ()
+glVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn259 ptr_glVertexArrayRangeAPPLE v1 v2
+
+{-# NOINLINE ptr_glVertexArrayRangeAPPLE #-}
+ptr_glVertexArrayRangeAPPLE :: FunPtr (GLsizei -> Ptr a -> IO ())
+ptr_glVertexArrayRangeAPPLE = unsafePerformIO $ getCommand "glVertexArrayRangeAPPLE"
+
+-- glVertexArrayRangeNV --------------------------------------------------------
+
+glVertexArrayRangeNV
+  :: MonadIO m
+  => GLsizei -- ^ @length@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(length)@ elements of type @a@.
+  -> m ()
+glVertexArrayRangeNV v1 v2 = liftIO $ dyn259 ptr_glVertexArrayRangeNV v1 v2
+
+{-# NOINLINE ptr_glVertexArrayRangeNV #-}
+ptr_glVertexArrayRangeNV :: FunPtr (GLsizei -> Ptr a -> IO ())
+ptr_glVertexArrayRangeNV = unsafePerformIO $ getCommand "glVertexArrayRangeNV"
+
+-- glVertexArraySecondaryColorOffsetEXT ----------------------------------------
+
+glVertexArraySecondaryColorOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-GL-Groups.html#ColorPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexArraySecondaryColorOffsetEXT #-}
+ptr_glVertexArraySecondaryColorOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArraySecondaryColorOffsetEXT = unsafePerformIO $ getCommand "glVertexArraySecondaryColorOffsetEXT"
+
+-- glVertexArrayTexCoordOffsetEXT ----------------------------------------------
+
+glVertexArrayTexCoordOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-GL-Groups.html#TexCoordPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexArrayTexCoordOffsetEXT #-}
+ptr_glVertexArrayTexCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayTexCoordOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayTexCoordOffsetEXT"
+
+-- glVertexArrayVertexAttribBindingEXT -----------------------------------------
+
+glVertexArrayVertexAttribBindingEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLuint -- ^ @bindingindex@.
+  -> m ()
+glVertexArrayVertexAttribBindingEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayVertexAttribBindingEXT v1 v2 v3
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribBindingEXT #-}
+ptr_glVertexArrayVertexAttribBindingEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexArrayVertexAttribBindingEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribBindingEXT"
+
+-- glVertexArrayVertexAttribDivisorEXT -----------------------------------------
+
+glVertexArrayVertexAttribDivisorEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @index@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexArrayVertexAttribDivisorEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayVertexAttribDivisorEXT v1 v2 v3
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribDivisorEXT #-}
+ptr_glVertexArrayVertexAttribDivisorEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexArrayVertexAttribDivisorEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribDivisorEXT"
+
+-- glVertexArrayVertexAttribFormatEXT ------------------------------------------
+
+glVertexArrayVertexAttribFormatEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn827 ptr_glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribFormatEXT #-}
+ptr_glVertexArrayVertexAttribFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
+ptr_glVertexArrayVertexAttribFormatEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribFormatEXT"
+
+-- glVertexArrayVertexAttribIFormatEXT -----------------------------------------
+
+glVertexArrayVertexAttribIFormatEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribIFormatEXT #-}
+ptr_glVertexArrayVertexAttribIFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
+ptr_glVertexArrayVertexAttribIFormatEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribIFormatEXT"
+
+-- glVertexArrayVertexAttribIOffsetEXT -----------------------------------------
+
+glVertexArrayVertexAttribIOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn834 ptr_glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribIOffsetEXT #-}
+ptr_glVertexArrayVertexAttribIOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayVertexAttribIOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribIOffsetEXT"
+
+-- glVertexArrayVertexAttribLFormatEXT -----------------------------------------
+
+glVertexArrayVertexAttribLFormatEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribLFormatEXT #-}
+ptr_glVertexArrayVertexAttribLFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
+ptr_glVertexArrayVertexAttribLFormatEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribLFormatEXT"
+
+-- glVertexArrayVertexAttribLOffsetEXT -----------------------------------------
+
+glVertexArrayVertexAttribLOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
+  -> m ()
+glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn834 ptr_glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribLOffsetEXT #-}
+ptr_glVertexArrayVertexAttribLOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayVertexAttribLOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribLOffsetEXT"
+
+-- glVertexArrayVertexAttribOffsetEXT ------------------------------------------
+
+glVertexArrayVertexAttribOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLboolean -- ^ @normalized@.
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn835 ptr_glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8
+
+{-# NOINLINE ptr_glVertexArrayVertexAttribOffsetEXT #-}
+ptr_glVertexArrayVertexAttribOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayVertexAttribOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribOffsetEXT"
+
+-- glVertexArrayVertexBindingDivisorEXT ----------------------------------------
+
+glVertexArrayVertexBindingDivisorEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @bindingindex@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexArrayVertexBindingDivisorEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayVertexBindingDivisorEXT v1 v2 v3
+
+{-# NOINLINE ptr_glVertexArrayVertexBindingDivisorEXT #-}
+ptr_glVertexArrayVertexBindingDivisorEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexArrayVertexBindingDivisorEXT = unsafePerformIO $ getCommand "glVertexArrayVertexBindingDivisorEXT"
+
+-- glVertexArrayVertexBuffer ---------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffer.xhtml OpenGL 4.x>.
+glVertexArrayVertexBuffer
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @bindingindex@.
+  -> GLuint -- ^ @buffer@.
+  -> GLintptr -- ^ @offset@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glVertexArrayVertexBuffer v1 v2 v3 v4 v5 = liftIO $ dyn829 ptr_glVertexArrayVertexBuffer v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexArrayVertexBuffer #-}
+ptr_glVertexArrayVertexBuffer :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
+ptr_glVertexArrayVertexBuffer = unsafePerformIO $ getCommand "glVertexArrayVertexBuffer"
+
+-- glVertexArrayVertexBuffers --------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffers.xhtml OpenGL 4.x>.
+glVertexArrayVertexBuffers
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLuint -- ^ @buffers@.
+  -> Ptr GLintptr -- ^ @offsets@.
+  -> Ptr GLsizei -- ^ @strides@.
+  -> m ()
+glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6 = liftIO $ dyn836 ptr_glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexArrayVertexBuffers #-}
+ptr_glVertexArrayVertexBuffers :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
+ptr_glVertexArrayVertexBuffers = unsafePerformIO $ getCommand "glVertexArrayVertexBuffers"
+
+-- glVertexArrayVertexOffsetEXT ------------------------------------------------
+
+glVertexArrayVertexOffsetEXT
+  :: MonadIO m
+  => GLuint -- ^ @vaobj@.
+  -> GLuint -- ^ @buffer@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLintptr -- ^ @offset@.
+  -> m ()
+glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexArrayVertexOffsetEXT #-}
+ptr_glVertexArrayVertexOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
+ptr_glVertexArrayVertexOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexOffsetEXT"
+
+-- glVertexAttrib1d ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib1dv'.
+glVertexAttrib1d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glVertexAttrib1d v1 v2 = liftIO $ dyn837 ptr_glVertexAttrib1d v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1d #-}
+ptr_glVertexAttrib1d :: FunPtr (GLuint -> GLdouble -> IO ())
+ptr_glVertexAttrib1d = unsafePerformIO $ getCommand "glVertexAttrib1d"
+
+-- glVertexAttrib1dARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib1dvARB'. This command is an alias for 'glVertexAttrib1d'.
+glVertexAttrib1dARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glVertexAttrib1dARB v1 v2 = liftIO $ dyn837 ptr_glVertexAttrib1dARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1dARB #-}
+ptr_glVertexAttrib1dARB :: FunPtr (GLuint -> GLdouble -> IO ())
+ptr_glVertexAttrib1dARB = unsafePerformIO $ getCommand "glVertexAttrib1dARB"
+
+-- glVertexAttrib1dNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib1dvNV'. This command is an alias for 'glVertexAttrib1d'.
+glVertexAttrib1dNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glVertexAttrib1dNV v1 v2 = liftIO $ dyn837 ptr_glVertexAttrib1dNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1dNV #-}
+ptr_glVertexAttrib1dNV :: FunPtr (GLuint -> GLdouble -> IO ())
+ptr_glVertexAttrib1dNV = unsafePerformIO $ getCommand "glVertexAttrib1dNV"
+
+-- glVertexAttrib1dv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib1dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glVertexAttrib1dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib1dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1dv #-}
+ptr_glVertexAttrib1dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib1dv = unsafePerformIO $ getCommand "glVertexAttrib1dv"
+
+-- glVertexAttrib1dvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib1dv'.
+glVertexAttrib1dvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glVertexAttrib1dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib1dvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1dvARB #-}
+ptr_glVertexAttrib1dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib1dvARB = unsafePerformIO $ getCommand "glVertexAttrib1dvARB"
+
+-- glVertexAttrib1dvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib1dv'.
+glVertexAttrib1dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glVertexAttrib1dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib1dvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1dvNV #-}
+ptr_glVertexAttrib1dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib1dvNV = unsafePerformIO $ getCommand "glVertexAttrib1dvNV"
+
+-- glVertexAttrib1f ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib1fv'.
+glVertexAttrib1f
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> m ()
+glVertexAttrib1f v1 v2 = liftIO $ dyn838 ptr_glVertexAttrib1f v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1f #-}
+ptr_glVertexAttrib1f :: FunPtr (GLuint -> GLfloat -> IO ())
+ptr_glVertexAttrib1f = unsafePerformIO $ getCommand "glVertexAttrib1f"
+
+-- glVertexAttrib1fARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib1fvARB'. This command is an alias for 'glVertexAttrib1f'.
+glVertexAttrib1fARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> m ()
+glVertexAttrib1fARB v1 v2 = liftIO $ dyn838 ptr_glVertexAttrib1fARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1fARB #-}
+ptr_glVertexAttrib1fARB :: FunPtr (GLuint -> GLfloat -> IO ())
+ptr_glVertexAttrib1fARB = unsafePerformIO $ getCommand "glVertexAttrib1fARB"
+
+-- glVertexAttrib1fNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib1fvNV'. This command is an alias for 'glVertexAttrib1f'.
+glVertexAttrib1fNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> m ()
+glVertexAttrib1fNV v1 v2 = liftIO $ dyn838 ptr_glVertexAttrib1fNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1fNV #-}
+ptr_glVertexAttrib1fNV :: FunPtr (GLuint -> GLfloat -> IO ())
+ptr_glVertexAttrib1fNV = unsafePerformIO $ getCommand "glVertexAttrib1fNV"
+
+-- glVertexAttrib1fv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib1fv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glVertexAttrib1fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib1fv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1fv #-}
+ptr_glVertexAttrib1fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib1fv = unsafePerformIO $ getCommand "glVertexAttrib1fv"
+
+-- glVertexAttrib1fvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib1fv'.
+glVertexAttrib1fvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glVertexAttrib1fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib1fvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1fvARB #-}
+ptr_glVertexAttrib1fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib1fvARB = unsafePerformIO $ getCommand "glVertexAttrib1fvARB"
+
+-- glVertexAttrib1fvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib1fv'.
+glVertexAttrib1fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glVertexAttrib1fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib1fvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1fvNV #-}
+ptr_glVertexAttrib1fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib1fvNV = unsafePerformIO $ getCommand "glVertexAttrib1fvNV"
+
+-- glVertexAttrib1hNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib1hvNV'.
+glVertexAttrib1hNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> m ()
+glVertexAttrib1hNV v1 v2 = liftIO $ dyn839 ptr_glVertexAttrib1hNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1hNV #-}
+ptr_glVertexAttrib1hNV :: FunPtr (GLuint -> GLhalfNV -> IO ())
+ptr_glVertexAttrib1hNV = unsafePerformIO $ getCommand "glVertexAttrib1hNV"
+
+-- glVertexAttrib1hvNV ---------------------------------------------------------
+
+glVertexAttrib1hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
+  -> m ()
+glVertexAttrib1hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib1hvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1hvNV #-}
+ptr_glVertexAttrib1hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttrib1hvNV = unsafePerformIO $ getCommand "glVertexAttrib1hvNV"
+
+-- glVertexAttrib1s ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib1sv'.
+glVertexAttrib1s
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> m ()
+glVertexAttrib1s v1 v2 = liftIO $ dyn841 ptr_glVertexAttrib1s v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1s #-}
+ptr_glVertexAttrib1s :: FunPtr (GLuint -> GLshort -> IO ())
+ptr_glVertexAttrib1s = unsafePerformIO $ getCommand "glVertexAttrib1s"
+
+-- glVertexAttrib1sARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib1svARB'. This command is an alias for 'glVertexAttrib1s'.
+glVertexAttrib1sARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> m ()
+glVertexAttrib1sARB v1 v2 = liftIO $ dyn841 ptr_glVertexAttrib1sARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1sARB #-}
+ptr_glVertexAttrib1sARB :: FunPtr (GLuint -> GLshort -> IO ())
+ptr_glVertexAttrib1sARB = unsafePerformIO $ getCommand "glVertexAttrib1sARB"
+
+-- glVertexAttrib1sNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib1svNV'. This command is an alias for 'glVertexAttrib1s'.
+glVertexAttrib1sNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> m ()
+glVertexAttrib1sNV v1 v2 = liftIO $ dyn841 ptr_glVertexAttrib1sNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1sNV #-}
+ptr_glVertexAttrib1sNV :: FunPtr (GLuint -> GLshort -> IO ())
+ptr_glVertexAttrib1sNV = unsafePerformIO $ getCommand "glVertexAttrib1sNV"
+
+-- glVertexAttrib1sv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib1sv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
+  -> m ()
+glVertexAttrib1sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib1sv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1sv #-}
+ptr_glVertexAttrib1sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib1sv = unsafePerformIO $ getCommand "glVertexAttrib1sv"
+
+-- glVertexAttrib1svARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib1sv'.
+glVertexAttrib1svARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
+  -> m ()
+glVertexAttrib1svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib1svARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1svARB #-}
+ptr_glVertexAttrib1svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib1svARB = unsafePerformIO $ getCommand "glVertexAttrib1svARB"
+
+-- glVertexAttrib1svNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib1sv'.
+glVertexAttrib1svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
+  -> m ()
+glVertexAttrib1svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib1svNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib1svNV #-}
+ptr_glVertexAttrib1svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib1svNV = unsafePerformIO $ getCommand "glVertexAttrib1svNV"
+
+-- glVertexAttrib2d ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2dv'.
+glVertexAttrib2d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glVertexAttrib2d v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttrib2d v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2d #-}
+ptr_glVertexAttrib2d :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib2d = unsafePerformIO $ getCommand "glVertexAttrib2d"
+
+-- glVertexAttrib2dARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2dvARB'. This command is an alias for 'glVertexAttrib2d'.
+glVertexAttrib2dARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glVertexAttrib2dARB v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttrib2dARB v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2dARB #-}
+ptr_glVertexAttrib2dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib2dARB = unsafePerformIO $ getCommand "glVertexAttrib2dARB"
+
+-- glVertexAttrib2dNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2dvNV'. This command is an alias for 'glVertexAttrib2d'.
+glVertexAttrib2dNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glVertexAttrib2dNV v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttrib2dNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2dNV #-}
+ptr_glVertexAttrib2dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib2dNV = unsafePerformIO $ getCommand "glVertexAttrib2dNV"
+
+-- glVertexAttrib2dv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib2dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib2dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib2dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2dv #-}
+ptr_glVertexAttrib2dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib2dv = unsafePerformIO $ getCommand "glVertexAttrib2dv"
+
+-- glVertexAttrib2dvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2dv'.
+glVertexAttrib2dvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib2dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib2dvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2dvARB #-}
+ptr_glVertexAttrib2dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib2dvARB = unsafePerformIO $ getCommand "glVertexAttrib2dvARB"
+
+-- glVertexAttrib2dvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2dv'.
+glVertexAttrib2dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib2dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib2dvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2dvNV #-}
+ptr_glVertexAttrib2dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib2dvNV = unsafePerformIO $ getCommand "glVertexAttrib2dvNV"
+
+-- glVertexAttrib2f ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2fv'.
+glVertexAttrib2f
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> m ()
+glVertexAttrib2f v1 v2 v3 = liftIO $ dyn220 ptr_glVertexAttrib2f v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2f #-}
+ptr_glVertexAttrib2f :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib2f = unsafePerformIO $ getCommand "glVertexAttrib2f"
+
+-- glVertexAttrib2fARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2fvARB'. This command is an alias for 'glVertexAttrib2f'.
+glVertexAttrib2fARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> m ()
+glVertexAttrib2fARB v1 v2 v3 = liftIO $ dyn220 ptr_glVertexAttrib2fARB v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2fARB #-}
+ptr_glVertexAttrib2fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib2fARB = unsafePerformIO $ getCommand "glVertexAttrib2fARB"
+
+-- glVertexAttrib2fNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2fvNV'. This command is an alias for 'glVertexAttrib2f'.
+glVertexAttrib2fNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> m ()
+glVertexAttrib2fNV v1 v2 v3 = liftIO $ dyn220 ptr_glVertexAttrib2fNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2fNV #-}
+ptr_glVertexAttrib2fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib2fNV = unsafePerformIO $ getCommand "glVertexAttrib2fNV"
+
+-- glVertexAttrib2fv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib2fv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib2fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib2fv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2fv #-}
+ptr_glVertexAttrib2fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib2fv = unsafePerformIO $ getCommand "glVertexAttrib2fv"
+
+-- glVertexAttrib2fvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2fv'.
+glVertexAttrib2fvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib2fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib2fvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2fvARB #-}
+ptr_glVertexAttrib2fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib2fvARB = unsafePerformIO $ getCommand "glVertexAttrib2fvARB"
+
+-- glVertexAttrib2fvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2fv'.
+glVertexAttrib2fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib2fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib2fvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2fvNV #-}
+ptr_glVertexAttrib2fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib2fvNV = unsafePerformIO $ getCommand "glVertexAttrib2fvNV"
+
+-- glVertexAttrib2hNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2hvNV'.
+glVertexAttrib2hNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
+  -> m ()
+glVertexAttrib2hNV v1 v2 v3 = liftIO $ dyn842 ptr_glVertexAttrib2hNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2hNV #-}
+ptr_glVertexAttrib2hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glVertexAttrib2hNV = unsafePerformIO $ getCommand "glVertexAttrib2hNV"
+
+-- glVertexAttrib2hvNV ---------------------------------------------------------
+
+glVertexAttrib2hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttrib2hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib2hvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2hvNV #-}
+ptr_glVertexAttrib2hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttrib2hvNV = unsafePerformIO $ getCommand "glVertexAttrib2hvNV"
+
+-- glVertexAttrib2s ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2sv'.
+glVertexAttrib2s
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> m ()
+glVertexAttrib2s v1 v2 v3 = liftIO $ dyn843 ptr_glVertexAttrib2s v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2s #-}
+ptr_glVertexAttrib2s :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib2s = unsafePerformIO $ getCommand "glVertexAttrib2s"
+
+-- glVertexAttrib2sARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2svARB'. This command is an alias for 'glVertexAttrib2s'.
+glVertexAttrib2sARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> m ()
+glVertexAttrib2sARB v1 v2 v3 = liftIO $ dyn843 ptr_glVertexAttrib2sARB v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2sARB #-}
+ptr_glVertexAttrib2sARB :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib2sARB = unsafePerformIO $ getCommand "glVertexAttrib2sARB"
+
+-- glVertexAttrib2sNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib2svNV'. This command is an alias for 'glVertexAttrib2s'.
+glVertexAttrib2sNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> m ()
+glVertexAttrib2sNV v1 v2 v3 = liftIO $ dyn843 ptr_glVertexAttrib2sNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttrib2sNV #-}
+ptr_glVertexAttrib2sNV :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib2sNV = unsafePerformIO $ getCommand "glVertexAttrib2sNV"
+
+-- glVertexAttrib2sv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib2sv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib2sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib2sv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2sv #-}
+ptr_glVertexAttrib2sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib2sv = unsafePerformIO $ getCommand "glVertexAttrib2sv"
+
+-- glVertexAttrib2svARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2sv'.
+glVertexAttrib2svARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib2svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib2svARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2svARB #-}
+ptr_glVertexAttrib2svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib2svARB = unsafePerformIO $ getCommand "glVertexAttrib2svARB"
+
+-- glVertexAttrib2svNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib2sv'.
+glVertexAttrib2svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib2svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib2svNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib2svNV #-}
+ptr_glVertexAttrib2svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib2svNV = unsafePerformIO $ getCommand "glVertexAttrib2svNV"
+
+-- glVertexAttrib3d ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3dv'.
+glVertexAttrib3d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttrib3d v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttrib3d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3d #-}
+ptr_glVertexAttrib3d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib3d = unsafePerformIO $ getCommand "glVertexAttrib3d"
+
+-- glVertexAttrib3dARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3dvARB'. This command is an alias for 'glVertexAttrib3d'.
+glVertexAttrib3dARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttrib3dARB v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttrib3dARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3dARB #-}
+ptr_glVertexAttrib3dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib3dARB = unsafePerformIO $ getCommand "glVertexAttrib3dARB"
+
+-- glVertexAttrib3dNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3dvNV'. This command is an alias for 'glVertexAttrib3d'.
+glVertexAttrib3dNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttrib3dNV v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttrib3dNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3dNV #-}
+ptr_glVertexAttrib3dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib3dNV = unsafePerformIO $ getCommand "glVertexAttrib3dNV"
+
+-- glVertexAttrib3dv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib3dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib3dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib3dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3dv #-}
+ptr_glVertexAttrib3dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib3dv = unsafePerformIO $ getCommand "glVertexAttrib3dv"
+
+-- glVertexAttrib3dvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib3dv'.
+glVertexAttrib3dvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib3dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib3dvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3dvARB #-}
+ptr_glVertexAttrib3dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib3dvARB = unsafePerformIO $ getCommand "glVertexAttrib3dvARB"
+
+-- glVertexAttrib3dvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib3dv'.
+glVertexAttrib3dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib3dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib3dvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3dvNV #-}
+ptr_glVertexAttrib3dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib3dvNV = unsafePerformIO $ getCommand "glVertexAttrib3dvNV"
+
+-- glVertexAttrib3f ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3fv'.
+glVertexAttrib3f
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glVertexAttrib3f v1 v2 v3 v4 = liftIO $ dyn688 ptr_glVertexAttrib3f v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3f #-}
+ptr_glVertexAttrib3f :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib3f = unsafePerformIO $ getCommand "glVertexAttrib3f"
+
+-- glVertexAttrib3fARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3fvARB'. This command is an alias for 'glVertexAttrib3f'.
+glVertexAttrib3fARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glVertexAttrib3fARB v1 v2 v3 v4 = liftIO $ dyn688 ptr_glVertexAttrib3fARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3fARB #-}
+ptr_glVertexAttrib3fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib3fARB = unsafePerformIO $ getCommand "glVertexAttrib3fARB"
+
+-- glVertexAttrib3fNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3fvNV'. This command is an alias for 'glVertexAttrib3f'.
+glVertexAttrib3fNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glVertexAttrib3fNV v1 v2 v3 v4 = liftIO $ dyn688 ptr_glVertexAttrib3fNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3fNV #-}
+ptr_glVertexAttrib3fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib3fNV = unsafePerformIO $ getCommand "glVertexAttrib3fNV"
+
+-- glVertexAttrib3fv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib3fv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib3fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib3fv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3fv #-}
+ptr_glVertexAttrib3fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib3fv = unsafePerformIO $ getCommand "glVertexAttrib3fv"
+
+-- glVertexAttrib3fvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib3fv'.
+glVertexAttrib3fvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib3fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib3fvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3fvARB #-}
+ptr_glVertexAttrib3fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib3fvARB = unsafePerformIO $ getCommand "glVertexAttrib3fvARB"
+
+-- glVertexAttrib3fvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib3fv'.
+glVertexAttrib3fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib3fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib3fvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3fvNV #-}
+ptr_glVertexAttrib3fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib3fvNV = unsafePerformIO $ getCommand "glVertexAttrib3fvNV"
+
+-- glVertexAttrib3hNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3hvNV'.
+glVertexAttrib3hNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
+  -> m ()
+glVertexAttrib3hNV v1 v2 v3 v4 = liftIO $ dyn845 ptr_glVertexAttrib3hNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3hNV #-}
+ptr_glVertexAttrib3hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glVertexAttrib3hNV = unsafePerformIO $ getCommand "glVertexAttrib3hNV"
+
+-- glVertexAttrib3hvNV ---------------------------------------------------------
+
+glVertexAttrib3hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttrib3hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib3hvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3hvNV #-}
+ptr_glVertexAttrib3hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttrib3hvNV = unsafePerformIO $ getCommand "glVertexAttrib3hvNV"
+
+-- glVertexAttrib3s ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3sv'.
+glVertexAttrib3s
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> m ()
+glVertexAttrib3s v1 v2 v3 v4 = liftIO $ dyn846 ptr_glVertexAttrib3s v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3s #-}
+ptr_glVertexAttrib3s :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib3s = unsafePerformIO $ getCommand "glVertexAttrib3s"
+
+-- glVertexAttrib3sARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3svARB'. This command is an alias for 'glVertexAttrib3s'.
+glVertexAttrib3sARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> m ()
+glVertexAttrib3sARB v1 v2 v3 v4 = liftIO $ dyn846 ptr_glVertexAttrib3sARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3sARB #-}
+ptr_glVertexAttrib3sARB :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib3sARB = unsafePerformIO $ getCommand "glVertexAttrib3sARB"
+
+-- glVertexAttrib3sNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib3svNV'. This command is an alias for 'glVertexAttrib3s'.
+glVertexAttrib3sNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> m ()
+glVertexAttrib3sNV v1 v2 v3 v4 = liftIO $ dyn846 ptr_glVertexAttrib3sNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttrib3sNV #-}
+ptr_glVertexAttrib3sNV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib3sNV = unsafePerformIO $ getCommand "glVertexAttrib3sNV"
+
+-- glVertexAttrib3sv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib3sv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib3sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib3sv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3sv #-}
+ptr_glVertexAttrib3sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib3sv = unsafePerformIO $ getCommand "glVertexAttrib3sv"
+
+-- glVertexAttrib3svARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib3sv'.
+glVertexAttrib3svARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib3svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib3svARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3svARB #-}
+ptr_glVertexAttrib3svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib3svARB = unsafePerformIO $ getCommand "glVertexAttrib3svARB"
+
+-- glVertexAttrib3svNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib3sv'.
+glVertexAttrib3svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib3svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib3svNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib3svNV #-}
+ptr_glVertexAttrib3svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib3svNV = unsafePerformIO $ getCommand "glVertexAttrib3svNV"
+
+-- glVertexAttrib4Nbv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4Nbv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttrib4Nbv v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4Nbv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4Nbv #-}
+ptr_glVertexAttrib4Nbv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttrib4Nbv = unsafePerformIO $ getCommand "glVertexAttrib4Nbv"
+
+-- glVertexAttrib4NbvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Nbv'.
+glVertexAttrib4NbvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttrib4NbvARB v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4NbvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4NbvARB #-}
+ptr_glVertexAttrib4NbvARB :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttrib4NbvARB = unsafePerformIO $ getCommand "glVertexAttrib4NbvARB"
+
+-- glVertexAttrib4Niv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4Niv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glVertexAttrib4Niv v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4Niv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4Niv #-}
+ptr_glVertexAttrib4Niv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttrib4Niv = unsafePerformIO $ getCommand "glVertexAttrib4Niv"
+
+-- glVertexAttrib4NivARB -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Niv'.
+glVertexAttrib4NivARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glVertexAttrib4NivARB v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4NivARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4NivARB #-}
+ptr_glVertexAttrib4NivARB :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttrib4NivARB = unsafePerformIO $ getCommand "glVertexAttrib4NivARB"
+
+-- glVertexAttrib4Nsv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4Nsv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib4Nsv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4Nsv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4Nsv #-}
+ptr_glVertexAttrib4Nsv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib4Nsv = unsafePerformIO $ getCommand "glVertexAttrib4Nsv"
+
+-- glVertexAttrib4NsvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Nsv'.
+glVertexAttrib4NsvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib4NsvARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4NsvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4NsvARB #-}
+ptr_glVertexAttrib4NsvARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib4NsvARB = unsafePerformIO $ getCommand "glVertexAttrib4NsvARB"
+
+-- glVertexAttrib4Nub ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4Nub
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLubyte -- ^ @x@.
+  -> GLubyte -- ^ @y@.
+  -> GLubyte -- ^ @z@.
+  -> GLubyte -- ^ @w@.
+  -> m ()
+glVertexAttrib4Nub v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glVertexAttrib4Nub v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4Nub #-}
+ptr_glVertexAttrib4Nub :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glVertexAttrib4Nub = unsafePerformIO $ getCommand "glVertexAttrib4Nub"
+
+-- glVertexAttrib4NubARB -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Nub'.
+glVertexAttrib4NubARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLubyte -- ^ @x@.
+  -> GLubyte -- ^ @y@.
+  -> GLubyte -- ^ @z@.
+  -> GLubyte -- ^ @w@.
+  -> m ()
+glVertexAttrib4NubARB v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glVertexAttrib4NubARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4NubARB #-}
+ptr_glVertexAttrib4NubARB :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glVertexAttrib4NubARB = unsafePerformIO $ getCommand "glVertexAttrib4NubARB"
+
+-- glVertexAttrib4Nubv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4Nubv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
+  -> m ()
+glVertexAttrib4Nubv v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4Nubv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4Nubv #-}
+ptr_glVertexAttrib4Nubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVertexAttrib4Nubv = unsafePerformIO $ getCommand "glVertexAttrib4Nubv"
+
+-- glVertexAttrib4NubvARB ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Nubv'.
+glVertexAttrib4NubvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
+  -> m ()
+glVertexAttrib4NubvARB v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4NubvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4NubvARB #-}
+ptr_glVertexAttrib4NubvARB :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVertexAttrib4NubvARB = unsafePerformIO $ getCommand "glVertexAttrib4NubvARB"
+
+-- glVertexAttrib4Nuiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4Nuiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glVertexAttrib4Nuiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4Nuiv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4Nuiv #-}
+ptr_glVertexAttrib4Nuiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttrib4Nuiv = unsafePerformIO $ getCommand "glVertexAttrib4Nuiv"
+
+-- glVertexAttrib4NuivARB ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Nuiv'.
+glVertexAttrib4NuivARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glVertexAttrib4NuivARB v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4NuivARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4NuivARB #-}
+ptr_glVertexAttrib4NuivARB :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttrib4NuivARB = unsafePerformIO $ getCommand "glVertexAttrib4NuivARB"
+
+-- glVertexAttrib4Nusv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4Nusv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
+  -> m ()
+glVertexAttrib4Nusv v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4Nusv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4Nusv #-}
+ptr_glVertexAttrib4Nusv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+ptr_glVertexAttrib4Nusv = unsafePerformIO $ getCommand "glVertexAttrib4Nusv"
+
+-- glVertexAttrib4NusvARB ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Nusv'.
+glVertexAttrib4NusvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
+  -> m ()
+glVertexAttrib4NusvARB v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4NusvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4NusvARB #-}
+ptr_glVertexAttrib4NusvARB :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+ptr_glVertexAttrib4NusvARB = unsafePerformIO $ getCommand "glVertexAttrib4NusvARB"
+
+-- glVertexAttrib4bv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4bv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttrib4bv v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4bv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4bv #-}
+ptr_glVertexAttrib4bv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttrib4bv = unsafePerformIO $ getCommand "glVertexAttrib4bv"
+
+-- glVertexAttrib4bvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4bv'.
+glVertexAttrib4bvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttrib4bvARB v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4bvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4bvARB #-}
+ptr_glVertexAttrib4bvARB :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttrib4bvARB = unsafePerformIO $ getCommand "glVertexAttrib4bvARB"
+
+-- glVertexAttrib4d ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib4dv'.
+glVertexAttrib4d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glVertexAttrib4d v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttrib4d v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4d #-}
+ptr_glVertexAttrib4d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib4d = unsafePerformIO $ getCommand "glVertexAttrib4d"
+
+-- glVertexAttrib4dARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4dvARB'. This command is an alias for 'glVertexAttrib4d'.
+glVertexAttrib4dARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glVertexAttrib4dARB v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttrib4dARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4dARB #-}
+ptr_glVertexAttrib4dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib4dARB = unsafePerformIO $ getCommand "glVertexAttrib4dARB"
+
+-- glVertexAttrib4dNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4dvNV'. This command is an alias for 'glVertexAttrib4d'.
+glVertexAttrib4dNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glVertexAttrib4dNV v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttrib4dNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4dNV #-}
+ptr_glVertexAttrib4dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttrib4dNV = unsafePerformIO $ getCommand "glVertexAttrib4dNV"
+
+-- glVertexAttrib4dv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib4dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib4dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4dv #-}
+ptr_glVertexAttrib4dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib4dv = unsafePerformIO $ getCommand "glVertexAttrib4dv"
+
+-- glVertexAttrib4dvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4dv'.
+glVertexAttrib4dvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib4dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib4dvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4dvARB #-}
+ptr_glVertexAttrib4dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib4dvARB = unsafePerformIO $ getCommand "glVertexAttrib4dvARB"
+
+-- glVertexAttrib4dvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4dv'.
+glVertexAttrib4dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttrib4dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib4dvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4dvNV #-}
+ptr_glVertexAttrib4dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttrib4dvNV = unsafePerformIO $ getCommand "glVertexAttrib4dvNV"
+
+-- glVertexAttrib4f ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib4fv'.
+glVertexAttrib4f
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glVertexAttrib4f v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glVertexAttrib4f v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4f #-}
+ptr_glVertexAttrib4f :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib4f = unsafePerformIO $ getCommand "glVertexAttrib4f"
+
+-- glVertexAttrib4fARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4fvARB'. This command is an alias for 'glVertexAttrib4f'.
+glVertexAttrib4fARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glVertexAttrib4fARB v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glVertexAttrib4fARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4fARB #-}
+ptr_glVertexAttrib4fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib4fARB = unsafePerformIO $ getCommand "glVertexAttrib4fARB"
+
+-- glVertexAttrib4fNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4fvNV'. This command is an alias for 'glVertexAttrib4f'.
+glVertexAttrib4fNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glVertexAttrib4fNV v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glVertexAttrib4fNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4fNV #-}
+ptr_glVertexAttrib4fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexAttrib4fNV = unsafePerformIO $ getCommand "glVertexAttrib4fNV"
+
+-- glVertexAttrib4fv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4fv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib4fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib4fv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4fv #-}
+ptr_glVertexAttrib4fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib4fv = unsafePerformIO $ getCommand "glVertexAttrib4fv"
+
+-- glVertexAttrib4fvARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4fv'.
+glVertexAttrib4fvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib4fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib4fvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4fvARB #-}
+ptr_glVertexAttrib4fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib4fvARB = unsafePerformIO $ getCommand "glVertexAttrib4fvARB"
+
+-- glVertexAttrib4fvNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4fv'.
+glVertexAttrib4fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttrib4fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib4fvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4fvNV #-}
+ptr_glVertexAttrib4fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glVertexAttrib4fvNV = unsafePerformIO $ getCommand "glVertexAttrib4fvNV"
+
+-- glVertexAttrib4hNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4hvNV'.
+glVertexAttrib4hNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
+  -> GLhalfNV -- ^ @w@ of type @Half16NV@.
+  -> m ()
+glVertexAttrib4hNV v1 v2 v3 v4 v5 = liftIO $ dyn850 ptr_glVertexAttrib4hNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4hNV #-}
+ptr_glVertexAttrib4hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
+ptr_glVertexAttrib4hNV = unsafePerformIO $ getCommand "glVertexAttrib4hNV"
+
+-- glVertexAttrib4hvNV ---------------------------------------------------------
+
+glVertexAttrib4hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttrib4hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib4hvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4hvNV #-}
+ptr_glVertexAttrib4hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttrib4hvNV = unsafePerformIO $ getCommand "glVertexAttrib4hvNV"
+
+-- glVertexAttrib4iv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4iv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glVertexAttrib4iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4iv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4iv #-}
+ptr_glVertexAttrib4iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttrib4iv = unsafePerformIO $ getCommand "glVertexAttrib4iv"
+
+-- glVertexAttrib4ivARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4iv'.
+glVertexAttrib4ivARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glVertexAttrib4ivARB v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4ivARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4ivARB #-}
+ptr_glVertexAttrib4ivARB :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttrib4ivARB = unsafePerformIO $ getCommand "glVertexAttrib4ivARB"
+
+-- glVertexAttrib4s ------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib4sv'.
+glVertexAttrib4s
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> GLshort -- ^ @w@.
+  -> m ()
+glVertexAttrib4s v1 v2 v3 v4 v5 = liftIO $ dyn851 ptr_glVertexAttrib4s v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4s #-}
+ptr_glVertexAttrib4s :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib4s = unsafePerformIO $ getCommand "glVertexAttrib4s"
+
+-- glVertexAttrib4sARB ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4svARB'. This command is an alias for 'glVertexAttrib4s'.
+glVertexAttrib4sARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> GLshort -- ^ @w@.
+  -> m ()
+glVertexAttrib4sARB v1 v2 v3 v4 v5 = liftIO $ dyn851 ptr_glVertexAttrib4sARB v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4sARB #-}
+ptr_glVertexAttrib4sARB :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib4sARB = unsafePerformIO $ getCommand "glVertexAttrib4sARB"
+
+-- glVertexAttrib4sNV ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4svNV'. This command is an alias for 'glVertexAttrib4s'.
+glVertexAttrib4sNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> GLshort -- ^ @w@.
+  -> m ()
+glVertexAttrib4sNV v1 v2 v3 v4 v5 = liftIO $ dyn851 ptr_glVertexAttrib4sNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4sNV #-}
+ptr_glVertexAttrib4sNV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexAttrib4sNV = unsafePerformIO $ getCommand "glVertexAttrib4sNV"
+
+-- glVertexAttrib4sv -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4sv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib4sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4sv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4sv #-}
+ptr_glVertexAttrib4sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib4sv = unsafePerformIO $ getCommand "glVertexAttrib4sv"
+
+-- glVertexAttrib4svARB --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4sv'.
+glVertexAttrib4svARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib4svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4svARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4svARB #-}
+ptr_glVertexAttrib4svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib4svARB = unsafePerformIO $ getCommand "glVertexAttrib4svARB"
+
+-- glVertexAttrib4svNV ---------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4sv'.
+glVertexAttrib4svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttrib4svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4svNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4svNV #-}
+ptr_glVertexAttrib4svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttrib4svNV = unsafePerformIO $ getCommand "glVertexAttrib4svNV"
+
+-- glVertexAttrib4ubNV ---------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttrib4ubvNV'. This command is an alias for 'glVertexAttrib4Nub'.
+glVertexAttrib4ubNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLubyte -- ^ @x@ of type @ColorUB@.
+  -> GLubyte -- ^ @y@ of type @ColorUB@.
+  -> GLubyte -- ^ @z@ of type @ColorUB@.
+  -> GLubyte -- ^ @w@ of type @ColorUB@.
+  -> m ()
+glVertexAttrib4ubNV v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glVertexAttrib4ubNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttrib4ubNV #-}
+ptr_glVertexAttrib4ubNV :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
+ptr_glVertexAttrib4ubNV = unsafePerformIO $ getCommand "glVertexAttrib4ubNV"
+
+-- glVertexAttrib4ubv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4ubv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
+  -> m ()
+glVertexAttrib4ubv v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4ubv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4ubv #-}
+ptr_glVertexAttrib4ubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVertexAttrib4ubv = unsafePerformIO $ getCommand "glVertexAttrib4ubv"
+
+-- glVertexAttrib4ubvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4ubv'.
+glVertexAttrib4ubvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
+  -> m ()
+glVertexAttrib4ubvARB v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4ubvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4ubvARB #-}
+ptr_glVertexAttrib4ubvARB :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVertexAttrib4ubvARB = unsafePerformIO $ getCommand "glVertexAttrib4ubvARB"
+
+-- glVertexAttrib4ubvNV --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4Nubv'.
+glVertexAttrib4ubvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @ColorUB@.
+  -> m ()
+glVertexAttrib4ubvNV v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4ubvNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4ubvNV #-}
+ptr_glVertexAttrib4ubvNV :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVertexAttrib4ubvNV = unsafePerformIO $ getCommand "glVertexAttrib4ubvNV"
+
+-- glVertexAttrib4uiv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glVertexAttrib4uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4uiv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4uiv #-}
+ptr_glVertexAttrib4uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttrib4uiv = unsafePerformIO $ getCommand "glVertexAttrib4uiv"
+
+-- glVertexAttrib4uivARB -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4uiv'.
+glVertexAttrib4uivARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glVertexAttrib4uivARB v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4uivARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4uivARB #-}
+ptr_glVertexAttrib4uivARB :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttrib4uivARB = unsafePerformIO $ getCommand "glVertexAttrib4uivARB"
+
+-- glVertexAttrib4usv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttrib4usv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
+  -> m ()
+glVertexAttrib4usv v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4usv v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4usv #-}
+ptr_glVertexAttrib4usv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+ptr_glVertexAttrib4usv = unsafePerformIO $ getCommand "glVertexAttrib4usv"
+
+-- glVertexAttrib4usvARB -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttrib4usv'.
+glVertexAttrib4usvARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
+  -> m ()
+glVertexAttrib4usvARB v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4usvARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttrib4usvARB #-}
+ptr_glVertexAttrib4usvARB :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+ptr_glVertexAttrib4usvARB = unsafePerformIO $ getCommand "glVertexAttrib4usvARB"
+
+-- glVertexAttribArrayObjectATI ------------------------------------------------
+
+glVertexAttribArrayObjectATI
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLsizei -- ^ @stride@.
+  -> GLuint -- ^ @buffer@.
+  -> GLuint -- ^ @offset@.
+  -> m ()
+glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn852 ptr_glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7
+
+{-# NOINLINE ptr_glVertexAttribArrayObjectATI #-}
+ptr_glVertexAttribArrayObjectATI :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribArrayObjectATI = unsafePerformIO $ getCommand "glVertexAttribArrayObjectATI"
+
+-- glVertexAttribBinding -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribBinding.xhtml OpenGL 4.x>.
+glVertexAttribBinding
+  :: MonadIO m
+  => GLuint -- ^ @attribindex@.
+  -> GLuint -- ^ @bindingindex@.
+  -> m ()
+glVertexAttribBinding v1 v2 = liftIO $ dyn3 ptr_glVertexAttribBinding v1 v2
+
+{-# NOINLINE ptr_glVertexAttribBinding #-}
+ptr_glVertexAttribBinding :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribBinding = unsafePerformIO $ getCommand "glVertexAttribBinding"
+
+-- glVertexAttribDivisor -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribDivisor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribDivisor.xhtml OpenGL 4.x>.
+glVertexAttribDivisor
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexAttribDivisor v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisor v1 v2
+
+{-# NOINLINE ptr_glVertexAttribDivisor #-}
+ptr_glVertexAttribDivisor :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribDivisor = unsafePerformIO $ getCommand "glVertexAttribDivisor"
+
+-- glVertexAttribDivisorANGLE --------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribDivisor'.
+glVertexAttribDivisorANGLE
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexAttribDivisorANGLE v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorANGLE v1 v2
+
+{-# NOINLINE ptr_glVertexAttribDivisorANGLE #-}
+ptr_glVertexAttribDivisorANGLE :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribDivisorANGLE = unsafePerformIO $ getCommand "glVertexAttribDivisorANGLE"
+
+-- glVertexAttribDivisorARB ----------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribDivisor'.
+glVertexAttribDivisorARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexAttribDivisorARB v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttribDivisorARB #-}
+ptr_glVertexAttribDivisorARB :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribDivisorARB = unsafePerformIO $ getCommand "glVertexAttribDivisorARB"
+
+-- glVertexAttribDivisorEXT ----------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribDivisor'.
+glVertexAttribDivisorEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexAttribDivisorEXT v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribDivisorEXT #-}
+ptr_glVertexAttribDivisorEXT :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribDivisorEXT = unsafePerformIO $ getCommand "glVertexAttribDivisorEXT"
+
+-- glVertexAttribDivisorNV -----------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribDivisor'.
+glVertexAttribDivisorNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexAttribDivisorNV v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribDivisorNV #-}
+ptr_glVertexAttribDivisorNV :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribDivisorNV = unsafePerformIO $ getCommand "glVertexAttribDivisorNV"
+
+-- glVertexAttribFormat --------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
+glVertexAttribFormat
+  :: MonadIO m
+  => GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexAttribFormat v1 v2 v3 v4 v5 = liftIO $ dyn853 ptr_glVertexAttribFormat v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribFormat #-}
+ptr_glVertexAttribFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
+ptr_glVertexAttribFormat = unsafePerformIO $ getCommand "glVertexAttribFormat"
+
+-- glVertexAttribFormatNV ------------------------------------------------------
+
+glVertexAttribFormatNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glVertexAttribFormatNV v1 v2 v3 v4 v5 = liftIO $ dyn854 ptr_glVertexAttribFormatNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribFormatNV #-}
+ptr_glVertexAttribFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
+ptr_glVertexAttribFormatNV = unsafePerformIO $ getCommand "glVertexAttribFormatNV"
+
+-- glVertexAttribI1i -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI1iv'.
+glVertexAttribI1i
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> m ()
+glVertexAttribI1i v1 v2 = liftIO $ dyn470 ptr_glVertexAttribI1i v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1i #-}
+ptr_glVertexAttribI1i :: FunPtr (GLuint -> GLint -> IO ())
+ptr_glVertexAttribI1i = unsafePerformIO $ getCommand "glVertexAttribI1i"
+
+-- glVertexAttribI1iEXT --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI1ivEXT'. This command is an alias for 'glVertexAttribI1i'.
+glVertexAttribI1iEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> m ()
+glVertexAttribI1iEXT v1 v2 = liftIO $ dyn470 ptr_glVertexAttribI1iEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1iEXT #-}
+ptr_glVertexAttribI1iEXT :: FunPtr (GLuint -> GLint -> IO ())
+ptr_glVertexAttribI1iEXT = unsafePerformIO $ getCommand "glVertexAttribI1iEXT"
+
+-- glVertexAttribI1iv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI1iv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glVertexAttribI1iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI1iv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1iv #-}
+ptr_glVertexAttribI1iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI1iv = unsafePerformIO $ getCommand "glVertexAttribI1iv"
+
+-- glVertexAttribI1ivEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI1iv'.
+glVertexAttribI1ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glVertexAttribI1ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI1ivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1ivEXT #-}
+ptr_glVertexAttribI1ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI1ivEXT = unsafePerformIO $ getCommand "glVertexAttribI1ivEXT"
+
+-- glVertexAttribI1ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI1uiv'.
+glVertexAttribI1ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> m ()
+glVertexAttribI1ui v1 v2 = liftIO $ dyn3 ptr_glVertexAttribI1ui v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1ui #-}
+ptr_glVertexAttribI1ui :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI1ui = unsafePerformIO $ getCommand "glVertexAttribI1ui"
+
+-- glVertexAttribI1uiEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI1uivEXT'. This command is an alias for 'glVertexAttribI1ui'.
+glVertexAttribI1uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> m ()
+glVertexAttribI1uiEXT v1 v2 = liftIO $ dyn3 ptr_glVertexAttribI1uiEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1uiEXT #-}
+ptr_glVertexAttribI1uiEXT :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI1uiEXT = unsafePerformIO $ getCommand "glVertexAttribI1uiEXT"
+
+-- glVertexAttribI1uiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI1uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexAttribI1uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI1uiv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1uiv #-}
+ptr_glVertexAttribI1uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI1uiv = unsafePerformIO $ getCommand "glVertexAttribI1uiv"
+
+-- glVertexAttribI1uivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI1uiv'.
+glVertexAttribI1uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexAttribI1uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI1uivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI1uivEXT #-}
+ptr_glVertexAttribI1uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI1uivEXT = unsafePerformIO $ getCommand "glVertexAttribI1uivEXT"
+
+-- glVertexAttribI2i -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI2iv'.
+glVertexAttribI2i
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> m ()
+glVertexAttribI2i v1 v2 v3 = liftIO $ dyn629 ptr_glVertexAttribI2i v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribI2i #-}
+ptr_glVertexAttribI2i :: FunPtr (GLuint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI2i = unsafePerformIO $ getCommand "glVertexAttribI2i"
+
+-- glVertexAttribI2iEXT --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI2ivEXT'. This command is an alias for 'glVertexAttribI2i'.
+glVertexAttribI2iEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> m ()
+glVertexAttribI2iEXT v1 v2 v3 = liftIO $ dyn629 ptr_glVertexAttribI2iEXT v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribI2iEXT #-}
+ptr_glVertexAttribI2iEXT :: FunPtr (GLuint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI2iEXT = unsafePerformIO $ getCommand "glVertexAttribI2iEXT"
+
+-- glVertexAttribI2iv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI2iv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI2iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI2iv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI2iv #-}
+ptr_glVertexAttribI2iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI2iv = unsafePerformIO $ getCommand "glVertexAttribI2iv"
+
+-- glVertexAttribI2ivEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI2iv'.
+glVertexAttribI2ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI2ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI2ivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI2ivEXT #-}
+ptr_glVertexAttribI2ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI2ivEXT = unsafePerformIO $ getCommand "glVertexAttribI2ivEXT"
+
+-- glVertexAttribI2ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI2uiv'.
+glVertexAttribI2ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> m ()
+glVertexAttribI2ui v1 v2 v3 = liftIO $ dyn101 ptr_glVertexAttribI2ui v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribI2ui #-}
+ptr_glVertexAttribI2ui :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI2ui = unsafePerformIO $ getCommand "glVertexAttribI2ui"
+
+-- glVertexAttribI2uiEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI2uivEXT'. This command is an alias for 'glVertexAttribI2ui'.
+glVertexAttribI2uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> m ()
+glVertexAttribI2uiEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexAttribI2uiEXT v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribI2uiEXT #-}
+ptr_glVertexAttribI2uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI2uiEXT = unsafePerformIO $ getCommand "glVertexAttribI2uiEXT"
+
+-- glVertexAttribI2uiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI2uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @2@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI2uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI2uiv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI2uiv #-}
+ptr_glVertexAttribI2uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI2uiv = unsafePerformIO $ getCommand "glVertexAttribI2uiv"
+
+-- glVertexAttribI2uivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI2uiv'.
+glVertexAttribI2uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @2@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI2uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI2uivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI2uivEXT #-}
+ptr_glVertexAttribI2uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI2uivEXT = unsafePerformIO $ getCommand "glVertexAttribI2uivEXT"
+
+-- glVertexAttribI3i -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI3iv'.
+glVertexAttribI3i
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> m ()
+glVertexAttribI3i v1 v2 v3 v4 = liftIO $ dyn639 ptr_glVertexAttribI3i v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribI3i #-}
+ptr_glVertexAttribI3i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI3i = unsafePerformIO $ getCommand "glVertexAttribI3i"
+
+-- glVertexAttribI3iEXT --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI3ivEXT'. This command is an alias for 'glVertexAttribI3i'.
+glVertexAttribI3iEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> m ()
+glVertexAttribI3iEXT v1 v2 v3 v4 = liftIO $ dyn639 ptr_glVertexAttribI3iEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribI3iEXT #-}
+ptr_glVertexAttribI3iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI3iEXT = unsafePerformIO $ getCommand "glVertexAttribI3iEXT"
+
+-- glVertexAttribI3iv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI3iv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI3iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI3iv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3iv #-}
+ptr_glVertexAttribI3iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI3iv = unsafePerformIO $ getCommand "glVertexAttribI3iv"
+
+-- glVertexAttribI3ivEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI3iv'.
+glVertexAttribI3ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI3ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI3ivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3ivEXT #-}
+ptr_glVertexAttribI3ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI3ivEXT = unsafePerformIO $ getCommand "glVertexAttribI3ivEXT"
+
+-- glVertexAttribI3ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI3uiv'.
+glVertexAttribI3ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> m ()
+glVertexAttribI3ui v1 v2 v3 v4 = liftIO $ dyn77 ptr_glVertexAttribI3ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribI3ui #-}
+ptr_glVertexAttribI3ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI3ui = unsafePerformIO $ getCommand "glVertexAttribI3ui"
+
+-- glVertexAttribI3uiEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI3uivEXT'. This command is an alias for 'glVertexAttribI3ui'.
+glVertexAttribI3uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> m ()
+glVertexAttribI3uiEXT v1 v2 v3 v4 = liftIO $ dyn77 ptr_glVertexAttribI3uiEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribI3uiEXT #-}
+ptr_glVertexAttribI3uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI3uiEXT = unsafePerformIO $ getCommand "glVertexAttribI3uiEXT"
+
+-- glVertexAttribI3uiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI3uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI3uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI3uiv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3uiv #-}
+ptr_glVertexAttribI3uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI3uiv = unsafePerformIO $ getCommand "glVertexAttribI3uiv"
+
+-- glVertexAttribI3uivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI3uiv'.
+glVertexAttribI3uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI3uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI3uivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI3uivEXT #-}
+ptr_glVertexAttribI3uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI3uivEXT = unsafePerformIO $ getCommand "glVertexAttribI3uivEXT"
+
+-- glVertexAttribI4bv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI4bv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttribI4bv v1 v2 = liftIO $ dyn823 ptr_glVertexAttribI4bv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4bv #-}
+ptr_glVertexAttribI4bv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttribI4bv = unsafePerformIO $ getCommand "glVertexAttribI4bv"
+
+-- glVertexAttribI4bvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI4bv'.
+glVertexAttribI4bvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
+  -> m ()
+glVertexAttribI4bvEXT v1 v2 = liftIO $ dyn823 ptr_glVertexAttribI4bvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4bvEXT #-}
+ptr_glVertexAttribI4bvEXT :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
+ptr_glVertexAttribI4bvEXT = unsafePerformIO $ getCommand "glVertexAttribI4bvEXT"
+
+-- glVertexAttribI4i -----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI4iv'.
+glVertexAttribI4i
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glVertexAttribI4i v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glVertexAttribI4i v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribI4i #-}
+ptr_glVertexAttribI4i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI4i = unsafePerformIO $ getCommand "glVertexAttribI4i"
+
+-- glVertexAttribI4iEXT --------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI4ivEXT'. This command is an alias for 'glVertexAttribI4i'.
+glVertexAttribI4iEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glVertexAttribI4iEXT v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glVertexAttribI4iEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribI4iEXT #-}
+ptr_glVertexAttribI4iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexAttribI4iEXT = unsafePerformIO $ getCommand "glVertexAttribI4iEXT"
+
+-- glVertexAttribI4iv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI4iv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI4iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI4iv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4iv #-}
+ptr_glVertexAttribI4iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI4iv = unsafePerformIO $ getCommand "glVertexAttribI4iv"
+
+-- glVertexAttribI4ivEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI4iv'.
+glVertexAttribI4ivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glVertexAttribI4ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI4ivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4ivEXT #-}
+ptr_glVertexAttribI4ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
+ptr_glVertexAttribI4ivEXT = unsafePerformIO $ getCommand "glVertexAttribI4ivEXT"
+
+-- glVertexAttribI4sv ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI4sv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttribI4sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttribI4sv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4sv #-}
+ptr_glVertexAttribI4sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttribI4sv = unsafePerformIO $ getCommand "glVertexAttribI4sv"
+
+-- glVertexAttribI4svEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI4sv'.
+glVertexAttribI4svEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttribI4svEXT v1 v2 = liftIO $ dyn825 ptr_glVertexAttribI4svEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4svEXT #-}
+ptr_glVertexAttribI4svEXT :: FunPtr (GLuint -> Ptr GLshort -> IO ())
+ptr_glVertexAttribI4svEXT = unsafePerformIO $ getCommand "glVertexAttribI4svEXT"
+
+-- glVertexAttribI4ubv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI4ubv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
+  -> m ()
+glVertexAttribI4ubv v1 v2 = liftIO $ dyn372 ptr_glVertexAttribI4ubv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4ubv #-}
+ptr_glVertexAttribI4ubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVertexAttribI4ubv = unsafePerformIO $ getCommand "glVertexAttribI4ubv"
+
+-- glVertexAttribI4ubvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI4ubv'.
+glVertexAttribI4ubvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
+  -> m ()
+glVertexAttribI4ubvEXT v1 v2 = liftIO $ dyn372 ptr_glVertexAttribI4ubvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4ubvEXT #-}
+ptr_glVertexAttribI4ubvEXT :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
+ptr_glVertexAttribI4ubvEXT = unsafePerformIO $ getCommand "glVertexAttribI4ubvEXT"
+
+-- glVertexAttribI4ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI4uiv'.
+glVertexAttribI4ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> GLuint -- ^ @w@.
+  -> m ()
+glVertexAttribI4ui v1 v2 v3 v4 v5 = liftIO $ dyn855 ptr_glVertexAttribI4ui v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribI4ui #-}
+ptr_glVertexAttribI4ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI4ui = unsafePerformIO $ getCommand "glVertexAttribI4ui"
+
+-- glVertexAttribI4uiEXT -------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexAttribI4uivEXT'. This command is an alias for 'glVertexAttribI4ui'.
+glVertexAttribI4uiEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint -- ^ @x@.
+  -> GLuint -- ^ @y@.
+  -> GLuint -- ^ @z@.
+  -> GLuint -- ^ @w@.
+  -> m ()
+glVertexAttribI4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn855 ptr_glVertexAttribI4uiEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribI4uiEXT #-}
+ptr_glVertexAttribI4uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
+ptr_glVertexAttribI4uiEXT = unsafePerformIO $ getCommand "glVertexAttribI4uiEXT"
+
+-- glVertexAttribI4uiv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI4uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI4uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI4uiv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4uiv #-}
+ptr_glVertexAttribI4uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI4uiv = unsafePerformIO $ getCommand "glVertexAttribI4uiv"
+
+-- glVertexAttribI4uivEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI4uiv'.
+glVertexAttribI4uivEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
+  -> m ()
+glVertexAttribI4uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI4uivEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4uivEXT #-}
+ptr_glVertexAttribI4uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
+ptr_glVertexAttribI4uivEXT = unsafePerformIO $ getCommand "glVertexAttribI4uivEXT"
+
+-- glVertexAttribI4usv ---------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribI4usv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
+  -> m ()
+glVertexAttribI4usv v1 v2 = liftIO $ dyn826 ptr_glVertexAttribI4usv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4usv #-}
+ptr_glVertexAttribI4usv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+ptr_glVertexAttribI4usv = unsafePerformIO $ getCommand "glVertexAttribI4usv"
+
+-- glVertexAttribI4usvEXT ------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribI4usv'.
+glVertexAttribI4usvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
+  -> m ()
+glVertexAttribI4usvEXT v1 v2 = liftIO $ dyn826 ptr_glVertexAttribI4usvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribI4usvEXT #-}
+ptr_glVertexAttribI4usvEXT :: FunPtr (GLuint -> Ptr GLushort -> IO ())
+ptr_glVertexAttribI4usvEXT = unsafePerformIO $ getCommand "glVertexAttribI4usvEXT"
+
+-- glVertexAttribIFormat -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
+glVertexAttribIFormat
+  :: MonadIO m
+  => GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexAttribIFormat v1 v2 v3 v4 = liftIO $ dyn856 ptr_glVertexAttribIFormat v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribIFormat #-}
+ptr_glVertexAttribIFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
+ptr_glVertexAttribIFormat = unsafePerformIO $ getCommand "glVertexAttribIFormat"
+
+-- glVertexAttribIFormatNV -----------------------------------------------------
+
+glVertexAttribIFormatNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glVertexAttribIFormatNV v1 v2 v3 v4 = liftIO $ dyn857 ptr_glVertexAttribIFormatNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribIFormatNV #-}
+ptr_glVertexAttribIFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
+ptr_glVertexAttribIFormatNV = unsafePerformIO $ getCommand "glVertexAttribIFormatNV"
+
+-- glVertexAttribIPointer ------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml OpenGL 4.x>.
+glVertexAttribIPointer
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glVertexAttribIPointer v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribIPointer v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribIPointer #-}
+ptr_glVertexAttribIPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexAttribIPointer = unsafePerformIO $ getCommand "glVertexAttribIPointer"
+
+-- glVertexAttribIPointerEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribIPointer'.
+glVertexAttribIPointerEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glVertexAttribIPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribIPointerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribIPointerEXT #-}
+ptr_glVertexAttribIPointerEXT :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexAttribIPointerEXT = unsafePerformIO $ getCommand "glVertexAttribIPointerEXT"
+
+-- glVertexAttribL1d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL1d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glVertexAttribL1d v1 v2 = liftIO $ dyn837 ptr_glVertexAttribL1d v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1d #-}
+ptr_glVertexAttribL1d :: FunPtr (GLuint -> GLdouble -> IO ())
+ptr_glVertexAttribL1d = unsafePerformIO $ getCommand "glVertexAttribL1d"
+
+-- glVertexAttribL1dEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL1d'.
+glVertexAttribL1dEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glVertexAttribL1dEXT v1 v2 = liftIO $ dyn837 ptr_glVertexAttribL1dEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1dEXT #-}
+ptr_glVertexAttribL1dEXT :: FunPtr (GLuint -> GLdouble -> IO ())
+ptr_glVertexAttribL1dEXT = unsafePerformIO $ getCommand "glVertexAttribL1dEXT"
+
+-- glVertexAttribL1dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL1dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glVertexAttribL1dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL1dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1dv #-}
+ptr_glVertexAttribL1dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL1dv = unsafePerformIO $ getCommand "glVertexAttribL1dv"
+
+-- glVertexAttribL1dvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL1dv'.
+glVertexAttribL1dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glVertexAttribL1dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL1dvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1dvEXT #-}
+ptr_glVertexAttribL1dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL1dvEXT = unsafePerformIO $ getCommand "glVertexAttribL1dvEXT"
+
+-- glVertexAttribL1i64NV -------------------------------------------------------
+
+glVertexAttribL1i64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint64EXT -- ^ @x@.
+  -> m ()
+glVertexAttribL1i64NV v1 v2 = liftIO $ dyn859 ptr_glVertexAttribL1i64NV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1i64NV #-}
+ptr_glVertexAttribL1i64NV :: FunPtr (GLuint -> GLint64EXT -> IO ())
+ptr_glVertexAttribL1i64NV = unsafePerformIO $ getCommand "glVertexAttribL1i64NV"
+
+-- glVertexAttribL1i64vNV ------------------------------------------------------
+
+glVertexAttribL1i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint64EXT -- ^ @v@ pointing to @1@ element of type @GLint64EXT@.
+  -> m ()
+glVertexAttribL1i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL1i64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1i64vNV #-}
+ptr_glVertexAttribL1i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
+ptr_glVertexAttribL1i64vNV = unsafePerformIO $ getCommand "glVertexAttribL1i64vNV"
+
+-- glVertexAttribL1ui64ARB -----------------------------------------------------
+
+glVertexAttribL1ui64ARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint64EXT -- ^ @x@.
+  -> m ()
+glVertexAttribL1ui64ARB v1 v2 = liftIO $ dyn861 ptr_glVertexAttribL1ui64ARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1ui64ARB #-}
+ptr_glVertexAttribL1ui64ARB :: FunPtr (GLuint -> GLuint64EXT -> IO ())
+ptr_glVertexAttribL1ui64ARB = unsafePerformIO $ getCommand "glVertexAttribL1ui64ARB"
+
+-- glVertexAttribL1ui64NV ------------------------------------------------------
+
+glVertexAttribL1ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint64EXT -- ^ @x@.
+  -> m ()
+glVertexAttribL1ui64NV v1 v2 = liftIO $ dyn861 ptr_glVertexAttribL1ui64NV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1ui64NV #-}
+ptr_glVertexAttribL1ui64NV :: FunPtr (GLuint -> GLuint64EXT -> IO ())
+ptr_glVertexAttribL1ui64NV = unsafePerformIO $ getCommand "glVertexAttribL1ui64NV"
+
+-- glVertexAttribL1ui64vARB ----------------------------------------------------
+
+glVertexAttribL1ui64vARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint64EXT -- ^ @v@.
+  -> m ()
+glVertexAttribL1ui64vARB v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL1ui64vARB v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1ui64vARB #-}
+ptr_glVertexAttribL1ui64vARB :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
+ptr_glVertexAttribL1ui64vARB = unsafePerformIO $ getCommand "glVertexAttribL1ui64vARB"
+
+-- glVertexAttribL1ui64vNV -----------------------------------------------------
+
+glVertexAttribL1ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint64EXT -- ^ @v@ pointing to @1@ element of type @GLuint64EXT@.
+  -> m ()
+glVertexAttribL1ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL1ui64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL1ui64vNV #-}
+ptr_glVertexAttribL1ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
+ptr_glVertexAttribL1ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL1ui64vNV"
+
+-- glVertexAttribL2d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL2d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glVertexAttribL2d v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttribL2d v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribL2d #-}
+ptr_glVertexAttribL2d :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttribL2d = unsafePerformIO $ getCommand "glVertexAttribL2d"
+
+-- glVertexAttribL2dEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL2d'.
+glVertexAttribL2dEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glVertexAttribL2dEXT v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttribL2dEXT v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribL2dEXT #-}
+ptr_glVertexAttribL2dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttribL2dEXT = unsafePerformIO $ getCommand "glVertexAttribL2dEXT"
+
+-- glVertexAttribL2dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL2dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribL2dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL2dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL2dv #-}
+ptr_glVertexAttribL2dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL2dv = unsafePerformIO $ getCommand "glVertexAttribL2dv"
+
+-- glVertexAttribL2dvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL2dv'.
+glVertexAttribL2dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribL2dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL2dvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL2dvEXT #-}
+ptr_glVertexAttribL2dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL2dvEXT = unsafePerformIO $ getCommand "glVertexAttribL2dvEXT"
+
+-- glVertexAttribL2i64NV -------------------------------------------------------
+
+glVertexAttribL2i64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> m ()
+glVertexAttribL2i64NV v1 v2 v3 = liftIO $ dyn863 ptr_glVertexAttribL2i64NV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribL2i64NV #-}
+ptr_glVertexAttribL2i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glVertexAttribL2i64NV = unsafePerformIO $ getCommand "glVertexAttribL2i64NV"
+
+-- glVertexAttribL2i64vNV ------------------------------------------------------
+
+glVertexAttribL2i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint64EXT -- ^ @v@ pointing to @2@ elements of type @GLint64EXT@.
+  -> m ()
+glVertexAttribL2i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL2i64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL2i64vNV #-}
+ptr_glVertexAttribL2i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
+ptr_glVertexAttribL2i64vNV = unsafePerformIO $ getCommand "glVertexAttribL2i64vNV"
+
+-- glVertexAttribL2ui64NV ------------------------------------------------------
+
+glVertexAttribL2ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> m ()
+glVertexAttribL2ui64NV v1 v2 v3 = liftIO $ dyn864 ptr_glVertexAttribL2ui64NV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribL2ui64NV #-}
+ptr_glVertexAttribL2ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glVertexAttribL2ui64NV = unsafePerformIO $ getCommand "glVertexAttribL2ui64NV"
+
+-- glVertexAttribL2ui64vNV -----------------------------------------------------
+
+glVertexAttribL2ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint64EXT -- ^ @v@ pointing to @2@ elements of type @GLuint64EXT@.
+  -> m ()
+glVertexAttribL2ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL2ui64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL2ui64vNV #-}
+ptr_glVertexAttribL2ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
+ptr_glVertexAttribL2ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL2ui64vNV"
+
+-- glVertexAttribL3d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL3d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttribL3d v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttribL3d v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribL3d #-}
+ptr_glVertexAttribL3d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttribL3d = unsafePerformIO $ getCommand "glVertexAttribL3d"
+
+-- glVertexAttribL3dEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL3d'.
+glVertexAttribL3dEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexAttribL3dEXT v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttribL3dEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribL3dEXT #-}
+ptr_glVertexAttribL3dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttribL3dEXT = unsafePerformIO $ getCommand "glVertexAttribL3dEXT"
+
+-- glVertexAttribL3dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL3dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribL3dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL3dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL3dv #-}
+ptr_glVertexAttribL3dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL3dv = unsafePerformIO $ getCommand "glVertexAttribL3dv"
+
+-- glVertexAttribL3dvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL3dv'.
+glVertexAttribL3dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribL3dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL3dvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL3dvEXT #-}
+ptr_glVertexAttribL3dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL3dvEXT = unsafePerformIO $ getCommand "glVertexAttribL3dvEXT"
+
+-- glVertexAttribL3i64NV -------------------------------------------------------
+
+glVertexAttribL3i64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> GLint64EXT -- ^ @z@.
+  -> m ()
+glVertexAttribL3i64NV v1 v2 v3 v4 = liftIO $ dyn865 ptr_glVertexAttribL3i64NV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribL3i64NV #-}
+ptr_glVertexAttribL3i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glVertexAttribL3i64NV = unsafePerformIO $ getCommand "glVertexAttribL3i64NV"
+
+-- glVertexAttribL3i64vNV ------------------------------------------------------
+
+glVertexAttribL3i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint64EXT -- ^ @v@ pointing to @3@ elements of type @GLint64EXT@.
+  -> m ()
+glVertexAttribL3i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL3i64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL3i64vNV #-}
+ptr_glVertexAttribL3i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
+ptr_glVertexAttribL3i64vNV = unsafePerformIO $ getCommand "glVertexAttribL3i64vNV"
+
+-- glVertexAttribL3ui64NV ------------------------------------------------------
+
+glVertexAttribL3ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> GLuint64EXT -- ^ @z@.
+  -> m ()
+glVertexAttribL3ui64NV v1 v2 v3 v4 = liftIO $ dyn866 ptr_glVertexAttribL3ui64NV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribL3ui64NV #-}
+ptr_glVertexAttribL3ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glVertexAttribL3ui64NV = unsafePerformIO $ getCommand "glVertexAttribL3ui64NV"
+
+-- glVertexAttribL3ui64vNV -----------------------------------------------------
+
+glVertexAttribL3ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint64EXT -- ^ @v@ pointing to @3@ elements of type @GLuint64EXT@.
+  -> m ()
+glVertexAttribL3ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL3ui64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL3ui64vNV #-}
+ptr_glVertexAttribL3ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
+ptr_glVertexAttribL3ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL3ui64vNV"
+
+-- glVertexAttribL4d -----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL4d
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glVertexAttribL4d v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttribL4d v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribL4d #-}
+ptr_glVertexAttribL4d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttribL4d = unsafePerformIO $ getCommand "glVertexAttribL4d"
+
+-- glVertexAttribL4dEXT --------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL4d'.
+glVertexAttribL4dEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glVertexAttribL4dEXT v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttribL4dEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribL4dEXT #-}
+ptr_glVertexAttribL4dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexAttribL4dEXT = unsafePerformIO $ getCommand "glVertexAttribL4dEXT"
+
+-- glVertexAttribL4dv ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribL4dv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribL4dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL4dv v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL4dv #-}
+ptr_glVertexAttribL4dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL4dv = unsafePerformIO $ getCommand "glVertexAttribL4dv"
+
+-- glVertexAttribL4dvEXT -------------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribL4dv'.
+glVertexAttribL4dvEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribL4dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL4dvEXT v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL4dvEXT #-}
+ptr_glVertexAttribL4dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribL4dvEXT = unsafePerformIO $ getCommand "glVertexAttribL4dvEXT"
+
+-- glVertexAttribL4i64NV -------------------------------------------------------
+
+glVertexAttribL4i64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint64EXT -- ^ @x@.
+  -> GLint64EXT -- ^ @y@.
+  -> GLint64EXT -- ^ @z@.
+  -> GLint64EXT -- ^ @w@.
+  -> m ()
+glVertexAttribL4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn867 ptr_glVertexAttribL4i64NV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribL4i64NV #-}
+ptr_glVertexAttribL4i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
+ptr_glVertexAttribL4i64NV = unsafePerformIO $ getCommand "glVertexAttribL4i64NV"
+
+-- glVertexAttribL4i64vNV ------------------------------------------------------
+
+glVertexAttribL4i64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLint64EXT -- ^ @v@ pointing to @4@ elements of type @GLint64EXT@.
+  -> m ()
+glVertexAttribL4i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL4i64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL4i64vNV #-}
+ptr_glVertexAttribL4i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
+ptr_glVertexAttribL4i64vNV = unsafePerformIO $ getCommand "glVertexAttribL4i64vNV"
+
+-- glVertexAttribL4ui64NV ------------------------------------------------------
+
+glVertexAttribL4ui64NV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLuint64EXT -- ^ @x@.
+  -> GLuint64EXT -- ^ @y@.
+  -> GLuint64EXT -- ^ @z@.
+  -> GLuint64EXT -- ^ @w@.
+  -> m ()
+glVertexAttribL4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn868 ptr_glVertexAttribL4ui64NV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribL4ui64NV #-}
+ptr_glVertexAttribL4ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
+ptr_glVertexAttribL4ui64NV = unsafePerformIO $ getCommand "glVertexAttribL4ui64NV"
+
+-- glVertexAttribL4ui64vNV -----------------------------------------------------
+
+glVertexAttribL4ui64vNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLuint64EXT -- ^ @v@ pointing to @4@ elements of type @GLuint64EXT@.
+  -> m ()
+glVertexAttribL4ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL4ui64vNV v1 v2
+
+{-# NOINLINE ptr_glVertexAttribL4ui64vNV #-}
+ptr_glVertexAttribL4ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
+ptr_glVertexAttribL4ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL4ui64vNV"
+
+-- glVertexAttribLFormat -------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
+glVertexAttribLFormat
+  :: MonadIO m
+  => GLuint -- ^ @attribindex@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @relativeoffset@.
+  -> m ()
+glVertexAttribLFormat v1 v2 v3 v4 = liftIO $ dyn856 ptr_glVertexAttribLFormat v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribLFormat #-}
+ptr_glVertexAttribLFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
+ptr_glVertexAttribLFormat = unsafePerformIO $ getCommand "glVertexAttribLFormat"
+
+-- glVertexAttribLFormatNV -----------------------------------------------------
+
+glVertexAttribLFormatNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glVertexAttribLFormatNV v1 v2 v3 v4 = liftIO $ dyn857 ptr_glVertexAttribLFormatNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribLFormatNV #-}
+ptr_glVertexAttribLFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
+ptr_glVertexAttribLFormatNV = unsafePerformIO $ getCommand "glVertexAttribLFormatNV"
+
+-- glVertexAttribLPointer ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml OpenGL 4.x>.
+glVertexAttribLPointer
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
+  -> m ()
+glVertexAttribLPointer v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribLPointer v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribLPointer #-}
+ptr_glVertexAttribLPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexAttribLPointer = unsafePerformIO $ getCommand "glVertexAttribLPointer"
+
+-- glVertexAttribLPointerEXT ---------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribLPointer'.
+glVertexAttribLPointerEXT
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
+  -> m ()
+glVertexAttribLPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribLPointerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribLPointerEXT #-}
+ptr_glVertexAttribLPointerEXT :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexAttribLPointerEXT = unsafePerformIO $ getCommand "glVertexAttribLPointerEXT"
+
+-- glVertexAttribP1ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribP1ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexAttribP1ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP1ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP1ui #-}
+ptr_glVertexAttribP1ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+ptr_glVertexAttribP1ui = unsafePerformIO $ getCommand "glVertexAttribP1ui"
+
+-- glVertexAttribP1uiv ---------------------------------------------------------
+
+glVertexAttribP1uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexAttribP1uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP1uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP1uiv #-}
+ptr_glVertexAttribP1uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+ptr_glVertexAttribP1uiv = unsafePerformIO $ getCommand "glVertexAttribP1uiv"
+
+-- glVertexAttribP2ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribP2ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexAttribP2ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP2ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP2ui #-}
+ptr_glVertexAttribP2ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+ptr_glVertexAttribP2ui = unsafePerformIO $ getCommand "glVertexAttribP2ui"
+
+-- glVertexAttribP2uiv ---------------------------------------------------------
+
+glVertexAttribP2uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexAttribP2uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP2uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP2uiv #-}
+ptr_glVertexAttribP2uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+ptr_glVertexAttribP2uiv = unsafePerformIO $ getCommand "glVertexAttribP2uiv"
+
+-- glVertexAttribP3ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribP3ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexAttribP3ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP3ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP3ui #-}
+ptr_glVertexAttribP3ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+ptr_glVertexAttribP3ui = unsafePerformIO $ getCommand "glVertexAttribP3ui"
+
+-- glVertexAttribP3uiv ---------------------------------------------------------
+
+glVertexAttribP3uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexAttribP3uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP3uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP3uiv #-}
+ptr_glVertexAttribP3uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+ptr_glVertexAttribP3uiv = unsafePerformIO $ getCommand "glVertexAttribP3uiv"
+
+-- glVertexAttribP4ui ----------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
+glVertexAttribP4ui
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexAttribP4ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP4ui v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP4ui #-}
+ptr_glVertexAttribP4ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
+ptr_glVertexAttribP4ui = unsafePerformIO $ getCommand "glVertexAttribP4ui"
+
+-- glVertexAttribP4uiv ---------------------------------------------------------
+
+glVertexAttribP4uiv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @type@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexAttribP4uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP4uiv v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexAttribP4uiv #-}
+ptr_glVertexAttribP4uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
+ptr_glVertexAttribP4uiv = unsafePerformIO $ getCommand "glVertexAttribP4uiv"
+
+-- glVertexAttribParameteriAMD -------------------------------------------------
+
+glVertexAttribParameteriAMD
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLenum -- ^ @pname@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glVertexAttribParameteriAMD v1 v2 v3 = liftIO $ dyn484 ptr_glVertexAttribParameteriAMD v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribParameteriAMD #-}
+ptr_glVertexAttribParameteriAMD :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
+ptr_glVertexAttribParameteriAMD = unsafePerformIO $ getCommand "glVertexAttribParameteriAMD"
+
+-- glVertexAttribPointer -------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttribPointer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml OpenGL 4.x>.
+glVertexAttribPointer
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glVertexAttribPointer v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexAttribPointer v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexAttribPointer #-}
+ptr_glVertexAttribPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexAttribPointer = unsafePerformIO $ getCommand "glVertexAttribPointer"
+
+-- glVertexAttribPointerARB ----------------------------------------------------
+
+-- | This command is an alias for 'glVertexAttribPointer'.
+glVertexAttribPointerARB
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
+  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-GL-Groups.html#Boolean).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glVertexAttribPointerARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexAttribPointerARB v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glVertexAttribPointerARB #-}
+ptr_glVertexAttribPointerARB :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexAttribPointerARB = unsafePerformIO $ getCommand "glVertexAttribPointerARB"
+
+-- glVertexAttribPointerNV -----------------------------------------------------
+
+glVertexAttribPointerNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLint -- ^ @fsize@.
+  -> GLenum -- ^ @type@ of type @VertexAttribEnumNV@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(fsize,type,stride)@ elements of type @a@.
+  -> m ()
+glVertexAttribPointerNV v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribPointerNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexAttribPointerNV #-}
+ptr_glVertexAttribPointerNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexAttribPointerNV = unsafePerformIO $ getCommand "glVertexAttribPointerNV"
+
+-- glVertexAttribs1dvNV --------------------------------------------------------
+
+glVertexAttribs1dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @count@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribs1dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs1dvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs1dvNV #-}
+ptr_glVertexAttribs1dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribs1dvNV = unsafePerformIO $ getCommand "glVertexAttribs1dvNV"
+
+-- glVertexAttribs1fvNV --------------------------------------------------------
+
+glVertexAttribs1fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @count@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttribs1fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs1fvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs1fvNV #-}
+ptr_glVertexAttribs1fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glVertexAttribs1fvNV = unsafePerformIO $ getCommand "glVertexAttribs1fvNV"
+
+-- glVertexAttribs1hvNV --------------------------------------------------------
+
+glVertexAttribs1hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttribs1hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs1hvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs1hvNV #-}
+ptr_glVertexAttribs1hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttribs1hvNV = unsafePerformIO $ getCommand "glVertexAttribs1hvNV"
+
+-- glVertexAttribs1svNV --------------------------------------------------------
+
+glVertexAttribs1svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLshort -- ^ @v@ pointing to @count@ elements of type @GLshort@.
+  -> m ()
+glVertexAttribs1svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs1svNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs1svNV #-}
+ptr_glVertexAttribs1svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
+ptr_glVertexAttribs1svNV = unsafePerformIO $ getCommand "glVertexAttribs1svNV"
+
+-- glVertexAttribs2dvNV --------------------------------------------------------
+
+glVertexAttribs2dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @count*2@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribs2dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs2dvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs2dvNV #-}
+ptr_glVertexAttribs2dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribs2dvNV = unsafePerformIO $ getCommand "glVertexAttribs2dvNV"
+
+-- glVertexAttribs2fvNV --------------------------------------------------------
+
+glVertexAttribs2fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @count*2@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttribs2fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs2fvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs2fvNV #-}
+ptr_glVertexAttribs2fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glVertexAttribs2fvNV = unsafePerformIO $ getCommand "glVertexAttribs2fvNV"
+
+-- glVertexAttribs2hvNV --------------------------------------------------------
+
+glVertexAttribs2hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttribs2hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs2hvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs2hvNV #-}
+ptr_glVertexAttribs2hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttribs2hvNV = unsafePerformIO $ getCommand "glVertexAttribs2hvNV"
+
+-- glVertexAttribs2svNV --------------------------------------------------------
+
+glVertexAttribs2svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLshort -- ^ @v@ pointing to @count*2@ elements of type @GLshort@.
+  -> m ()
+glVertexAttribs2svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs2svNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs2svNV #-}
+ptr_glVertexAttribs2svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
+ptr_glVertexAttribs2svNV = unsafePerformIO $ getCommand "glVertexAttribs2svNV"
+
+-- glVertexAttribs3dvNV --------------------------------------------------------
+
+glVertexAttribs3dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @count*3@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribs3dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs3dvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs3dvNV #-}
+ptr_glVertexAttribs3dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribs3dvNV = unsafePerformIO $ getCommand "glVertexAttribs3dvNV"
+
+-- glVertexAttribs3fvNV --------------------------------------------------------
+
+glVertexAttribs3fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @count*3@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttribs3fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs3fvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs3fvNV #-}
+ptr_glVertexAttribs3fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glVertexAttribs3fvNV = unsafePerformIO $ getCommand "glVertexAttribs3fvNV"
+
+-- glVertexAttribs3hvNV --------------------------------------------------------
+
+glVertexAttribs3hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttribs3hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs3hvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs3hvNV #-}
+ptr_glVertexAttribs3hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttribs3hvNV = unsafePerformIO $ getCommand "glVertexAttribs3hvNV"
+
+-- glVertexAttribs3svNV --------------------------------------------------------
+
+glVertexAttribs3svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLshort -- ^ @v@ pointing to @count*3@ elements of type @GLshort@.
+  -> m ()
+glVertexAttribs3svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs3svNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs3svNV #-}
+ptr_glVertexAttribs3svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
+ptr_glVertexAttribs3svNV = unsafePerformIO $ getCommand "glVertexAttribs3svNV"
+
+-- glVertexAttribs4dvNV --------------------------------------------------------
+
+glVertexAttribs4dvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLdouble -- ^ @v@ pointing to @count*4@ elements of type @GLdouble@.
+  -> m ()
+glVertexAttribs4dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs4dvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs4dvNV #-}
+ptr_glVertexAttribs4dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
+ptr_glVertexAttribs4dvNV = unsafePerformIO $ getCommand "glVertexAttribs4dvNV"
+
+-- glVertexAttribs4fvNV --------------------------------------------------------
+
+glVertexAttribs4fvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @count*4@ elements of type @GLfloat@.
+  -> m ()
+glVertexAttribs4fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs4fvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs4fvNV #-}
+ptr_glVertexAttribs4fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glVertexAttribs4fvNV = unsafePerformIO $ getCommand "glVertexAttribs4fvNV"
+
+-- glVertexAttribs4hvNV --------------------------------------------------------
+
+glVertexAttribs4hvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @n@.
+  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
+  -> m ()
+glVertexAttribs4hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs4hvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs4hvNV #-}
+ptr_glVertexAttribs4hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
+ptr_glVertexAttribs4hvNV = unsafePerformIO $ getCommand "glVertexAttribs4hvNV"
+
+-- glVertexAttribs4svNV --------------------------------------------------------
+
+glVertexAttribs4svNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLshort -- ^ @v@ pointing to @count*4@ elements of type @GLshort@.
+  -> m ()
+glVertexAttribs4svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs4svNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs4svNV #-}
+ptr_glVertexAttribs4svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
+ptr_glVertexAttribs4svNV = unsafePerformIO $ getCommand "glVertexAttribs4svNV"
+
+-- glVertexAttribs4ubvNV -------------------------------------------------------
+
+glVertexAttribs4ubvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLubyte -- ^ @v@ pointing to @count*4@ elements of type @ColorUB@.
+  -> m ()
+glVertexAttribs4ubvNV v1 v2 v3 = liftIO $ dyn874 ptr_glVertexAttribs4ubvNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexAttribs4ubvNV #-}
+ptr_glVertexAttribs4ubvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
+ptr_glVertexAttribs4ubvNV = unsafePerformIO $ getCommand "glVertexAttribs4ubvNV"
+
+-- glVertexBindingDivisor ------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexBindingDivisor.xhtml OpenGL 4.x>.
+glVertexBindingDivisor
+  :: MonadIO m
+  => GLuint -- ^ @bindingindex@.
+  -> GLuint -- ^ @divisor@.
+  -> m ()
+glVertexBindingDivisor v1 v2 = liftIO $ dyn3 ptr_glVertexBindingDivisor v1 v2
+
+{-# NOINLINE ptr_glVertexBindingDivisor #-}
+ptr_glVertexBindingDivisor :: FunPtr (GLuint -> GLuint -> IO ())
+ptr_glVertexBindingDivisor = unsafePerformIO $ getCommand "glVertexBindingDivisor"
+
+-- glVertexBlendARB ------------------------------------------------------------
+
+glVertexBlendARB
+  :: MonadIO m
+  => GLint -- ^ @count@.
+  -> m ()
+glVertexBlendARB v1 = liftIO $ dyn12 ptr_glVertexBlendARB v1
+
+{-# NOINLINE ptr_glVertexBlendARB #-}
+ptr_glVertexBlendARB :: FunPtr (GLint -> IO ())
+ptr_glVertexBlendARB = unsafePerformIO $ getCommand "glVertexBlendARB"
+
+-- glVertexBlendEnvfATI --------------------------------------------------------
+
+glVertexBlendEnvfATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @VertexStreamATI@.
+  -> GLfloat -- ^ @param@.
+  -> m ()
+glVertexBlendEnvfATI v1 v2 = liftIO $ dyn0 ptr_glVertexBlendEnvfATI v1 v2
+
+{-# NOINLINE ptr_glVertexBlendEnvfATI #-}
+ptr_glVertexBlendEnvfATI :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glVertexBlendEnvfATI = unsafePerformIO $ getCommand "glVertexBlendEnvfATI"
+
+-- glVertexBlendEnviATI --------------------------------------------------------
+
+glVertexBlendEnviATI
+  :: MonadIO m
+  => GLenum -- ^ @pname@ of type @VertexStreamATI@.
+  -> GLint -- ^ @param@.
+  -> m ()
+glVertexBlendEnviATI v1 v2 = liftIO $ dyn55 ptr_glVertexBlendEnviATI v1 v2
+
+{-# NOINLINE ptr_glVertexBlendEnviATI #-}
+ptr_glVertexBlendEnviATI :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glVertexBlendEnviATI = unsafePerformIO $ getCommand "glVertexBlendEnviATI"
+
+-- glVertexFormatNV ------------------------------------------------------------
+
+glVertexFormatNV
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> m ()
+glVertexFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glVertexFormatNV v1 v2 v3
+
+{-# NOINLINE ptr_glVertexFormatNV #-}
+ptr_glVertexFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
+ptr_glVertexFormatNV = unsafePerformIO $ getCommand "glVertexFormatNV"
+
+-- glVertexP2ui ----------------------------------------------------------------
+
+glVertexP2ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexP2ui v1 v2 = liftIO $ dyn16 ptr_glVertexP2ui v1 v2
+
+{-# NOINLINE ptr_glVertexP2ui #-}
+ptr_glVertexP2ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glVertexP2ui = unsafePerformIO $ getCommand "glVertexP2ui"
+
+-- glVertexP2uiv ---------------------------------------------------------------
+
+glVertexP2uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexP2uiv v1 v2 = liftIO $ dyn124 ptr_glVertexP2uiv v1 v2
+
+{-# NOINLINE ptr_glVertexP2uiv #-}
+ptr_glVertexP2uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glVertexP2uiv = unsafePerformIO $ getCommand "glVertexP2uiv"
+
+-- glVertexP3ui ----------------------------------------------------------------
+
+glVertexP3ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexP3ui v1 v2 = liftIO $ dyn16 ptr_glVertexP3ui v1 v2
+
+{-# NOINLINE ptr_glVertexP3ui #-}
+ptr_glVertexP3ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glVertexP3ui = unsafePerformIO $ getCommand "glVertexP3ui"
+
+-- glVertexP3uiv ---------------------------------------------------------------
+
+glVertexP3uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexP3uiv v1 v2 = liftIO $ dyn124 ptr_glVertexP3uiv v1 v2
+
+{-# NOINLINE ptr_glVertexP3uiv #-}
+ptr_glVertexP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glVertexP3uiv = unsafePerformIO $ getCommand "glVertexP3uiv"
+
+-- glVertexP4ui ----------------------------------------------------------------
+
+glVertexP4ui
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> GLuint -- ^ @value@.
+  -> m ()
+glVertexP4ui v1 v2 = liftIO $ dyn16 ptr_glVertexP4ui v1 v2
+
+{-# NOINLINE ptr_glVertexP4ui #-}
+ptr_glVertexP4ui :: FunPtr (GLenum -> GLuint -> IO ())
+ptr_glVertexP4ui = unsafePerformIO $ getCommand "glVertexP4ui"
+
+-- glVertexP4uiv ---------------------------------------------------------------
+
+glVertexP4uiv
+  :: MonadIO m
+  => GLenum -- ^ @type@.
+  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
+  -> m ()
+glVertexP4uiv v1 v2 = liftIO $ dyn124 ptr_glVertexP4uiv v1 v2
+
+{-# NOINLINE ptr_glVertexP4uiv #-}
+ptr_glVertexP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
+ptr_glVertexP4uiv = unsafePerformIO $ getCommand "glVertexP4uiv"
+
+-- glVertexPointer -------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexPointer.xml OpenGL 2.x>.
+glVertexPointer
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
+  -> m ()
+glVertexPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glVertexPointer v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexPointer #-}
+ptr_glVertexPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexPointer = unsafePerformIO $ getCommand "glVertexPointer"
+
+-- glVertexPointerEXT ----------------------------------------------------------
+
+glVertexPointerEXT
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLsizei -- ^ @stride@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
+  -> m ()
+glVertexPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn126 ptr_glVertexPointerEXT v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexPointerEXT #-}
+ptr_glVertexPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexPointerEXT = unsafePerformIO $ getCommand "glVertexPointerEXT"
+
+-- glVertexPointerListIBM ------------------------------------------------------
+
+glVertexPointerListIBM
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> GLint -- ^ @stride@.
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
+  -> GLint -- ^ @ptrstride@.
+  -> m ()
+glVertexPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glVertexPointerListIBM v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexPointerListIBM #-}
+ptr_glVertexPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
+ptr_glVertexPointerListIBM = unsafePerformIO $ getCommand "glVertexPointerListIBM"
+
+-- glVertexPointervINTEL -------------------------------------------------------
+
+glVertexPointervINTEL
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-GL-Groups.html#VertexPointerType).
+  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
+  -> m ()
+glVertexPointervINTEL v1 v2 v3 = liftIO $ dyn128 ptr_glVertexPointervINTEL v1 v2 v3
+
+{-# NOINLINE ptr_glVertexPointervINTEL #-}
+ptr_glVertexPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
+ptr_glVertexPointervINTEL = unsafePerformIO $ getCommand "glVertexPointervINTEL"
+
+-- glVertexStream1dATI ---------------------------------------------------------
+
+glVertexStream1dATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLdouble -- ^ @x@.
+  -> m ()
+glVertexStream1dATI v1 v2 = liftIO $ dyn537 ptr_glVertexStream1dATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1dATI #-}
+ptr_glVertexStream1dATI :: FunPtr (GLenum -> GLdouble -> IO ())
+ptr_glVertexStream1dATI = unsafePerformIO $ getCommand "glVertexStream1dATI"
+
+-- glVertexStream1dvATI --------------------------------------------------------
+
+glVertexStream1dvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLdouble -- ^ @coords@ pointing to @1@ element of type @GLdouble@.
+  -> m ()
+glVertexStream1dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream1dvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1dvATI #-}
+ptr_glVertexStream1dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glVertexStream1dvATI = unsafePerformIO $ getCommand "glVertexStream1dvATI"
+
+-- glVertexStream1fATI ---------------------------------------------------------
+
+glVertexStream1fATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLfloat -- ^ @x@.
+  -> m ()
+glVertexStream1fATI v1 v2 = liftIO $ dyn0 ptr_glVertexStream1fATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1fATI #-}
+ptr_glVertexStream1fATI :: FunPtr (GLenum -> GLfloat -> IO ())
+ptr_glVertexStream1fATI = unsafePerformIO $ getCommand "glVertexStream1fATI"
+
+-- glVertexStream1fvATI --------------------------------------------------------
+
+glVertexStream1fvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLfloat -- ^ @coords@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glVertexStream1fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream1fvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1fvATI #-}
+ptr_glVertexStream1fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glVertexStream1fvATI = unsafePerformIO $ getCommand "glVertexStream1fvATI"
+
+-- glVertexStream1iATI ---------------------------------------------------------
+
+glVertexStream1iATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLint -- ^ @x@.
+  -> m ()
+glVertexStream1iATI v1 v2 = liftIO $ dyn55 ptr_glVertexStream1iATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1iATI #-}
+ptr_glVertexStream1iATI :: FunPtr (GLenum -> GLint -> IO ())
+ptr_glVertexStream1iATI = unsafePerformIO $ getCommand "glVertexStream1iATI"
+
+-- glVertexStream1ivATI --------------------------------------------------------
+
+glVertexStream1ivATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLint -- ^ @coords@ pointing to @1@ element of type @GLint@.
+  -> m ()
+glVertexStream1ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream1ivATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1ivATI #-}
+ptr_glVertexStream1ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glVertexStream1ivATI = unsafePerformIO $ getCommand "glVertexStream1ivATI"
+
+-- glVertexStream1sATI ---------------------------------------------------------
+
+glVertexStream1sATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLshort -- ^ @x@.
+  -> m ()
+glVertexStream1sATI v1 v2 = liftIO $ dyn540 ptr_glVertexStream1sATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1sATI #-}
+ptr_glVertexStream1sATI :: FunPtr (GLenum -> GLshort -> IO ())
+ptr_glVertexStream1sATI = unsafePerformIO $ getCommand "glVertexStream1sATI"
+
+-- glVertexStream1svATI --------------------------------------------------------
+
+glVertexStream1svATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLshort -- ^ @coords@ pointing to @1@ element of type @GLshort@.
+  -> m ()
+glVertexStream1svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream1svATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream1svATI #-}
+ptr_glVertexStream1svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glVertexStream1svATI = unsafePerformIO $ getCommand "glVertexStream1svATI"
+
+-- glVertexStream2dATI ---------------------------------------------------------
+
+glVertexStream2dATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> m ()
+glVertexStream2dATI v1 v2 v3 = liftIO $ dyn543 ptr_glVertexStream2dATI v1 v2 v3
+
+{-# NOINLINE ptr_glVertexStream2dATI #-}
+ptr_glVertexStream2dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexStream2dATI = unsafePerformIO $ getCommand "glVertexStream2dATI"
+
+-- glVertexStream2dvATI --------------------------------------------------------
+
+glVertexStream2dvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLdouble -- ^ @coords@ pointing to @2@ elements of type @GLdouble@.
+  -> m ()
+glVertexStream2dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream2dvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream2dvATI #-}
+ptr_glVertexStream2dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glVertexStream2dvATI = unsafePerformIO $ getCommand "glVertexStream2dvATI"
+
+-- glVertexStream2fATI ---------------------------------------------------------
+
+glVertexStream2fATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> m ()
+glVertexStream2fATI v1 v2 v3 = liftIO $ dyn544 ptr_glVertexStream2fATI v1 v2 v3
+
+{-# NOINLINE ptr_glVertexStream2fATI #-}
+ptr_glVertexStream2fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexStream2fATI = unsafePerformIO $ getCommand "glVertexStream2fATI"
+
+-- glVertexStream2fvATI --------------------------------------------------------
+
+glVertexStream2fvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLfloat -- ^ @coords@ pointing to @2@ elements of type @GLfloat@.
+  -> m ()
+glVertexStream2fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream2fvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream2fvATI #-}
+ptr_glVertexStream2fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glVertexStream2fvATI = unsafePerformIO $ getCommand "glVertexStream2fvATI"
+
+-- glVertexStream2iATI ---------------------------------------------------------
+
+glVertexStream2iATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> m ()
+glVertexStream2iATI v1 v2 v3 = liftIO $ dyn263 ptr_glVertexStream2iATI v1 v2 v3
+
+{-# NOINLINE ptr_glVertexStream2iATI #-}
+ptr_glVertexStream2iATI :: FunPtr (GLenum -> GLint -> GLint -> IO ())
+ptr_glVertexStream2iATI = unsafePerformIO $ getCommand "glVertexStream2iATI"
+
+-- glVertexStream2ivATI --------------------------------------------------------
+
+glVertexStream2ivATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLint -- ^ @coords@ pointing to @2@ elements of type @GLint@.
+  -> m ()
+glVertexStream2ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream2ivATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream2ivATI #-}
+ptr_glVertexStream2ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glVertexStream2ivATI = unsafePerformIO $ getCommand "glVertexStream2ivATI"
+
+-- glVertexStream2sATI ---------------------------------------------------------
+
+glVertexStream2sATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> m ()
+glVertexStream2sATI v1 v2 v3 = liftIO $ dyn546 ptr_glVertexStream2sATI v1 v2 v3
+
+{-# NOINLINE ptr_glVertexStream2sATI #-}
+ptr_glVertexStream2sATI :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
+ptr_glVertexStream2sATI = unsafePerformIO $ getCommand "glVertexStream2sATI"
+
+-- glVertexStream2svATI --------------------------------------------------------
+
+glVertexStream2svATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLshort -- ^ @coords@ pointing to @2@ elements of type @GLshort@.
+  -> m ()
+glVertexStream2svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream2svATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream2svATI #-}
+ptr_glVertexStream2svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glVertexStream2svATI = unsafePerformIO $ getCommand "glVertexStream2svATI"
+
+-- glVertexStream3dATI ---------------------------------------------------------
+
+glVertexStream3dATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> m ()
+glVertexStream3dATI v1 v2 v3 v4 = liftIO $ dyn518 ptr_glVertexStream3dATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexStream3dATI #-}
+ptr_glVertexStream3dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexStream3dATI = unsafePerformIO $ getCommand "glVertexStream3dATI"
+
+-- glVertexStream3dvATI --------------------------------------------------------
+
+glVertexStream3dvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLdouble -- ^ @coords@ pointing to @3@ elements of type @GLdouble@.
+  -> m ()
+glVertexStream3dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream3dvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream3dvATI #-}
+ptr_glVertexStream3dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glVertexStream3dvATI = unsafePerformIO $ getCommand "glVertexStream3dvATI"
+
+-- glVertexStream3fATI ---------------------------------------------------------
+
+glVertexStream3fATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> m ()
+glVertexStream3fATI v1 v2 v3 v4 = liftIO $ dyn519 ptr_glVertexStream3fATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexStream3fATI #-}
+ptr_glVertexStream3fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexStream3fATI = unsafePerformIO $ getCommand "glVertexStream3fATI"
+
+-- glVertexStream3fvATI --------------------------------------------------------
+
+glVertexStream3fvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLfloat -- ^ @coords@ pointing to @3@ elements of type @GLfloat@.
+  -> m ()
+glVertexStream3fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream3fvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream3fvATI #-}
+ptr_glVertexStream3fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glVertexStream3fvATI = unsafePerformIO $ getCommand "glVertexStream3fvATI"
+
+-- glVertexStream3iATI ---------------------------------------------------------
+
+glVertexStream3iATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> m ()
+glVertexStream3iATI v1 v2 v3 v4 = liftIO $ dyn550 ptr_glVertexStream3iATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexStream3iATI #-}
+ptr_glVertexStream3iATI :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexStream3iATI = unsafePerformIO $ getCommand "glVertexStream3iATI"
+
+-- glVertexStream3ivATI --------------------------------------------------------
+
+glVertexStream3ivATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLint -- ^ @coords@ pointing to @3@ elements of type @GLint@.
+  -> m ()
+glVertexStream3ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream3ivATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream3ivATI #-}
+ptr_glVertexStream3ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glVertexStream3ivATI = unsafePerformIO $ getCommand "glVertexStream3ivATI"
+
+-- glVertexStream3sATI ---------------------------------------------------------
+
+glVertexStream3sATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> m ()
+glVertexStream3sATI v1 v2 v3 v4 = liftIO $ dyn551 ptr_glVertexStream3sATI v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexStream3sATI #-}
+ptr_glVertexStream3sATI :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexStream3sATI = unsafePerformIO $ getCommand "glVertexStream3sATI"
+
+-- glVertexStream3svATI --------------------------------------------------------
+
+glVertexStream3svATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLshort -- ^ @coords@ pointing to @3@ elements of type @GLshort@.
+  -> m ()
+glVertexStream3svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream3svATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream3svATI #-}
+ptr_glVertexStream3svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glVertexStream3svATI = unsafePerformIO $ getCommand "glVertexStream3svATI"
+
+-- glVertexStream4dATI ---------------------------------------------------------
+
+glVertexStream4dATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLdouble -- ^ @x@.
+  -> GLdouble -- ^ @y@.
+  -> GLdouble -- ^ @z@.
+  -> GLdouble -- ^ @w@.
+  -> m ()
+glVertexStream4dATI v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glVertexStream4dATI v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexStream4dATI #-}
+ptr_glVertexStream4dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glVertexStream4dATI = unsafePerformIO $ getCommand "glVertexStream4dATI"
+
+-- glVertexStream4dvATI --------------------------------------------------------
+
+glVertexStream4dvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLdouble -- ^ @coords@ pointing to @4@ elements of type @GLdouble@.
+  -> m ()
+glVertexStream4dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream4dvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream4dvATI #-}
+ptr_glVertexStream4dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
+ptr_glVertexStream4dvATI = unsafePerformIO $ getCommand "glVertexStream4dvATI"
+
+-- glVertexStream4fATI ---------------------------------------------------------
+
+glVertexStream4fATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @z@.
+  -> GLfloat -- ^ @w@.
+  -> m ()
+glVertexStream4fATI v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glVertexStream4fATI v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexStream4fATI #-}
+ptr_glVertexStream4fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glVertexStream4fATI = unsafePerformIO $ getCommand "glVertexStream4fATI"
+
+-- glVertexStream4fvATI --------------------------------------------------------
+
+glVertexStream4fvATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLfloat -- ^ @coords@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glVertexStream4fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream4fvATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream4fvATI #-}
+ptr_glVertexStream4fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
+ptr_glVertexStream4fvATI = unsafePerformIO $ getCommand "glVertexStream4fvATI"
+
+-- glVertexStream4iATI ---------------------------------------------------------
+
+glVertexStream4iATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLint -- ^ @x@.
+  -> GLint -- ^ @y@.
+  -> GLint -- ^ @z@.
+  -> GLint -- ^ @w@.
+  -> m ()
+glVertexStream4iATI v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glVertexStream4iATI v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexStream4iATI #-}
+ptr_glVertexStream4iATI :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glVertexStream4iATI = unsafePerformIO $ getCommand "glVertexStream4iATI"
+
+-- glVertexStream4ivATI --------------------------------------------------------
+
+glVertexStream4ivATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLint -- ^ @coords@ pointing to @4@ elements of type @GLint@.
+  -> m ()
+glVertexStream4ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream4ivATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream4ivATI #-}
+ptr_glVertexStream4ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
+ptr_glVertexStream4ivATI = unsafePerformIO $ getCommand "glVertexStream4ivATI"
+
+-- glVertexStream4sATI ---------------------------------------------------------
+
+glVertexStream4sATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> GLshort -- ^ @x@.
+  -> GLshort -- ^ @y@.
+  -> GLshort -- ^ @z@.
+  -> GLshort -- ^ @w@.
+  -> m ()
+glVertexStream4sATI v1 v2 v3 v4 v5 = liftIO $ dyn555 ptr_glVertexStream4sATI v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glVertexStream4sATI #-}
+ptr_glVertexStream4sATI :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glVertexStream4sATI = unsafePerformIO $ getCommand "glVertexStream4sATI"
+
+-- glVertexStream4svATI --------------------------------------------------------
+
+glVertexStream4svATI
+  :: MonadIO m
+  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
+  -> Ptr GLshort -- ^ @coords@ pointing to @4@ elements of type @GLshort@.
+  -> m ()
+glVertexStream4svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream4svATI v1 v2
+
+{-# NOINLINE ptr_glVertexStream4svATI #-}
+ptr_glVertexStream4svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
+ptr_glVertexStream4svATI = unsafePerformIO $ getCommand "glVertexStream4svATI"
+
+-- glVertexWeightPointerEXT ----------------------------------------------------
+
+glVertexWeightPointerEXT
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @VertexWeightPointerTypeEXT@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glVertexWeightPointerEXT v1 v2 v3 v4 = liftIO $ dyn125 ptr_glVertexWeightPointerEXT v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVertexWeightPointerEXT #-}
+ptr_glVertexWeightPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glVertexWeightPointerEXT = unsafePerformIO $ getCommand "glVertexWeightPointerEXT"
+
+-- glVertexWeightfEXT ----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexWeightfvEXT'.
+glVertexWeightfEXT
+  :: MonadIO m
+  => GLfloat -- ^ @weight@.
+  -> m ()
+glVertexWeightfEXT v1 = liftIO $ dyn79 ptr_glVertexWeightfEXT v1
+
+{-# NOINLINE ptr_glVertexWeightfEXT #-}
+ptr_glVertexWeightfEXT :: FunPtr (GLfloat -> IO ())
+ptr_glVertexWeightfEXT = unsafePerformIO $ getCommand "glVertexWeightfEXT"
+
+-- glVertexWeightfvEXT ---------------------------------------------------------
+
+glVertexWeightfvEXT
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @weight@ pointing to @1@ element of type @GLfloat@.
+  -> m ()
+glVertexWeightfvEXT v1 = liftIO $ dyn41 ptr_glVertexWeightfvEXT v1
+
+{-# NOINLINE ptr_glVertexWeightfvEXT #-}
+ptr_glVertexWeightfvEXT :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glVertexWeightfvEXT = unsafePerformIO $ getCommand "glVertexWeightfvEXT"
+
+-- glVertexWeighthNV -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glVertexWeighthvNV'.
+glVertexWeighthNV
+  :: MonadIO m
+  => GLhalfNV -- ^ @weight@ of type @Half16NV@.
+  -> m ()
+glVertexWeighthNV v1 = liftIO $ dyn280 ptr_glVertexWeighthNV v1
+
+{-# NOINLINE ptr_glVertexWeighthNV #-}
+ptr_glVertexWeighthNV :: FunPtr (GLhalfNV -> IO ())
+ptr_glVertexWeighthNV = unsafePerformIO $ getCommand "glVertexWeighthNV"
+
+-- glVertexWeighthvNV ----------------------------------------------------------
+
+glVertexWeighthvNV
+  :: MonadIO m
+  => Ptr GLhalfNV -- ^ @weight@ pointing to @1@ element of type @Half16NV@.
+  -> m ()
+glVertexWeighthvNV v1 = liftIO $ dyn98 ptr_glVertexWeighthvNV v1
+
+{-# NOINLINE ptr_glVertexWeighthvNV #-}
+ptr_glVertexWeighthvNV :: FunPtr (Ptr GLhalfNV -> IO ())
+ptr_glVertexWeighthvNV = unsafePerformIO $ getCommand "glVertexWeighthvNV"
+
+-- glVideoCaptureNV ------------------------------------------------------------
+
+glVideoCaptureNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> Ptr GLuint -- ^ @sequence_num@.
+  -> Ptr GLuint64EXT -- ^ @capture_time@.
+  -> m GLenum
+glVideoCaptureNV v1 v2 v3 = liftIO $ dyn875 ptr_glVideoCaptureNV v1 v2 v3
+
+{-# NOINLINE ptr_glVideoCaptureNV #-}
+ptr_glVideoCaptureNV :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
+ptr_glVideoCaptureNV = unsafePerformIO $ getCommand "glVideoCaptureNV"
+
+-- glVideoCaptureStreamParameterdvNV -------------------------------------------
+
+glVideoCaptureStreamParameterdvNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
+  -> m ()
+glVideoCaptureStreamParameterdvNV v1 v2 v3 v4 = liftIO $ dyn440 ptr_glVideoCaptureStreamParameterdvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVideoCaptureStreamParameterdvNV #-}
+ptr_glVideoCaptureStreamParameterdvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
+ptr_glVideoCaptureStreamParameterdvNV = unsafePerformIO $ getCommand "glVideoCaptureStreamParameterdvNV"
+
+-- glVideoCaptureStreamParameterfvNV -------------------------------------------
+
+glVideoCaptureStreamParameterfvNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
+  -> m ()
+glVideoCaptureStreamParameterfvNV v1 v2 v3 v4 = liftIO $ dyn441 ptr_glVideoCaptureStreamParameterfvNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVideoCaptureStreamParameterfvNV #-}
+ptr_glVideoCaptureStreamParameterfvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
+ptr_glVideoCaptureStreamParameterfvNV = unsafePerformIO $ getCommand "glVideoCaptureStreamParameterfvNV"
+
+-- glVideoCaptureStreamParameterivNV -------------------------------------------
+
+glVideoCaptureStreamParameterivNV
+  :: MonadIO m
+  => GLuint -- ^ @video_capture_slot@.
+  -> GLuint -- ^ @stream@.
+  -> GLenum -- ^ @pname@.
+  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
+  -> m ()
+glVideoCaptureStreamParameterivNV v1 v2 v3 v4 = liftIO $ dyn297 ptr_glVideoCaptureStreamParameterivNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glVideoCaptureStreamParameterivNV #-}
+ptr_glVideoCaptureStreamParameterivNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
+ptr_glVideoCaptureStreamParameterivNV = unsafePerformIO $ getCommand "glVideoCaptureStreamParameterivNV"
+
+-- glViewport ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glViewport.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glViewport.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glViewport.xhtml OpenGL 4.x>.
+glViewport
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @WinCoord@.
+  -> GLint -- ^ @y@ of type @WinCoord@.
+  -> GLsizei -- ^ @width@.
+  -> GLsizei -- ^ @height@.
+  -> m ()
+glViewport v1 v2 v3 v4 = liftIO $ dyn694 ptr_glViewport v1 v2 v3 v4
+
+{-# NOINLINE ptr_glViewport #-}
+ptr_glViewport :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
+ptr_glViewport = unsafePerformIO $ getCommand "glViewport"
+
+-- glViewportArrayv ------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glViewportArray.xhtml OpenGL 4.x>.
+glViewportArrayv
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
+  -> m ()
+glViewportArrayv v1 v2 v3 = liftIO $ dyn217 ptr_glViewportArrayv v1 v2 v3
+
+{-# NOINLINE ptr_glViewportArrayv #-}
+ptr_glViewportArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glViewportArrayv = unsafePerformIO $ getCommand "glViewportArrayv"
+
+-- glViewportArrayvNV ----------------------------------------------------------
+
+-- | This command is an alias for 'glViewportArrayv'.
+glViewportArrayvNV
+  :: MonadIO m
+  => GLuint -- ^ @first@.
+  -> GLsizei -- ^ @count@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
+  -> m ()
+glViewportArrayvNV v1 v2 v3 = liftIO $ dyn217 ptr_glViewportArrayvNV v1 v2 v3
+
+{-# NOINLINE ptr_glViewportArrayvNV #-}
+ptr_glViewportArrayvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
+ptr_glViewportArrayvNV = unsafePerformIO $ getCommand "glViewportArrayvNV"
+
+-- glViewportIndexedf ----------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glViewportIndexed.xhtml OpenGL 4.x>.
+glViewportIndexedf
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @w@.
+  -> GLfloat -- ^ @h@.
+  -> m ()
+glViewportIndexedf v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glViewportIndexedf v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glViewportIndexedf #-}
+ptr_glViewportIndexedf :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glViewportIndexedf = unsafePerformIO $ getCommand "glViewportIndexedf"
+
+-- glViewportIndexedfNV --------------------------------------------------------
+
+-- | This command is an alias for 'glViewportIndexedf'.
+glViewportIndexedfNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> GLfloat -- ^ @x@.
+  -> GLfloat -- ^ @y@.
+  -> GLfloat -- ^ @w@.
+  -> GLfloat -- ^ @h@.
+  -> m ()
+glViewportIndexedfNV v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glViewportIndexedfNV v1 v2 v3 v4 v5
+
+{-# NOINLINE ptr_glViewportIndexedfNV #-}
+ptr_glViewportIndexedfNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glViewportIndexedfNV = unsafePerformIO $ getCommand "glViewportIndexedfNV"
+
+-- glViewportIndexedfv ---------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glViewportIndexed.xhtml OpenGL 4.x>.
+glViewportIndexedfv
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glViewportIndexedfv v1 v2 = liftIO $ dyn373 ptr_glViewportIndexedfv v1 v2
+
+{-# NOINLINE ptr_glViewportIndexedfv #-}
+ptr_glViewportIndexedfv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glViewportIndexedfv = unsafePerformIO $ getCommand "glViewportIndexedfv"
+
+-- glViewportIndexedfvNV -------------------------------------------------------
+
+-- | This command is an alias for 'glViewportIndexedfv'.
+glViewportIndexedfvNV
+  :: MonadIO m
+  => GLuint -- ^ @index@.
+  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
+  -> m ()
+glViewportIndexedfvNV v1 v2 = liftIO $ dyn373 ptr_glViewportIndexedfvNV v1 v2
+
+{-# NOINLINE ptr_glViewportIndexedfvNV #-}
+ptr_glViewportIndexedfvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
+ptr_glViewportIndexedfvNV = unsafePerformIO $ getCommand "glViewportIndexedfvNV"
+
+-- glWaitSync ------------------------------------------------------------------
+
+-- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glWaitSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glWaitSync.xhtml OpenGL 4.x>.
+glWaitSync
+  :: MonadIO m
+  => GLsync -- ^ @sync@ of type @sync@.
+  -> GLbitfield -- ^ @flags@.
+  -> GLuint64 -- ^ @timeout@.
+  -> m ()
+glWaitSync v1 v2 v3 = liftIO $ dyn876 ptr_glWaitSync v1 v2 v3
+
+{-# NOINLINE ptr_glWaitSync #-}
+ptr_glWaitSync :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
+ptr_glWaitSync = unsafePerformIO $ getCommand "glWaitSync"
+
+-- glWaitSyncAPPLE -------------------------------------------------------------
+
+-- | This command is an alias for 'glWaitSync'.
+glWaitSyncAPPLE
+  :: MonadIO m
+  => GLsync -- ^ @sync@.
+  -> GLbitfield -- ^ @flags@.
+  -> GLuint64 -- ^ @timeout@.
+  -> m ()
+glWaitSyncAPPLE v1 v2 v3 = liftIO $ dyn876 ptr_glWaitSyncAPPLE v1 v2 v3
+
+{-# NOINLINE ptr_glWaitSyncAPPLE #-}
+ptr_glWaitSyncAPPLE :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
+ptr_glWaitSyncAPPLE = unsafePerformIO $ getCommand "glWaitSyncAPPLE"
+
+-- glWeightPathsNV -------------------------------------------------------------
+
+glWeightPathsNV
+  :: MonadIO m
+  => GLuint -- ^ @resultPath@ of type @Path@.
+  -> GLsizei -- ^ @numPaths@.
+  -> Ptr GLuint -- ^ @paths@ pointing to @numPaths@ elements of type @Path@.
+  -> Ptr GLfloat -- ^ @weights@ pointing to @numPaths@ elements of type @GLfloat@.
+  -> m ()
+glWeightPathsNV v1 v2 v3 v4 = liftIO $ dyn877 ptr_glWeightPathsNV v1 v2 v3 v4
+
+{-# NOINLINE ptr_glWeightPathsNV #-}
+ptr_glWeightPathsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
+ptr_glWeightPathsNV = unsafePerformIO $ getCommand "glWeightPathsNV"
+
+-- glWeightPointerARB ----------------------------------------------------------
+
+glWeightPointerARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@ of type @WeightPointerTypeARB@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glWeightPointerARB v1 v2 v3 v4 = liftIO $ dyn125 ptr_glWeightPointerARB v1 v2 v3 v4
+
+{-# NOINLINE ptr_glWeightPointerARB #-}
+ptr_glWeightPointerARB :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glWeightPointerARB = unsafePerformIO $ getCommand "glWeightPointerARB"
+
+-- glWeightPointerOES ----------------------------------------------------------
+
+glWeightPointerOES
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> GLenum -- ^ @type@.
+  -> GLsizei -- ^ @stride@.
+  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
+  -> m ()
+glWeightPointerOES v1 v2 v3 v4 = liftIO $ dyn125 ptr_glWeightPointerOES v1 v2 v3 v4
+
+{-# NOINLINE ptr_glWeightPointerOES #-}
+ptr_glWeightPointerOES :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
+ptr_glWeightPointerOES = unsafePerformIO $ getCommand "glWeightPointerOES"
+
+-- glWeightbvARB ---------------------------------------------------------------
+
+glWeightbvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLbyte -- ^ @weights@ pointing to @size@ elements of type @GLbyte@.
+  -> m ()
+glWeightbvARB v1 v2 = liftIO $ dyn878 ptr_glWeightbvARB v1 v2
+
+{-# NOINLINE ptr_glWeightbvARB #-}
+ptr_glWeightbvARB :: FunPtr (GLint -> Ptr GLbyte -> IO ())
+ptr_glWeightbvARB = unsafePerformIO $ getCommand "glWeightbvARB"
+
+-- glWeightdvARB ---------------------------------------------------------------
+
+glWeightdvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLdouble -- ^ @weights@ pointing to @size@ elements of type @GLdouble@.
+  -> m ()
+glWeightdvARB v1 v2 = liftIO $ dyn879 ptr_glWeightdvARB v1 v2
+
+{-# NOINLINE ptr_glWeightdvARB #-}
+ptr_glWeightdvARB :: FunPtr (GLint -> Ptr GLdouble -> IO ())
+ptr_glWeightdvARB = unsafePerformIO $ getCommand "glWeightdvARB"
+
+-- glWeightfvARB ---------------------------------------------------------------
+
+glWeightfvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLfloat -- ^ @weights@ pointing to @size@ elements of type @GLfloat@.
+  -> m ()
+glWeightfvARB v1 v2 = liftIO $ dyn880 ptr_glWeightfvARB v1 v2
+
+{-# NOINLINE ptr_glWeightfvARB #-}
+ptr_glWeightfvARB :: FunPtr (GLint -> Ptr GLfloat -> IO ())
+ptr_glWeightfvARB = unsafePerformIO $ getCommand "glWeightfvARB"
+
+-- glWeightivARB ---------------------------------------------------------------
+
+glWeightivARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLint -- ^ @weights@ pointing to @size@ elements of type @GLint@.
+  -> m ()
+glWeightivARB v1 v2 = liftIO $ dyn881 ptr_glWeightivARB v1 v2
+
+{-# NOINLINE ptr_glWeightivARB #-}
+ptr_glWeightivARB :: FunPtr (GLint -> Ptr GLint -> IO ())
+ptr_glWeightivARB = unsafePerformIO $ getCommand "glWeightivARB"
+
+-- glWeightsvARB ---------------------------------------------------------------
+
+glWeightsvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLshort -- ^ @weights@ pointing to @size@ elements of type @GLshort@.
+  -> m ()
+glWeightsvARB v1 v2 = liftIO $ dyn882 ptr_glWeightsvARB v1 v2
+
+{-# NOINLINE ptr_glWeightsvARB #-}
+ptr_glWeightsvARB :: FunPtr (GLint -> Ptr GLshort -> IO ())
+ptr_glWeightsvARB = unsafePerformIO $ getCommand "glWeightsvARB"
+
+-- glWeightubvARB --------------------------------------------------------------
+
+glWeightubvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLubyte -- ^ @weights@ pointing to @size@ elements of type @GLubyte@.
+  -> m ()
+glWeightubvARB v1 v2 = liftIO $ dyn513 ptr_glWeightubvARB v1 v2
+
+{-# NOINLINE ptr_glWeightubvARB #-}
+ptr_glWeightubvARB :: FunPtr (GLint -> Ptr GLubyte -> IO ())
+ptr_glWeightubvARB = unsafePerformIO $ getCommand "glWeightubvARB"
+
+-- glWeightuivARB --------------------------------------------------------------
+
+glWeightuivARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLuint -- ^ @weights@ pointing to @size@ elements of type @GLuint@.
+  -> m ()
+glWeightuivARB v1 v2 = liftIO $ dyn514 ptr_glWeightuivARB v1 v2
+
+{-# NOINLINE ptr_glWeightuivARB #-}
+ptr_glWeightuivARB :: FunPtr (GLint -> Ptr GLuint -> IO ())
+ptr_glWeightuivARB = unsafePerformIO $ getCommand "glWeightuivARB"
+
+-- glWeightusvARB --------------------------------------------------------------
+
+glWeightusvARB
+  :: MonadIO m
+  => GLint -- ^ @size@.
+  -> Ptr GLushort -- ^ @weights@ pointing to @size@ elements of type @GLushort@.
+  -> m ()
+glWeightusvARB v1 v2 = liftIO $ dyn515 ptr_glWeightusvARB v1 v2
+
+{-# NOINLINE ptr_glWeightusvARB #-}
+ptr_glWeightusvARB :: FunPtr (GLint -> Ptr GLushort -> IO ())
+ptr_glWeightusvARB = unsafePerformIO $ getCommand "glWeightusvARB"
+
+-- glWindowPos2d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2dv'.
+glWindowPos2d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> m ()
+glWindowPos2d v1 v2 = liftIO $ dyn216 ptr_glWindowPos2d v1 v2
+
+{-# NOINLINE ptr_glWindowPos2d #-}
+ptr_glWindowPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos2d = unsafePerformIO $ getCommand "glWindowPos2d"
+
+-- glWindowPos2dARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2dvARB'. This command is an alias for 'glWindowPos2d'.
+glWindowPos2dARB
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> m ()
+glWindowPos2dARB v1 v2 = liftIO $ dyn216 ptr_glWindowPos2dARB v1 v2
+
+{-# NOINLINE ptr_glWindowPos2dARB #-}
+ptr_glWindowPos2dARB :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos2dARB = unsafePerformIO $ getCommand "glWindowPos2dARB"
+
+-- glWindowPos2dMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2dvMESA'. This command is an alias for 'glWindowPos2d'.
+glWindowPos2dMESA
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> m ()
+glWindowPos2dMESA v1 v2 = liftIO $ dyn216 ptr_glWindowPos2dMESA v1 v2
+
+{-# NOINLINE ptr_glWindowPos2dMESA #-}
+ptr_glWindowPos2dMESA :: FunPtr (GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos2dMESA = unsafePerformIO $ getCommand "glWindowPos2dMESA"
+
+-- glWindowPos2dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos2dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glWindowPos2dv v1 = liftIO $ dyn39 ptr_glWindowPos2dv v1
+
+{-# NOINLINE ptr_glWindowPos2dv #-}
+ptr_glWindowPos2dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos2dv = unsafePerformIO $ getCommand "glWindowPos2dv"
+
+-- glWindowPos2dvARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2dv'.
+glWindowPos2dvARB
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glWindowPos2dvARB v1 = liftIO $ dyn39 ptr_glWindowPos2dvARB v1
+
+{-# NOINLINE ptr_glWindowPos2dvARB #-}
+ptr_glWindowPos2dvARB :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos2dvARB = unsafePerformIO $ getCommand "glWindowPos2dvARB"
+
+-- glWindowPos2dvMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2dv'.
+glWindowPos2dvMESA
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
+  -> m ()
+glWindowPos2dvMESA v1 = liftIO $ dyn39 ptr_glWindowPos2dvMESA v1
+
+{-# NOINLINE ptr_glWindowPos2dvMESA #-}
+ptr_glWindowPos2dvMESA :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos2dvMESA = unsafePerformIO $ getCommand "glWindowPos2dvMESA"
+
+-- glWindowPos2f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2fv'.
+glWindowPos2f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> m ()
+glWindowPos2f v1 v2 = liftIO $ dyn221 ptr_glWindowPos2f v1 v2
+
+{-# NOINLINE ptr_glWindowPos2f #-}
+ptr_glWindowPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos2f = unsafePerformIO $ getCommand "glWindowPos2f"
+
+-- glWindowPos2fARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2fvARB'. This command is an alias for 'glWindowPos2f'.
+glWindowPos2fARB
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> m ()
+glWindowPos2fARB v1 v2 = liftIO $ dyn221 ptr_glWindowPos2fARB v1 v2
+
+{-# NOINLINE ptr_glWindowPos2fARB #-}
+ptr_glWindowPos2fARB :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos2fARB = unsafePerformIO $ getCommand "glWindowPos2fARB"
+
+-- glWindowPos2fMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2fvMESA'. This command is an alias for 'glWindowPos2f'.
+glWindowPos2fMESA
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> m ()
+glWindowPos2fMESA v1 v2 = liftIO $ dyn221 ptr_glWindowPos2fMESA v1 v2
+
+{-# NOINLINE ptr_glWindowPos2fMESA #-}
+ptr_glWindowPos2fMESA :: FunPtr (GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos2fMESA = unsafePerformIO $ getCommand "glWindowPos2fMESA"
+
+-- glWindowPos2fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos2fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glWindowPos2fv v1 = liftIO $ dyn41 ptr_glWindowPos2fv v1
+
+{-# NOINLINE ptr_glWindowPos2fv #-}
+ptr_glWindowPos2fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos2fv = unsafePerformIO $ getCommand "glWindowPos2fv"
+
+-- glWindowPos2fvARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2fv'.
+glWindowPos2fvARB
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glWindowPos2fvARB v1 = liftIO $ dyn41 ptr_glWindowPos2fvARB v1
+
+{-# NOINLINE ptr_glWindowPos2fvARB #-}
+ptr_glWindowPos2fvARB :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos2fvARB = unsafePerformIO $ getCommand "glWindowPos2fvARB"
+
+-- glWindowPos2fvMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2fv'.
+glWindowPos2fvMESA
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
+  -> m ()
+glWindowPos2fvMESA v1 = liftIO $ dyn41 ptr_glWindowPos2fvMESA v1
+
+{-# NOINLINE ptr_glWindowPos2fvMESA #-}
+ptr_glWindowPos2fvMESA :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos2fvMESA = unsafePerformIO $ getCommand "glWindowPos2fvMESA"
+
+-- glWindowPos2i ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2iv'.
+glWindowPos2i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> m ()
+glWindowPos2i v1 v2 = liftIO $ dyn265 ptr_glWindowPos2i v1 v2
+
+{-# NOINLINE ptr_glWindowPos2i #-}
+ptr_glWindowPos2i :: FunPtr (GLint -> GLint -> IO ())
+ptr_glWindowPos2i = unsafePerformIO $ getCommand "glWindowPos2i"
+
+-- glWindowPos2iARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2ivARB'. This command is an alias for 'glWindowPos2i'.
+glWindowPos2iARB
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> m ()
+glWindowPos2iARB v1 v2 = liftIO $ dyn265 ptr_glWindowPos2iARB v1 v2
+
+{-# NOINLINE ptr_glWindowPos2iARB #-}
+ptr_glWindowPos2iARB :: FunPtr (GLint -> GLint -> IO ())
+ptr_glWindowPos2iARB = unsafePerformIO $ getCommand "glWindowPos2iARB"
+
+-- glWindowPos2iMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2ivMESA'. This command is an alias for 'glWindowPos2i'.
+glWindowPos2iMESA
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> m ()
+glWindowPos2iMESA v1 v2 = liftIO $ dyn265 ptr_glWindowPos2iMESA v1 v2
+
+{-# NOINLINE ptr_glWindowPos2iMESA #-}
+ptr_glWindowPos2iMESA :: FunPtr (GLint -> GLint -> IO ())
+ptr_glWindowPos2iMESA = unsafePerformIO $ getCommand "glWindowPos2iMESA"
+
+-- glWindowPos2iv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos2iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glWindowPos2iv v1 = liftIO $ dyn43 ptr_glWindowPos2iv v1
+
+{-# NOINLINE ptr_glWindowPos2iv #-}
+ptr_glWindowPos2iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glWindowPos2iv = unsafePerformIO $ getCommand "glWindowPos2iv"
+
+-- glWindowPos2ivARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2iv'.
+glWindowPos2ivARB
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glWindowPos2ivARB v1 = liftIO $ dyn43 ptr_glWindowPos2ivARB v1
+
+{-# NOINLINE ptr_glWindowPos2ivARB #-}
+ptr_glWindowPos2ivARB :: FunPtr (Ptr GLint -> IO ())
+ptr_glWindowPos2ivARB = unsafePerformIO $ getCommand "glWindowPos2ivARB"
+
+-- glWindowPos2ivMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2iv'.
+glWindowPos2ivMESA
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
+  -> m ()
+glWindowPos2ivMESA v1 = liftIO $ dyn43 ptr_glWindowPos2ivMESA v1
+
+{-# NOINLINE ptr_glWindowPos2ivMESA #-}
+ptr_glWindowPos2ivMESA :: FunPtr (Ptr GLint -> IO ())
+ptr_glWindowPos2ivMESA = unsafePerformIO $ getCommand "glWindowPos2ivMESA"
+
+-- glWindowPos2s ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2sv'.
+glWindowPos2s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> m ()
+glWindowPos2s v1 v2 = liftIO $ dyn665 ptr_glWindowPos2s v1 v2
+
+{-# NOINLINE ptr_glWindowPos2s #-}
+ptr_glWindowPos2s :: FunPtr (GLshort -> GLshort -> IO ())
+ptr_glWindowPos2s = unsafePerformIO $ getCommand "glWindowPos2s"
+
+-- glWindowPos2sARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2svARB'. This command is an alias for 'glWindowPos2s'.
+glWindowPos2sARB
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> m ()
+glWindowPos2sARB v1 v2 = liftIO $ dyn665 ptr_glWindowPos2sARB v1 v2
+
+{-# NOINLINE ptr_glWindowPos2sARB #-}
+ptr_glWindowPos2sARB :: FunPtr (GLshort -> GLshort -> IO ())
+ptr_glWindowPos2sARB = unsafePerformIO $ getCommand "glWindowPos2sARB"
+
+-- glWindowPos2sMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos2svMESA'. This command is an alias for 'glWindowPos2s'.
+glWindowPos2sMESA
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> m ()
+glWindowPos2sMESA v1 v2 = liftIO $ dyn665 ptr_glWindowPos2sMESA v1 v2
+
+{-# NOINLINE ptr_glWindowPos2sMESA #-}
+ptr_glWindowPos2sMESA :: FunPtr (GLshort -> GLshort -> IO ())
+ptr_glWindowPos2sMESA = unsafePerformIO $ getCommand "glWindowPos2sMESA"
+
+-- glWindowPos2sv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos2sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glWindowPos2sv v1 = liftIO $ dyn45 ptr_glWindowPos2sv v1
+
+{-# NOINLINE ptr_glWindowPos2sv #-}
+ptr_glWindowPos2sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glWindowPos2sv = unsafePerformIO $ getCommand "glWindowPos2sv"
+
+-- glWindowPos2svARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2sv'.
+glWindowPos2svARB
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glWindowPos2svARB v1 = liftIO $ dyn45 ptr_glWindowPos2svARB v1
+
+{-# NOINLINE ptr_glWindowPos2svARB #-}
+ptr_glWindowPos2svARB :: FunPtr (Ptr GLshort -> IO ())
+ptr_glWindowPos2svARB = unsafePerformIO $ getCommand "glWindowPos2svARB"
+
+-- glWindowPos2svMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos2sv'.
+glWindowPos2svMESA
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
+  -> m ()
+glWindowPos2svMESA v1 = liftIO $ dyn45 ptr_glWindowPos2svMESA v1
+
+{-# NOINLINE ptr_glWindowPos2svMESA #-}
+ptr_glWindowPos2svMESA :: FunPtr (Ptr GLshort -> IO ())
+ptr_glWindowPos2svMESA = unsafePerformIO $ getCommand "glWindowPos2svMESA"
+
+-- glWindowPos3d ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3dv'.
+glWindowPos3d
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glWindowPos3d v1 v2 v3 = liftIO $ dyn38 ptr_glWindowPos3d v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3d #-}
+ptr_glWindowPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos3d = unsafePerformIO $ getCommand "glWindowPos3d"
+
+-- glWindowPos3dARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3dvARB'. This command is an alias for 'glWindowPos3d'.
+glWindowPos3dARB
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glWindowPos3dARB v1 v2 v3 = liftIO $ dyn38 ptr_glWindowPos3dARB v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3dARB #-}
+ptr_glWindowPos3dARB :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos3dARB = unsafePerformIO $ getCommand "glWindowPos3dARB"
+
+-- glWindowPos3dMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3dvMESA'. This command is an alias for 'glWindowPos3d'.
+glWindowPos3dMESA
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> m ()
+glWindowPos3dMESA v1 v2 v3 = liftIO $ dyn38 ptr_glWindowPos3dMESA v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3dMESA #-}
+ptr_glWindowPos3dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos3dMESA = unsafePerformIO $ getCommand "glWindowPos3dMESA"
+
+-- glWindowPos3dv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos3dv
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glWindowPos3dv v1 = liftIO $ dyn39 ptr_glWindowPos3dv v1
+
+{-# NOINLINE ptr_glWindowPos3dv #-}
+ptr_glWindowPos3dv :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos3dv = unsafePerformIO $ getCommand "glWindowPos3dv"
+
+-- glWindowPos3dvARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3dv'.
+glWindowPos3dvARB
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glWindowPos3dvARB v1 = liftIO $ dyn39 ptr_glWindowPos3dvARB v1
+
+{-# NOINLINE ptr_glWindowPos3dvARB #-}
+ptr_glWindowPos3dvARB :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos3dvARB = unsafePerformIO $ getCommand "glWindowPos3dvARB"
+
+-- glWindowPos3dvMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3dv'.
+glWindowPos3dvMESA
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
+  -> m ()
+glWindowPos3dvMESA v1 = liftIO $ dyn39 ptr_glWindowPos3dvMESA v1
+
+{-# NOINLINE ptr_glWindowPos3dvMESA #-}
+ptr_glWindowPos3dvMESA :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos3dvMESA = unsafePerformIO $ getCommand "glWindowPos3dvMESA"
+
+-- glWindowPos3f ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3fv'.
+glWindowPos3f
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glWindowPos3f v1 v2 v3 = liftIO $ dyn40 ptr_glWindowPos3f v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3f #-}
+ptr_glWindowPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos3f = unsafePerformIO $ getCommand "glWindowPos3f"
+
+-- glWindowPos3fARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3fvARB'. This command is an alias for 'glWindowPos3f'.
+glWindowPos3fARB
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glWindowPos3fARB v1 v2 v3 = liftIO $ dyn40 ptr_glWindowPos3fARB v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3fARB #-}
+ptr_glWindowPos3fARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos3fARB = unsafePerformIO $ getCommand "glWindowPos3fARB"
+
+-- glWindowPos3fMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3fvMESA'. This command is an alias for 'glWindowPos3f'.
+glWindowPos3fMESA
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> m ()
+glWindowPos3fMESA v1 v2 v3 = liftIO $ dyn40 ptr_glWindowPos3fMESA v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3fMESA #-}
+ptr_glWindowPos3fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos3fMESA = unsafePerformIO $ getCommand "glWindowPos3fMESA"
+
+-- glWindowPos3fv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos3fv
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glWindowPos3fv v1 = liftIO $ dyn41 ptr_glWindowPos3fv v1
+
+{-# NOINLINE ptr_glWindowPos3fv #-}
+ptr_glWindowPos3fv :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos3fv = unsafePerformIO $ getCommand "glWindowPos3fv"
+
+-- glWindowPos3fvARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3fv'.
+glWindowPos3fvARB
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glWindowPos3fvARB v1 = liftIO $ dyn41 ptr_glWindowPos3fvARB v1
+
+{-# NOINLINE ptr_glWindowPos3fvARB #-}
+ptr_glWindowPos3fvARB :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos3fvARB = unsafePerformIO $ getCommand "glWindowPos3fvARB"
+
+-- glWindowPos3fvMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3fv'.
+glWindowPos3fvMESA
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
+  -> m ()
+glWindowPos3fvMESA v1 = liftIO $ dyn41 ptr_glWindowPos3fvMESA v1
+
+{-# NOINLINE ptr_glWindowPos3fvMESA #-}
+ptr_glWindowPos3fvMESA :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos3fvMESA = unsafePerformIO $ getCommand "glWindowPos3fvMESA"
+
+-- glWindowPos3i ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3iv'.
+glWindowPos3i
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> m ()
+glWindowPos3i v1 v2 v3 = liftIO $ dyn42 ptr_glWindowPos3i v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3i #-}
+ptr_glWindowPos3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glWindowPos3i = unsafePerformIO $ getCommand "glWindowPos3i"
+
+-- glWindowPos3iARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3ivARB'. This command is an alias for 'glWindowPos3i'.
+glWindowPos3iARB
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> m ()
+glWindowPos3iARB v1 v2 v3 = liftIO $ dyn42 ptr_glWindowPos3iARB v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3iARB #-}
+ptr_glWindowPos3iARB :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glWindowPos3iARB = unsafePerformIO $ getCommand "glWindowPos3iARB"
+
+-- glWindowPos3iMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3ivMESA'. This command is an alias for 'glWindowPos3i'.
+glWindowPos3iMESA
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> m ()
+glWindowPos3iMESA v1 v2 v3 = liftIO $ dyn42 ptr_glWindowPos3iMESA v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3iMESA #-}
+ptr_glWindowPos3iMESA :: FunPtr (GLint -> GLint -> GLint -> IO ())
+ptr_glWindowPos3iMESA = unsafePerformIO $ getCommand "glWindowPos3iMESA"
+
+-- glWindowPos3iv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos3iv
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glWindowPos3iv v1 = liftIO $ dyn43 ptr_glWindowPos3iv v1
+
+{-# NOINLINE ptr_glWindowPos3iv #-}
+ptr_glWindowPos3iv :: FunPtr (Ptr GLint -> IO ())
+ptr_glWindowPos3iv = unsafePerformIO $ getCommand "glWindowPos3iv"
+
+-- glWindowPos3ivARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3iv'.
+glWindowPos3ivARB
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glWindowPos3ivARB v1 = liftIO $ dyn43 ptr_glWindowPos3ivARB v1
+
+{-# NOINLINE ptr_glWindowPos3ivARB #-}
+ptr_glWindowPos3ivARB :: FunPtr (Ptr GLint -> IO ())
+ptr_glWindowPos3ivARB = unsafePerformIO $ getCommand "glWindowPos3ivARB"
+
+-- glWindowPos3ivMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3iv'.
+glWindowPos3ivMESA
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
+  -> m ()
+glWindowPos3ivMESA v1 = liftIO $ dyn43 ptr_glWindowPos3ivMESA v1
+
+{-# NOINLINE ptr_glWindowPos3ivMESA #-}
+ptr_glWindowPos3ivMESA :: FunPtr (Ptr GLint -> IO ())
+ptr_glWindowPos3ivMESA = unsafePerformIO $ getCommand "glWindowPos3ivMESA"
+
+-- glWindowPos3s ---------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3sv'.
+glWindowPos3s
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> m ()
+glWindowPos3s v1 v2 v3 = liftIO $ dyn44 ptr_glWindowPos3s v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3s #-}
+ptr_glWindowPos3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glWindowPos3s = unsafePerformIO $ getCommand "glWindowPos3s"
+
+-- glWindowPos3sARB ------------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3svARB'. This command is an alias for 'glWindowPos3s'.
+glWindowPos3sARB
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> m ()
+glWindowPos3sARB v1 v2 v3 = liftIO $ dyn44 ptr_glWindowPos3sARB v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3sARB #-}
+ptr_glWindowPos3sARB :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glWindowPos3sARB = unsafePerformIO $ getCommand "glWindowPos3sARB"
+
+-- glWindowPos3sMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos3svMESA'. This command is an alias for 'glWindowPos3s'.
+glWindowPos3sMESA
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> m ()
+glWindowPos3sMESA v1 v2 v3 = liftIO $ dyn44 ptr_glWindowPos3sMESA v1 v2 v3
+
+{-# NOINLINE ptr_glWindowPos3sMESA #-}
+ptr_glWindowPos3sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
+ptr_glWindowPos3sMESA = unsafePerformIO $ getCommand "glWindowPos3sMESA"
+
+-- glWindowPos3sv --------------------------------------------------------------
+
+-- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
+glWindowPos3sv
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glWindowPos3sv v1 = liftIO $ dyn45 ptr_glWindowPos3sv v1
+
+{-# NOINLINE ptr_glWindowPos3sv #-}
+ptr_glWindowPos3sv :: FunPtr (Ptr GLshort -> IO ())
+ptr_glWindowPos3sv = unsafePerformIO $ getCommand "glWindowPos3sv"
+
+-- glWindowPos3svARB -----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3sv'.
+glWindowPos3svARB
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glWindowPos3svARB v1 = liftIO $ dyn45 ptr_glWindowPos3svARB v1
+
+{-# NOINLINE ptr_glWindowPos3svARB #-}
+ptr_glWindowPos3svARB :: FunPtr (Ptr GLshort -> IO ())
+ptr_glWindowPos3svARB = unsafePerformIO $ getCommand "glWindowPos3svARB"
+
+-- glWindowPos3svMESA ----------------------------------------------------------
+
+-- | This command is an alias for 'glWindowPos3sv'.
+glWindowPos3svMESA
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
+  -> m ()
+glWindowPos3svMESA v1 = liftIO $ dyn45 ptr_glWindowPos3svMESA v1
+
+{-# NOINLINE ptr_glWindowPos3svMESA #-}
+ptr_glWindowPos3svMESA :: FunPtr (Ptr GLshort -> IO ())
+ptr_glWindowPos3svMESA = unsafePerformIO $ getCommand "glWindowPos3svMESA"
+
+-- glWindowPos4dMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos4dvMESA'.
+glWindowPos4dMESA
+  :: MonadIO m
+  => GLdouble -- ^ @x@ of type @CoordD@.
+  -> GLdouble -- ^ @y@ of type @CoordD@.
+  -> GLdouble -- ^ @z@ of type @CoordD@.
+  -> GLdouble -- ^ @w@ of type @CoordD@.
+  -> m ()
+glWindowPos4dMESA v1 v2 v3 v4 = liftIO $ dyn108 ptr_glWindowPos4dMESA v1 v2 v3 v4
+
+{-# NOINLINE ptr_glWindowPos4dMESA #-}
+ptr_glWindowPos4dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
+ptr_glWindowPos4dMESA = unsafePerformIO $ getCommand "glWindowPos4dMESA"
+
+-- glWindowPos4dvMESA ----------------------------------------------------------
+
+glWindowPos4dvMESA
+  :: MonadIO m
+  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
+  -> m ()
+glWindowPos4dvMESA v1 = liftIO $ dyn39 ptr_glWindowPos4dvMESA v1
+
+{-# NOINLINE ptr_glWindowPos4dvMESA #-}
+ptr_glWindowPos4dvMESA :: FunPtr (Ptr GLdouble -> IO ())
+ptr_glWindowPos4dvMESA = unsafePerformIO $ getCommand "glWindowPos4dvMESA"
+
+-- glWindowPos4fMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos4fvMESA'.
+glWindowPos4fMESA
+  :: MonadIO m
+  => GLfloat -- ^ @x@ of type @CoordF@.
+  -> GLfloat -- ^ @y@ of type @CoordF@.
+  -> GLfloat -- ^ @z@ of type @CoordF@.
+  -> GLfloat -- ^ @w@ of type @CoordF@.
+  -> m ()
+glWindowPos4fMESA v1 v2 v3 v4 = liftIO $ dyn49 ptr_glWindowPos4fMESA v1 v2 v3 v4
+
+{-# NOINLINE ptr_glWindowPos4fMESA #-}
+ptr_glWindowPos4fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
+ptr_glWindowPos4fMESA = unsafePerformIO $ getCommand "glWindowPos4fMESA"
+
+-- glWindowPos4fvMESA ----------------------------------------------------------
+
+glWindowPos4fvMESA
+  :: MonadIO m
+  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
+  -> m ()
+glWindowPos4fvMESA v1 = liftIO $ dyn41 ptr_glWindowPos4fvMESA v1
+
+{-# NOINLINE ptr_glWindowPos4fvMESA #-}
+ptr_glWindowPos4fvMESA :: FunPtr (Ptr GLfloat -> IO ())
+ptr_glWindowPos4fvMESA = unsafePerformIO $ getCommand "glWindowPos4fvMESA"
+
+-- glWindowPos4iMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos4ivMESA'.
+glWindowPos4iMESA
+  :: MonadIO m
+  => GLint -- ^ @x@ of type @CoordI@.
+  -> GLint -- ^ @y@ of type @CoordI@.
+  -> GLint -- ^ @z@ of type @CoordI@.
+  -> GLint -- ^ @w@ of type @CoordI@.
+  -> m ()
+glWindowPos4iMESA v1 v2 v3 v4 = liftIO $ dyn76 ptr_glWindowPos4iMESA v1 v2 v3 v4
+
+{-# NOINLINE ptr_glWindowPos4iMESA #-}
+ptr_glWindowPos4iMESA :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
+ptr_glWindowPos4iMESA = unsafePerformIO $ getCommand "glWindowPos4iMESA"
+
+-- glWindowPos4ivMESA ----------------------------------------------------------
+
+glWindowPos4ivMESA
+  :: MonadIO m
+  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
+  -> m ()
+glWindowPos4ivMESA v1 = liftIO $ dyn43 ptr_glWindowPos4ivMESA v1
+
+{-# NOINLINE ptr_glWindowPos4ivMESA #-}
+ptr_glWindowPos4ivMESA :: FunPtr (Ptr GLint -> IO ())
+ptr_glWindowPos4ivMESA = unsafePerformIO $ getCommand "glWindowPos4ivMESA"
+
+-- glWindowPos4sMESA -----------------------------------------------------------
+
+-- | The vector equivalent of this command is 'glWindowPos4svMESA'.
+glWindowPos4sMESA
+  :: MonadIO m
+  => GLshort -- ^ @x@ of type @CoordS@.
+  -> GLshort -- ^ @y@ of type @CoordS@.
+  -> GLshort -- ^ @z@ of type @CoordS@.
+  -> GLshort -- ^ @w@ of type @CoordS@.
+  -> m ()
+glWindowPos4sMESA v1 v2 v3 v4 = liftIO $ dyn112 ptr_glWindowPos4sMESA v1 v2 v3 v4
+
+{-# NOINLINE ptr_glWindowPos4sMESA #-}
+ptr_glWindowPos4sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
+ptr_glWindowPos4sMESA = unsafePerformIO $ getCommand "glWindowPos4sMESA"
+
+-- glWindowPos4svMESA ----------------------------------------------------------
+
+glWindowPos4svMESA
+  :: MonadIO m
+  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
+  -> m ()
+glWindowPos4svMESA v1 = liftIO $ dyn45 ptr_glWindowPos4svMESA v1
+
+{-# NOINLINE ptr_glWindowPos4svMESA #-}
+ptr_glWindowPos4svMESA :: FunPtr (Ptr GLshort -> IO ())
+ptr_glWindowPos4svMESA = unsafePerformIO $ getCommand "glWindowPos4svMESA"
+
+-- glWriteMaskEXT --------------------------------------------------------------
+
+glWriteMaskEXT
+  :: MonadIO m
+  => GLuint -- ^ @res@.
+  -> GLuint -- ^ @in@.
+  -> GLenum -- ^ @outX@ of type @VertexShaderWriteMaskEXT@.
+  -> GLenum -- ^ @outY@ of type @VertexShaderWriteMaskEXT@.
+  -> GLenum -- ^ @outZ@ of type @VertexShaderWriteMaskEXT@.
+  -> GLenum -- ^ @outW@ of type @VertexShaderWriteMaskEXT@.
+  -> m ()
+glWriteMaskEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn716 ptr_glWriteMaskEXT v1 v2 v3 v4 v5 v6
+
+{-# NOINLINE ptr_glWriteMaskEXT #-}
+ptr_glWriteMaskEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
+ptr_glWriteMaskEXT = unsafePerformIO $ getCommand "glWriteMaskEXT"
+
diff --git a/src/Graphics/GL/GREMEDY.hs b/src/Graphics/GL/GREMEDY.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/GREMEDY.hs
@@ -0,0 +1,21 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.GREMEDY
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing GREMEDY extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.GREMEDY (
+  module Graphics.GL.GREMEDY.FrameTerminator,
+  module Graphics.GL.GREMEDY.StringMarker
+) where
+
+import Graphics.GL.GREMEDY.FrameTerminator
+import Graphics.GL.GREMEDY.StringMarker
diff --git a/src/Graphics/GL/GREMEDY/FrameTerminator.hs b/src/Graphics/GL/GREMEDY/FrameTerminator.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/GREMEDY/FrameTerminator.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.GREMEDY.FrameTerminator
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.GREMEDY.FrameTerminator (
+  -- * Extension Support
+  glGetGREMEDYFrameTerminator,
+  gl_GREMEDY_frame_terminator,
+  -- * Functions
+  glFrameTerminatorGREMEDY
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/GREMEDY/StringMarker.hs b/src/Graphics/GL/GREMEDY/StringMarker.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/GREMEDY/StringMarker.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.GREMEDY.StringMarker
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.GREMEDY.StringMarker (
+  -- * Extension Support
+  glGetGREMEDYStringMarker,
+  gl_GREMEDY_string_marker,
+  -- * Functions
+  glStringMarkerGREMEDY
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/GetProcAddress.hs b/src/Graphics/GL/GetProcAddress.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/GetProcAddress.hs
@@ -0,0 +1,239 @@
+{-# LANGUAGE CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.GetProcAddress
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- 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@.
+--
+-- Note that /finding/ an OpenGL entry point doesn't mean that it's actually
+-- /usable:/ On most platforms entry points are context-independent, so you have
+-- to check the available extensions and\/or OpenGL version, too.
+--------------------------------------------------------------------------------
+
+module Graphics.GL.GetProcAddress (
+   -- * Unchecked retrieval
+   getProcAddress,
+   getProcAddressWithSuffixes,
+   getExtension,
+   -- * Checked retrieval
+   getProcAddressChecked,
+   getProcAddressWithSuffixesChecked,
+   getExtensionChecked,
+   -- * Version info and extensions
+   getVersion, version,
+   getExtensions, extensions
+) where
+
+#if !MIN_VERSION_base(4,8,0)
+import Data.Functor( (<$>), (<$) )
+#endif
+import Control.Monad ( forM )
+import Control.Monad.IO.Class ( MonadIO(..) )
+import Data.ByteString.Unsafe ( unsafePackCString, unsafeUseAsCString )
+import Data.Char ( isDigit )
+import Data.Set ( Set, fromList )
+import Data.Text ( pack, unpack )
+import Data.Text.Encoding ( encodeUtf8, decodeUtf8 )
+import Foreign.C.String ( CString )
+import Foreign.Marshal.Alloc ( alloca )
+import Foreign.Marshal.Error ( throwIf )
+import Foreign.Ptr ( Ptr, nullPtr, castPtr, FunPtr, nullFunPtr )
+import Foreign.Storable ( peek )
+import Graphics.GL.Tokens
+import Graphics.GL.Types
+import System.IO.Unsafe ( unsafePerformIO )
+import Text.ParserCombinators.ReadP
+
+--------------------------------------------------------------------------------
+
+-- | Retrieve an OpenGL function by name. Returns 'nullFunPtr' when no function
+-- with the given name was found.
+getProcAddress :: MonadIO m => String -> m (FunPtr a)
+getProcAddress cmd = liftIO $ withUtf8String cmd hs_OpenGLRaw_getProcAddress
+
+foreign import ccall unsafe "hs_OpenGLRaw_getProcAddress"
+   hs_OpenGLRaw_getProcAddress :: CString -> IO (FunPtr a)
+
+-- | Retrieve an OpenGL function by name. Throws an 'userError' when no function
+-- with the given name was found.
+getProcAddressChecked :: MonadIO m => String -> m (FunPtr a)
+getProcAddressChecked cmd = liftIO $ 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 :: MonadIO m => String -> [String] -> m (FunPtr a)
+getProcAddressWithSuffixes _ [] = return nullFunPtr
+getProcAddressWithSuffixes cmd (x:xs) = do
+   p <- getProcAddress (cmd ++ x)
+   if p == nullFunPtr
+      then getProcAddressWithSuffixes cmd xs
+      else 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 :: MonadIO m
+                                  => String -> [String] -> m (FunPtr a)
+getProcAddressWithSuffixesChecked cmd suffixes =
+   liftIO $ 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 :: MonadIO m => String -> m (FunPtr a)
+getExtension cmd = liftIO $ getProcAddressWithSuffixes cmd 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 :: MonadIO m => String -> m (FunPtr a)
+getExtensionChecked cmd =
+  liftIO $ getProcAddressWithSuffixesChecked cmd 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" ]
+
+--------------------------------------------------------------------------------
+
+-- | Retrieve the set of all available OpenGL extensions.
+getExtensions :: MonadIO m => m (Set String)
+getExtensions = liftIO $ Data.Set.fromList <$> do
+  -- glGetStringi is only present from OpenGL 3.0 and OpenGL ES 3.0 onwards, but
+  -- we can't simply retrieve its entry point and check that against nullFunPtr:
+  -- Apart from WGL, entry points are context-independent, so even having an
+  -- entry point which looks valid doesn't guarantee that it is actually
+  -- supported. Therefore we need to check the OpenGL version number directly.
+  getString <- makeGetString
+  v <- getVersionWith getString
+  if v >= (3, 0)
+    then do getInteger <- makeGetInteger
+            getStringi <- makeGetStringi
+            numExtensions <- getInteger GL_NUM_EXTENSIONS
+            forM [ 0 .. fromIntegral numExtensions - 1 ] $
+              getStringi GL_EXTENSIONS
+    else words <$> getString GL_EXTENSIONS
+
+--------------------------------------------------------------------------------
+
+-- | Retrieve the OpenGL version, split into major and minor version numbers.
+getVersion :: MonadIO m => m (Int, Int)
+getVersion = liftIO $ makeGetString >>= getVersionWith
+
+getVersionWith :: (GLenum -> IO String) -> IO (Int, Int)
+getVersionWith getString =
+  runParser parseVersion (-1, -1) <$> getString GL_VERSION
+
+runParser :: ReadP a -> a -> String -> a
+runParser parser failed str =
+  case readP_to_S parser str of
+    [(v, "")] -> v
+    _ -> failed
+
+-- This does quite a bit more than we need for "normal" OpenGL, but at least it
+-- documents the convoluted format of the version string in detail.
+parseVersion :: ReadP (Int, Int)
+parseVersion = do
+  _prefix <-
+    -- Too lazy to define a type for the API...
+    ("CL" <$ string "OpenGL ES-CL ") <++  -- OpenGL ES 1.x Common-Lite
+    ("CM" <$ string "OpenGL ES-CM ") <++  -- OpenGL ES 1.x Common
+    ("ES" <$ string "OpenGL ES "   ) <++  -- OpenGL ES 2.x or 3.x
+    ("GL" <$ string ""             )      -- OpenGL
+  major <- read <$> munch1 isDigit
+  minor <- char '.' >> read <$> munch1 isDigit
+  _release <- (char '.' >> munch1 (/= ' ')) <++ return ""
+  _vendorStuff <- (char ' ' >> get `manyTill` eof) <++ ("" <$ eof)
+  return (major, minor)
+
+--------------------------------------------------------------------------------
+-- Graphics.GL.Foreign uses generated names, which are not
+-- easily predictable, so we duplicate a few "foreign import"s below.
+
+makeGetString :: IO (GLenum -> IO String)
+makeGetString = do
+  glGetString_ <- dynGLenumIOPtrGLubyte <$> getProcAddress "glGetString"
+  return $ \name -> glGetString_ name >>= peekGLstring
+
+foreign import CALLCONV "dynamic" dynGLenumIOPtrGLubyte
+  :: FunPtr (GLenum -> IO (Ptr GLubyte))
+  ->         GLenum -> IO (Ptr GLubyte)
+
+makeGetStringi :: IO (GLenum -> GLuint -> IO String)
+makeGetStringi = do
+  glGetStringi_ <- dynGLenumGLuintIOPtrGLubyte <$> getProcAddress "glGetStringi"
+  return $ \name index -> glGetStringi_ name index >>= peekGLstring
+
+foreign import CALLCONV "dynamic" dynGLenumGLuintIOPtrGLubyte
+  :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
+  ->         GLenum -> GLuint -> IO (Ptr GLubyte)
+
+makeGetInteger :: IO (GLenum -> IO GLint)
+makeGetInteger = do
+  glGetIntegerv_ <- dynGLenumPtrGLintIOVoid <$> getProcAddress "glGetIntegerv"
+  return $ \name -> alloca $ \p -> glGetIntegerv_ name p >> peek p
+
+foreign import CALLCONV "dynamic" dynGLenumPtrGLintIOVoid
+  :: FunPtr (GLenum -> Ptr GLint -> IO ())
+  ->         GLenum -> Ptr GLint -> IO ()
+
+--------------------------------------------------------------------------------
+
+-- Play safe, this is in line with OpenGL: Return something, but don't crash.
+peekGLstring :: Ptr GLubyte -> IO String
+peekGLstring = ptr (return "") (peekUtf8String . castPtr)
+
+-- This should really be in Foreign.Ptr.
+ptr :: b -> (Ptr a -> b) -> Ptr a -> b
+ptr n f p | p == nullPtr = n
+          | otherwise    = f p
+
+--------------------------------------------------------------------------------
+
+withUtf8String :: String -> (CString -> IO a) -> IO a
+withUtf8String = unsafeUseAsCString . encodeUtf8 . pack . (++ "\0")
+
+peekUtf8String :: CString -> IO String
+peekUtf8String p = unpack . decodeUtf8 <$> unsafePackCString p
+
+--------------------------------------------------------------------------------
+
+-- | The set of all available OpenGL extensions. Note that in the presence of
+-- multiple contexts with different capabilities, this might be wrong. Use
+-- 'getExtensions' in those cases instead.
+extensions :: Set String
+extensions = unsafePerformIO getExtensions
+{-# NOINLINE extensions #-}
+
+-- | The OpenGL version, split into major and minor version numbers. Note that
+-- in the presence of multiple contexts with different capabilities, this might
+-- be wrong. Use 'getVersion' in those cases instead.
+version :: (Int, Int)
+version = unsafePerformIO getVersion
+{-# NOINLINE version #-}
diff --git a/src/Graphics/GL/Groups.hs b/src/Graphics/GL/Groups.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Groups.hs
@@ -0,0 +1,1814 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Groups
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All enumeration groups from the
+-- <http://www.opengl.org/registry/ OpenGL registry>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Groups (
+  -- $EnumerantGroups
+) where
+
+-- $EnumerantGroups
+-- Note that the actual set of valid values depend on the OpenGL version, the
+-- chosen profile and the supported extensions. Therefore, the groups mentioned
+-- here should only be considered a rough guideline, for details see the OpenGL
+-- specification.
+--
+-- === #AccumOp# AccumOp
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM'
+-- * 'Graphics.GL.Tokens.GL_LOAD'
+-- * 'Graphics.GL.Tokens.GL_RETURN'
+-- * 'Graphics.GL.Tokens.GL_MULT'
+-- * 'Graphics.GL.Tokens.GL_ADD'
+--
+-- === #AlphaFunction# AlphaFunction
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALWAYS'
+-- * 'Graphics.GL.Tokens.GL_EQUAL'
+-- * 'Graphics.GL.Tokens.GL_GEQUAL'
+-- * 'Graphics.GL.Tokens.GL_GREATER'
+-- * 'Graphics.GL.Tokens.GL_LEQUAL'
+-- * 'Graphics.GL.Tokens.GL_LESS'
+-- * 'Graphics.GL.Tokens.GL_NEVER'
+-- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
+--
+-- === #AttribMask# AttribMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_ALL_ATTRIB_BITS'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_BIT'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_ENABLE_BIT'
+-- * 'Graphics.GL.Tokens.GL_EVAL_BIT'
+-- * 'Graphics.GL.Tokens.GL_FOG_BIT'
+-- * 'Graphics.GL.Tokens.GL_HINT_BIT'
+-- * 'Graphics.GL.Tokens.GL_LIGHTING_BIT'
+-- * 'Graphics.GL.Tokens.GL_LINE_BIT'
+-- * 'Graphics.GL.Tokens.GL_LIST_BIT'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT' (aliases: 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_3DFX', 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_ARB', 'Graphics.GL.Tokens.GL_MULTISAMPLE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MODE_BIT'
+-- * 'Graphics.GL.Tokens.GL_POINT_BIT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_BIT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE_BIT'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_BIT'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BIT'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_BIT'
+-- * 'Graphics.GL.Tokens.GL_VIEWPORT_BIT'
+--
+-- === #BlendEquationModeEXT# BlendEquationModeEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA_MAX_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_MIN_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FUNC_ADD_EXT'
+-- * 'Graphics.GL.Tokens.GL_FUNC_REVERSE_SUBTRACT_EXT'
+-- * 'Graphics.GL.Tokens.GL_FUNC_SUBTRACT_EXT'
+-- * 'Graphics.GL.Tokens.GL_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_MAX_EXT'
+-- * 'Graphics.GL.Tokens.GL_MIN_EXT'
+--
+-- === #BlendingFactorDest# BlendingFactorDest
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_ALPHA_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_COLOR_EXT'
+-- * 'Graphics.GL.Tokens.GL_DST_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_ALPHA_EXT'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_COLOR_EXT'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_COLOR'
+-- * 'Graphics.GL.Tokens.GL_SRC_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_SRC_COLOR'
+-- * 'Graphics.GL.Tokens.GL_ZERO'
+--
+-- === #BlendingFactorSrc# BlendingFactorSrc
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_ALPHA_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_COLOR_EXT'
+-- * 'Graphics.GL.Tokens.GL_DST_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_DST_COLOR'
+-- * 'Graphics.GL.Tokens.GL_ONE'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_ALPHA_EXT'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_CONSTANT_COLOR_EXT'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_DST_COLOR'
+-- * 'Graphics.GL.Tokens.GL_ONE_MINUS_SRC_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_SRC_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_SRC_ALPHA_SATURATE'
+-- * 'Graphics.GL.Tokens.GL_ZERO'
+--
+-- === #Boolean# Boolean
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FALSE'
+-- * 'Graphics.GL.Tokens.GL_TRUE'
+--
+-- === #ClearBufferMask# ClearBufferMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_COLOR_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_COVERAGE_BUFFER_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BUFFER_BIT'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BUFFER_BIT'
+--
+-- === #ClientAttribMask# ClientAttribMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLIENT_ALL_ATTRIB_BITS'
+-- * 'Graphics.GL.Tokens.GL_CLIENT_PIXEL_STORE_BIT'
+-- * 'Graphics.GL.Tokens.GL_CLIENT_VERTEX_ARRAY_BIT'
+--
+-- === #ClipPlaneName# ClipPlaneName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE0' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE0')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE1' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE1')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE2' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE2')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE3' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE3')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE4' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE4')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE5' (alias: 'Graphics.GL.Tokens.GL_CLIP_PLANE5')
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE6'
+-- * 'Graphics.GL.Tokens.GL_CLIP_DISTANCE7'
+--
+-- === #ColorMaterialFace# ColorMaterialFace
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+--
+-- === #ColorMaterialParameter# ColorMaterialParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_AMBIENT_AND_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_EMISSION'
+-- * 'Graphics.GL.Tokens.GL_SPECULAR'
+--
+-- === #ColorPointerType# ColorPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+--
+-- === #ColorTableParameterPNameSGI# ColorTableParameterPNameSGI
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE_SGI')
+--
+-- === #ColorTableTargetSGI# ColorTableTargetSGI
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.GL.Tokens.GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
+--
+-- === #ContextFlagMask# ContextFlagMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_DEBUG_BIT' (alias: 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_DEBUG_BIT_KHR')
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT'
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB'
+--
+-- === #ContextProfileMask# ContextProfileMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_COMPATIBILITY_PROFILE_BIT'
+-- * 'Graphics.GL.Tokens.GL_CONTEXT_CORE_PROFILE_BIT'
+--
+-- === #ConvolutionBorderModeEXT# ConvolutionBorderModeEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_REDUCE' (alias: 'Graphics.GL.Tokens.GL_REDUCE_EXT')
+--
+-- === #ConvolutionParameterEXT# ConvolutionParameterEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE_EXT')
+--
+-- === #ConvolutionTargetEXT# ConvolutionTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT')
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D' (alias: 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT')
+--
+-- === #CullFaceMode# CullFaceMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+--
+-- === #DataType# DataType
+-- There are no values defined for this enumeration group.
+--
+--
+-- === #DepthFunction# DepthFunction
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALWAYS'
+-- * 'Graphics.GL.Tokens.GL_EQUAL'
+-- * 'Graphics.GL.Tokens.GL_GEQUAL'
+-- * 'Graphics.GL.Tokens.GL_GREATER'
+-- * 'Graphics.GL.Tokens.GL_LEQUAL'
+-- * 'Graphics.GL.Tokens.GL_LESS'
+-- * 'Graphics.GL.Tokens.GL_NEVER'
+-- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
+--
+-- === #DrawBufferMode# DrawBufferMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AUX0'
+-- * 'Graphics.GL.Tokens.GL_AUX1'
+-- * 'Graphics.GL.Tokens.GL_AUX2'
+-- * 'Graphics.GL.Tokens.GL_AUX3'
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_BACK_LEFT'
+-- * 'Graphics.GL.Tokens.GL_BACK_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT_LEFT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_LEFT'
+-- * 'Graphics.GL.Tokens.GL_NONE' (alias: 'Graphics.GL.Tokens.GL_NONE_OES')
+-- * 'Graphics.GL.Tokens.GL_RIGHT'
+--
+-- === #EnableCap# EnableCap
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_DRAW_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_HISTOGRAM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_READ_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_TEX_IMAGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_AUTO_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_BLEND'
+-- * 'Graphics.GL.Tokens.GL_CALLIGRAPHIC_FRAGMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE0'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE1'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE2'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE3'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE4'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE5'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_COLOR_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CULL_FACE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_TEST'
+-- * 'Graphics.GL.Tokens.GL_DITHER'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_FOG'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT2_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT3_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT4_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT5_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT6_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT7_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHTING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_INDEX_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_INTERLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_IR_INSTRUMENT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT0'
+-- * 'Graphics.GL.Tokens.GL_LIGHT1'
+-- * 'Graphics.GL.Tokens.GL_LIGHT2'
+-- * 'Graphics.GL.Tokens.GL_LIGHT3'
+-- * 'Graphics.GL.Tokens.GL_LIGHT4'
+-- * 'Graphics.GL.Tokens.GL_LIGHT5'
+-- * 'Graphics.GL.Tokens.GL_LIGHT6'
+-- * 'Graphics.GL.Tokens.GL_LIGHT7'
+-- * 'Graphics.GL.Tokens.GL_LIGHTING'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MINMAX_EXT'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_NORMALIZE'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEXTURE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FILL'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_LINE'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_POINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RESCALE_NORMAL_EXT'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_ONE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_TEST'
+-- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_SHARED_TEXTURE_PALETTE_EXT'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_TEST'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_Q'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_R'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_T'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY'
+--
+-- === #ErrorCode# ErrorCode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_INVALID_ENUM'
+-- * 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION' (aliases: 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION_EXT', 'Graphics.GL.Tokens.GL_INVALID_FRAMEBUFFER_OPERATION_OES')
+-- * 'Graphics.GL.Tokens.GL_INVALID_OPERATION'
+-- * 'Graphics.GL.Tokens.GL_INVALID_VALUE'
+-- * 'Graphics.GL.Tokens.GL_NO_ERROR'
+-- * 'Graphics.GL.Tokens.GL_OUT_OF_MEMORY'
+-- * 'Graphics.GL.Tokens.GL_STACK_OVERFLOW'
+-- * 'Graphics.GL.Tokens.GL_STACK_UNDERFLOW'
+-- * 'Graphics.GL.Tokens.GL_TABLE_TOO_LARGE' (alias: 'Graphics.GL.Tokens.GL_TABLE_TOO_LARGE_EXT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_TOO_LARGE_EXT'
+--
+-- === #FeedBackToken# FeedBackToken
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BITMAP_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_COPY_PIXEL_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_DRAW_PIXEL_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_LINE_RESET_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_LINE_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_PASS_THROUGH_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_POINT_TOKEN'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_TOKEN'
+--
+-- === #FeedbackType# FeedbackType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_2D'
+-- * 'Graphics.GL.Tokens.GL_3D'
+-- * 'Graphics.GL.Tokens.GL_3D_COLOR'
+-- * 'Graphics.GL.Tokens.GL_3D_COLOR_TEXTURE'
+-- * 'Graphics.GL.Tokens.GL_4D_COLOR_TEXTURE'
+--
+-- === #FfdMaskSGIX# FfdMaskSGIX
+-- There are no values defined for this enumeration group.
+--
+--
+-- === #FfdTargetSGIX# FfdTargetSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_DEFORMATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_DEFORMATION_SGIX'
+--
+-- === #FogCoordinatePointerType# FogCoordinatePointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+--
+-- === #FogMode# FogMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EXP'
+-- * 'Graphics.GL.Tokens.GL_EXP2'
+-- * 'Graphics.GL.Tokens.GL_FOG_FUNC_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR'
+--
+-- === #FogParameter# FogParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FOG_COLOR'
+-- * 'Graphics.GL.Tokens.GL_FOG_DENSITY'
+-- * 'Graphics.GL.Tokens.GL_FOG_END'
+-- * 'Graphics.GL.Tokens.GL_FOG_INDEX'
+-- * 'Graphics.GL.Tokens.GL_FOG_MODE'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_VALUE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_START'
+--
+-- === #FogPointerTypeEXT# FogPointerTypeEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+--
+-- === #FogPointerTypeIBM# FogPointerTypeIBM
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+--
+-- === #FragmentLightModelParameterSGIX# FragmentLightModelParameterSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
+--
+-- === #FrontFaceDirection# FrontFaceDirection
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CCW'
+-- * 'Graphics.GL.Tokens.GL_CW'
+--
+-- === #GetColorTableParameterPNameSGI# GetColorTableParameterPNameSGI
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_ALPHA_SIZE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_BLUE_SIZE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_FORMAT_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_GREEN_SIZE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_INTENSITY_SIZE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_LUMINANCE_SIZE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_RED_SIZE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_WIDTH_SGI'
+--
+-- === #GetConvolutionParameter# GetConvolutionParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_BORDER_MODE_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FILTER_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_FORMAT_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HEIGHT_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_WIDTH_EXT'
+-- * 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_HEIGHT_EXT'
+-- * 'Graphics.GL.Tokens.GL_MAX_CONVOLUTION_WIDTH_EXT'
+--
+-- === #GetHistogramParameterPNameEXT# GetHistogramParameterPNameEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_ALPHA_SIZE_EXT'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_BLUE_SIZE_EXT'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_FORMAT_EXT'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_GREEN_SIZE_EXT'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_LUMINANCE_SIZE_EXT'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_RED_SIZE_EXT'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_SINK_EXT'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_WIDTH_EXT'
+--
+-- === #GetMapQuery# GetMapQuery
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COEFF'
+-- * 'Graphics.GL.Tokens.GL_DOMAIN'
+-- * 'Graphics.GL.Tokens.GL_ORDER'
+--
+-- === #GetMinmaxParameterPNameEXT# GetMinmaxParameterPNameEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MINMAX_FORMAT' (alias: 'Graphics.GL.Tokens.GL_MINMAX_FORMAT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MINMAX_SINK' (alias: 'Graphics.GL.Tokens.GL_MINMAX_SINK_EXT')
+--
+-- === #GetPName# GetPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ACCUM_ALPHA_BITS'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_BLUE_BITS'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_GREEN_BITS'
+-- * 'Graphics.GL.Tokens.GL_ACCUM_RED_BITS'
+-- * 'Graphics.GL.Tokens.GL_ALIASED_LINE_WIDTH_RANGE'
+-- * 'Graphics.GL.Tokens.GL_ALIASED_POINT_SIZE_RANGE'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_BIAS'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_BITS'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_SCALE'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_QCOM')
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST_FUNC' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_FUNC_QCOM')
+-- * 'Graphics.GL.Tokens.GL_ALPHA_TEST_REF' (alias: 'Graphics.GL.Tokens.GL_ALPHA_TEST_REF_QCOM')
+-- * 'Graphics.GL.Tokens.GL_ASYNC_DRAW_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_HISTOGRAM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_MARKER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_READ_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ASYNC_TEX_IMAGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_AUTO_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_AUX_BUFFERS'
+-- * 'Graphics.GL.Tokens.GL_BLEND'
+-- * 'Graphics.GL.Tokens.GL_BLEND_COLOR_EXT'
+-- * 'Graphics.GL.Tokens.GL_BLEND_DST'
+-- * 'Graphics.GL.Tokens.GL_BLEND_EQUATION_EXT'
+-- * 'Graphics.GL.Tokens.GL_BLEND_SRC'
+-- * 'Graphics.GL.Tokens.GL_BLUE_BIAS'
+-- * 'Graphics.GL.Tokens.GL_BLUE_BITS'
+-- * 'Graphics.GL.Tokens.GL_BLUE_SCALE'
+-- * 'Graphics.GL.Tokens.GL_CALLIGRAPHIC_FRAGMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_CLIENT_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE0'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE1'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE2'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE3'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE4'
+-- * 'Graphics.GL.Tokens.GL_CLIP_PLANE5'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_LOGIC_OP'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL_FACE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATERIAL_PARAMETER'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATRIX_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_MATRIX_STACK_DEPTH_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_COLOR_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_1D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_CULL_FACE'
+-- * 'Graphics.GL.Tokens.GL_CULL_FACE_MODE'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_COLOR'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_INDEX'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_COLOR'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_DISTANCE'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_INDEX'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_POSITION'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_POSITION_VALID'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_RASTER_TEXTURE_COORDS'
+-- * 'Graphics.GL.Tokens.GL_CURRENT_TEXTURE_COORDS'
+-- * 'Graphics.GL.Tokens.GL_DEFORMATIONS_MASK_SGIX'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BIAS'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BITS'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_FUNC'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_RANGE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_SCALE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_TEST'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_2D_BINDING_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DITHER'
+-- * 'Graphics.GL.Tokens.GL_DOUBLEBUFFER'
+-- * 'Graphics.GL.Tokens.GL_DRAW_BUFFER' (alias: 'Graphics.GL.Tokens.GL_DRAW_BUFFER_EXT')
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_SIZE'
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_TYPE'
+-- * 'Graphics.GL.Tokens.GL_FOG'
+-- * 'Graphics.GL.Tokens.GL_FOG_COLOR'
+-- * 'Graphics.GL.Tokens.GL_FOG_DENSITY'
+-- * 'Graphics.GL.Tokens.GL_FOG_END'
+-- * 'Graphics.GL.Tokens.GL_FOG_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_FOG_HINT'
+-- * 'Graphics.GL.Tokens.GL_FOG_INDEX'
+-- * 'Graphics.GL.Tokens.GL_FOG_MODE'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_OFFSET_VALUE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_START'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_COLOR_MATERIAL_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHTING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_FACTOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAMEZOOM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRONT_FACE'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_BIAS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_BITS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_SCALE'
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_BITS'
+-- * 'Graphics.GL.Tokens.GL_INDEX_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_LOGIC_OP' (alias: 'Graphics.GL.Tokens.GL_LOGIC_OP')
+-- * 'Graphics.GL.Tokens.GL_INDEX_MODE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_OFFSET'
+-- * 'Graphics.GL.Tokens.GL_INDEX_SHIFT'
+-- * 'Graphics.GL.Tokens.GL_INDEX_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_INSTRUMENT_MEASUREMENTS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_INTERLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_IR_INSTRUMENT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT0'
+-- * 'Graphics.GL.Tokens.GL_LIGHT1'
+-- * 'Graphics.GL.Tokens.GL_LIGHT2'
+-- * 'Graphics.GL.Tokens.GL_LIGHT3'
+-- * 'Graphics.GL.Tokens.GL_LIGHT4'
+-- * 'Graphics.GL.Tokens.GL_LIGHT5'
+-- * 'Graphics.GL.Tokens.GL_LIGHT6'
+-- * 'Graphics.GL.Tokens.GL_LIGHT7'
+-- * 'Graphics.GL.Tokens.GL_LIGHTING'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_ENV_MODE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_LOCAL_VIEWER'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_TWO_SIDE'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE_PATTERN'
+-- * 'Graphics.GL.Tokens.GL_LINE_STIPPLE_REPEAT'
+-- * 'Graphics.GL.Tokens.GL_LINE_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_LINE_WIDTH_GRANULARITY' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_LINE_WIDTH_GRANULARITY')
+-- * 'Graphics.GL.Tokens.GL_LINE_WIDTH_RANGE' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_LINE_WIDTH_RANGE')
+-- * 'Graphics.GL.Tokens.GL_LIST_BASE'
+-- * 'Graphics.GL.Tokens.GL_LIST_INDEX'
+-- * 'Graphics.GL.Tokens.GL_LIST_MODE'
+-- * 'Graphics.GL.Tokens.GL_LOGIC_OP_MODE'
+-- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_GRID_DOMAIN'
+-- * 'Graphics.GL.Tokens.GL_MAP1_GRID_SEGMENTS'
+-- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_GRID_DOMAIN'
+-- * 'Graphics.GL.Tokens.GL_MAP2_GRID_SEGMENTS'
+-- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP_COLOR'
+-- * 'Graphics.GL.Tokens.GL_MAP_STENCIL'
+-- * 'Graphics.GL.Tokens.GL_MATRIX_MODE'
+-- * 'Graphics.GL.Tokens.GL_MAX_3D_TEXTURE_SIZE_EXT'
+-- * 'Graphics.GL.Tokens.GL_MAX_4D_TEXTURE_SIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_MAX_ACTIVE_LIGHTS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_DRAW_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_HISTOGRAM_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_READ_PIXELS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ASYNC_TEX_IMAGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIENT_ATTRIB_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIPMAP_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_CLIP_DISTANCES' (alias: 'Graphics.GL.Tokens.GL_MAX_CLIP_PLANES')
+-- * 'Graphics.GL.Tokens.GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI'
+-- * 'Graphics.GL.Tokens.GL_MAX_EVAL_ORDER'
+-- * 'Graphics.GL.Tokens.GL_MAX_FOG_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_MAX_FRAGMENT_LIGHTS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_FRAMEZOOM_FACTOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAX_LIGHTS'
+-- * 'Graphics.GL.Tokens.GL_MAX_LIST_NESTING'
+-- * 'Graphics.GL.Tokens.GL_MAX_MODELVIEW_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_NAME_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_PIXEL_MAP_TABLE'
+-- * 'Graphics.GL.Tokens.GL_MAX_PROJECTION_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_TEXTURE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_MAX_TEXTURE_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_MAX_VIEWPORT_DIMS'
+-- * 'Graphics.GL.Tokens.GL_MINMAX_EXT'
+-- * 'Graphics.GL.Tokens.GL_MODELVIEW0_MATRIX_EXT' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW_MATRIX')
+-- * 'Graphics.GL.Tokens.GL_MODELVIEW0_STACK_DEPTH_EXT' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW_STACK_DEPTH')
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_NAME_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_NORMALIZE'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_PACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_PACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT_EXT'
+-- * 'Graphics.GL.Tokens.GL_PACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_ROW_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES_EXT'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_PIXELS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_ROWS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_SWAP_BYTES'
+-- * 'Graphics.GL.Tokens.GL_PERSPECTIVE_CORRECTION_HINT'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S_SIZE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEXTURE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_MODE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_INCREMENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_SIZE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_GRANULARITY' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_POINT_SIZE_GRANULARITY')
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_RANGE' (alias: 'Graphics.GL.Tokens.GL_SMOOTH_POINT_SIZE_RANGE')
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_MODE'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FACTOR'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_FILL'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_LINE'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_POINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_OFFSET_UNITS'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_STIPPLE'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE_EXT'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PROJECTION_MATRIX'
+-- * 'Graphics.GL.Tokens.GL_PROJECTION_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_READ_BUFFER' (aliases: 'Graphics.GL.Tokens.GL_READ_BUFFER_EXT', 'Graphics.GL.Tokens.GL_READ_BUFFER_NV')
+-- * 'Graphics.GL.Tokens.GL_RED_BIAS'
+-- * 'Graphics.GL.Tokens.GL_RED_BITS'
+-- * 'Graphics.GL.Tokens.GL_RED_SCALE'
+-- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_EQUATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_REFERENCE_PLANE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RENDER_MODE'
+-- * 'Graphics.GL.Tokens.GL_RESCALE_NORMAL_EXT'
+-- * 'Graphics.GL.Tokens.GL_RGBA_MODE'
+-- * 'Graphics.GL.Tokens.GL_SAMPLES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_ALPHA_TO_ONE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_BUFFERS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_INVERT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_MASK_VALUE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SAMPLE_PATTERN_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_BOX'
+-- * 'Graphics.GL.Tokens.GL_SCISSOR_TEST'
+-- * 'Graphics.GL.Tokens.GL_SELECTION_BUFFER_SIZE'
+-- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT'
+-- * 'Graphics.GL.Tokens.GL_SHADE_MODEL'
+-- * 'Graphics.GL.Tokens.GL_SHARED_TEXTURE_PALETTE_EXT'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_AXIS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_MODE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SPRITE_TRANSLATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_BITS'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_CLEAR_VALUE'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_FAIL'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_FUNC'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_PASS_DEPTH_FAIL'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_PASS_DEPTH_PASS'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_REF'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_TEST'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_VALUE_MASK'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_WRITEMASK'
+-- * 'Graphics.GL.Tokens.GL_STEREO'
+-- * 'Graphics.GL.Tokens.GL_SUBPIXEL_BITS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_BINDING_EXT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_3D')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_BINDING_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BINDING_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COLOR_TABLE_SGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_Q'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_R'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_T'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MATRIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_STACK_DEPTH'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT_EXT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES_EXT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SWAP_BYTES'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_COUNT_EXT'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_STRIDE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_TYPE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_SGIX'
+-- * 'Graphics.GL.Tokens.GL_VIEWPORT'
+-- * 'Graphics.GL.Tokens.GL_ZOOM_X'
+-- * 'Graphics.GL.Tokens.GL_ZOOM_Y'
+--
+-- === #GetPixelMap# GetPixelMap
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S'
+--
+-- === #GetPointervPName# GetPointervPName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_COLOR_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_EDGE_FLAG_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK_BUFFER_POINTER'
+-- * 'Graphics.GL.Tokens.GL_INDEX_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_INDEX_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_INSTRUMENT_BUFFER_POINTER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_NORMAL_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_SELECTION_BUFFER_POINTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_COORD_ARRAY_POINTER_EXT')
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_POINTER' (alias: 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_POINTER_EXT')
+--
+-- === #GetTextureParameter# GetTextureParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_MODE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_SGIS'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_QUAD_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SHADOW_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4DSIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ALPHA_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BLUE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR_NV')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_CENTER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_FRAME_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_OPERATOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPONENTS' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_INTERNAL_FORMAT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_DEPTH_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_FILTER4_SIZE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEQUAL_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GREEN_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_HEIGHT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_INTENSITY_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LEQUAL_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LUMINANCE_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAG_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_RED_SIZE'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_RESIDENT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WIDTH'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_Q_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_T'
+--
+-- === #HintMode# HintMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DONT_CARE'
+-- * 'Graphics.GL.Tokens.GL_FASTEST'
+-- * 'Graphics.GL.Tokens.GL_NICEST'
+--
+-- === #HintTarget# HintTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_FRG_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_MEM_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_OBJ_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALLOW_DRAW_WIN_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALWAYS_FAST_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_ALWAYS_SOFT_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_BACK_NORMALS_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_BINNING_CONTROL_HINT_QCOM'
+-- * 'Graphics.GL.Tokens.GL_CLIP_FAR_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_CLIP_NEAR_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_CLIP_VOLUME_CLIPPING_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_CONSERVE_MEMORY_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_CONVOLUTION_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FOG_HINT'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT' (aliases: 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB', 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES')
+-- * 'Graphics.GL.Tokens.GL_FULL_STIPPLE_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT' (alias: 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_HINT_SGIS')
+-- * 'Graphics.GL.Tokens.GL_LINE_QUALITY_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LINE_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_MATERIAL_SIDE_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_MAX_VERTEX_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_MULTISAMPLE_FILTER_HINT_NV'
+-- * 'Graphics.GL.Tokens.GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_NATIVE_GRAPHICS_END_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_PACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_PERSPECTIVE_CORRECTION_HINT'
+-- * 'Graphics.GL.Tokens.GL_PHONG_HINT_WIN'
+-- * 'Graphics.GL.Tokens.GL_POINT_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_POLYGON_SMOOTH_HINT'
+-- * 'Graphics.GL.Tokens.GL_PREFER_DOUBLEBUFFER_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_PROGRAM_BINARY_RETRIEVABLE_HINT'
+-- * 'Graphics.GL.Tokens.GL_RECLAIM_MEMORY_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_SCALEBIAS_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_STRICT_DEPTHFUNC_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_STRICT_LIGHTING_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_STRICT_SCISSOR_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSION_HINT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_COMPRESSION_HINT_ARB')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MULTI_BUFFER_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_STORAGE_HINT_APPLE'
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_HINT_APPLE'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_CMYK_HINT_EXT'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ARRAY_STORAGE_HINT_APPLE'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_CONSISTENT_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_DATA_HINT_PGI'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_HINT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_VERTEX_PRECLIP_SGIX'
+-- * 'Graphics.GL.Tokens.GL_WIDE_LINE_HINT_PGI'
+--
+-- === #HistogramTargetEXT# HistogramTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_HISTOGRAM' (alias: 'Graphics.GL.Tokens.GL_HISTOGRAM_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM' (alias: 'Graphics.GL.Tokens.GL_PROXY_HISTOGRAM_EXT')
+--
+-- === #IndexPointerType# IndexPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+--
+-- === #InterleavedArrayFormat# InterleavedArrayFormat
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_C3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_C4F_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_C4UB_V2F'
+-- * 'Graphics.GL.Tokens.GL_C4UB_V3F'
+-- * 'Graphics.GL.Tokens.GL_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_C3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_C4F_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_C4UB_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_N3F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T2F_V3F'
+-- * 'Graphics.GL.Tokens.GL_T4F_C4F_N3F_V4F'
+-- * 'Graphics.GL.Tokens.GL_T4F_V4F'
+-- * 'Graphics.GL.Tokens.GL_V2F'
+-- * 'Graphics.GL.Tokens.GL_V3F'
+--
+-- === #InternalFormat# InternalFormat
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA12'
+-- * 'Graphics.GL.Tokens.GL_ALPHA16'
+-- * 'Graphics.GL.Tokens.GL_ALPHA4'
+-- * 'Graphics.GL.Tokens.GL_ALPHA8'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT16_SGIX'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT24_SGIX'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT32_SGIX'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA12_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA16_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_ALPHA8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY12_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY16_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_INTENSITY8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE12_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE16_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE_ALPHA4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_LUMINANCE_ALPHA8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY12'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY16'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY4'
+-- * 'Graphics.GL.Tokens.GL_INTENSITY8'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE12'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE12_ALPHA12'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE12_ALPHA4'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE16'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE16_ALPHA16'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE4'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE4_ALPHA4'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE6_ALPHA2'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE8'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE8_ALPHA8'
+-- * 'Graphics.GL.Tokens.GL_QUAD_ALPHA4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_ALPHA8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_INTENSITY4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_INTENSITY8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_LUMINANCE4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_QUAD_LUMINANCE8_SGIS'
+-- * 'Graphics.GL.Tokens.GL_R3_G3_B2'
+-- * 'Graphics.GL.Tokens.GL_RGB10'
+-- * 'Graphics.GL.Tokens.GL_RGB10_A2'
+-- * 'Graphics.GL.Tokens.GL_RGB12'
+-- * 'Graphics.GL.Tokens.GL_RGB16'
+-- * 'Graphics.GL.Tokens.GL_RGB2_EXT'
+-- * 'Graphics.GL.Tokens.GL_RGB4'
+-- * 'Graphics.GL.Tokens.GL_RGB5'
+-- * 'Graphics.GL.Tokens.GL_RGB5_A1'
+-- * 'Graphics.GL.Tokens.GL_RGB8'
+-- * 'Graphics.GL.Tokens.GL_RGBA12'
+-- * 'Graphics.GL.Tokens.GL_RGBA16'
+-- * 'Graphics.GL.Tokens.GL_RGBA2'
+-- * 'Graphics.GL.Tokens.GL_RGBA4'
+-- * 'Graphics.GL.Tokens.GL_RGBA8'
+--
+-- === #LightEnvModeSGIX# LightEnvModeSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ADD'
+-- * 'Graphics.GL.Tokens.GL_MODULATE'
+-- * 'Graphics.GL.Tokens.GL_REPLACE'
+--
+-- === #LightEnvParameterSGIX# LightEnvParameterSGIX
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LIGHT_ENV_MODE_SGIX'
+--
+-- === #LightModelColorControl# LightModelColorControl
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SEPARATE_SPECULAR_COLOR' (alias: 'Graphics.GL.Tokens.GL_SEPARATE_SPECULAR_COLOR_EXT')
+-- * 'Graphics.GL.Tokens.GL_SINGLE_COLOR' (alias: 'Graphics.GL.Tokens.GL_SINGLE_COLOR_EXT')
+--
+-- === #LightModelParameter# LightModelParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL' (alias: 'Graphics.GL.Tokens.GL_LIGHT_MODEL_COLOR_CONTROL_EXT')
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_LOCAL_VIEWER'
+-- * 'Graphics.GL.Tokens.GL_LIGHT_MODEL_TWO_SIDE'
+--
+-- === #LightName# LightName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT0_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT1_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT2_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT3_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT4_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT5_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT6_SGIX'
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_LIGHT7_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LIGHT0'
+-- * 'Graphics.GL.Tokens.GL_LIGHT1'
+-- * 'Graphics.GL.Tokens.GL_LIGHT2'
+-- * 'Graphics.GL.Tokens.GL_LIGHT3'
+-- * 'Graphics.GL.Tokens.GL_LIGHT4'
+-- * 'Graphics.GL.Tokens.GL_LIGHT5'
+-- * 'Graphics.GL.Tokens.GL_LIGHT6'
+-- * 'Graphics.GL.Tokens.GL_LIGHT7'
+--
+-- === #LightParameter# LightParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_CONSTANT_ATTENUATION'
+-- * 'Graphics.GL.Tokens.GL_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_ATTENUATION'
+-- * 'Graphics.GL.Tokens.GL_POSITION'
+-- * 'Graphics.GL.Tokens.GL_QUADRATIC_ATTENUATION'
+-- * 'Graphics.GL.Tokens.GL_SPECULAR'
+-- * 'Graphics.GL.Tokens.GL_SPOT_CUTOFF'
+-- * 'Graphics.GL.Tokens.GL_SPOT_DIRECTION'
+-- * 'Graphics.GL.Tokens.GL_SPOT_EXPONENT'
+--
+-- === #ListMode# ListMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COMPILE'
+-- * 'Graphics.GL.Tokens.GL_COMPILE_AND_EXECUTE'
+--
+-- === #ListNameType# ListNameType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_2_BYTES'
+-- * 'Graphics.GL.Tokens.GL_3_BYTES'
+-- * 'Graphics.GL.Tokens.GL_4_BYTES'
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+--
+-- === #ListParameterName# ListParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LIST_PRIORITY_SGIX'
+--
+-- === #LogicOp# LogicOp
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AND'
+-- * 'Graphics.GL.Tokens.GL_AND_INVERTED'
+-- * 'Graphics.GL.Tokens.GL_AND_REVERSE'
+-- * 'Graphics.GL.Tokens.GL_CLEAR'
+-- * 'Graphics.GL.Tokens.GL_COPY'
+-- * 'Graphics.GL.Tokens.GL_COPY_INVERTED'
+-- * 'Graphics.GL.Tokens.GL_EQUIV'
+-- * 'Graphics.GL.Tokens.GL_INVERT'
+-- * 'Graphics.GL.Tokens.GL_NAND'
+-- * 'Graphics.GL.Tokens.GL_NOOP'
+-- * 'Graphics.GL.Tokens.GL_NOR'
+-- * 'Graphics.GL.Tokens.GL_OR'
+-- * 'Graphics.GL.Tokens.GL_OR_INVERTED'
+-- * 'Graphics.GL.Tokens.GL_OR_REVERSE'
+-- * 'Graphics.GL.Tokens.GL_SET'
+-- * 'Graphics.GL.Tokens.GL_XOR'
+--
+-- === #MapBufferUsageMask# MapBufferUsageMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLIENT_STORAGE_BIT'
+-- * 'Graphics.GL.Tokens.GL_DYNAMIC_STORAGE_BIT'
+-- * 'Graphics.GL.Tokens.GL_MAP_COHERENT_BIT'
+-- * 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_FLUSH_EXPLICIT_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_BUFFER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_INVALIDATE_RANGE_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_PERSISTENT_BIT'
+-- * 'Graphics.GL.Tokens.GL_MAP_READ_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_READ_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_UNSYNCHRONIZED_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT' (alias: 'Graphics.GL.Tokens.GL_MAP_WRITE_BIT_EXT')
+--
+-- === #MapTarget# MapTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_DEFORMATION_SGIX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP1_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP1_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_COLOR_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_INDEX'
+-- * 'Graphics.GL.Tokens.GL_MAP2_NORMAL'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_1'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_2'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_TEXTURE_COORD_4'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_3'
+-- * 'Graphics.GL.Tokens.GL_MAP2_VERTEX_4'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_DEFORMATION_SGIX'
+--
+-- === #MapTextureFormatINTEL# MapTextureFormatINTEL
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_DEFAULT_INTEL'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_LINEAR_CPU_CACHED_INTEL'
+-- * 'Graphics.GL.Tokens.GL_LAYOUT_LINEAR_INTEL'
+--
+-- === #MaterialFace# MaterialFace
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_AND_BACK'
+--
+-- === #MaterialParameter# MaterialParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AMBIENT'
+-- * 'Graphics.GL.Tokens.GL_AMBIENT_AND_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_COLOR_INDEXES'
+-- * 'Graphics.GL.Tokens.GL_DIFFUSE'
+-- * 'Graphics.GL.Tokens.GL_EMISSION'
+-- * 'Graphics.GL.Tokens.GL_SHININESS'
+-- * 'Graphics.GL.Tokens.GL_SPECULAR'
+--
+-- === #MatrixMode# MatrixMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MODELVIEW' (alias: 'Graphics.GL.Tokens.GL_MODELVIEW0_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROJECTION'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE'
+--
+-- === #MemoryBarrierMask# MemoryBarrierMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALL_BARRIER_BITS' (alias: 'Graphics.GL.Tokens.GL_ALL_BARRIER_BITS_EXT')
+-- * 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_ATOMIC_COUNTER_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_BUFFER_UPDATE_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_BUFFER_UPDATE_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT'
+-- * 'Graphics.GL.Tokens.GL_COMMAND_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_COMMAND_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_ELEMENT_ARRAY_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_FRAMEBUFFER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_FRAMEBUFFER_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_PIXEL_BUFFER_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_PIXEL_BUFFER_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_QUERY_BUFFER_BARRIER_BIT'
+-- * 'Graphics.GL.Tokens.GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV'
+-- * 'Graphics.GL.Tokens.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_SHADER_STORAGE_BARRIER_BIT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_FETCH_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_FETCH_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_UPDATE_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_UPDATE_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNIFORM_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_UNIFORM_BARRIER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT' (alias: 'Graphics.GL.Tokens.GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT')
+--
+-- === #MeshMode1# MeshMode1
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LINE'
+-- * 'Graphics.GL.Tokens.GL_POINT'
+--
+-- === #MeshMode2# MeshMode2
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILL'
+-- * 'Graphics.GL.Tokens.GL_LINE'
+-- * 'Graphics.GL.Tokens.GL_POINT'
+--
+-- === #MinmaxTargetEXT# MinmaxTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_MINMAX' (alias: 'Graphics.GL.Tokens.GL_MINMAX_EXT')
+--
+-- === #NormalPointerType# NormalPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+--
+-- === #OcclusionQueryEventMaskAMD# OcclusionQueryEventMaskAMD
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD'
+-- * 'Graphics.GL.Tokens.GL_QUERY_ALL_EVENT_BITS_AMD'
+--
+-- === #PixelCopyType# PixelCopyType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_COLOR' (alias: 'Graphics.GL.Tokens.GL_COLOR_EXT')
+-- * 'Graphics.GL.Tokens.GL_DEPTH' (alias: 'Graphics.GL.Tokens.GL_DEPTH_EXT')
+-- * 'Graphics.GL.Tokens.GL_STENCIL' (alias: 'Graphics.GL.Tokens.GL_STENCIL_EXT')
+--
+-- === #PixelFormat# PixelFormat
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ABGR_EXT'
+-- * 'Graphics.GL.Tokens.GL_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_BLUE'
+-- * 'Graphics.GL.Tokens.GL_CMYKA_EXT'
+-- * 'Graphics.GL.Tokens.GL_CMYK_EXT'
+-- * 'Graphics.GL.Tokens.GL_COLOR_INDEX'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_COMPONENT'
+-- * 'Graphics.GL.Tokens.GL_GREEN'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_RED' (alias: 'Graphics.GL.Tokens.GL_RED_EXT')
+-- * 'Graphics.GL.Tokens.GL_RGB'
+-- * 'Graphics.GL.Tokens.GL_RGBA'
+-- * 'Graphics.GL.Tokens.GL_STENCIL_INDEX'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+-- * 'Graphics.GL.Tokens.GL_YCRCB_422_SGIX'
+-- * 'Graphics.GL.Tokens.GL_YCRCB_444_SGIX'
+--
+-- === #PixelMap# PixelMap
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_A_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_B_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_G_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_A'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_B'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_G'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_I'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_I_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_R_TO_R'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_MAP_S_TO_S'
+--
+-- === #PixelStoreParameter# PixelStoreParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_PACK_IMAGE_HEIGHT_EXT')
+-- * 'Graphics.GL.Tokens.GL_PACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_OML'
+-- * 'Graphics.GL.Tokens.GL_PACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_ROW_LENGTH'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES' (alias: 'Graphics.GL.Tokens.GL_PACK_SKIP_IMAGES_EXT')
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_PIXELS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_ROWS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PACK_SWAP_BYTES'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_CACHE_SIZE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_GRID_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_HEIGHT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TILE_WIDTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ALIGNMENT'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_DEPTH_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT' (alias: 'Graphics.GL.Tokens.GL_UNPACK_IMAGE_HEIGHT_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_LSB_FIRST'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_OML'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_RESAMPLE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH' (alias: 'Graphics.GL.Tokens.GL_UNPACK_ROW_LENGTH_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_IMAGES_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_PIXELS_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS' (alias: 'Graphics.GL.Tokens.GL_UNPACK_SKIP_ROWS_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SKIP_VOLUMES_SGIS'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SUBSAMPLE_RATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_UNPACK_SWAP_BYTES'
+--
+-- === #PixelStoreResampleMode# PixelStoreResampleMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_RESAMPLE_DECIMATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RESAMPLE_REPLICATE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RESAMPLE_ZERO_FILL_SGIX'
+--
+-- === #PixelStoreSubsampleRate# PixelStoreSubsampleRate
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_2424_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_4242_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_SUBSAMPLE_4444_SGIX'
+--
+-- === #PixelTexGenMode# PixelTexGenMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE'
+-- * 'Graphics.GL.Tokens.GL_LUMINANCE_ALPHA'
+-- * 'Graphics.GL.Tokens.GL_NONE'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_RGB'
+-- * 'Graphics.GL.Tokens.GL_RGBA'
+--
+-- === #PixelTexGenParameterNameSGIS# PixelTexGenParameterNameSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'
+--
+-- === #PixelTransferParameter# PixelTransferParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALPHA_BIAS'
+-- * 'Graphics.GL.Tokens.GL_ALPHA_SCALE'
+-- * 'Graphics.GL.Tokens.GL_BLUE_BIAS'
+-- * 'Graphics.GL.Tokens.GL_BLUE_SCALE'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_BIAS'
+-- * 'Graphics.GL.Tokens.GL_DEPTH_SCALE'
+-- * 'Graphics.GL.Tokens.GL_GREEN_BIAS'
+-- * 'Graphics.GL.Tokens.GL_GREEN_SCALE'
+-- * 'Graphics.GL.Tokens.GL_INDEX_OFFSET'
+-- * 'Graphics.GL.Tokens.GL_INDEX_SHIFT'
+-- * 'Graphics.GL.Tokens.GL_MAP_COLOR'
+-- * 'Graphics.GL.Tokens.GL_MAP_STENCIL'
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_BIAS_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_COLOR_MATRIX_RED_SCALE_SGI')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_ALPHA_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_BLUE_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_GREEN_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_BIAS_EXT')
+-- * 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE' (alias: 'Graphics.GL.Tokens.GL_POST_CONVOLUTION_RED_SCALE_EXT')
+-- * 'Graphics.GL.Tokens.GL_RED_BIAS'
+-- * 'Graphics.GL.Tokens.GL_RED_SCALE'
+--
+-- === #PixelType# PixelType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_BITMAP'
+-- * 'Graphics.GL.Tokens.GL_BYTE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE_3_3_2' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_BYTE_3_3_2_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10_10_10_2' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_INT_10_10_10_2_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_INT_8_8_8_8' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_INT_8_8_8_8_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT'
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_4_4_4_4' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_4_4_4_4_EXT')
+-- * 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_5_5_5_1' (alias: 'Graphics.GL.Tokens.GL_UNSIGNED_SHORT_5_5_5_1_EXT')
+--
+-- === #PointParameterNameSGIS# PointParameterNameSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_EXT' (aliases: 'Graphics.GL.Tokens.GL_DISTANCE_ATTENUATION_SGIS', 'Graphics.GL.Tokens.GL_POINT_DISTANCE_ATTENUATION', 'Graphics.GL.Tokens.GL_POINT_DISTANCE_ATTENUATION_ARB')
+-- * 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE' (aliases: 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_ARB', 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_EXT', 'Graphics.GL.Tokens.GL_POINT_FADE_THRESHOLD_SIZE_SGIS')
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX' (aliases: 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_ARB', 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_EXT', 'Graphics.GL.Tokens.GL_POINT_SIZE_MAX_SGIS')
+-- * 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN' (aliases: 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_ARB', 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_EXT', 'Graphics.GL.Tokens.GL_POINT_SIZE_MIN_SGIS')
+--
+-- === #PolygonMode# PolygonMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILL'
+-- * 'Graphics.GL.Tokens.GL_LINE'
+-- * 'Graphics.GL.Tokens.GL_POINT'
+--
+-- === #PrimitiveType# PrimitiveType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_LINES'
+-- * 'Graphics.GL.Tokens.GL_LINES_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_LINES_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_LINES_ADJACENCY_EXT')
+-- * 'Graphics.GL.Tokens.GL_LINE_LOOP'
+-- * 'Graphics.GL.Tokens.GL_LINE_STRIP'
+-- * 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_LINE_STRIP_ADJACENCY_EXT')
+-- * 'Graphics.GL.Tokens.GL_PATCHES' (alias: 'Graphics.GL.Tokens.GL_PATCHES_EXT')
+-- * 'Graphics.GL.Tokens.GL_POINTS'
+-- * 'Graphics.GL.Tokens.GL_POLYGON'
+-- * 'Graphics.GL.Tokens.GL_QUADS' (alias: 'Graphics.GL.Tokens.GL_QUADS_EXT')
+-- * 'Graphics.GL.Tokens.GL_QUAD_STRIP'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLES'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_TRIANGLES_ADJACENCY_EXT')
+-- * 'Graphics.GL.Tokens.GL_TRIANGLE_FAN'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP'
+-- * 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY' (aliases: 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.GL.Tokens.GL_TRIANGLE_STRIP_ADJACENCY_EXT')
+--
+-- === #ReadBufferMode# ReadBufferMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_AUX0'
+-- * 'Graphics.GL.Tokens.GL_AUX1'
+-- * 'Graphics.GL.Tokens.GL_AUX2'
+-- * 'Graphics.GL.Tokens.GL_AUX3'
+-- * 'Graphics.GL.Tokens.GL_BACK'
+-- * 'Graphics.GL.Tokens.GL_BACK_LEFT'
+-- * 'Graphics.GL.Tokens.GL_BACK_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_FRONT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_LEFT'
+-- * 'Graphics.GL.Tokens.GL_FRONT_RIGHT'
+-- * 'Graphics.GL.Tokens.GL_LEFT'
+-- * 'Graphics.GL.Tokens.GL_RIGHT'
+--
+-- === #RenderingMode# RenderingMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FEEDBACK'
+-- * 'Graphics.GL.Tokens.GL_RENDER'
+-- * 'Graphics.GL.Tokens.GL_SELECT'
+--
+-- === #SamplePatternSGIS# SamplePatternSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_1PASS_EXT' (alias: 'Graphics.GL.Tokens.GL_1PASS_SGIS')
+-- * 'Graphics.GL.Tokens.GL_2PASS_0_EXT' (alias: 'Graphics.GL.Tokens.GL_2PASS_0_SGIS')
+-- * 'Graphics.GL.Tokens.GL_2PASS_1_EXT' (alias: 'Graphics.GL.Tokens.GL_2PASS_1_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_0_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_0_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_1_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_1_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_2_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_2_SGIS')
+-- * 'Graphics.GL.Tokens.GL_4PASS_3_EXT' (alias: 'Graphics.GL.Tokens.GL_4PASS_3_SGIS')
+--
+-- === #SeparableTargetEXT# SeparableTargetEXT
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_SEPARABLE_2D' (alias: 'Graphics.GL.Tokens.GL_SEPARABLE_2D_EXT')
+--
+-- === #ShadingModel# ShadingModel
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FLAT'
+-- * 'Graphics.GL.Tokens.GL_SMOOTH'
+--
+-- === #StencilFunction# StencilFunction
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ALWAYS'
+-- * 'Graphics.GL.Tokens.GL_EQUAL'
+-- * 'Graphics.GL.Tokens.GL_GEQUAL'
+-- * 'Graphics.GL.Tokens.GL_GREATER'
+-- * 'Graphics.GL.Tokens.GL_LEQUAL'
+-- * 'Graphics.GL.Tokens.GL_LESS'
+-- * 'Graphics.GL.Tokens.GL_NEVER'
+-- * 'Graphics.GL.Tokens.GL_NOTEQUAL'
+--
+-- === #StencilOp# StencilOp
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DECR'
+-- * 'Graphics.GL.Tokens.GL_INCR'
+-- * 'Graphics.GL.Tokens.GL_INVERT'
+-- * 'Graphics.GL.Tokens.GL_KEEP'
+-- * 'Graphics.GL.Tokens.GL_REPLACE'
+-- * 'Graphics.GL.Tokens.GL_ZERO'
+--
+-- === #StringName# StringName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EXTENSIONS'
+-- * 'Graphics.GL.Tokens.GL_RENDERER'
+-- * 'Graphics.GL.Tokens.GL_VENDOR'
+-- * 'Graphics.GL.Tokens.GL_VERSION'
+--
+-- === #TexCoordPointerType# TexCoordPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
+--
+-- === #TextureCoordName# TextureCoordName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_S'
+-- * 'Graphics.GL.Tokens.GL_T'
+-- * 'Graphics.GL.Tokens.GL_R'
+-- * 'Graphics.GL.Tokens.GL_Q'
+--
+-- === #TextureEnvMode# TextureEnvMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_ADD'
+-- * 'Graphics.GL.Tokens.GL_BLEND'
+-- * 'Graphics.GL.Tokens.GL_DECAL'
+-- * 'Graphics.GL.Tokens.GL_MODULATE'
+-- * 'Graphics.GL.Tokens.GL_REPLACE_EXT'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_BIAS_SGIX'
+--
+-- === #TextureEnvParameter# TextureEnvParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_COLOR'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV_MODE'
+--
+-- === #TextureEnvTarget# TextureEnvTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_ENV'
+--
+-- === #TextureFilterFuncSGIS# TextureFilterFuncSGIS
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
+--
+-- === #TextureGenMode# TextureGenMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EYE_DISTANCE_TO_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_EYE_DISTANCE_TO_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_EYE_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_DISTANCE_TO_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_DISTANCE_TO_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_SPHERE_MAP'
+--
+-- === #TextureGenParameter# TextureGenParameter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_EYE_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_EYE_PLANE'
+-- * 'Graphics.GL.Tokens.GL_EYE_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_LINE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_PLANE'
+-- * 'Graphics.GL.Tokens.GL_OBJECT_POINT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_GEN_MODE'
+--
+-- === #TextureMagFilter# TextureMagFilter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_ALPHA_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_COLOR_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_DETAIL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_ALPHA_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_COLOR_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_SHARPEN_SGIS'
+-- * 'Graphics.GL.Tokens.GL_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_CEILING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_ROUND_SGIX'
+--
+-- === #TextureMinFilter# TextureMinFilter
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_FILTER4_SGIS'
+-- * 'Graphics.GL.Tokens.GL_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_CLIPMAP_LINEAR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_CLIPMAP_NEAREST_SGIX'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_MIPMAP_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_LINEAR_MIPMAP_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_CLIPMAP_LINEAR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_CLIPMAP_NEAREST_SGIX'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_MIPMAP_LINEAR'
+-- * 'Graphics.GL.Tokens.GL_NEAREST_MIPMAP_NEAREST'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_CEILING_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
+-- * 'Graphics.GL.Tokens.GL_PIXEL_TEX_GEN_Q_ROUND_SGIX'
+--
+-- === #TextureParameterName# TextureParameterName
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_LEVEL_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_MODE_SGIS'
+-- * 'Graphics.GL.Tokens.GL_DUAL_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP' (alias: 'Graphics.GL.Tokens.GL_GENERATE_MIPMAP_SGIS')
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_BIAS_SGIX'
+-- * 'Graphics.GL.Tokens.GL_POST_TEXTURE_FILTER_SCALE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_QUAD_TEXTURE_SELECT_SGIS'
+-- * 'Graphics.GL.Tokens.GL_SHADOW_AMBIENT_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BORDER_COLOR'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_CENTER_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_FRAME_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_OFFSET_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_COMPARE_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_LOD_BIAS_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAG_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_R_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_S_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_CLAMP_T_SGIX'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_FILTER'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_PRIORITY_EXT')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_Q_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_R_OES')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_S'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_WRAP_T'
+--
+-- === #TextureTarget# TextureTarget
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DETAIL_TEXTURE_2D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_1D_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_2D_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_3D' (alias: 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_3D_EXT')
+-- * 'Graphics.GL.Tokens.GL_PROXY_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_1D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_2D'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_3D' (aliases: 'Graphics.GL.Tokens.GL_TEXTURE_3D_EXT', 'Graphics.GL.Tokens.GL_TEXTURE_3D_OES')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_4D_SGIS'
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_BASE_LEVEL_SGIS')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LEVEL_SGIS')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_MAX_LOD_SGIS')
+-- * 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD' (alias: 'Graphics.GL.Tokens.GL_TEXTURE_MIN_LOD_SGIS')
+--
+-- === #TextureWrapMode# TextureWrapMode
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_CLAMP'
+-- * 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER' (aliases: 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_ARB', 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_NV', 'Graphics.GL.Tokens.GL_CLAMP_TO_BORDER_SGIS')
+-- * 'Graphics.GL.Tokens.GL_CLAMP_TO_EDGE' (alias: 'Graphics.GL.Tokens.GL_CLAMP_TO_EDGE_SGIS')
+-- * 'Graphics.GL.Tokens.GL_REPEAT'
+--
+-- === #UseProgramStageMask# UseProgramStageMask
+-- A bitwise combination of several of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_VERTEX_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_VERTEX_SHADER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_FRAGMENT_SHADER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_GEOMETRY_SHADER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_TESS_CONTROL_SHADER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER_BIT' (alias: 'Graphics.GL.Tokens.GL_TESS_EVALUATION_SHADER_BIT_EXT')
+-- * 'Graphics.GL.Tokens.GL_COMPUTE_SHADER_BIT'
+-- * 'Graphics.GL.Tokens.GL_ALL_SHADER_BITS' (alias: 'Graphics.GL.Tokens.GL_ALL_SHADER_BITS_EXT')
+--
+-- === #VertexPointerType# VertexPointerType
+-- One of the following values:
+--
+-- * 'Graphics.GL.Tokens.GL_DOUBLE'
+-- * 'Graphics.GL.Tokens.GL_FLOAT'
+-- * 'Graphics.GL.Tokens.GL_INT'
+-- * 'Graphics.GL.Tokens.GL_SHORT'
diff --git a/src/Graphics/GL/HP.hs b/src/Graphics/GL/HP.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/HP.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.HP
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing HP extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.HP (
+  module Graphics.GL.HP.ConvolutionBorderModes,
+  module Graphics.GL.HP.ImageTransform,
+  module Graphics.GL.HP.OcclusionTest,
+  module Graphics.GL.HP.TextureLighting
+) where
+
+import Graphics.GL.HP.ConvolutionBorderModes
+import Graphics.GL.HP.ImageTransform
+import Graphics.GL.HP.OcclusionTest
+import Graphics.GL.HP.TextureLighting
diff --git a/src/Graphics/GL/HP/ConvolutionBorderModes.hs b/src/Graphics/GL/HP/ConvolutionBorderModes.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/HP/ConvolutionBorderModes.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.HP.ConvolutionBorderModes
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.HP.ConvolutionBorderModes (
+  -- * Extension Support
+  glGetHPConvolutionBorderModes,
+  gl_HP_convolution_border_modes,
+  -- * Enums
+  pattern GL_CONSTANT_BORDER_HP,
+  pattern GL_CONVOLUTION_BORDER_COLOR_HP,
+  pattern GL_IGNORE_BORDER_HP,
+  pattern GL_REPLICATE_BORDER_HP
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/HP/ImageTransform.hs b/src/Graphics/GL/HP/ImageTransform.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/HP/ImageTransform.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.HP.ImageTransform
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.HP.ImageTransform (
+  -- * Extension Support
+  glGetHPImageTransform,
+  gl_HP_image_transform,
+  -- * Enums
+  pattern GL_AVERAGE_HP,
+  pattern GL_CUBIC_HP,
+  pattern GL_IMAGE_CUBIC_WEIGHT_HP,
+  pattern GL_IMAGE_MAG_FILTER_HP,
+  pattern GL_IMAGE_MIN_FILTER_HP,
+  pattern GL_IMAGE_ROTATE_ANGLE_HP,
+  pattern GL_IMAGE_ROTATE_ORIGIN_X_HP,
+  pattern GL_IMAGE_ROTATE_ORIGIN_Y_HP,
+  pattern GL_IMAGE_SCALE_X_HP,
+  pattern GL_IMAGE_SCALE_Y_HP,
+  pattern GL_IMAGE_TRANSFORM_2D_HP,
+  pattern GL_IMAGE_TRANSLATE_X_HP,
+  pattern GL_IMAGE_TRANSLATE_Y_HP,
+  pattern GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP,
+  pattern GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP,
+  -- * Functions
+  glGetImageTransformParameterfvHP,
+  glGetImageTransformParameterivHP,
+  glImageTransformParameterfHP,
+  glImageTransformParameterfvHP,
+  glImageTransformParameteriHP,
+  glImageTransformParameterivHP
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/HP/OcclusionTest.hs b/src/Graphics/GL/HP/OcclusionTest.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/HP/OcclusionTest.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.HP.OcclusionTest
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.HP.OcclusionTest (
+  -- * Extension Support
+  glGetHPOcclusionTest,
+  gl_HP_occlusion_test,
+  -- * Enums
+  pattern GL_OCCLUSION_TEST_HP,
+  pattern GL_OCCLUSION_TEST_RESULT_HP
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/HP/TextureLighting.hs b/src/Graphics/GL/HP/TextureLighting.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/HP/TextureLighting.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.HP.TextureLighting
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.HP.TextureLighting (
+  -- * Extension Support
+  glGetHPTextureLighting,
+  gl_HP_texture_lighting,
+  -- * Enums
+  pattern GL_TEXTURE_LIGHTING_MODE_HP,
+  pattern GL_TEXTURE_POST_SPECULAR_HP,
+  pattern GL_TEXTURE_PRE_SPECULAR_HP
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/IBM.hs b/src/Graphics/GL/IBM.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/IBM.hs
@@ -0,0 +1,29 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.IBM
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing IBM extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.IBM (
+  module Graphics.GL.IBM.CullVertex,
+  module Graphics.GL.IBM.MultimodeDrawArrays,
+  module Graphics.GL.IBM.RasterposClip,
+  module Graphics.GL.IBM.StaticData,
+  module Graphics.GL.IBM.TextureMirroredRepeat,
+  module Graphics.GL.IBM.VertexArrayLists
+) where
+
+import Graphics.GL.IBM.CullVertex
+import Graphics.GL.IBM.MultimodeDrawArrays
+import Graphics.GL.IBM.RasterposClip
+import Graphics.GL.IBM.StaticData
+import Graphics.GL.IBM.TextureMirroredRepeat
+import Graphics.GL.IBM.VertexArrayLists
diff --git a/src/Graphics/GL/IBM/CullVertex.hs b/src/Graphics/GL/IBM/CullVertex.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/IBM/CullVertex.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.IBM.CullVertex
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.IBM.CullVertex (
+  -- * Extension Support
+  glGetIBMCullVertex,
+  gl_IBM_cull_vertex,
+  -- * Enums
+  pattern GL_CULL_VERTEX_IBM
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/IBM/MultimodeDrawArrays.hs b/src/Graphics/GL/IBM/MultimodeDrawArrays.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/IBM/MultimodeDrawArrays.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.IBM.MultimodeDrawArrays
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.IBM.MultimodeDrawArrays (
+  -- * Extension Support
+  glGetIBMMultimodeDrawArrays,
+  gl_IBM_multimode_draw_arrays,
+  -- * Functions
+  glMultiModeDrawArraysIBM,
+  glMultiModeDrawElementsIBM
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/IBM/RasterposClip.hs b/src/Graphics/GL/IBM/RasterposClip.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/IBM/RasterposClip.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.IBM.RasterposClip
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.IBM.RasterposClip (
+  -- * Extension Support
+  glGetIBMRasterposClip,
+  gl_IBM_rasterpos_clip,
+  -- * Enums
+  pattern GL_RASTER_POSITION_UNCLIPPED_IBM
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/IBM/StaticData.hs b/src/Graphics/GL/IBM/StaticData.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/IBM/StaticData.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.IBM.StaticData
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.IBM.StaticData (
+  -- * Extension Support
+  glGetIBMStaticData,
+  gl_IBM_static_data,
+  -- * Enums
+  pattern GL_ALL_STATIC_DATA_IBM,
+  pattern GL_STATIC_VERTEX_ARRAY_IBM,
+  -- * Functions
+  glFlushStaticDataIBM
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/IBM/TextureMirroredRepeat.hs b/src/Graphics/GL/IBM/TextureMirroredRepeat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/IBM/TextureMirroredRepeat.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.IBM.TextureMirroredRepeat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.IBM.TextureMirroredRepeat (
+  -- * Extension Support
+  glGetIBMTextureMirroredRepeat,
+  gl_IBM_texture_mirrored_repeat,
+  -- * Enums
+  pattern GL_MIRRORED_REPEAT_IBM
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/IBM/VertexArrayLists.hs b/src/Graphics/GL/IBM/VertexArrayLists.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/IBM/VertexArrayLists.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.IBM.VertexArrayLists
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.IBM.VertexArrayLists (
+  -- * Extension Support
+  glGetIBMVertexArrayLists,
+  gl_IBM_vertex_array_lists,
+  -- * Enums
+  pattern GL_COLOR_ARRAY_LIST_IBM,
+  pattern GL_COLOR_ARRAY_LIST_STRIDE_IBM,
+  pattern GL_EDGE_FLAG_ARRAY_LIST_IBM,
+  pattern GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM,
+  pattern GL_FOG_COORDINATE_ARRAY_LIST_IBM,
+  pattern GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM,
+  pattern GL_INDEX_ARRAY_LIST_IBM,
+  pattern GL_INDEX_ARRAY_LIST_STRIDE_IBM,
+  pattern GL_NORMAL_ARRAY_LIST_IBM,
+  pattern GL_NORMAL_ARRAY_LIST_STRIDE_IBM,
+  pattern GL_SECONDARY_COLOR_ARRAY_LIST_IBM,
+  pattern GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM,
+  pattern GL_TEXTURE_COORD_ARRAY_LIST_IBM,
+  pattern GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM,
+  pattern GL_VERTEX_ARRAY_LIST_IBM,
+  pattern GL_VERTEX_ARRAY_LIST_STRIDE_IBM,
+  -- * Functions
+  glColorPointerListIBM,
+  glEdgeFlagPointerListIBM,
+  glFogCoordPointerListIBM,
+  glIndexPointerListIBM,
+  glNormalPointerListIBM,
+  glSecondaryColorPointerListIBM,
+  glTexCoordPointerListIBM,
+  glVertexPointerListIBM
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/INGR.hs b/src/Graphics/GL/INGR.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INGR.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INGR
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing INGR extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INGR (
+  module Graphics.GL.INGR.BlendFuncSeparate,
+  module Graphics.GL.INGR.ColorClamp,
+  module Graphics.GL.INGR.InterlaceRead
+) where
+
+import Graphics.GL.INGR.BlendFuncSeparate
+import Graphics.GL.INGR.ColorClamp
+import Graphics.GL.INGR.InterlaceRead
diff --git a/src/Graphics/GL/INGR/BlendFuncSeparate.hs b/src/Graphics/GL/INGR/BlendFuncSeparate.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INGR/BlendFuncSeparate.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INGR.BlendFuncSeparate
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INGR.BlendFuncSeparate (
+  -- * Extension Support
+  glGetINGRBlendFuncSeparate,
+  gl_INGR_blend_func_separate,
+  -- * Functions
+  glBlendFuncSeparateINGR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/INGR/ColorClamp.hs b/src/Graphics/GL/INGR/ColorClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INGR/ColorClamp.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INGR.ColorClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INGR.ColorClamp (
+  -- * Extension Support
+  glGetINGRColorClamp,
+  gl_INGR_color_clamp,
+  -- * Enums
+  pattern GL_ALPHA_MAX_CLAMP_INGR,
+  pattern GL_ALPHA_MIN_CLAMP_INGR,
+  pattern GL_BLUE_MAX_CLAMP_INGR,
+  pattern GL_BLUE_MIN_CLAMP_INGR,
+  pattern GL_GREEN_MAX_CLAMP_INGR,
+  pattern GL_GREEN_MIN_CLAMP_INGR,
+  pattern GL_RED_MAX_CLAMP_INGR,
+  pattern GL_RED_MIN_CLAMP_INGR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/INGR/InterlaceRead.hs b/src/Graphics/GL/INGR/InterlaceRead.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INGR/InterlaceRead.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INGR.InterlaceRead
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INGR.InterlaceRead (
+  -- * Extension Support
+  glGetINGRInterlaceRead,
+  gl_INGR_interlace_read,
+  -- * Enums
+  pattern GL_INTERLACE_READ_INGR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/INTEL.hs b/src/Graphics/GL/INTEL.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INTEL.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INTEL
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing INTEL extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INTEL (
+  module Graphics.GL.INTEL.FramebufferCmaa,
+  module Graphics.GL.INTEL.MapTexture,
+  module Graphics.GL.INTEL.ParallelArrays,
+  module Graphics.GL.INTEL.PerformanceQuery
+) where
+
+import Graphics.GL.INTEL.FramebufferCmaa
+import Graphics.GL.INTEL.MapTexture
+import Graphics.GL.INTEL.ParallelArrays
+import Graphics.GL.INTEL.PerformanceQuery
diff --git a/src/Graphics/GL/INTEL/FramebufferCmaa.hs b/src/Graphics/GL/INTEL/FramebufferCmaa.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INTEL/FramebufferCmaa.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INTEL.FramebufferCmaa
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INTEL.FramebufferCmaa (
+  -- * Extension Support
+  glGetINTELFramebufferCmaa,
+  gl_INTEL_framebuffer_CMAA,
+  -- * Functions
+  glApplyFramebufferAttachmentCMAAINTEL
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/INTEL/MapTexture.hs b/src/Graphics/GL/INTEL/MapTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INTEL/MapTexture.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INTEL.MapTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INTEL.MapTexture (
+  -- * Extension Support
+  glGetINTELMapTexture,
+  gl_INTEL_map_texture,
+  -- * Enums
+  pattern GL_LAYOUT_DEFAULT_INTEL,
+  pattern GL_LAYOUT_LINEAR_CPU_CACHED_INTEL,
+  pattern GL_LAYOUT_LINEAR_INTEL,
+  pattern GL_TEXTURE_MEMORY_LAYOUT_INTEL,
+  -- * Functions
+  glMapTexture2DINTEL,
+  glSyncTextureINTEL,
+  glUnmapTexture2DINTEL
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/INTEL/ParallelArrays.hs b/src/Graphics/GL/INTEL/ParallelArrays.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INTEL/ParallelArrays.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INTEL.ParallelArrays
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INTEL.ParallelArrays (
+  -- * Extension Support
+  glGetINTELParallelArrays,
+  gl_INTEL_parallel_arrays,
+  -- * Enums
+  pattern GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL,
+  pattern GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL,
+  pattern GL_PARALLEL_ARRAYS_INTEL,
+  pattern GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL,
+  pattern GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL,
+  -- * Functions
+  glColorPointervINTEL,
+  glNormalPointervINTEL,
+  glTexCoordPointervINTEL,
+  glVertexPointervINTEL
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/INTEL/PerformanceQuery.hs b/src/Graphics/GL/INTEL/PerformanceQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/INTEL/PerformanceQuery.hs
@@ -0,0 +1,54 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.INTEL.PerformanceQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.INTEL.PerformanceQuery (
+  -- * Extension Support
+  glGetINTELPerformanceQuery,
+  gl_INTEL_performance_query,
+  -- * Enums
+  pattern GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL,
+  pattern GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL,
+  pattern GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL,
+  pattern GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL,
+  pattern GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL,
+  pattern GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL,
+  pattern GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL,
+  pattern GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL,
+  pattern GL_PERFQUERY_COUNTER_EVENT_INTEL,
+  pattern GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL,
+  pattern GL_PERFQUERY_COUNTER_RAW_INTEL,
+  pattern GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL,
+  pattern GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL,
+  pattern GL_PERFQUERY_DONOT_FLUSH_INTEL,
+  pattern GL_PERFQUERY_FLUSH_INTEL,
+  pattern GL_PERFQUERY_GLOBAL_CONTEXT_INTEL,
+  pattern GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL,
+  pattern GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL,
+  pattern GL_PERFQUERY_SINGLE_CONTEXT_INTEL,
+  pattern GL_PERFQUERY_WAIT_INTEL,
+  -- * Functions
+  glBeginPerfQueryINTEL,
+  glCreatePerfQueryINTEL,
+  glDeletePerfQueryINTEL,
+  glEndPerfQueryINTEL,
+  glGetFirstPerfQueryIdINTEL,
+  glGetNextPerfQueryIdINTEL,
+  glGetPerfCounterInfoINTEL,
+  glGetPerfQueryDataINTEL,
+  glGetPerfQueryIdByNameINTEL,
+  glGetPerfQueryInfoINTEL
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/KHR.hs b/src/Graphics/GL/KHR.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR.hs
@@ -0,0 +1,35 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing KHR extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR (
+  module Graphics.GL.KHR.BlendEquationAdvanced,
+  module Graphics.GL.KHR.BlendEquationAdvancedCoherent,
+  module Graphics.GL.KHR.ContextFlushControl,
+  module Graphics.GL.KHR.DebugCompatibility,
+  module Graphics.GL.KHR.DebugCore,
+  module Graphics.GL.KHR.NoError,
+  module Graphics.GL.KHR.Robustness,
+  module Graphics.GL.KHR.TextureCompressionASTCHDR,
+  module Graphics.GL.KHR.TextureCompressionASTCLDR
+) where
+
+import Graphics.GL.KHR.BlendEquationAdvanced
+import Graphics.GL.KHR.BlendEquationAdvancedCoherent
+import Graphics.GL.KHR.ContextFlushControl
+import Graphics.GL.KHR.DebugCompatibility
+import Graphics.GL.KHR.DebugCore
+import Graphics.GL.KHR.NoError
+import Graphics.GL.KHR.Robustness
+import Graphics.GL.KHR.TextureCompressionASTCHDR
+import Graphics.GL.KHR.TextureCompressionASTCLDR
diff --git a/src/Graphics/GL/KHR/BlendEquationAdvanced.hs b/src/Graphics/GL/KHR/BlendEquationAdvanced.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/BlendEquationAdvanced.hs
@@ -0,0 +1,40 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.BlendEquationAdvanced
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.BlendEquationAdvanced (
+  -- * Extension Support
+  glGetKHRBlendEquationAdvanced,
+  gl_KHR_blend_equation_advanced,
+  -- * Enums
+  pattern GL_COLORBURN_KHR,
+  pattern GL_COLORDODGE_KHR,
+  pattern GL_DARKEN_KHR,
+  pattern GL_DIFFERENCE_KHR,
+  pattern GL_EXCLUSION_KHR,
+  pattern GL_HARDLIGHT_KHR,
+  pattern GL_HSL_COLOR_KHR,
+  pattern GL_HSL_HUE_KHR,
+  pattern GL_HSL_LUMINOSITY_KHR,
+  pattern GL_HSL_SATURATION_KHR,
+  pattern GL_LIGHTEN_KHR,
+  pattern GL_MULTIPLY_KHR,
+  pattern GL_OVERLAY_KHR,
+  pattern GL_SCREEN_KHR,
+  pattern GL_SOFTLIGHT_KHR,
+  -- * Functions
+  glBlendBarrierKHR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/KHR/BlendEquationAdvancedCoherent.hs b/src/Graphics/GL/KHR/BlendEquationAdvancedCoherent.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/BlendEquationAdvancedCoherent.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.BlendEquationAdvancedCoherent
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.BlendEquationAdvancedCoherent (
+  -- * Extension Support
+  glGetKHRBlendEquationAdvancedCoherent,
+  gl_KHR_blend_equation_advanced_coherent,
+  -- * Enums
+  pattern GL_BLEND_ADVANCED_COHERENT_KHR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/KHR/ContextFlushControl.hs b/src/Graphics/GL/KHR/ContextFlushControl.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/ContextFlushControl.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.ContextFlushControl
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.ContextFlushControl (
+  -- * Extension Support
+  glGetKHRContextFlushControl,
+  gl_KHR_context_flush_control,
+  -- * Enums
+  pattern GL_CONTEXT_RELEASE_BEHAVIOR,
+  pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH,
+  pattern GL_NONE
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/KHR/DebugCompatibility.hs b/src/Graphics/GL/KHR/DebugCompatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/DebugCompatibility.hs
@@ -0,0 +1,76 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.DebugCompatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.DebugCompatibility (
+  -- * Extension Support
+  glGetKHRDebug,
+  gl_KHR_debug,
+  -- * Enums
+  pattern GL_BUFFER,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_DISPLAY_LIST,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_QUERY,
+  pattern GL_SAMPLER,
+  pattern GL_SHADER,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_VERTEX_ARRAY,
+  -- * Functions
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glGetDebugMessageLog,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPointerv,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glPopDebugGroup,
+  glPushDebugGroup
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/KHR/DebugCore.hs b/src/Graphics/GL/KHR/DebugCore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/DebugCore.hs
@@ -0,0 +1,75 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.DebugCore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.DebugCore (
+  -- * Extension Support
+  glGetKHRDebug,
+  gl_KHR_debug,
+  -- * Enums
+  pattern GL_BUFFER,
+  pattern GL_CONTEXT_FLAG_DEBUG_BIT,
+  pattern GL_DEBUG_CALLBACK_FUNCTION,
+  pattern GL_DEBUG_CALLBACK_USER_PARAM,
+  pattern GL_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_DEBUG_LOGGED_MESSAGES,
+  pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH,
+  pattern GL_DEBUG_OUTPUT,
+  pattern GL_DEBUG_OUTPUT_SYNCHRONOUS,
+  pattern GL_DEBUG_SEVERITY_HIGH,
+  pattern GL_DEBUG_SEVERITY_LOW,
+  pattern GL_DEBUG_SEVERITY_MEDIUM,
+  pattern GL_DEBUG_SEVERITY_NOTIFICATION,
+  pattern GL_DEBUG_SOURCE_API,
+  pattern GL_DEBUG_SOURCE_APPLICATION,
+  pattern GL_DEBUG_SOURCE_OTHER,
+  pattern GL_DEBUG_SOURCE_SHADER_COMPILER,
+  pattern GL_DEBUG_SOURCE_THIRD_PARTY,
+  pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM,
+  pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR,
+  pattern GL_DEBUG_TYPE_ERROR,
+  pattern GL_DEBUG_TYPE_MARKER,
+  pattern GL_DEBUG_TYPE_OTHER,
+  pattern GL_DEBUG_TYPE_PERFORMANCE,
+  pattern GL_DEBUG_TYPE_POP_GROUP,
+  pattern GL_DEBUG_TYPE_PORTABILITY,
+  pattern GL_DEBUG_TYPE_PUSH_GROUP,
+  pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR,
+  pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH,
+  pattern GL_MAX_DEBUG_LOGGED_MESSAGES,
+  pattern GL_MAX_DEBUG_MESSAGE_LENGTH,
+  pattern GL_MAX_LABEL_LENGTH,
+  pattern GL_PROGRAM,
+  pattern GL_PROGRAM_PIPELINE,
+  pattern GL_QUERY,
+  pattern GL_SAMPLER,
+  pattern GL_SHADER,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_VERTEX_ARRAY,
+  -- * Functions
+  glDebugMessageCallback,
+  glDebugMessageControl,
+  glDebugMessageInsert,
+  glGetDebugMessageLog,
+  glGetObjectLabel,
+  glGetObjectPtrLabel,
+  glGetPointerv,
+  glObjectLabel,
+  glObjectPtrLabel,
+  glPopDebugGroup,
+  glPushDebugGroup
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/KHR/NoError.hs b/src/Graphics/GL/KHR/NoError.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/NoError.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.NoError
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.NoError (
+  -- * Extension Support
+  glGetKHRNoError,
+  gl_KHR_no_error,
+  -- * Enums
+  pattern GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/KHR/Robustness.hs b/src/Graphics/GL/KHR/Robustness.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/Robustness.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.Robustness
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.Robustness (
+  -- * Extension Support
+  glGetKHRRobustness,
+  gl_KHR_robustness,
+  -- * Enums
+  pattern GL_CONTEXT_LOST,
+  pattern GL_CONTEXT_ROBUST_ACCESS,
+  pattern GL_GUILTY_CONTEXT_RESET,
+  pattern GL_INNOCENT_CONTEXT_RESET,
+  pattern GL_LOSE_CONTEXT_ON_RESET,
+  pattern GL_NO_ERROR,
+  pattern GL_NO_RESET_NOTIFICATION,
+  pattern GL_RESET_NOTIFICATION_STRATEGY,
+  pattern GL_UNKNOWN_CONTEXT_RESET,
+  -- * Functions
+  glGetGraphicsResetStatus,
+  glGetnUniformfv,
+  glGetnUniformiv,
+  glGetnUniformuiv,
+  glReadnPixels
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/KHR/TextureCompressionASTCHDR.hs b/src/Graphics/GL/KHR/TextureCompressionASTCHDR.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/TextureCompressionASTCHDR.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.TextureCompressionASTCHDR
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.TextureCompressionASTCHDR (
+  -- * Extension Support
+  glGetKHRTextureCompressionASTCHDR,
+  gl_KHR_texture_compression_astc_hdr,
+  -- * Enums
+  pattern GL_COMPRESSED_RGBA_ASTC_10x10_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_10x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_10x6_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_10x8_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_12x10_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_12x12_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_4x4_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_5x4_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_5x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_6x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_6x6_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_8x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_8x6_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_8x8_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/KHR/TextureCompressionASTCLDR.hs b/src/Graphics/GL/KHR/TextureCompressionASTCLDR.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/KHR/TextureCompressionASTCLDR.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.KHR.TextureCompressionASTCLDR
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.KHR.TextureCompressionASTCLDR (
+  -- * Extension Support
+  glGetKHRTextureCompressionASTCLDR,
+  gl_KHR_texture_compression_astc_ldr,
+  -- * Enums
+  pattern GL_COMPRESSED_RGBA_ASTC_10x10_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_10x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_10x6_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_10x8_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_12x10_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_12x12_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_4x4_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_5x4_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_5x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_6x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_6x6_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_8x5_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_8x6_KHR,
+  pattern GL_COMPRESSED_RGBA_ASTC_8x8_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
+  pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/MESA.hs b/src/Graphics/GL/MESA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESA.hs
@@ -0,0 +1,25 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESA
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing MESA extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESA (
+  module Graphics.GL.MESA.PackInvert,
+  module Graphics.GL.MESA.ResizeBuffers,
+  module Graphics.GL.MESA.WindowPos,
+  module Graphics.GL.MESA.YCbCrTexture
+) where
+
+import Graphics.GL.MESA.PackInvert
+import Graphics.GL.MESA.ResizeBuffers
+import Graphics.GL.MESA.WindowPos
+import Graphics.GL.MESA.YCbCrTexture
diff --git a/src/Graphics/GL/MESA/PackInvert.hs b/src/Graphics/GL/MESA/PackInvert.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESA/PackInvert.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESA.PackInvert
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESA.PackInvert (
+  -- * Extension Support
+  glGetMESAPackInvert,
+  gl_MESA_pack_invert,
+  -- * Enums
+  pattern GL_PACK_INVERT_MESA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/MESA/ResizeBuffers.hs b/src/Graphics/GL/MESA/ResizeBuffers.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESA/ResizeBuffers.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESA.ResizeBuffers
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESA.ResizeBuffers (
+  -- * Extension Support
+  glGetMESAResizeBuffers,
+  gl_MESA_resize_buffers,
+  -- * Functions
+  glResizeBuffersMESA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/MESA/WindowPos.hs b/src/Graphics/GL/MESA/WindowPos.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESA/WindowPos.hs
@@ -0,0 +1,45 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESA.WindowPos
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESA.WindowPos (
+  -- * Extension Support
+  glGetMESAWindowPos,
+  gl_MESA_window_pos,
+  -- * Functions
+  glWindowPos2dMESA,
+  glWindowPos2dvMESA,
+  glWindowPos2fMESA,
+  glWindowPos2fvMESA,
+  glWindowPos2iMESA,
+  glWindowPos2ivMESA,
+  glWindowPos2sMESA,
+  glWindowPos2svMESA,
+  glWindowPos3dMESA,
+  glWindowPos3dvMESA,
+  glWindowPos3fMESA,
+  glWindowPos3fvMESA,
+  glWindowPos3iMESA,
+  glWindowPos3ivMESA,
+  glWindowPos3sMESA,
+  glWindowPos3svMESA,
+  glWindowPos4dMESA,
+  glWindowPos4dvMESA,
+  glWindowPos4fMESA,
+  glWindowPos4fvMESA,
+  glWindowPos4iMESA,
+  glWindowPos4ivMESA,
+  glWindowPos4sMESA,
+  glWindowPos4svMESA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/MESA/YCbCrTexture.hs b/src/Graphics/GL/MESA/YCbCrTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESA/YCbCrTexture.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESA.YCbCrTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESA.YCbCrTexture (
+  -- * Extension Support
+  glGetMESAYCbCrTexture,
+  gl_MESA_ycbcr_texture,
+  -- * Enums
+  pattern GL_UNSIGNED_SHORT_8_8_MESA,
+  pattern GL_UNSIGNED_SHORT_8_8_REV_MESA,
+  pattern GL_YCBCR_MESA
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/MESAX.hs b/src/Graphics/GL/MESAX.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESAX.hs
@@ -0,0 +1,19 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESAX
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing MESAX extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESAX (
+  module Graphics.GL.MESAX.TextureStack
+) where
+
+import Graphics.GL.MESAX.TextureStack
diff --git a/src/Graphics/GL/MESAX/TextureStack.hs b/src/Graphics/GL/MESAX/TextureStack.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/MESAX/TextureStack.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.MESAX.TextureStack
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.MESAX.TextureStack (
+  -- * Extension Support
+  glGetMESAXTextureStack,
+  gl_MESAX_texture_stack,
+  -- * Enums
+  pattern GL_PROXY_TEXTURE_1D_STACK_MESAX,
+  pattern GL_PROXY_TEXTURE_2D_STACK_MESAX,
+  pattern GL_TEXTURE_1D_STACK_BINDING_MESAX,
+  pattern GL_TEXTURE_1D_STACK_MESAX,
+  pattern GL_TEXTURE_2D_STACK_BINDING_MESAX,
+  pattern GL_TEXTURE_2D_STACK_MESAX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV.hs b/src/Graphics/GL/NV.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV.hs
@@ -0,0 +1,169 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing NV extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV (
+  module Graphics.GL.NV.BindlessMultiDrawIndirect,
+  module Graphics.GL.NV.BindlessMultiDrawIndirectCount,
+  module Graphics.GL.NV.BindlessTexture,
+  module Graphics.GL.NV.BlendEquationAdvanced,
+  module Graphics.GL.NV.BlendEquationAdvancedCoherent,
+  module Graphics.GL.NV.CommandList,
+  module Graphics.GL.NV.ComputeProgram5,
+  module Graphics.GL.NV.ConditionalRender,
+  module Graphics.GL.NV.ConservativeRaster,
+  module Graphics.GL.NV.ConservativeRasterDilate,
+  module Graphics.GL.NV.CopyDepthToColor,
+  module Graphics.GL.NV.CopyImage,
+  module Graphics.GL.NV.DeepTexture3D,
+  module Graphics.GL.NV.DepthBufferFloat,
+  module Graphics.GL.NV.DepthClamp,
+  module Graphics.GL.NV.DrawTexture,
+  module Graphics.GL.NV.Evaluators,
+  module Graphics.GL.NV.ExplicitMultisample,
+  module Graphics.GL.NV.Fence,
+  module Graphics.GL.NV.FillRectangle,
+  module Graphics.GL.NV.FloatBuffer,
+  module Graphics.GL.NV.FogDistance,
+  module Graphics.GL.NV.FragmentCoverageToColor,
+  module Graphics.GL.NV.FragmentProgram,
+  module Graphics.GL.NV.FragmentProgram2,
+  module Graphics.GL.NV.FramebufferMixedSamples,
+  module Graphics.GL.NV.FramebufferMultisampleCoverage,
+  module Graphics.GL.NV.GPUProgram4,
+  module Graphics.GL.NV.GPUProgram5,
+  module Graphics.GL.NV.GPUShader5,
+  module Graphics.GL.NV.GeometryProgram4,
+  module Graphics.GL.NV.HalfFloat,
+  module Graphics.GL.NV.InternalformatSampleQuery,
+  module Graphics.GL.NV.LightMaxExponent,
+  module Graphics.GL.NV.MultisampleCoverage,
+  module Graphics.GL.NV.MultisampleFilterHint,
+  module Graphics.GL.NV.OcclusionQuery,
+  module Graphics.GL.NV.PackedDepthStencil,
+  module Graphics.GL.NV.ParameterBufferObject,
+  module Graphics.GL.NV.PathRenderingCompatibility,
+  module Graphics.GL.NV.PathRenderingCore,
+  module Graphics.GL.NV.PathRenderingSharedEdge,
+  module Graphics.GL.NV.PixelDataRange,
+  module Graphics.GL.NV.PointSprite,
+  module Graphics.GL.NV.PresentVideo,
+  module Graphics.GL.NV.PrimitiveRestart,
+  module Graphics.GL.NV.RegisterCombiners,
+  module Graphics.GL.NV.RegisterCombiners2,
+  module Graphics.GL.NV.SampleLocations,
+  module Graphics.GL.NV.ShaderBufferLoad,
+  module Graphics.GL.NV.ShaderBufferStore,
+  module Graphics.GL.NV.ShaderThreadGroup,
+  module Graphics.GL.NV.TessellationProgram5,
+  module Graphics.GL.NV.TexgenEmboss,
+  module Graphics.GL.NV.TexgenReflection,
+  module Graphics.GL.NV.TextureBarrier,
+  module Graphics.GL.NV.TextureEnvCombine4,
+  module Graphics.GL.NV.TextureExpandNormal,
+  module Graphics.GL.NV.TextureMultisample,
+  module Graphics.GL.NV.TextureRectangle,
+  module Graphics.GL.NV.TextureShader,
+  module Graphics.GL.NV.TextureShader2,
+  module Graphics.GL.NV.TextureShader3,
+  module Graphics.GL.NV.TransformFeedback,
+  module Graphics.GL.NV.TransformFeedback2,
+  module Graphics.GL.NV.UniformBufferUnifiedMemory,
+  module Graphics.GL.NV.VDPAUInterop,
+  module Graphics.GL.NV.VertexArrayRange,
+  module Graphics.GL.NV.VertexArrayRange2,
+  module Graphics.GL.NV.VertexAttribInteger64Bit,
+  module Graphics.GL.NV.VertexBufferUnifiedMemory,
+  module Graphics.GL.NV.VertexProgram,
+  module Graphics.GL.NV.VertexProgram2Option,
+  module Graphics.GL.NV.VertexProgram3,
+  module Graphics.GL.NV.VertexProgram4,
+  module Graphics.GL.NV.VideoCapture
+) where
+
+import Graphics.GL.NV.BindlessMultiDrawIndirect
+import Graphics.GL.NV.BindlessMultiDrawIndirectCount
+import Graphics.GL.NV.BindlessTexture
+import Graphics.GL.NV.BlendEquationAdvanced
+import Graphics.GL.NV.BlendEquationAdvancedCoherent
+import Graphics.GL.NV.CommandList
+import Graphics.GL.NV.ComputeProgram5
+import Graphics.GL.NV.ConditionalRender
+import Graphics.GL.NV.ConservativeRaster
+import Graphics.GL.NV.ConservativeRasterDilate
+import Graphics.GL.NV.CopyDepthToColor
+import Graphics.GL.NV.CopyImage
+import Graphics.GL.NV.DeepTexture3D
+import Graphics.GL.NV.DepthBufferFloat
+import Graphics.GL.NV.DepthClamp
+import Graphics.GL.NV.DrawTexture
+import Graphics.GL.NV.Evaluators
+import Graphics.GL.NV.ExplicitMultisample
+import Graphics.GL.NV.Fence
+import Graphics.GL.NV.FillRectangle
+import Graphics.GL.NV.FloatBuffer
+import Graphics.GL.NV.FogDistance
+import Graphics.GL.NV.FragmentCoverageToColor
+import Graphics.GL.NV.FragmentProgram
+import Graphics.GL.NV.FragmentProgram2
+import Graphics.GL.NV.FramebufferMixedSamples
+import Graphics.GL.NV.FramebufferMultisampleCoverage
+import Graphics.GL.NV.GPUProgram4
+import Graphics.GL.NV.GPUProgram5
+import Graphics.GL.NV.GPUShader5
+import Graphics.GL.NV.GeometryProgram4
+import Graphics.GL.NV.HalfFloat
+import Graphics.GL.NV.InternalformatSampleQuery
+import Graphics.GL.NV.LightMaxExponent
+import Graphics.GL.NV.MultisampleCoverage
+import Graphics.GL.NV.MultisampleFilterHint
+import Graphics.GL.NV.OcclusionQuery
+import Graphics.GL.NV.PackedDepthStencil
+import Graphics.GL.NV.ParameterBufferObject
+import Graphics.GL.NV.PathRenderingCompatibility
+import Graphics.GL.NV.PathRenderingCore
+import Graphics.GL.NV.PathRenderingSharedEdge
+import Graphics.GL.NV.PixelDataRange
+import Graphics.GL.NV.PointSprite
+import Graphics.GL.NV.PresentVideo
+import Graphics.GL.NV.PrimitiveRestart
+import Graphics.GL.NV.RegisterCombiners
+import Graphics.GL.NV.RegisterCombiners2
+import Graphics.GL.NV.SampleLocations
+import Graphics.GL.NV.ShaderBufferLoad
+import Graphics.GL.NV.ShaderBufferStore
+import Graphics.GL.NV.ShaderThreadGroup
+import Graphics.GL.NV.TessellationProgram5
+import Graphics.GL.NV.TexgenEmboss
+import Graphics.GL.NV.TexgenReflection
+import Graphics.GL.NV.TextureBarrier
+import Graphics.GL.NV.TextureEnvCombine4
+import Graphics.GL.NV.TextureExpandNormal
+import Graphics.GL.NV.TextureMultisample
+import Graphics.GL.NV.TextureRectangle
+import Graphics.GL.NV.TextureShader
+import Graphics.GL.NV.TextureShader2
+import Graphics.GL.NV.TextureShader3
+import Graphics.GL.NV.TransformFeedback
+import Graphics.GL.NV.TransformFeedback2
+import Graphics.GL.NV.UniformBufferUnifiedMemory
+import Graphics.GL.NV.VDPAUInterop
+import Graphics.GL.NV.VertexArrayRange
+import Graphics.GL.NV.VertexArrayRange2
+import Graphics.GL.NV.VertexAttribInteger64Bit
+import Graphics.GL.NV.VertexBufferUnifiedMemory
+import Graphics.GL.NV.VertexProgram
+import Graphics.GL.NV.VertexProgram2Option
+import Graphics.GL.NV.VertexProgram3
+import Graphics.GL.NV.VertexProgram4
+import Graphics.GL.NV.VideoCapture
diff --git a/src/Graphics/GL/NV/BindlessMultiDrawIndirect.hs b/src/Graphics/GL/NV/BindlessMultiDrawIndirect.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/BindlessMultiDrawIndirect.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.BindlessMultiDrawIndirect
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.BindlessMultiDrawIndirect (
+  -- * Extension Support
+  glGetNVBindlessMultiDrawIndirect,
+  gl_NV_bindless_multi_draw_indirect,
+  -- * Functions
+  glMultiDrawArraysIndirectBindlessNV,
+  glMultiDrawElementsIndirectBindlessNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/BindlessMultiDrawIndirectCount.hs b/src/Graphics/GL/NV/BindlessMultiDrawIndirectCount.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/BindlessMultiDrawIndirectCount.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.BindlessMultiDrawIndirectCount
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.BindlessMultiDrawIndirectCount (
+  -- * Extension Support
+  glGetNVBindlessMultiDrawIndirectCount,
+  gl_NV_bindless_multi_draw_indirect_count,
+  -- * Functions
+  glMultiDrawArraysIndirectBindlessCountNV,
+  glMultiDrawElementsIndirectBindlessCountNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/BindlessTexture.hs b/src/Graphics/GL/NV/BindlessTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/BindlessTexture.hs
@@ -0,0 +1,34 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.BindlessTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.BindlessTexture (
+  -- * Extension Support
+  glGetNVBindlessTexture,
+  gl_NV_bindless_texture,
+  -- * Functions
+  glGetImageHandleNV,
+  glGetTextureHandleNV,
+  glGetTextureSamplerHandleNV,
+  glIsImageHandleResidentNV,
+  glIsTextureHandleResidentNV,
+  glMakeImageHandleNonResidentNV,
+  glMakeImageHandleResidentNV,
+  glMakeTextureHandleNonResidentNV,
+  glMakeTextureHandleResidentNV,
+  glProgramUniformHandleui64NV,
+  glProgramUniformHandleui64vNV,
+  glUniformHandleui64NV,
+  glUniformHandleui64vNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/BlendEquationAdvanced.hs b/src/Graphics/GL/NV/BlendEquationAdvanced.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/BlendEquationAdvanced.hs
@@ -0,0 +1,77 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.BlendEquationAdvanced
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.BlendEquationAdvanced (
+  -- * Extension Support
+  glGetNVBlendEquationAdvanced,
+  gl_NV_blend_equation_advanced,
+  -- * Enums
+  pattern GL_BLEND_OVERLAP_NV,
+  pattern GL_BLEND_PREMULTIPLIED_SRC_NV,
+  pattern GL_BLUE_NV,
+  pattern GL_COLORBURN_NV,
+  pattern GL_COLORDODGE_NV,
+  pattern GL_CONJOINT_NV,
+  pattern GL_CONTRAST_NV,
+  pattern GL_DARKEN_NV,
+  pattern GL_DIFFERENCE_NV,
+  pattern GL_DISJOINT_NV,
+  pattern GL_DST_ATOP_NV,
+  pattern GL_DST_IN_NV,
+  pattern GL_DST_NV,
+  pattern GL_DST_OUT_NV,
+  pattern GL_DST_OVER_NV,
+  pattern GL_EXCLUSION_NV,
+  pattern GL_GREEN_NV,
+  pattern GL_HARDLIGHT_NV,
+  pattern GL_HARDMIX_NV,
+  pattern GL_HSL_COLOR_NV,
+  pattern GL_HSL_HUE_NV,
+  pattern GL_HSL_LUMINOSITY_NV,
+  pattern GL_HSL_SATURATION_NV,
+  pattern GL_INVERT,
+  pattern GL_INVERT_OVG_NV,
+  pattern GL_INVERT_RGB_NV,
+  pattern GL_LIGHTEN_NV,
+  pattern GL_LINEARBURN_NV,
+  pattern GL_LINEARDODGE_NV,
+  pattern GL_LINEARLIGHT_NV,
+  pattern GL_MINUS_CLAMPED_NV,
+  pattern GL_MINUS_NV,
+  pattern GL_MULTIPLY_NV,
+  pattern GL_OVERLAY_NV,
+  pattern GL_PINLIGHT_NV,
+  pattern GL_PLUS_CLAMPED_ALPHA_NV,
+  pattern GL_PLUS_CLAMPED_NV,
+  pattern GL_PLUS_DARKER_NV,
+  pattern GL_PLUS_NV,
+  pattern GL_RED_NV,
+  pattern GL_SCREEN_NV,
+  pattern GL_SOFTLIGHT_NV,
+  pattern GL_SRC_ATOP_NV,
+  pattern GL_SRC_IN_NV,
+  pattern GL_SRC_NV,
+  pattern GL_SRC_OUT_NV,
+  pattern GL_SRC_OVER_NV,
+  pattern GL_UNCORRELATED_NV,
+  pattern GL_VIVIDLIGHT_NV,
+  pattern GL_XOR_NV,
+  pattern GL_ZERO,
+  -- * Functions
+  glBlendBarrierNV,
+  glBlendParameteriNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/BlendEquationAdvancedCoherent.hs b/src/Graphics/GL/NV/BlendEquationAdvancedCoherent.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/BlendEquationAdvancedCoherent.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.BlendEquationAdvancedCoherent
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.BlendEquationAdvancedCoherent (
+  -- * Extension Support
+  glGetNVBlendEquationAdvancedCoherent,
+  gl_NV_blend_equation_advanced_coherent,
+  -- * Enums
+  pattern GL_BLEND_ADVANCED_COHERENT_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/CommandList.hs b/src/Graphics/GL/NV/CommandList.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/CommandList.hs
@@ -0,0 +1,60 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.CommandList
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.CommandList (
+  -- * Extension Support
+  glGetNVCommandList,
+  gl_NV_command_list,
+  -- * Enums
+  pattern GL_ALPHA_REF_COMMAND_NV,
+  pattern GL_ATTRIBUTE_ADDRESS_COMMAND_NV,
+  pattern GL_BLEND_COLOR_COMMAND_NV,
+  pattern GL_DRAW_ARRAYS_COMMAND_NV,
+  pattern GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV,
+  pattern GL_DRAW_ARRAYS_STRIP_COMMAND_NV,
+  pattern GL_DRAW_ELEMENTS_COMMAND_NV,
+  pattern GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV,
+  pattern GL_DRAW_ELEMENTS_STRIP_COMMAND_NV,
+  pattern GL_ELEMENT_ADDRESS_COMMAND_NV,
+  pattern GL_FRONT_FACE_COMMAND_NV,
+  pattern GL_LINE_WIDTH_COMMAND_NV,
+  pattern GL_NOP_COMMAND_NV,
+  pattern GL_POLYGON_OFFSET_COMMAND_NV,
+  pattern GL_SCISSOR_COMMAND_NV,
+  pattern GL_STENCIL_REF_COMMAND_NV,
+  pattern GL_TERMINATE_SEQUENCE_COMMAND_NV,
+  pattern GL_UNIFORM_ADDRESS_COMMAND_NV,
+  pattern GL_VIEWPORT_COMMAND_NV,
+  -- * Functions
+  glCallCommandListNV,
+  glCommandListSegmentsNV,
+  glCompileCommandListNV,
+  glCreateCommandListsNV,
+  glCreateStatesNV,
+  glDeleteCommandListsNV,
+  glDeleteStatesNV,
+  glDrawCommandsAddressNV,
+  glDrawCommandsNV,
+  glDrawCommandsStatesAddressNV,
+  glDrawCommandsStatesNV,
+  glGetCommandHeaderNV,
+  glGetStageIndexNV,
+  glIsCommandListNV,
+  glIsStateNV,
+  glListDrawCommandsStatesClientNV,
+  glStateCaptureNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/ComputeProgram5.hs b/src/Graphics/GL/NV/ComputeProgram5.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ComputeProgram5.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ComputeProgram5
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ComputeProgram5 (
+  -- * Extension Support
+  glGetNVComputeProgram5,
+  gl_NV_compute_program5,
+  -- * Enums
+  pattern GL_COMPUTE_PROGRAM_NV,
+  pattern GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/ConditionalRender.hs b/src/Graphics/GL/NV/ConditionalRender.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ConditionalRender.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ConditionalRender
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ConditionalRender (
+  -- * Extension Support
+  glGetNVConditionalRender,
+  gl_NV_conditional_render,
+  -- * Enums
+  pattern GL_QUERY_BY_REGION_NO_WAIT_NV,
+  pattern GL_QUERY_BY_REGION_WAIT_NV,
+  pattern GL_QUERY_NO_WAIT_NV,
+  pattern GL_QUERY_WAIT_NV,
+  -- * Functions
+  glBeginConditionalRenderNV,
+  glEndConditionalRenderNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/ConservativeRaster.hs b/src/Graphics/GL/NV/ConservativeRaster.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ConservativeRaster.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ConservativeRaster
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ConservativeRaster (
+  -- * Extension Support
+  glGetNVConservativeRaster,
+  gl_NV_conservative_raster,
+  -- * Enums
+  pattern GL_CONSERVATIVE_RASTERIZATION_NV,
+  pattern GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV,
+  pattern GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV,
+  pattern GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV,
+  -- * Functions
+  glSubpixelPrecisionBiasNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/ConservativeRasterDilate.hs b/src/Graphics/GL/NV/ConservativeRasterDilate.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ConservativeRasterDilate.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ConservativeRasterDilate
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ConservativeRasterDilate (
+  -- * Extension Support
+  glGetNVConservativeRasterDilate,
+  gl_NV_conservative_raster_dilate,
+  -- * Enums
+  pattern GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV,
+  pattern GL_CONSERVATIVE_RASTER_DILATE_NV,
+  pattern GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV,
+  -- * Functions
+  glConservativeRasterParameterfNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/CopyDepthToColor.hs b/src/Graphics/GL/NV/CopyDepthToColor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/CopyDepthToColor.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.CopyDepthToColor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.CopyDepthToColor (
+  -- * Extension Support
+  glGetNVCopyDepthToColor,
+  gl_NV_copy_depth_to_color,
+  -- * Enums
+  pattern GL_DEPTH_STENCIL_TO_BGRA_NV,
+  pattern GL_DEPTH_STENCIL_TO_RGBA_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/CopyImage.hs b/src/Graphics/GL/NV/CopyImage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/CopyImage.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.CopyImage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.CopyImage (
+  -- * Extension Support
+  glGetNVCopyImage,
+  gl_NV_copy_image,
+  -- * Functions
+  glCopyImageSubDataNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/DeepTexture3D.hs b/src/Graphics/GL/NV/DeepTexture3D.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/DeepTexture3D.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.DeepTexture3D
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.DeepTexture3D (
+  -- * Extension Support
+  glGetNVDeepTexture3D,
+  gl_NV_deep_texture3D,
+  -- * Enums
+  pattern GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV,
+  pattern GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/DepthBufferFloat.hs b/src/Graphics/GL/NV/DepthBufferFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/DepthBufferFloat.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.DepthBufferFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.DepthBufferFloat (
+  -- * Extension Support
+  glGetNVDepthBufferFloat,
+  gl_NV_depth_buffer_float,
+  -- * Enums
+  pattern GL_DEPTH32F_STENCIL8_NV,
+  pattern GL_DEPTH_BUFFER_FLOAT_MODE_NV,
+  pattern GL_DEPTH_COMPONENT32F_NV,
+  pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV,
+  -- * Functions
+  glClearDepthdNV,
+  glDepthBoundsdNV,
+  glDepthRangedNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/DepthClamp.hs b/src/Graphics/GL/NV/DepthClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/DepthClamp.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.DepthClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.DepthClamp (
+  -- * Extension Support
+  glGetNVDepthClamp,
+  gl_NV_depth_clamp,
+  -- * Enums
+  pattern GL_DEPTH_CLAMP_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/DrawTexture.hs b/src/Graphics/GL/NV/DrawTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/DrawTexture.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.DrawTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.DrawTexture (
+  -- * Extension Support
+  glGetNVDrawTexture,
+  gl_NV_draw_texture,
+  -- * Functions
+  glDrawTextureNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/Evaluators.hs b/src/Graphics/GL/NV/Evaluators.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/Evaluators.hs
@@ -0,0 +1,57 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.Evaluators
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.Evaluators (
+  -- * Extension Support
+  glGetNVEvaluators,
+  gl_NV_evaluators,
+  -- * Enums
+  pattern GL_EVAL_2D_NV,
+  pattern GL_EVAL_FRACTIONAL_TESSELLATION_NV,
+  pattern GL_EVAL_TRIANGULAR_2D_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB0_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB10_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB11_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB12_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB13_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB14_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB15_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB1_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB2_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB3_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB4_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB5_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB6_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB7_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB8_NV,
+  pattern GL_EVAL_VERTEX_ATTRIB9_NV,
+  pattern GL_MAP_ATTRIB_U_ORDER_NV,
+  pattern GL_MAP_ATTRIB_V_ORDER_NV,
+  pattern GL_MAP_TESSELLATION_NV,
+  pattern GL_MAX_MAP_TESSELLATION_NV,
+  pattern GL_MAX_RATIONAL_EVAL_ORDER_NV,
+  -- * Functions
+  glEvalMapsNV,
+  glGetMapAttribParameterfvNV,
+  glGetMapAttribParameterivNV,
+  glGetMapControlPointsNV,
+  glGetMapParameterfvNV,
+  glGetMapParameterivNV,
+  glMapControlPointsNV,
+  glMapParameterfvNV,
+  glMapParameterivNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/ExplicitMultisample.hs b/src/Graphics/GL/NV/ExplicitMultisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ExplicitMultisample.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ExplicitMultisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ExplicitMultisample (
+  -- * Extension Support
+  glGetNVExplicitMultisample,
+  gl_NV_explicit_multisample,
+  -- * Enums
+  pattern GL_INT_SAMPLER_RENDERBUFFER_NV,
+  pattern GL_MAX_SAMPLE_MASK_WORDS_NV,
+  pattern GL_SAMPLER_RENDERBUFFER_NV,
+  pattern GL_SAMPLE_MASK_NV,
+  pattern GL_SAMPLE_MASK_VALUE_NV,
+  pattern GL_SAMPLE_POSITION_NV,
+  pattern GL_TEXTURE_BINDING_RENDERBUFFER_NV,
+  pattern GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV,
+  pattern GL_TEXTURE_RENDERBUFFER_NV,
+  pattern GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV,
+  -- * Functions
+  glGetMultisamplefvNV,
+  glSampleMaskIndexedNV,
+  glTexRenderbufferNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/Fence.hs b/src/Graphics/GL/NV/Fence.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/Fence.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.Fence
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.Fence (
+  -- * Extension Support
+  glGetNVFence,
+  gl_NV_fence,
+  -- * Enums
+  pattern GL_ALL_COMPLETED_NV,
+  pattern GL_FENCE_CONDITION_NV,
+  pattern GL_FENCE_STATUS_NV,
+  -- * Functions
+  glDeleteFencesNV,
+  glFinishFenceNV,
+  glGenFencesNV,
+  glGetFenceivNV,
+  glIsFenceNV,
+  glSetFenceNV,
+  glTestFenceNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/FillRectangle.hs b/src/Graphics/GL/NV/FillRectangle.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FillRectangle.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FillRectangle
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FillRectangle (
+  -- * Extension Support
+  glGetNVFillRectangle,
+  gl_NV_fill_rectangle,
+  -- * Enums
+  pattern GL_FILL_RECTANGLE_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/FloatBuffer.hs b/src/Graphics/GL/NV/FloatBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FloatBuffer.hs
@@ -0,0 +1,37 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FloatBuffer
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FloatBuffer (
+  -- * Extension Support
+  glGetNVFloatBuffer,
+  gl_NV_float_buffer,
+  -- * Enums
+  pattern GL_FLOAT_CLEAR_COLOR_VALUE_NV,
+  pattern GL_FLOAT_R16_NV,
+  pattern GL_FLOAT_R32_NV,
+  pattern GL_FLOAT_RG16_NV,
+  pattern GL_FLOAT_RG32_NV,
+  pattern GL_FLOAT_RGB16_NV,
+  pattern GL_FLOAT_RGB32_NV,
+  pattern GL_FLOAT_RGBA16_NV,
+  pattern GL_FLOAT_RGBA32_NV,
+  pattern GL_FLOAT_RGBA_MODE_NV,
+  pattern GL_FLOAT_RGBA_NV,
+  pattern GL_FLOAT_RGB_NV,
+  pattern GL_FLOAT_RG_NV,
+  pattern GL_FLOAT_R_NV,
+  pattern GL_TEXTURE_FLOAT_COMPONENTS_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/FogDistance.hs b/src/Graphics/GL/NV/FogDistance.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FogDistance.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FogDistance
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FogDistance (
+  -- * Extension Support
+  glGetNVFogDistance,
+  gl_NV_fog_distance,
+  -- * Enums
+  pattern GL_EYE_PLANE,
+  pattern GL_EYE_PLANE_ABSOLUTE_NV,
+  pattern GL_EYE_RADIAL_NV,
+  pattern GL_FOG_DISTANCE_MODE_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/FragmentCoverageToColor.hs b/src/Graphics/GL/NV/FragmentCoverageToColor.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FragmentCoverageToColor.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FragmentCoverageToColor
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FragmentCoverageToColor (
+  -- * Extension Support
+  glGetNVFragmentCoverageToColor,
+  gl_NV_fragment_coverage_to_color,
+  -- * Enums
+  pattern GL_FRAGMENT_COVERAGE_COLOR_NV,
+  pattern GL_FRAGMENT_COVERAGE_TO_COLOR_NV,
+  -- * Functions
+  glFragmentCoverageColorNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/FragmentProgram.hs b/src/Graphics/GL/NV/FragmentProgram.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FragmentProgram.hs
@@ -0,0 +1,36 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FragmentProgram
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FragmentProgram (
+  -- * Extension Support
+  glGetNVFragmentProgram,
+  gl_NV_fragment_program,
+  -- * Enums
+  pattern GL_FRAGMENT_PROGRAM_BINDING_NV,
+  pattern GL_FRAGMENT_PROGRAM_NV,
+  pattern GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV,
+  pattern GL_MAX_TEXTURE_COORDS_NV,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS_NV,
+  pattern GL_PROGRAM_ERROR_STRING_NV,
+  -- * Functions
+  glGetProgramNamedParameterdvNV,
+  glGetProgramNamedParameterfvNV,
+  glProgramNamedParameter4dNV,
+  glProgramNamedParameter4dvNV,
+  glProgramNamedParameter4fNV,
+  glProgramNamedParameter4fvNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/FragmentProgram2.hs b/src/Graphics/GL/NV/FragmentProgram2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FragmentProgram2.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FragmentProgram2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FragmentProgram2 (
+  -- * Extension Support
+  glGetNVFragmentProgram2,
+  gl_NV_fragment_program2,
+  -- * Enums
+  pattern GL_MAX_PROGRAM_CALL_DEPTH_NV,
+  pattern GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV,
+  pattern GL_MAX_PROGRAM_IF_DEPTH_NV,
+  pattern GL_MAX_PROGRAM_LOOP_COUNT_NV,
+  pattern GL_MAX_PROGRAM_LOOP_DEPTH_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/FramebufferMixedSamples.hs b/src/Graphics/GL/NV/FramebufferMixedSamples.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FramebufferMixedSamples.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FramebufferMixedSamples
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FramebufferMixedSamples (
+  -- * Extension Support
+  glGetNVFramebufferMixedSamples,
+  gl_NV_framebuffer_mixed_samples,
+  -- * Enums
+  pattern GL_COLOR_SAMPLES_NV,
+  pattern GL_COVERAGE_MODULATION_NV,
+  pattern GL_COVERAGE_MODULATION_TABLE_NV,
+  pattern GL_COVERAGE_MODULATION_TABLE_SIZE_NV,
+  pattern GL_DEPTH_SAMPLES_NV,
+  pattern GL_EFFECTIVE_RASTER_SAMPLES_EXT,
+  pattern GL_MAX_RASTER_SAMPLES_EXT,
+  pattern GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV,
+  pattern GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV,
+  pattern GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT,
+  pattern GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT,
+  pattern GL_RASTER_MULTISAMPLE_EXT,
+  pattern GL_RASTER_SAMPLES_EXT,
+  pattern GL_STENCIL_SAMPLES_NV,
+  -- * Functions
+  glCoverageModulationNV,
+  glCoverageModulationTableNV,
+  glGetCoverageModulationTableNV,
+  glRasterSamplesEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/FramebufferMultisampleCoverage.hs b/src/Graphics/GL/NV/FramebufferMultisampleCoverage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/FramebufferMultisampleCoverage.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.FramebufferMultisampleCoverage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.FramebufferMultisampleCoverage (
+  -- * Extension Support
+  glGetNVFramebufferMultisampleCoverage,
+  gl_NV_framebuffer_multisample_coverage,
+  -- * Enums
+  pattern GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV,
+  pattern GL_MULTISAMPLE_COVERAGE_MODES_NV,
+  pattern GL_RENDERBUFFER_COLOR_SAMPLES_NV,
+  pattern GL_RENDERBUFFER_COVERAGE_SAMPLES_NV,
+  -- * Functions
+  glRenderbufferStorageMultisampleCoverageNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/GPUProgram4.hs b/src/Graphics/GL/NV/GPUProgram4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/GPUProgram4.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.GPUProgram4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.GPUProgram4 (
+  -- * Extension Support
+  glGetNVGPUProgram4,
+  gl_NV_gpu_program4,
+  -- * Enums
+  pattern GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV,
+  pattern GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV,
+  pattern GL_MAX_PROGRAM_GENERIC_RESULTS_NV,
+  pattern GL_MAX_PROGRAM_RESULT_COMPONENTS_NV,
+  pattern GL_MAX_PROGRAM_TEXEL_OFFSET_NV,
+  pattern GL_MIN_PROGRAM_TEXEL_OFFSET_NV,
+  pattern GL_PROGRAM_ATTRIB_COMPONENTS_NV,
+  pattern GL_PROGRAM_RESULT_COMPONENTS_NV,
+  -- * Functions
+  glGetProgramEnvParameterIivNV,
+  glGetProgramEnvParameterIuivNV,
+  glGetProgramLocalParameterIivNV,
+  glGetProgramLocalParameterIuivNV,
+  glProgramEnvParameterI4iNV,
+  glProgramEnvParameterI4ivNV,
+  glProgramEnvParameterI4uiNV,
+  glProgramEnvParameterI4uivNV,
+  glProgramEnvParametersI4ivNV,
+  glProgramEnvParametersI4uivNV,
+  glProgramLocalParameterI4iNV,
+  glProgramLocalParameterI4ivNV,
+  glProgramLocalParameterI4uiNV,
+  glProgramLocalParameterI4uivNV,
+  glProgramLocalParametersI4ivNV,
+  glProgramLocalParametersI4uivNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/GPUProgram5.hs b/src/Graphics/GL/NV/GPUProgram5.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/GPUProgram5.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.GPUProgram5
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.GPUProgram5 (
+  -- * Extension Support
+  glGetNVGPUProgram5,
+  gl_NV_gpu_program5,
+  -- * Enums
+  pattern GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV,
+  pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV,
+  pattern GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV,
+  pattern GL_MAX_PROGRAM_SUBROUTINE_NUM_NV,
+  pattern GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV,
+  pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV,
+  pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV,
+  pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV,
+  -- * Functions
+  glGetProgramSubroutineParameteruivNV,
+  glProgramSubroutineParametersuivNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/GPUShader5.hs b/src/Graphics/GL/NV/GPUShader5.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/GPUShader5.hs
@@ -0,0 +1,86 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.GPUShader5
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.GPUShader5 (
+  -- * Extension Support
+  glGetNVGPUShader5,
+  gl_NV_gpu_shader5,
+  -- * Enums
+  pattern GL_FLOAT16_NV,
+  pattern GL_FLOAT16_VEC2_NV,
+  pattern GL_FLOAT16_VEC3_NV,
+  pattern GL_FLOAT16_VEC4_NV,
+  pattern GL_INT16_NV,
+  pattern GL_INT16_VEC2_NV,
+  pattern GL_INT16_VEC3_NV,
+  pattern GL_INT16_VEC4_NV,
+  pattern GL_INT64_NV,
+  pattern GL_INT64_VEC2_NV,
+  pattern GL_INT64_VEC3_NV,
+  pattern GL_INT64_VEC4_NV,
+  pattern GL_INT8_NV,
+  pattern GL_INT8_VEC2_NV,
+  pattern GL_INT8_VEC3_NV,
+  pattern GL_INT8_VEC4_NV,
+  pattern GL_PATCHES,
+  pattern GL_UNSIGNED_INT16_NV,
+  pattern GL_UNSIGNED_INT16_VEC2_NV,
+  pattern GL_UNSIGNED_INT16_VEC3_NV,
+  pattern GL_UNSIGNED_INT16_VEC4_NV,
+  pattern GL_UNSIGNED_INT64_NV,
+  pattern GL_UNSIGNED_INT64_VEC2_NV,
+  pattern GL_UNSIGNED_INT64_VEC3_NV,
+  pattern GL_UNSIGNED_INT64_VEC4_NV,
+  pattern GL_UNSIGNED_INT8_NV,
+  pattern GL_UNSIGNED_INT8_VEC2_NV,
+  pattern GL_UNSIGNED_INT8_VEC3_NV,
+  pattern GL_UNSIGNED_INT8_VEC4_NV,
+  -- * Functions
+  glGetUniformi64vNV,
+  glProgramUniform1i64NV,
+  glProgramUniform1i64vNV,
+  glProgramUniform1ui64NV,
+  glProgramUniform1ui64vNV,
+  glProgramUniform2i64NV,
+  glProgramUniform2i64vNV,
+  glProgramUniform2ui64NV,
+  glProgramUniform2ui64vNV,
+  glProgramUniform3i64NV,
+  glProgramUniform3i64vNV,
+  glProgramUniform3ui64NV,
+  glProgramUniform3ui64vNV,
+  glProgramUniform4i64NV,
+  glProgramUniform4i64vNV,
+  glProgramUniform4ui64NV,
+  glProgramUniform4ui64vNV,
+  glUniform1i64NV,
+  glUniform1i64vNV,
+  glUniform1ui64NV,
+  glUniform1ui64vNV,
+  glUniform2i64NV,
+  glUniform2i64vNV,
+  glUniform2ui64NV,
+  glUniform2ui64vNV,
+  glUniform3i64NV,
+  glUniform3i64vNV,
+  glUniform3ui64NV,
+  glUniform3ui64vNV,
+  glUniform4i64NV,
+  glUniform4i64vNV,
+  glUniform4ui64NV,
+  glUniform4ui64vNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/GeometryProgram4.hs b/src/Graphics/GL/NV/GeometryProgram4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/GeometryProgram4.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.GeometryProgram4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.GeometryProgram4 (
+  -- * Extension Support
+  glGetNVGeometryProgram4,
+  gl_NV_geometry_program4,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT,
+  pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT,
+  pattern GL_GEOMETRY_INPUT_TYPE_EXT,
+  pattern GL_GEOMETRY_OUTPUT_TYPE_EXT,
+  pattern GL_GEOMETRY_PROGRAM_NV,
+  pattern GL_GEOMETRY_VERTICES_OUT_EXT,
+  pattern GL_LINES_ADJACENCY_EXT,
+  pattern GL_LINE_STRIP_ADJACENCY_EXT,
+  pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT,
+  pattern GL_MAX_PROGRAM_OUTPUT_VERTICES_NV,
+  pattern GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV,
+  pattern GL_PROGRAM_POINT_SIZE_EXT,
+  pattern GL_TRIANGLES_ADJACENCY_EXT,
+  pattern GL_TRIANGLE_STRIP_ADJACENCY_EXT,
+  -- * Functions
+  glFramebufferTextureEXT,
+  glFramebufferTextureFaceEXT,
+  glFramebufferTextureLayerEXT,
+  glProgramVertexLimitNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/HalfFloat.hs b/src/Graphics/GL/NV/HalfFloat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/HalfFloat.hs
@@ -0,0 +1,71 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.HalfFloat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.HalfFloat (
+  -- * Extension Support
+  glGetNVHalfFloat,
+  gl_NV_half_float,
+  -- * Enums
+  pattern GL_HALF_FLOAT_NV,
+  -- * Functions
+  glColor3hNV,
+  glColor3hvNV,
+  glColor4hNV,
+  glColor4hvNV,
+  glFogCoordhNV,
+  glFogCoordhvNV,
+  glMultiTexCoord1hNV,
+  glMultiTexCoord1hvNV,
+  glMultiTexCoord2hNV,
+  glMultiTexCoord2hvNV,
+  glMultiTexCoord3hNV,
+  glMultiTexCoord3hvNV,
+  glMultiTexCoord4hNV,
+  glMultiTexCoord4hvNV,
+  glNormal3hNV,
+  glNormal3hvNV,
+  glSecondaryColor3hNV,
+  glSecondaryColor3hvNV,
+  glTexCoord1hNV,
+  glTexCoord1hvNV,
+  glTexCoord2hNV,
+  glTexCoord2hvNV,
+  glTexCoord3hNV,
+  glTexCoord3hvNV,
+  glTexCoord4hNV,
+  glTexCoord4hvNV,
+  glVertex2hNV,
+  glVertex2hvNV,
+  glVertex3hNV,
+  glVertex3hvNV,
+  glVertex4hNV,
+  glVertex4hvNV,
+  glVertexAttrib1hNV,
+  glVertexAttrib1hvNV,
+  glVertexAttrib2hNV,
+  glVertexAttrib2hvNV,
+  glVertexAttrib3hNV,
+  glVertexAttrib3hvNV,
+  glVertexAttrib4hNV,
+  glVertexAttrib4hvNV,
+  glVertexAttribs1hvNV,
+  glVertexAttribs2hvNV,
+  glVertexAttribs3hvNV,
+  glVertexAttribs4hvNV,
+  glVertexWeighthNV,
+  glVertexWeighthvNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/InternalformatSampleQuery.hs b/src/Graphics/GL/NV/InternalformatSampleQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/InternalformatSampleQuery.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.InternalformatSampleQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.InternalformatSampleQuery (
+  -- * Extension Support
+  glGetNVInternalformatSampleQuery,
+  gl_NV_internalformat_sample_query,
+  -- * Enums
+  pattern GL_CONFORMANT_NV,
+  pattern GL_MULTISAMPLES_NV,
+  pattern GL_RENDERBUFFER,
+  pattern GL_SUPERSAMPLE_SCALE_X_NV,
+  pattern GL_SUPERSAMPLE_SCALE_Y_NV,
+  pattern GL_TEXTURE_2D_MULTISAMPLE,
+  pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY,
+  -- * Functions
+  glGetInternalformatSampleivNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/LightMaxExponent.hs b/src/Graphics/GL/NV/LightMaxExponent.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/LightMaxExponent.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.LightMaxExponent
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.LightMaxExponent (
+  -- * Extension Support
+  glGetNVLightMaxExponent,
+  gl_NV_light_max_exponent,
+  -- * Enums
+  pattern GL_MAX_SHININESS_NV,
+  pattern GL_MAX_SPOT_EXPONENT_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/MultisampleCoverage.hs b/src/Graphics/GL/NV/MultisampleCoverage.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/MultisampleCoverage.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.MultisampleCoverage
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.MultisampleCoverage (
+  -- * Extension Support
+  glGetNVMultisampleCoverage,
+  gl_NV_multisample_coverage,
+  -- * Enums
+  pattern GL_COLOR_SAMPLES_NV,
+  pattern GL_SAMPLES_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/MultisampleFilterHint.hs b/src/Graphics/GL/NV/MultisampleFilterHint.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/MultisampleFilterHint.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.MultisampleFilterHint
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.MultisampleFilterHint (
+  -- * Extension Support
+  glGetNVMultisampleFilterHint,
+  gl_NV_multisample_filter_hint,
+  -- * Enums
+  pattern GL_MULTISAMPLE_FILTER_HINT_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/OcclusionQuery.hs b/src/Graphics/GL/NV/OcclusionQuery.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/OcclusionQuery.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.OcclusionQuery
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.OcclusionQuery (
+  -- * Extension Support
+  glGetNVOcclusionQuery,
+  gl_NV_occlusion_query,
+  -- * Enums
+  pattern GL_CURRENT_OCCLUSION_QUERY_ID_NV,
+  pattern GL_PIXEL_COUNTER_BITS_NV,
+  pattern GL_PIXEL_COUNT_AVAILABLE_NV,
+  pattern GL_PIXEL_COUNT_NV,
+  -- * Functions
+  glBeginOcclusionQueryNV,
+  glDeleteOcclusionQueriesNV,
+  glEndOcclusionQueryNV,
+  glGenOcclusionQueriesNV,
+  glGetOcclusionQueryivNV,
+  glGetOcclusionQueryuivNV,
+  glIsOcclusionQueryNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/PackedDepthStencil.hs b/src/Graphics/GL/NV/PackedDepthStencil.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PackedDepthStencil.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PackedDepthStencil
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PackedDepthStencil (
+  -- * Extension Support
+  glGetNVPackedDepthStencil,
+  gl_NV_packed_depth_stencil,
+  -- * Enums
+  pattern GL_DEPTH_STENCIL_NV,
+  pattern GL_UNSIGNED_INT_24_8_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/ParameterBufferObject.hs b/src/Graphics/GL/NV/ParameterBufferObject.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ParameterBufferObject.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ParameterBufferObject
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ParameterBufferObject (
+  -- * Extension Support
+  glGetNVParameterBufferObject,
+  gl_NV_parameter_buffer_object,
+  -- * Enums
+  pattern GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV,
+  pattern GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV,
+  pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV,
+  pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV,
+  pattern GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV,
+  -- * Functions
+  glProgramBufferParametersIivNV,
+  glProgramBufferParametersIuivNV,
+  glProgramBufferParametersfvNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/PathRenderingCompatibility.hs b/src/Graphics/GL/NV/PathRenderingCompatibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PathRenderingCompatibility.hs
@@ -0,0 +1,252 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PathRenderingCompatibility
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PathRenderingCompatibility (
+  -- * Extension Support
+  glGetNVPathRendering,
+  gl_NV_path_rendering,
+  -- * Enums
+  pattern GL_2_BYTES_NV,
+  pattern GL_3_BYTES_NV,
+  pattern GL_4_BYTES_NV,
+  pattern GL_ACCUM_ADJACENT_PAIRS_NV,
+  pattern GL_ADJACENT_PAIRS_NV,
+  pattern GL_AFFINE_2D_NV,
+  pattern GL_AFFINE_3D_NV,
+  pattern GL_ARC_TO_NV,
+  pattern GL_BEVEL_NV,
+  pattern GL_BOLD_BIT_NV,
+  pattern GL_BOUNDING_BOX_NV,
+  pattern GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV,
+  pattern GL_CIRCULAR_CCW_ARC_TO_NV,
+  pattern GL_CIRCULAR_CW_ARC_TO_NV,
+  pattern GL_CIRCULAR_TANGENT_ARC_TO_NV,
+  pattern GL_CLOSE_PATH_NV,
+  pattern GL_CONIC_CURVE_TO_NV,
+  pattern GL_CONSTANT_NV,
+  pattern GL_CONVEX_HULL_NV,
+  pattern GL_COUNT_DOWN_NV,
+  pattern GL_COUNT_UP_NV,
+  pattern GL_CUBIC_CURVE_TO_NV,
+  pattern GL_DUP_FIRST_CUBIC_CURVE_TO_NV,
+  pattern GL_DUP_LAST_CUBIC_CURVE_TO_NV,
+  pattern GL_EYE_LINEAR_NV,
+  pattern GL_FILE_NAME_NV,
+  pattern GL_FIRST_TO_REST_NV,
+  pattern GL_FONT_ASCENDER_BIT_NV,
+  pattern GL_FONT_DESCENDER_BIT_NV,
+  pattern GL_FONT_GLYPHS_AVAILABLE_NV,
+  pattern GL_FONT_HAS_KERNING_BIT_NV,
+  pattern GL_FONT_HEIGHT_BIT_NV,
+  pattern GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV,
+  pattern GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV,
+  pattern GL_FONT_NUM_GLYPH_INDICES_BIT_NV,
+  pattern GL_FONT_TARGET_UNAVAILABLE_NV,
+  pattern GL_FONT_UNAVAILABLE_NV,
+  pattern GL_FONT_UNDERLINE_POSITION_BIT_NV,
+  pattern GL_FONT_UNDERLINE_THICKNESS_BIT_NV,
+  pattern GL_FONT_UNINTELLIGIBLE_NV,
+  pattern GL_FONT_UNITS_PER_EM_BIT_NV,
+  pattern GL_FONT_X_MAX_BOUNDS_BIT_NV,
+  pattern GL_FONT_X_MIN_BOUNDS_BIT_NV,
+  pattern GL_FONT_Y_MAX_BOUNDS_BIT_NV,
+  pattern GL_FONT_Y_MIN_BOUNDS_BIT_NV,
+  pattern GL_FRAGMENT_INPUT_NV,
+  pattern GL_GLYPH_HAS_KERNING_BIT_NV,
+  pattern GL_GLYPH_HEIGHT_BIT_NV,
+  pattern GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV,
+  pattern GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV,
+  pattern GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV,
+  pattern GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV,
+  pattern GL_GLYPH_VERTICAL_BEARING_X_BIT_NV,
+  pattern GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV,
+  pattern GL_GLYPH_WIDTH_BIT_NV,
+  pattern GL_HORIZONTAL_LINE_TO_NV,
+  pattern GL_ITALIC_BIT_NV,
+  pattern GL_LARGE_CCW_ARC_TO_NV,
+  pattern GL_LARGE_CW_ARC_TO_NV,
+  pattern GL_LINE_TO_NV,
+  pattern GL_MITER_REVERT_NV,
+  pattern GL_MITER_TRUNCATE_NV,
+  pattern GL_MOVE_TO_CONTINUES_NV,
+  pattern GL_MOVE_TO_NV,
+  pattern GL_MOVE_TO_RESETS_NV,
+  pattern GL_OBJECT_LINEAR_NV,
+  pattern GL_PATH_CLIENT_LENGTH_NV,
+  pattern GL_PATH_COMMAND_COUNT_NV,
+  pattern GL_PATH_COMPUTED_LENGTH_NV,
+  pattern GL_PATH_COORD_COUNT_NV,
+  pattern GL_PATH_COVER_DEPTH_FUNC_NV,
+  pattern GL_PATH_DASH_ARRAY_COUNT_NV,
+  pattern GL_PATH_DASH_CAPS_NV,
+  pattern GL_PATH_DASH_OFFSET_NV,
+  pattern GL_PATH_DASH_OFFSET_RESET_NV,
+  pattern GL_PATH_END_CAPS_NV,
+  pattern GL_PATH_ERROR_POSITION_NV,
+  pattern GL_PATH_FILL_BOUNDING_BOX_NV,
+  pattern GL_PATH_FILL_COVER_MODE_NV,
+  pattern GL_PATH_FILL_MASK_NV,
+  pattern GL_PATH_FILL_MODE_NV,
+  pattern GL_PATH_FOG_GEN_MODE_NV,
+  pattern GL_PATH_FORMAT_PS_NV,
+  pattern GL_PATH_FORMAT_SVG_NV,
+  pattern GL_PATH_GEN_COEFF_NV,
+  pattern GL_PATH_GEN_COLOR_FORMAT_NV,
+  pattern GL_PATH_GEN_COMPONENTS_NV,
+  pattern GL_PATH_GEN_MODE_NV,
+  pattern GL_PATH_INITIAL_DASH_CAP_NV,
+  pattern GL_PATH_INITIAL_END_CAP_NV,
+  pattern GL_PATH_JOIN_STYLE_NV,
+  pattern GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV,
+  pattern GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV,
+  pattern GL_PATH_MITER_LIMIT_NV,
+  pattern GL_PATH_MODELVIEW_MATRIX_NV,
+  pattern GL_PATH_MODELVIEW_NV,
+  pattern GL_PATH_MODELVIEW_STACK_DEPTH_NV,
+  pattern GL_PATH_OBJECT_BOUNDING_BOX_NV,
+  pattern GL_PATH_PROJECTION_MATRIX_NV,
+  pattern GL_PATH_PROJECTION_NV,
+  pattern GL_PATH_PROJECTION_STACK_DEPTH_NV,
+  pattern GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV,
+  pattern GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV,
+  pattern GL_PATH_STENCIL_FUNC_NV,
+  pattern GL_PATH_STENCIL_REF_NV,
+  pattern GL_PATH_STENCIL_VALUE_MASK_NV,
+  pattern GL_PATH_STROKE_BOUNDING_BOX_NV,
+  pattern GL_PATH_STROKE_COVER_MODE_NV,
+  pattern GL_PATH_STROKE_MASK_NV,
+  pattern GL_PATH_STROKE_WIDTH_NV,
+  pattern GL_PATH_TERMINAL_DASH_CAP_NV,
+  pattern GL_PATH_TERMINAL_END_CAP_NV,
+  pattern GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV,
+  pattern GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PRIMARY_COLOR_NV,
+  pattern GL_QUADRATIC_CURVE_TO_NV,
+  pattern GL_RECT_NV,
+  pattern GL_RELATIVE_ARC_TO_NV,
+  pattern GL_RELATIVE_CONIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_CUBIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_HORIZONTAL_LINE_TO_NV,
+  pattern GL_RELATIVE_LARGE_CCW_ARC_TO_NV,
+  pattern GL_RELATIVE_LARGE_CW_ARC_TO_NV,
+  pattern GL_RELATIVE_LINE_TO_NV,
+  pattern GL_RELATIVE_MOVE_TO_NV,
+  pattern GL_RELATIVE_QUADRATIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_RECT_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT2_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT4_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT8_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT_NV,
+  pattern GL_RELATIVE_SMALL_CCW_ARC_TO_NV,
+  pattern GL_RELATIVE_SMALL_CW_ARC_TO_NV,
+  pattern GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_VERTICAL_LINE_TO_NV,
+  pattern GL_RESTART_PATH_NV,
+  pattern GL_ROUNDED_RECT2_NV,
+  pattern GL_ROUNDED_RECT4_NV,
+  pattern GL_ROUNDED_RECT8_NV,
+  pattern GL_ROUNDED_RECT_NV,
+  pattern GL_ROUND_NV,
+  pattern GL_SECONDARY_COLOR_NV,
+  pattern GL_SKIP_MISSING_GLYPH_NV,
+  pattern GL_SMALL_CCW_ARC_TO_NV,
+  pattern GL_SMALL_CW_ARC_TO_NV,
+  pattern GL_SMOOTH_CUBIC_CURVE_TO_NV,
+  pattern GL_SMOOTH_QUADRATIC_CURVE_TO_NV,
+  pattern GL_SQUARE_NV,
+  pattern GL_STANDARD_FONT_FORMAT_NV,
+  pattern GL_STANDARD_FONT_NAME_NV,
+  pattern GL_SYSTEM_FONT_NAME_NV,
+  pattern GL_TRANSLATE_2D_NV,
+  pattern GL_TRANSLATE_3D_NV,
+  pattern GL_TRANSLATE_X_NV,
+  pattern GL_TRANSLATE_Y_NV,
+  pattern GL_TRANSPOSE_AFFINE_2D_NV,
+  pattern GL_TRANSPOSE_AFFINE_3D_NV,
+  pattern GL_TRIANGULAR_NV,
+  pattern GL_USE_MISSING_GLYPH_NV,
+  pattern GL_UTF16_NV,
+  pattern GL_UTF8_NV,
+  pattern GL_VERTICAL_LINE_TO_NV,
+  -- * Functions
+  glCopyPathNV,
+  glCoverFillPathInstancedNV,
+  glCoverFillPathNV,
+  glCoverStrokePathInstancedNV,
+  glCoverStrokePathNV,
+  glDeletePathsNV,
+  glGenPathsNV,
+  glGetPathColorGenfvNV,
+  glGetPathColorGenivNV,
+  glGetPathCommandsNV,
+  glGetPathCoordsNV,
+  glGetPathDashArrayNV,
+  glGetPathLengthNV,
+  glGetPathMetricRangeNV,
+  glGetPathMetricsNV,
+  glGetPathParameterfvNV,
+  glGetPathParameterivNV,
+  glGetPathSpacingNV,
+  glGetPathTexGenfvNV,
+  glGetPathTexGenivNV,
+  glGetProgramResourcefvNV,
+  glInterpolatePathsNV,
+  glIsPathNV,
+  glIsPointInFillPathNV,
+  glIsPointInStrokePathNV,
+  glMatrixLoad3x2fNV,
+  glMatrixLoad3x3fNV,
+  glMatrixLoadTranspose3x3fNV,
+  glMatrixMult3x2fNV,
+  glMatrixMult3x3fNV,
+  glMatrixMultTranspose3x3fNV,
+  glPathColorGenNV,
+  glPathCommandsNV,
+  glPathCoordsNV,
+  glPathCoverDepthFuncNV,
+  glPathDashArrayNV,
+  glPathFogGenNV,
+  glPathGlyphIndexArrayNV,
+  glPathGlyphIndexRangeNV,
+  glPathGlyphRangeNV,
+  glPathGlyphsNV,
+  glPathMemoryGlyphIndexArrayNV,
+  glPathParameterfNV,
+  glPathParameterfvNV,
+  glPathParameteriNV,
+  glPathParameterivNV,
+  glPathStencilDepthOffsetNV,
+  glPathStencilFuncNV,
+  glPathStringNV,
+  glPathSubCommandsNV,
+  glPathSubCoordsNV,
+  glPathTexGenNV,
+  glPointAlongPathNV,
+  glProgramPathFragmentInputGenNV,
+  glStencilFillPathInstancedNV,
+  glStencilFillPathNV,
+  glStencilStrokePathInstancedNV,
+  glStencilStrokePathNV,
+  glStencilThenCoverFillPathInstancedNV,
+  glStencilThenCoverFillPathNV,
+  glStencilThenCoverStrokePathInstancedNV,
+  glStencilThenCoverStrokePathNV,
+  glTransformPathNV,
+  glWeightPathsNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/PathRenderingCore.hs b/src/Graphics/GL/NV/PathRenderingCore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PathRenderingCore.hs
@@ -0,0 +1,234 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PathRenderingCore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PathRenderingCore (
+  -- * Extension Support
+  glGetNVPathRendering,
+  gl_NV_path_rendering,
+  -- * Enums
+  pattern GL_ACCUM_ADJACENT_PAIRS_NV,
+  pattern GL_ADJACENT_PAIRS_NV,
+  pattern GL_AFFINE_2D_NV,
+  pattern GL_AFFINE_3D_NV,
+  pattern GL_ARC_TO_NV,
+  pattern GL_BEVEL_NV,
+  pattern GL_BOLD_BIT_NV,
+  pattern GL_BOUNDING_BOX_NV,
+  pattern GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV,
+  pattern GL_CIRCULAR_CCW_ARC_TO_NV,
+  pattern GL_CIRCULAR_CW_ARC_TO_NV,
+  pattern GL_CIRCULAR_TANGENT_ARC_TO_NV,
+  pattern GL_CLOSE_PATH_NV,
+  pattern GL_CONIC_CURVE_TO_NV,
+  pattern GL_CONVEX_HULL_NV,
+  pattern GL_COUNT_DOWN_NV,
+  pattern GL_COUNT_UP_NV,
+  pattern GL_CUBIC_CURVE_TO_NV,
+  pattern GL_DUP_FIRST_CUBIC_CURVE_TO_NV,
+  pattern GL_DUP_LAST_CUBIC_CURVE_TO_NV,
+  pattern GL_FILE_NAME_NV,
+  pattern GL_FIRST_TO_REST_NV,
+  pattern GL_FONT_ASCENDER_BIT_NV,
+  pattern GL_FONT_DESCENDER_BIT_NV,
+  pattern GL_FONT_GLYPHS_AVAILABLE_NV,
+  pattern GL_FONT_HAS_KERNING_BIT_NV,
+  pattern GL_FONT_HEIGHT_BIT_NV,
+  pattern GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV,
+  pattern GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV,
+  pattern GL_FONT_NUM_GLYPH_INDICES_BIT_NV,
+  pattern GL_FONT_TARGET_UNAVAILABLE_NV,
+  pattern GL_FONT_UNAVAILABLE_NV,
+  pattern GL_FONT_UNDERLINE_POSITION_BIT_NV,
+  pattern GL_FONT_UNDERLINE_THICKNESS_BIT_NV,
+  pattern GL_FONT_UNINTELLIGIBLE_NV,
+  pattern GL_FONT_UNITS_PER_EM_BIT_NV,
+  pattern GL_FONT_X_MAX_BOUNDS_BIT_NV,
+  pattern GL_FONT_X_MIN_BOUNDS_BIT_NV,
+  pattern GL_FONT_Y_MAX_BOUNDS_BIT_NV,
+  pattern GL_FONT_Y_MIN_BOUNDS_BIT_NV,
+  pattern GL_FRAGMENT_INPUT_NV,
+  pattern GL_GLYPH_HAS_KERNING_BIT_NV,
+  pattern GL_GLYPH_HEIGHT_BIT_NV,
+  pattern GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV,
+  pattern GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV,
+  pattern GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV,
+  pattern GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV,
+  pattern GL_GLYPH_VERTICAL_BEARING_X_BIT_NV,
+  pattern GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV,
+  pattern GL_GLYPH_WIDTH_BIT_NV,
+  pattern GL_HORIZONTAL_LINE_TO_NV,
+  pattern GL_ITALIC_BIT_NV,
+  pattern GL_LARGE_CCW_ARC_TO_NV,
+  pattern GL_LARGE_CW_ARC_TO_NV,
+  pattern GL_LINE_TO_NV,
+  pattern GL_MITER_REVERT_NV,
+  pattern GL_MITER_TRUNCATE_NV,
+  pattern GL_MOVE_TO_CONTINUES_NV,
+  pattern GL_MOVE_TO_NV,
+  pattern GL_MOVE_TO_RESETS_NV,
+  pattern GL_PATH_CLIENT_LENGTH_NV,
+  pattern GL_PATH_COMMAND_COUNT_NV,
+  pattern GL_PATH_COMPUTED_LENGTH_NV,
+  pattern GL_PATH_COORD_COUNT_NV,
+  pattern GL_PATH_COVER_DEPTH_FUNC_NV,
+  pattern GL_PATH_DASH_ARRAY_COUNT_NV,
+  pattern GL_PATH_DASH_CAPS_NV,
+  pattern GL_PATH_DASH_OFFSET_NV,
+  pattern GL_PATH_DASH_OFFSET_RESET_NV,
+  pattern GL_PATH_END_CAPS_NV,
+  pattern GL_PATH_ERROR_POSITION_NV,
+  pattern GL_PATH_FILL_BOUNDING_BOX_NV,
+  pattern GL_PATH_FILL_COVER_MODE_NV,
+  pattern GL_PATH_FILL_MASK_NV,
+  pattern GL_PATH_FILL_MODE_NV,
+  pattern GL_PATH_FORMAT_PS_NV,
+  pattern GL_PATH_FORMAT_SVG_NV,
+  pattern GL_PATH_GEN_COEFF_NV,
+  pattern GL_PATH_GEN_COMPONENTS_NV,
+  pattern GL_PATH_GEN_MODE_NV,
+  pattern GL_PATH_INITIAL_DASH_CAP_NV,
+  pattern GL_PATH_INITIAL_END_CAP_NV,
+  pattern GL_PATH_JOIN_STYLE_NV,
+  pattern GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV,
+  pattern GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV,
+  pattern GL_PATH_MITER_LIMIT_NV,
+  pattern GL_PATH_MODELVIEW_MATRIX_NV,
+  pattern GL_PATH_MODELVIEW_NV,
+  pattern GL_PATH_MODELVIEW_STACK_DEPTH_NV,
+  pattern GL_PATH_OBJECT_BOUNDING_BOX_NV,
+  pattern GL_PATH_PROJECTION_MATRIX_NV,
+  pattern GL_PATH_PROJECTION_NV,
+  pattern GL_PATH_PROJECTION_STACK_DEPTH_NV,
+  pattern GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV,
+  pattern GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV,
+  pattern GL_PATH_STENCIL_FUNC_NV,
+  pattern GL_PATH_STENCIL_REF_NV,
+  pattern GL_PATH_STENCIL_VALUE_MASK_NV,
+  pattern GL_PATH_STROKE_BOUNDING_BOX_NV,
+  pattern GL_PATH_STROKE_COVER_MODE_NV,
+  pattern GL_PATH_STROKE_MASK_NV,
+  pattern GL_PATH_STROKE_WIDTH_NV,
+  pattern GL_PATH_TERMINAL_DASH_CAP_NV,
+  pattern GL_PATH_TERMINAL_END_CAP_NV,
+  pattern GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV,
+  pattern GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV,
+  pattern GL_QUADRATIC_CURVE_TO_NV,
+  pattern GL_RECT_NV,
+  pattern GL_RELATIVE_ARC_TO_NV,
+  pattern GL_RELATIVE_CONIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_CUBIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_HORIZONTAL_LINE_TO_NV,
+  pattern GL_RELATIVE_LARGE_CCW_ARC_TO_NV,
+  pattern GL_RELATIVE_LARGE_CW_ARC_TO_NV,
+  pattern GL_RELATIVE_LINE_TO_NV,
+  pattern GL_RELATIVE_MOVE_TO_NV,
+  pattern GL_RELATIVE_QUADRATIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_RECT_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT2_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT4_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT8_NV,
+  pattern GL_RELATIVE_ROUNDED_RECT_NV,
+  pattern GL_RELATIVE_SMALL_CCW_ARC_TO_NV,
+  pattern GL_RELATIVE_SMALL_CW_ARC_TO_NV,
+  pattern GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV,
+  pattern GL_RELATIVE_VERTICAL_LINE_TO_NV,
+  pattern GL_RESTART_PATH_NV,
+  pattern GL_ROUNDED_RECT2_NV,
+  pattern GL_ROUNDED_RECT4_NV,
+  pattern GL_ROUNDED_RECT8_NV,
+  pattern GL_ROUNDED_RECT_NV,
+  pattern GL_ROUND_NV,
+  pattern GL_SKIP_MISSING_GLYPH_NV,
+  pattern GL_SMALL_CCW_ARC_TO_NV,
+  pattern GL_SMALL_CW_ARC_TO_NV,
+  pattern GL_SMOOTH_CUBIC_CURVE_TO_NV,
+  pattern GL_SMOOTH_QUADRATIC_CURVE_TO_NV,
+  pattern GL_SQUARE_NV,
+  pattern GL_STANDARD_FONT_FORMAT_NV,
+  pattern GL_STANDARD_FONT_NAME_NV,
+  pattern GL_SYSTEM_FONT_NAME_NV,
+  pattern GL_TRANSLATE_2D_NV,
+  pattern GL_TRANSLATE_3D_NV,
+  pattern GL_TRANSLATE_X_NV,
+  pattern GL_TRANSLATE_Y_NV,
+  pattern GL_TRANSPOSE_AFFINE_2D_NV,
+  pattern GL_TRANSPOSE_AFFINE_3D_NV,
+  pattern GL_TRIANGULAR_NV,
+  pattern GL_USE_MISSING_GLYPH_NV,
+  pattern GL_UTF16_NV,
+  pattern GL_UTF8_NV,
+  pattern GL_VERTICAL_LINE_TO_NV,
+  -- * Functions
+  glCopyPathNV,
+  glCoverFillPathInstancedNV,
+  glCoverFillPathNV,
+  glCoverStrokePathInstancedNV,
+  glCoverStrokePathNV,
+  glDeletePathsNV,
+  glGenPathsNV,
+  glGetPathCommandsNV,
+  glGetPathCoordsNV,
+  glGetPathDashArrayNV,
+  glGetPathLengthNV,
+  glGetPathMetricRangeNV,
+  glGetPathMetricsNV,
+  glGetPathParameterfvNV,
+  glGetPathParameterivNV,
+  glGetPathSpacingNV,
+  glGetProgramResourcefvNV,
+  glInterpolatePathsNV,
+  glIsPathNV,
+  glIsPointInFillPathNV,
+  glIsPointInStrokePathNV,
+  glMatrixLoad3x2fNV,
+  glMatrixLoad3x3fNV,
+  glMatrixLoadTranspose3x3fNV,
+  glMatrixMult3x2fNV,
+  glMatrixMult3x3fNV,
+  glMatrixMultTranspose3x3fNV,
+  glPathCommandsNV,
+  glPathCoordsNV,
+  glPathCoverDepthFuncNV,
+  glPathDashArrayNV,
+  glPathGlyphIndexArrayNV,
+  glPathGlyphIndexRangeNV,
+  glPathGlyphRangeNV,
+  glPathGlyphsNV,
+  glPathMemoryGlyphIndexArrayNV,
+  glPathParameterfNV,
+  glPathParameterfvNV,
+  glPathParameteriNV,
+  glPathParameterivNV,
+  glPathStencilDepthOffsetNV,
+  glPathStencilFuncNV,
+  glPathStringNV,
+  glPathSubCommandsNV,
+  glPathSubCoordsNV,
+  glPointAlongPathNV,
+  glProgramPathFragmentInputGenNV,
+  glStencilFillPathInstancedNV,
+  glStencilFillPathNV,
+  glStencilStrokePathInstancedNV,
+  glStencilStrokePathNV,
+  glStencilThenCoverFillPathInstancedNV,
+  glStencilThenCoverFillPathNV,
+  glStencilThenCoverStrokePathInstancedNV,
+  glStencilThenCoverStrokePathNV,
+  glTransformPathNV,
+  glWeightPathsNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/PathRenderingSharedEdge.hs b/src/Graphics/GL/NV/PathRenderingSharedEdge.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PathRenderingSharedEdge.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PathRenderingSharedEdge
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PathRenderingSharedEdge (
+  -- * Extension Support
+  glGetNVPathRenderingSharedEdge,
+  gl_NV_path_rendering_shared_edge,
+  -- * Enums
+  pattern GL_SHARED_EDGE_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/PixelDataRange.hs b/src/Graphics/GL/NV/PixelDataRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PixelDataRange.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PixelDataRange
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PixelDataRange (
+  -- * Extension Support
+  glGetNVPixelDataRange,
+  gl_NV_pixel_data_range,
+  -- * Enums
+  pattern GL_READ_PIXEL_DATA_RANGE_LENGTH_NV,
+  pattern GL_READ_PIXEL_DATA_RANGE_NV,
+  pattern GL_READ_PIXEL_DATA_RANGE_POINTER_NV,
+  pattern GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV,
+  pattern GL_WRITE_PIXEL_DATA_RANGE_NV,
+  pattern GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV,
+  -- * Functions
+  glFlushPixelDataRangeNV,
+  glPixelDataRangeNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/PointSprite.hs b/src/Graphics/GL/NV/PointSprite.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PointSprite.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PointSprite
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PointSprite (
+  -- * Extension Support
+  glGetNVPointSprite,
+  gl_NV_point_sprite,
+  -- * Enums
+  pattern GL_COORD_REPLACE_NV,
+  pattern GL_POINT_SPRITE_NV,
+  pattern GL_POINT_SPRITE_R_MODE_NV,
+  -- * Functions
+  glPointParameteriNV,
+  glPointParameterivNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/PresentVideo.hs b/src/Graphics/GL/NV/PresentVideo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PresentVideo.hs
@@ -0,0 +1,36 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PresentVideo
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PresentVideo (
+  -- * Extension Support
+  glGetNVPresentVideo,
+  gl_NV_present_video,
+  -- * Enums
+  pattern GL_CURRENT_TIME_NV,
+  pattern GL_FIELDS_NV,
+  pattern GL_FRAME_NV,
+  pattern GL_NUM_FILL_STREAMS_NV,
+  pattern GL_PRESENT_DURATION_NV,
+  pattern GL_PRESENT_TIME_NV,
+  -- * Functions
+  glGetVideoi64vNV,
+  glGetVideoivNV,
+  glGetVideoui64vNV,
+  glGetVideouivNV,
+  glPresentFrameDualFillNV,
+  glPresentFrameKeyedNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/PrimitiveRestart.hs b/src/Graphics/GL/NV/PrimitiveRestart.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/PrimitiveRestart.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.PrimitiveRestart
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.PrimitiveRestart (
+  -- * Extension Support
+  glGetNVPrimitiveRestart,
+  gl_NV_primitive_restart,
+  -- * Enums
+  pattern GL_PRIMITIVE_RESTART_INDEX_NV,
+  pattern GL_PRIMITIVE_RESTART_NV,
+  -- * Functions
+  glPrimitiveRestartIndexNV,
+  glPrimitiveRestartNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/RegisterCombiners.hs b/src/Graphics/GL/NV/RegisterCombiners.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/RegisterCombiners.hs
@@ -0,0 +1,93 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.RegisterCombiners
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.RegisterCombiners (
+  -- * Extension Support
+  glGetNVRegisterCombiners,
+  gl_NV_register_combiners,
+  -- * Enums
+  pattern GL_BIAS_BY_NEGATIVE_ONE_HALF_NV,
+  pattern GL_COLOR_SUM_CLAMP_NV,
+  pattern GL_COMBINER0_NV,
+  pattern GL_COMBINER1_NV,
+  pattern GL_COMBINER2_NV,
+  pattern GL_COMBINER3_NV,
+  pattern GL_COMBINER4_NV,
+  pattern GL_COMBINER5_NV,
+  pattern GL_COMBINER6_NV,
+  pattern GL_COMBINER7_NV,
+  pattern GL_COMBINER_AB_DOT_PRODUCT_NV,
+  pattern GL_COMBINER_AB_OUTPUT_NV,
+  pattern GL_COMBINER_BIAS_NV,
+  pattern GL_COMBINER_CD_DOT_PRODUCT_NV,
+  pattern GL_COMBINER_CD_OUTPUT_NV,
+  pattern GL_COMBINER_COMPONENT_USAGE_NV,
+  pattern GL_COMBINER_INPUT_NV,
+  pattern GL_COMBINER_MAPPING_NV,
+  pattern GL_COMBINER_MUX_SUM_NV,
+  pattern GL_COMBINER_SCALE_NV,
+  pattern GL_COMBINER_SUM_OUTPUT_NV,
+  pattern GL_CONSTANT_COLOR0_NV,
+  pattern GL_CONSTANT_COLOR1_NV,
+  pattern GL_DISCARD_NV,
+  pattern GL_EXPAND_NEGATE_NV,
+  pattern GL_EXPAND_NORMAL_NV,
+  pattern GL_E_TIMES_F_NV,
+  pattern GL_FOG,
+  pattern GL_HALF_BIAS_NEGATE_NV,
+  pattern GL_HALF_BIAS_NORMAL_NV,
+  pattern GL_MAX_GENERAL_COMBINERS_NV,
+  pattern GL_NONE,
+  pattern GL_NUM_GENERAL_COMBINERS_NV,
+  pattern GL_PRIMARY_COLOR_NV,
+  pattern GL_REGISTER_COMBINERS_NV,
+  pattern GL_SCALE_BY_FOUR_NV,
+  pattern GL_SCALE_BY_ONE_HALF_NV,
+  pattern GL_SCALE_BY_TWO_NV,
+  pattern GL_SECONDARY_COLOR_NV,
+  pattern GL_SIGNED_IDENTITY_NV,
+  pattern GL_SIGNED_NEGATE_NV,
+  pattern GL_SPARE0_NV,
+  pattern GL_SPARE0_PLUS_SECONDARY_COLOR_NV,
+  pattern GL_SPARE1_NV,
+  pattern GL_TEXTURE0_ARB,
+  pattern GL_TEXTURE1_ARB,
+  pattern GL_UNSIGNED_IDENTITY_NV,
+  pattern GL_UNSIGNED_INVERT_NV,
+  pattern GL_VARIABLE_A_NV,
+  pattern GL_VARIABLE_B_NV,
+  pattern GL_VARIABLE_C_NV,
+  pattern GL_VARIABLE_D_NV,
+  pattern GL_VARIABLE_E_NV,
+  pattern GL_VARIABLE_F_NV,
+  pattern GL_VARIABLE_G_NV,
+  pattern GL_ZERO,
+  -- * Functions
+  glCombinerInputNV,
+  glCombinerOutputNV,
+  glCombinerParameterfNV,
+  glCombinerParameterfvNV,
+  glCombinerParameteriNV,
+  glCombinerParameterivNV,
+  glFinalCombinerInputNV,
+  glGetCombinerInputParameterfvNV,
+  glGetCombinerInputParameterivNV,
+  glGetCombinerOutputParameterfvNV,
+  glGetCombinerOutputParameterivNV,
+  glGetFinalCombinerInputParameterfvNV,
+  glGetFinalCombinerInputParameterivNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/RegisterCombiners2.hs b/src/Graphics/GL/NV/RegisterCombiners2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/RegisterCombiners2.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.RegisterCombiners2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.RegisterCombiners2 (
+  -- * Extension Support
+  glGetNVRegisterCombiners2,
+  gl_NV_register_combiners2,
+  -- * Enums
+  pattern GL_PER_STAGE_CONSTANTS_NV,
+  -- * Functions
+  glCombinerStageParameterfvNV,
+  glGetCombinerStageParameterfvNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/SampleLocations.hs b/src/Graphics/GL/NV/SampleLocations.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/SampleLocations.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.SampleLocations
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.SampleLocations (
+  -- * Extension Support
+  glGetNVSampleLocations,
+  gl_NV_sample_locations,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV,
+  pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV,
+  pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_NV,
+  pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV,
+  pattern GL_SAMPLE_LOCATION_NV,
+  pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV,
+  pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV,
+  pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV,
+  -- * Functions
+  glFramebufferSampleLocationsfvNV,
+  glNamedFramebufferSampleLocationsfvNV,
+  glResolveDepthValuesNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/ShaderBufferLoad.hs b/src/Graphics/GL/NV/ShaderBufferLoad.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ShaderBufferLoad.hs
@@ -0,0 +1,41 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ShaderBufferLoad
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ShaderBufferLoad (
+  -- * Extension Support
+  glGetNVShaderBufferLoad,
+  gl_NV_shader_buffer_load,
+  -- * Enums
+  pattern GL_BUFFER_GPU_ADDRESS_NV,
+  pattern GL_GPU_ADDRESS_NV,
+  pattern GL_MAX_SHADER_BUFFER_ADDRESS_NV,
+  -- * Functions
+  glGetBufferParameterui64vNV,
+  glGetIntegerui64vNV,
+  glGetNamedBufferParameterui64vNV,
+  glGetUniformui64vNV,
+  glIsBufferResidentNV,
+  glIsNamedBufferResidentNV,
+  glMakeBufferNonResidentNV,
+  glMakeBufferResidentNV,
+  glMakeNamedBufferNonResidentNV,
+  glMakeNamedBufferResidentNV,
+  glProgramUniformui64NV,
+  glProgramUniformui64vNV,
+  glUniformui64NV,
+  glUniformui64vNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/ShaderBufferStore.hs b/src/Graphics/GL/NV/ShaderBufferStore.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ShaderBufferStore.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ShaderBufferStore
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ShaderBufferStore (
+  -- * Extension Support
+  glGetNVShaderBufferStore,
+  gl_NV_shader_buffer_store,
+  -- * Enums
+  pattern GL_READ_WRITE,
+  pattern GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV,
+  pattern GL_WRITE_ONLY
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/ShaderThreadGroup.hs b/src/Graphics/GL/NV/ShaderThreadGroup.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/ShaderThreadGroup.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.ShaderThreadGroup
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.ShaderThreadGroup (
+  -- * Extension Support
+  glGetNVShaderThreadGroup,
+  gl_NV_shader_thread_group,
+  -- * Enums
+  pattern GL_SM_COUNT_NV,
+  pattern GL_WARPS_PER_SM_NV,
+  pattern GL_WARP_SIZE_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TessellationProgram5.hs b/src/Graphics/GL/NV/TessellationProgram5.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TessellationProgram5.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TessellationProgram5
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TessellationProgram5 (
+  -- * Extension Support
+  glGetNVTessellationProgram5,
+  gl_NV_tessellation_program5,
+  -- * Enums
+  pattern GL_MAX_PROGRAM_PATCH_ATTRIBS_NV,
+  pattern GL_TESS_CONTROL_PROGRAM_NV,
+  pattern GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV,
+  pattern GL_TESS_EVALUATION_PROGRAM_NV,
+  pattern GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TexgenEmboss.hs b/src/Graphics/GL/NV/TexgenEmboss.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TexgenEmboss.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TexgenEmboss
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TexgenEmboss (
+  -- * Extension Support
+  glGetNVTexgenEmboss,
+  gl_NV_texgen_emboss,
+  -- * Enums
+  pattern GL_EMBOSS_CONSTANT_NV,
+  pattern GL_EMBOSS_LIGHT_NV,
+  pattern GL_EMBOSS_MAP_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TexgenReflection.hs b/src/Graphics/GL/NV/TexgenReflection.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TexgenReflection.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TexgenReflection
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TexgenReflection (
+  -- * Extension Support
+  glGetNVTexgenReflection,
+  gl_NV_texgen_reflection,
+  -- * Enums
+  pattern GL_NORMAL_MAP_NV,
+  pattern GL_REFLECTION_MAP_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TextureBarrier.hs b/src/Graphics/GL/NV/TextureBarrier.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureBarrier.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureBarrier
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureBarrier (
+  -- * Extension Support
+  glGetNVTextureBarrier,
+  gl_NV_texture_barrier,
+  -- * Functions
+  glTextureBarrierNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/TextureEnvCombine4.hs b/src/Graphics/GL/NV/TextureEnvCombine4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureEnvCombine4.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureEnvCombine4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureEnvCombine4 (
+  -- * Extension Support
+  glGetNVTextureEnvCombine4,
+  gl_NV_texture_env_combine4,
+  -- * Enums
+  pattern GL_COMBINE4_NV,
+  pattern GL_OPERAND3_ALPHA_NV,
+  pattern GL_OPERAND3_RGB_NV,
+  pattern GL_SOURCE3_ALPHA_NV,
+  pattern GL_SOURCE3_RGB_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TextureExpandNormal.hs b/src/Graphics/GL/NV/TextureExpandNormal.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureExpandNormal.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureExpandNormal
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureExpandNormal (
+  -- * Extension Support
+  glGetNVTextureExpandNormal,
+  gl_NV_texture_expand_normal,
+  -- * Enums
+  pattern GL_TEXTURE_UNSIGNED_REMAP_MODE_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TextureMultisample.hs b/src/Graphics/GL/NV/TextureMultisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureMultisample.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureMultisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureMultisample (
+  -- * Extension Support
+  glGetNVTextureMultisample,
+  gl_NV_texture_multisample,
+  -- * Enums
+  pattern GL_TEXTURE_COLOR_SAMPLES_NV,
+  pattern GL_TEXTURE_COVERAGE_SAMPLES_NV,
+  -- * Functions
+  glTexImage2DMultisampleCoverageNV,
+  glTexImage3DMultisampleCoverageNV,
+  glTextureImage2DMultisampleCoverageNV,
+  glTextureImage2DMultisampleNV,
+  glTextureImage3DMultisampleCoverageNV,
+  glTextureImage3DMultisampleNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/TextureRectangle.hs b/src/Graphics/GL/NV/TextureRectangle.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureRectangle.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureRectangle
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureRectangle (
+  -- * Extension Support
+  glGetNVTextureRectangle,
+  gl_NV_texture_rectangle,
+  -- * Enums
+  pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_NV,
+  pattern GL_PROXY_TEXTURE_RECTANGLE_NV,
+  pattern GL_TEXTURE_BINDING_RECTANGLE_NV,
+  pattern GL_TEXTURE_RECTANGLE_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TextureShader.hs b/src/Graphics/GL/NV/TextureShader.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureShader.hs
@@ -0,0 +1,95 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureShader
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureShader (
+  -- * Extension Support
+  glGetNVTextureShader,
+  gl_NV_texture_shader,
+  -- * Enums
+  pattern GL_CONST_EYE_NV,
+  pattern GL_CULL_FRAGMENT_NV,
+  pattern GL_CULL_MODES_NV,
+  pattern GL_DEPENDENT_AR_TEXTURE_2D_NV,
+  pattern GL_DEPENDENT_GB_TEXTURE_2D_NV,
+  pattern GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV,
+  pattern GL_DOT_PRODUCT_DEPTH_REPLACE_NV,
+  pattern GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV,
+  pattern GL_DOT_PRODUCT_NV,
+  pattern GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV,
+  pattern GL_DOT_PRODUCT_TEXTURE_2D_NV,
+  pattern GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV,
+  pattern GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV,
+  pattern GL_DSDT8_MAG8_INTENSITY8_NV,
+  pattern GL_DSDT8_MAG8_NV,
+  pattern GL_DSDT8_NV,
+  pattern GL_DSDT_MAG_INTENSITY_NV,
+  pattern GL_DSDT_MAG_NV,
+  pattern GL_DSDT_MAG_VIB_NV,
+  pattern GL_DSDT_NV,
+  pattern GL_DS_BIAS_NV,
+  pattern GL_DS_SCALE_NV,
+  pattern GL_DT_BIAS_NV,
+  pattern GL_DT_SCALE_NV,
+  pattern GL_HILO16_NV,
+  pattern GL_HILO_NV,
+  pattern GL_HI_BIAS_NV,
+  pattern GL_HI_SCALE_NV,
+  pattern GL_LO_BIAS_NV,
+  pattern GL_LO_SCALE_NV,
+  pattern GL_MAGNITUDE_BIAS_NV,
+  pattern GL_MAGNITUDE_SCALE_NV,
+  pattern GL_OFFSET_TEXTURE_2D_BIAS_NV,
+  pattern GL_OFFSET_TEXTURE_2D_MATRIX_NV,
+  pattern GL_OFFSET_TEXTURE_2D_NV,
+  pattern GL_OFFSET_TEXTURE_2D_SCALE_NV,
+  pattern GL_OFFSET_TEXTURE_BIAS_NV,
+  pattern GL_OFFSET_TEXTURE_MATRIX_NV,
+  pattern GL_OFFSET_TEXTURE_RECTANGLE_NV,
+  pattern GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV,
+  pattern GL_OFFSET_TEXTURE_SCALE_NV,
+  pattern GL_PASS_THROUGH_NV,
+  pattern GL_PREVIOUS_TEXTURE_INPUT_NV,
+  pattern GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV,
+  pattern GL_SHADER_CONSISTENT_NV,
+  pattern GL_SHADER_OPERATION_NV,
+  pattern GL_SIGNED_ALPHA8_NV,
+  pattern GL_SIGNED_ALPHA_NV,
+  pattern GL_SIGNED_HILO16_NV,
+  pattern GL_SIGNED_HILO_NV,
+  pattern GL_SIGNED_INTENSITY8_NV,
+  pattern GL_SIGNED_INTENSITY_NV,
+  pattern GL_SIGNED_LUMINANCE8_ALPHA8_NV,
+  pattern GL_SIGNED_LUMINANCE8_NV,
+  pattern GL_SIGNED_LUMINANCE_ALPHA_NV,
+  pattern GL_SIGNED_LUMINANCE_NV,
+  pattern GL_SIGNED_RGB8_NV,
+  pattern GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV,
+  pattern GL_SIGNED_RGBA8_NV,
+  pattern GL_SIGNED_RGBA_NV,
+  pattern GL_SIGNED_RGB_NV,
+  pattern GL_SIGNED_RGB_UNSIGNED_ALPHA_NV,
+  pattern GL_TEXTURE_BORDER_VALUES_NV,
+  pattern GL_TEXTURE_DS_SIZE_NV,
+  pattern GL_TEXTURE_DT_SIZE_NV,
+  pattern GL_TEXTURE_HI_SIZE_NV,
+  pattern GL_TEXTURE_LO_SIZE_NV,
+  pattern GL_TEXTURE_MAG_SIZE_NV,
+  pattern GL_TEXTURE_SHADER_NV,
+  pattern GL_UNSIGNED_INT_8_8_S8_S8_REV_NV,
+  pattern GL_UNSIGNED_INT_S8_S8_8_8_NV,
+  pattern GL_VIBRANCE_BIAS_NV,
+  pattern GL_VIBRANCE_SCALE_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TextureShader2.hs b/src/Graphics/GL/NV/TextureShader2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureShader2.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureShader2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureShader2 (
+  -- * Extension Support
+  glGetNVTextureShader2,
+  gl_NV_texture_shader2,
+  -- * Enums
+  pattern GL_DOT_PRODUCT_TEXTURE_3D_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TextureShader3.hs b/src/Graphics/GL/NV/TextureShader3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TextureShader3.hs
@@ -0,0 +1,39 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TextureShader3
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TextureShader3 (
+  -- * Extension Support
+  glGetNVTextureShader3,
+  gl_NV_texture_shader3,
+  -- * Enums
+  pattern GL_DEPENDENT_HILO_TEXTURE_2D_NV,
+  pattern GL_DEPENDENT_RGB_TEXTURE_3D_NV,
+  pattern GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV,
+  pattern GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV,
+  pattern GL_DOT_PRODUCT_PASS_THROUGH_NV,
+  pattern GL_DOT_PRODUCT_TEXTURE_1D_NV,
+  pattern GL_FORCE_BLUE_TO_ONE_NV,
+  pattern GL_HILO8_NV,
+  pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV,
+  pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV,
+  pattern GL_OFFSET_HILO_TEXTURE_2D_NV,
+  pattern GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV,
+  pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV,
+  pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV,
+  pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV,
+  pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV,
+  pattern GL_SIGNED_HILO8_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/TransformFeedback.hs b/src/Graphics/GL/NV/TransformFeedback.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TransformFeedback.hs
@@ -0,0 +1,67 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TransformFeedback
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TransformFeedback (
+  -- * Extension Support
+  glGetNVTransformFeedback,
+  gl_NV_transform_feedback,
+  -- * Enums
+  pattern GL_ACTIVE_VARYINGS_NV,
+  pattern GL_ACTIVE_VARYING_MAX_LENGTH_NV,
+  pattern GL_BACK_PRIMARY_COLOR_NV,
+  pattern GL_BACK_SECONDARY_COLOR_NV,
+  pattern GL_CLIP_DISTANCE_NV,
+  pattern GL_GENERIC_ATTRIB_NV,
+  pattern GL_INTERLEAVED_ATTRIBS_NV,
+  pattern GL_LAYER_NV,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV,
+  pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV,
+  pattern GL_NEXT_BUFFER_NV,
+  pattern GL_PRIMITIVES_GENERATED_NV,
+  pattern GL_PRIMITIVE_ID_NV,
+  pattern GL_RASTERIZER_DISCARD_NV,
+  pattern GL_SEPARATE_ATTRIBS_NV,
+  pattern GL_SKIP_COMPONENTS1_NV,
+  pattern GL_SKIP_COMPONENTS2_NV,
+  pattern GL_SKIP_COMPONENTS3_NV,
+  pattern GL_SKIP_COMPONENTS4_NV,
+  pattern GL_TEXTURE_COORD_NV,
+  pattern GL_TRANSFORM_FEEDBACK_ATTRIBS_NV,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_NV,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_NV,
+  pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV,
+  pattern GL_TRANSFORM_FEEDBACK_RECORD_NV,
+  pattern GL_TRANSFORM_FEEDBACK_VARYINGS_NV,
+  pattern GL_VERTEX_ID_NV,
+  -- * Functions
+  glActiveVaryingNV,
+  glBeginTransformFeedbackNV,
+  glBindBufferBaseNV,
+  glBindBufferOffsetNV,
+  glBindBufferRangeNV,
+  glEndTransformFeedbackNV,
+  glGetActiveVaryingNV,
+  glGetTransformFeedbackVaryingNV,
+  glGetVaryingLocationNV,
+  glTransformFeedbackAttribsNV,
+  glTransformFeedbackStreamAttribsNV,
+  glTransformFeedbackVaryingsNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/TransformFeedback2.hs b/src/Graphics/GL/NV/TransformFeedback2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/TransformFeedback2.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.TransformFeedback2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.TransformFeedback2 (
+  -- * Extension Support
+  glGetNVTransformFeedback2,
+  gl_NV_transform_feedback2,
+  -- * Enums
+  pattern GL_TRANSFORM_FEEDBACK_BINDING_NV,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV,
+  pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV,
+  pattern GL_TRANSFORM_FEEDBACK_NV,
+  -- * Functions
+  glBindTransformFeedbackNV,
+  glDeleteTransformFeedbacksNV,
+  glDrawTransformFeedbackNV,
+  glGenTransformFeedbacksNV,
+  glIsTransformFeedbackNV,
+  glPauseTransformFeedbackNV,
+  glResumeTransformFeedbackNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/UniformBufferUnifiedMemory.hs b/src/Graphics/GL/NV/UniformBufferUnifiedMemory.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/UniformBufferUnifiedMemory.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.UniformBufferUnifiedMemory
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.UniformBufferUnifiedMemory (
+  -- * Extension Support
+  glGetNVUniformBufferUnifiedMemory,
+  gl_NV_uniform_buffer_unified_memory,
+  -- * Enums
+  pattern GL_UNIFORM_BUFFER_ADDRESS_NV,
+  pattern GL_UNIFORM_BUFFER_LENGTH_NV,
+  pattern GL_UNIFORM_BUFFER_UNIFIED_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/VDPAUInterop.hs b/src/Graphics/GL/NV/VDPAUInterop.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VDPAUInterop.hs
@@ -0,0 +1,38 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VDPAUInterop
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VDPAUInterop (
+  -- * Extension Support
+  glGetNVVDPAUInterop,
+  gl_NV_vdpau_interop,
+  -- * Enums
+  pattern GL_SURFACE_MAPPED_NV,
+  pattern GL_SURFACE_REGISTERED_NV,
+  pattern GL_SURFACE_STATE_NV,
+  pattern GL_WRITE_DISCARD_NV,
+  -- * Functions
+  glVDPAUFiniNV,
+  glVDPAUGetSurfaceivNV,
+  glVDPAUInitNV,
+  glVDPAUIsSurfaceNV,
+  glVDPAUMapSurfacesNV,
+  glVDPAURegisterOutputSurfaceNV,
+  glVDPAURegisterVideoSurfaceNV,
+  glVDPAUSurfaceAccessNV,
+  glVDPAUUnmapSurfacesNV,
+  glVDPAUUnregisterSurfaceNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/VertexArrayRange.hs b/src/Graphics/GL/NV/VertexArrayRange.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexArrayRange.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexArrayRange
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexArrayRange (
+  -- * Extension Support
+  glGetNVVertexArrayRange,
+  gl_NV_vertex_array_range,
+  -- * Enums
+  pattern GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV,
+  pattern GL_VERTEX_ARRAY_RANGE_LENGTH_NV,
+  pattern GL_VERTEX_ARRAY_RANGE_NV,
+  pattern GL_VERTEX_ARRAY_RANGE_POINTER_NV,
+  pattern GL_VERTEX_ARRAY_RANGE_VALID_NV,
+  -- * Functions
+  glFlushVertexArrayRangeNV,
+  glVertexArrayRangeNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/VertexArrayRange2.hs b/src/Graphics/GL/NV/VertexArrayRange2.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexArrayRange2.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexArrayRange2
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexArrayRange2 (
+  -- * Extension Support
+  glGetNVVertexArrayRange2,
+  gl_NV_vertex_array_range2,
+  -- * Enums
+  pattern GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/VertexAttribInteger64Bit.hs b/src/Graphics/GL/NV/VertexAttribInteger64Bit.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexAttribInteger64Bit.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexAttribInteger64Bit
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexAttribInteger64Bit (
+  -- * Extension Support
+  glGetNVVertexAttribInteger64Bit,
+  gl_NV_vertex_attrib_integer_64bit,
+  -- * Enums
+  pattern GL_INT64_NV,
+  pattern GL_UNSIGNED_INT64_NV,
+  -- * Functions
+  glGetVertexAttribLi64vNV,
+  glGetVertexAttribLui64vNV,
+  glVertexAttribL1i64NV,
+  glVertexAttribL1i64vNV,
+  glVertexAttribL1ui64NV,
+  glVertexAttribL1ui64vNV,
+  glVertexAttribL2i64NV,
+  glVertexAttribL2i64vNV,
+  glVertexAttribL2ui64NV,
+  glVertexAttribL2ui64vNV,
+  glVertexAttribL3i64NV,
+  glVertexAttribL3i64vNV,
+  glVertexAttribL3ui64NV,
+  glVertexAttribL3ui64vNV,
+  glVertexAttribL4i64NV,
+  glVertexAttribL4i64vNV,
+  glVertexAttribL4ui64NV,
+  glVertexAttribL4ui64vNV,
+  glVertexAttribLFormatNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/VertexBufferUnifiedMemory.hs b/src/Graphics/GL/NV/VertexBufferUnifiedMemory.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexBufferUnifiedMemory.hs
@@ -0,0 +1,61 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexBufferUnifiedMemory
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexBufferUnifiedMemory (
+  -- * Extension Support
+  glGetNVVertexBufferUnifiedMemory,
+  gl_NV_vertex_buffer_unified_memory,
+  -- * Enums
+  pattern GL_COLOR_ARRAY_ADDRESS_NV,
+  pattern GL_COLOR_ARRAY_LENGTH_NV,
+  pattern GL_DRAW_INDIRECT_ADDRESS_NV,
+  pattern GL_DRAW_INDIRECT_LENGTH_NV,
+  pattern GL_DRAW_INDIRECT_UNIFIED_NV,
+  pattern GL_EDGE_FLAG_ARRAY_ADDRESS_NV,
+  pattern GL_EDGE_FLAG_ARRAY_LENGTH_NV,
+  pattern GL_ELEMENT_ARRAY_ADDRESS_NV,
+  pattern GL_ELEMENT_ARRAY_LENGTH_NV,
+  pattern GL_ELEMENT_ARRAY_UNIFIED_NV,
+  pattern GL_FOG_COORD_ARRAY_ADDRESS_NV,
+  pattern GL_FOG_COORD_ARRAY_LENGTH_NV,
+  pattern GL_INDEX_ARRAY_ADDRESS_NV,
+  pattern GL_INDEX_ARRAY_LENGTH_NV,
+  pattern GL_NORMAL_ARRAY_ADDRESS_NV,
+  pattern GL_NORMAL_ARRAY_LENGTH_NV,
+  pattern GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV,
+  pattern GL_SECONDARY_COLOR_ARRAY_LENGTH_NV,
+  pattern GL_TEXTURE_COORD_ARRAY_ADDRESS_NV,
+  pattern GL_TEXTURE_COORD_ARRAY_LENGTH_NV,
+  pattern GL_VERTEX_ARRAY_ADDRESS_NV,
+  pattern GL_VERTEX_ARRAY_LENGTH_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV,
+  -- * Functions
+  glBufferAddressRangeNV,
+  glColorFormatNV,
+  glEdgeFlagFormatNV,
+  glFogCoordFormatNV,
+  glGetIntegerui64i_vNV,
+  glIndexFormatNV,
+  glNormalFormatNV,
+  glSecondaryColorFormatNV,
+  glTexCoordFormatNV,
+  glVertexAttribFormatNV,
+  glVertexAttribIFormatNV,
+  glVertexFormatNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/VertexProgram.hs b/src/Graphics/GL/NV/VertexProgram.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexProgram.hs
@@ -0,0 +1,171 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexProgram
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexProgram (
+  -- * Extension Support
+  glGetNVVertexProgram,
+  gl_NV_vertex_program,
+  -- * Enums
+  pattern GL_ATTRIB_ARRAY_POINTER_NV,
+  pattern GL_ATTRIB_ARRAY_SIZE_NV,
+  pattern GL_ATTRIB_ARRAY_STRIDE_NV,
+  pattern GL_ATTRIB_ARRAY_TYPE_NV,
+  pattern GL_CURRENT_ATTRIB_NV,
+  pattern GL_CURRENT_MATRIX_NV,
+  pattern GL_CURRENT_MATRIX_STACK_DEPTH_NV,
+  pattern GL_IDENTITY_NV,
+  pattern GL_INVERSE_NV,
+  pattern GL_INVERSE_TRANSPOSE_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB0_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB10_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB11_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB12_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB13_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB14_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB15_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB1_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB2_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB3_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB4_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB5_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB6_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB7_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB8_4_NV,
+  pattern GL_MAP1_VERTEX_ATTRIB9_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB0_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB10_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB11_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB12_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB13_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB14_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB15_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB1_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB2_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB3_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB4_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB5_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB6_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB7_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB8_4_NV,
+  pattern GL_MAP2_VERTEX_ATTRIB9_4_NV,
+  pattern GL_MATRIX0_NV,
+  pattern GL_MATRIX1_NV,
+  pattern GL_MATRIX2_NV,
+  pattern GL_MATRIX3_NV,
+  pattern GL_MATRIX4_NV,
+  pattern GL_MATRIX5_NV,
+  pattern GL_MATRIX6_NV,
+  pattern GL_MATRIX7_NV,
+  pattern GL_MAX_TRACK_MATRICES_NV,
+  pattern GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV,
+  pattern GL_MODELVIEW_PROJECTION_NV,
+  pattern GL_PROGRAM_ERROR_POSITION_NV,
+  pattern GL_PROGRAM_LENGTH_NV,
+  pattern GL_PROGRAM_PARAMETER_NV,
+  pattern GL_PROGRAM_RESIDENT_NV,
+  pattern GL_PROGRAM_STRING_NV,
+  pattern GL_PROGRAM_TARGET_NV,
+  pattern GL_TRACK_MATRIX_NV,
+  pattern GL_TRACK_MATRIX_TRANSFORM_NV,
+  pattern GL_TRANSPOSE_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY0_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY10_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY11_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY12_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY13_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY14_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY15_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY1_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY2_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY3_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY4_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY5_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY6_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY7_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY8_NV,
+  pattern GL_VERTEX_ATTRIB_ARRAY9_NV,
+  pattern GL_VERTEX_PROGRAM_BINDING_NV,
+  pattern GL_VERTEX_PROGRAM_NV,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE_NV,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE_NV,
+  pattern GL_VERTEX_STATE_PROGRAM_NV,
+  -- * Functions
+  glAreProgramsResidentNV,
+  glBindProgramNV,
+  glDeleteProgramsNV,
+  glExecuteProgramNV,
+  glGenProgramsNV,
+  glGetProgramParameterdvNV,
+  glGetProgramParameterfvNV,
+  glGetProgramStringNV,
+  glGetProgramivNV,
+  glGetTrackMatrixivNV,
+  glGetVertexAttribPointervNV,
+  glGetVertexAttribdvNV,
+  glGetVertexAttribfvNV,
+  glGetVertexAttribivNV,
+  glIsProgramNV,
+  glLoadProgramNV,
+  glProgramParameter4dNV,
+  glProgramParameter4dvNV,
+  glProgramParameter4fNV,
+  glProgramParameter4fvNV,
+  glProgramParameters4dvNV,
+  glProgramParameters4fvNV,
+  glRequestResidentProgramsNV,
+  glTrackMatrixNV,
+  glVertexAttrib1dNV,
+  glVertexAttrib1dvNV,
+  glVertexAttrib1fNV,
+  glVertexAttrib1fvNV,
+  glVertexAttrib1sNV,
+  glVertexAttrib1svNV,
+  glVertexAttrib2dNV,
+  glVertexAttrib2dvNV,
+  glVertexAttrib2fNV,
+  glVertexAttrib2fvNV,
+  glVertexAttrib2sNV,
+  glVertexAttrib2svNV,
+  glVertexAttrib3dNV,
+  glVertexAttrib3dvNV,
+  glVertexAttrib3fNV,
+  glVertexAttrib3fvNV,
+  glVertexAttrib3sNV,
+  glVertexAttrib3svNV,
+  glVertexAttrib4dNV,
+  glVertexAttrib4dvNV,
+  glVertexAttrib4fNV,
+  glVertexAttrib4fvNV,
+  glVertexAttrib4sNV,
+  glVertexAttrib4svNV,
+  glVertexAttrib4ubNV,
+  glVertexAttrib4ubvNV,
+  glVertexAttribPointerNV,
+  glVertexAttribs1dvNV,
+  glVertexAttribs1fvNV,
+  glVertexAttribs1svNV,
+  glVertexAttribs2dvNV,
+  glVertexAttribs2fvNV,
+  glVertexAttribs2svNV,
+  glVertexAttribs3dvNV,
+  glVertexAttribs3fvNV,
+  glVertexAttribs3svNV,
+  glVertexAttribs4dvNV,
+  glVertexAttribs4fvNV,
+  glVertexAttribs4svNV,
+  glVertexAttribs4ubvNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/VertexProgram2Option.hs b/src/Graphics/GL/NV/VertexProgram2Option.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexProgram2Option.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexProgram2Option
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexProgram2Option (
+  -- * Extension Support
+  glGetNVVertexProgram2Option,
+  gl_NV_vertex_program2_option,
+  -- * Enums
+  pattern GL_MAX_PROGRAM_CALL_DEPTH_NV,
+  pattern GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/VertexProgram3.hs b/src/Graphics/GL/NV/VertexProgram3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexProgram3.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexProgram3
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexProgram3 (
+  -- * Extension Support
+  glGetNVVertexProgram3,
+  gl_NV_vertex_program3,
+  -- * Enums
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/NV/VertexProgram4.hs b/src/Graphics/GL/NV/VertexProgram4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VertexProgram4.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VertexProgram4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VertexProgram4 (
+  -- * Extension Support
+  glGetNVVertexProgram4,
+  gl_NV_vertex_program4,
+  -- * Enums
+  pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV,
+  -- * Functions
+  glGetVertexAttribIivEXT,
+  glGetVertexAttribIuivEXT,
+  glVertexAttribI1iEXT,
+  glVertexAttribI1ivEXT,
+  glVertexAttribI1uiEXT,
+  glVertexAttribI1uivEXT,
+  glVertexAttribI2iEXT,
+  glVertexAttribI2ivEXT,
+  glVertexAttribI2uiEXT,
+  glVertexAttribI2uivEXT,
+  glVertexAttribI3iEXT,
+  glVertexAttribI3ivEXT,
+  glVertexAttribI3uiEXT,
+  glVertexAttribI3uivEXT,
+  glVertexAttribI4bvEXT,
+  glVertexAttribI4iEXT,
+  glVertexAttribI4ivEXT,
+  glVertexAttribI4svEXT,
+  glVertexAttribI4ubvEXT,
+  glVertexAttribI4uiEXT,
+  glVertexAttribI4uivEXT,
+  glVertexAttribI4usvEXT,
+  glVertexAttribIPointerEXT
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NV/VideoCapture.hs b/src/Graphics/GL/NV/VideoCapture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NV/VideoCapture.hs
@@ -0,0 +1,65 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NV.VideoCapture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NV.VideoCapture (
+  -- * Extension Support
+  glGetNVVideoCapture,
+  gl_NV_video_capture,
+  -- * Enums
+  pattern GL_FAILURE_NV,
+  pattern GL_FIELD_LOWER_NV,
+  pattern GL_FIELD_UPPER_NV,
+  pattern GL_LAST_VIDEO_CAPTURE_STATUS_NV,
+  pattern GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV,
+  pattern GL_NUM_VIDEO_CAPTURE_STREAMS_NV,
+  pattern GL_PARTIAL_SUCCESS_NV,
+  pattern GL_SUCCESS_NV,
+  pattern GL_VIDEO_BUFFER_BINDING_NV,
+  pattern GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV,
+  pattern GL_VIDEO_BUFFER_NV,
+  pattern GL_VIDEO_BUFFER_PITCH_NV,
+  pattern GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV,
+  pattern GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV,
+  pattern GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV,
+  pattern GL_VIDEO_CAPTURE_FRAME_WIDTH_NV,
+  pattern GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV,
+  pattern GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV,
+  pattern GL_VIDEO_COLOR_CONVERSION_MATRIX_NV,
+  pattern GL_VIDEO_COLOR_CONVERSION_MAX_NV,
+  pattern GL_VIDEO_COLOR_CONVERSION_MIN_NV,
+  pattern GL_VIDEO_COLOR_CONVERSION_OFFSET_NV,
+  pattern GL_YCBAYCR8A_4224_NV,
+  pattern GL_YCBYCR8_422_NV,
+  pattern GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV,
+  pattern GL_Z4Y12Z4CB12Z4CR12_444_NV,
+  pattern GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV,
+  pattern GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV,
+  pattern GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV,
+  -- * Functions
+  glBeginVideoCaptureNV,
+  glBindVideoCaptureStreamBufferNV,
+  glBindVideoCaptureStreamTextureNV,
+  glEndVideoCaptureNV,
+  glGetVideoCaptureStreamdvNV,
+  glGetVideoCaptureStreamfvNV,
+  glGetVideoCaptureStreamivNV,
+  glGetVideoCaptureivNV,
+  glVideoCaptureNV,
+  glVideoCaptureStreamParameterdvNV,
+  glVideoCaptureStreamParameterfvNV,
+  glVideoCaptureStreamParameterivNV
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NVX.hs b/src/Graphics/GL/NVX.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NVX.hs
@@ -0,0 +1,21 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NVX
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing NVX extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NVX (
+  module Graphics.GL.NVX.ConditionalRender,
+  module Graphics.GL.NVX.GPUMemoryInfo
+) where
+
+import Graphics.GL.NVX.ConditionalRender
+import Graphics.GL.NVX.GPUMemoryInfo
diff --git a/src/Graphics/GL/NVX/ConditionalRender.hs b/src/Graphics/GL/NVX/ConditionalRender.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NVX/ConditionalRender.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NVX.ConditionalRender
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NVX.ConditionalRender (
+  -- * Extension Support
+  glGetNVXConditionalRender,
+  gl_NVX_conditional_render,
+  -- * Functions
+  glBeginConditionalRenderNVX,
+  glEndConditionalRenderNVX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/NVX/GPUMemoryInfo.hs b/src/Graphics/GL/NVX/GPUMemoryInfo.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/NVX/GPUMemoryInfo.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.NVX.GPUMemoryInfo
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.NVX.GPUMemoryInfo (
+  -- * Extension Support
+  glGetNVXGPUMemoryInfo,
+  gl_NVX_gpu_memory_info,
+  -- * Enums
+  pattern GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX,
+  pattern GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX,
+  pattern GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX,
+  pattern GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX,
+  pattern GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/OES.hs b/src/Graphics/GL/OES.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OES.hs
@@ -0,0 +1,29 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OES
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing OES extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OES (
+  module Graphics.GL.OES.ByteCoordinates,
+  module Graphics.GL.OES.CompressedPalettedTexture,
+  module Graphics.GL.OES.FixedPoint,
+  module Graphics.GL.OES.QueryMatrix,
+  module Graphics.GL.OES.ReadFormat,
+  module Graphics.GL.OES.SinglePrecision
+) where
+
+import Graphics.GL.OES.ByteCoordinates
+import Graphics.GL.OES.CompressedPalettedTexture
+import Graphics.GL.OES.FixedPoint
+import Graphics.GL.OES.QueryMatrix
+import Graphics.GL.OES.ReadFormat
+import Graphics.GL.OES.SinglePrecision
diff --git a/src/Graphics/GL/OES/ByteCoordinates.hs b/src/Graphics/GL/OES/ByteCoordinates.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OES/ByteCoordinates.hs
@@ -0,0 +1,50 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OES.ByteCoordinates
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OES.ByteCoordinates (
+  -- * Extension Support
+  glGetOESByteCoordinates,
+  gl_OES_byte_coordinates,
+  -- * Types
+  GLbyte,
+  -- * Enums
+  pattern GL_BYTE,
+  -- * Functions
+  glMultiTexCoord1bOES,
+  glMultiTexCoord1bvOES,
+  glMultiTexCoord2bOES,
+  glMultiTexCoord2bvOES,
+  glMultiTexCoord3bOES,
+  glMultiTexCoord3bvOES,
+  glMultiTexCoord4bOES,
+  glMultiTexCoord4bvOES,
+  glTexCoord1bOES,
+  glTexCoord1bvOES,
+  glTexCoord2bOES,
+  glTexCoord2bvOES,
+  glTexCoord3bOES,
+  glTexCoord3bvOES,
+  glTexCoord4bOES,
+  glTexCoord4bvOES,
+  glVertex2bOES,
+  glVertex2bvOES,
+  glVertex3bOES,
+  glVertex3bvOES,
+  glVertex4bOES,
+  glVertex4bvOES
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/OES/CompressedPalettedTexture.hs b/src/Graphics/GL/OES/CompressedPalettedTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OES/CompressedPalettedTexture.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OES.CompressedPalettedTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OES.CompressedPalettedTexture (
+  -- * Extension Support
+  glGetOESCompressedPalettedTexture,
+  gl_OES_compressed_paletted_texture,
+  -- * Enums
+  pattern GL_PALETTE4_R5_G6_B5_OES,
+  pattern GL_PALETTE4_RGB5_A1_OES,
+  pattern GL_PALETTE4_RGB8_OES,
+  pattern GL_PALETTE4_RGBA4_OES,
+  pattern GL_PALETTE4_RGBA8_OES,
+  pattern GL_PALETTE8_R5_G6_B5_OES,
+  pattern GL_PALETTE8_RGB5_A1_OES,
+  pattern GL_PALETTE8_RGB8_OES,
+  pattern GL_PALETTE8_RGBA4_OES,
+  pattern GL_PALETTE8_RGBA8_OES
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/OES/FixedPoint.hs b/src/Graphics/GL/OES/FixedPoint.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OES/FixedPoint.hs
@@ -0,0 +1,128 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OES.FixedPoint
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OES.FixedPoint (
+  -- * Extension Support
+  glGetOESFixedPoint,
+  gl_OES_fixed_point,
+  -- * Enums
+  pattern GL_FIXED_OES,
+  -- * Functions
+  glAccumxOES,
+  glAlphaFuncxOES,
+  glBitmapxOES,
+  glBlendColorxOES,
+  glClearAccumxOES,
+  glClearColorxOES,
+  glClearDepthxOES,
+  glClipPlanexOES,
+  glColor3xOES,
+  glColor3xvOES,
+  glColor4xOES,
+  glColor4xvOES,
+  glConvolutionParameterxOES,
+  glConvolutionParameterxvOES,
+  glDepthRangexOES,
+  glEvalCoord1xOES,
+  glEvalCoord1xvOES,
+  glEvalCoord2xOES,
+  glEvalCoord2xvOES,
+  glFeedbackBufferxOES,
+  glFogxOES,
+  glFogxvOES,
+  glFrustumxOES,
+  glGetClipPlanexOES,
+  glGetConvolutionParameterxvOES,
+  glGetFixedvOES,
+  glGetHistogramParameterxvOES,
+  glGetLightxOES,
+  glGetMapxvOES,
+  glGetMaterialxOES,
+  glGetPixelMapxv,
+  glGetTexEnvxvOES,
+  glGetTexGenxvOES,
+  glGetTexLevelParameterxvOES,
+  glGetTexParameterxvOES,
+  glIndexxOES,
+  glIndexxvOES,
+  glLightModelxOES,
+  glLightModelxvOES,
+  glLightxOES,
+  glLightxvOES,
+  glLineWidthxOES,
+  glLoadMatrixxOES,
+  glLoadTransposeMatrixxOES,
+  glMap1xOES,
+  glMap2xOES,
+  glMapGrid1xOES,
+  glMapGrid2xOES,
+  glMaterialxOES,
+  glMaterialxvOES,
+  glMultMatrixxOES,
+  glMultTransposeMatrixxOES,
+  glMultiTexCoord1xOES,
+  glMultiTexCoord1xvOES,
+  glMultiTexCoord2xOES,
+  glMultiTexCoord2xvOES,
+  glMultiTexCoord3xOES,
+  glMultiTexCoord3xvOES,
+  glMultiTexCoord4xOES,
+  glMultiTexCoord4xvOES,
+  glNormal3xOES,
+  glNormal3xvOES,
+  glOrthoxOES,
+  glPassThroughxOES,
+  glPixelMapx,
+  glPixelStorex,
+  glPixelTransferxOES,
+  glPixelZoomxOES,
+  glPointParameterxvOES,
+  glPointSizexOES,
+  glPolygonOffsetxOES,
+  glPrioritizeTexturesxOES,
+  glRasterPos2xOES,
+  glRasterPos2xvOES,
+  glRasterPos3xOES,
+  glRasterPos3xvOES,
+  glRasterPos4xOES,
+  glRasterPos4xvOES,
+  glRectxOES,
+  glRectxvOES,
+  glRotatexOES,
+  glScalexOES,
+  glTexCoord1xOES,
+  glTexCoord1xvOES,
+  glTexCoord2xOES,
+  glTexCoord2xvOES,
+  glTexCoord3xOES,
+  glTexCoord3xvOES,
+  glTexCoord4xOES,
+  glTexCoord4xvOES,
+  glTexEnvxOES,
+  glTexEnvxvOES,
+  glTexGenxOES,
+  glTexGenxvOES,
+  glTexParameterxOES,
+  glTexParameterxvOES,
+  glTranslatexOES,
+  glVertex2xOES,
+  glVertex2xvOES,
+  glVertex3xOES,
+  glVertex3xvOES,
+  glVertex4xOES,
+  glVertex4xvOES
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/OES/QueryMatrix.hs b/src/Graphics/GL/OES/QueryMatrix.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OES/QueryMatrix.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OES.QueryMatrix
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OES.QueryMatrix (
+  -- * Extension Support
+  glGetOESQueryMatrix,
+  gl_OES_query_matrix,
+  -- * Functions
+  glQueryMatrixxOES
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/OES/ReadFormat.hs b/src/Graphics/GL/OES/ReadFormat.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OES/ReadFormat.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OES.ReadFormat
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OES.ReadFormat (
+  -- * Extension Support
+  glGetOESReadFormat,
+  gl_OES_read_format,
+  -- * Enums
+  pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES,
+  pattern GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/OES/SinglePrecision.hs b/src/Graphics/GL/OES/SinglePrecision.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OES/SinglePrecision.hs
@@ -0,0 +1,27 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OES.SinglePrecision
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OES.SinglePrecision (
+  -- * Extension Support
+  glGetOESSinglePrecision,
+  gl_OES_single_precision,
+  -- * Functions
+  glClearDepthfOES,
+  glClipPlanefOES,
+  glDepthRangefOES,
+  glFrustumfOES,
+  glGetClipPlanefOES,
+  glOrthofOES
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/OML.hs b/src/Graphics/GL/OML.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OML.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OML
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing OML extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OML (
+  module Graphics.GL.OML.Interlace,
+  module Graphics.GL.OML.Resample,
+  module Graphics.GL.OML.Subsample
+) where
+
+import Graphics.GL.OML.Interlace
+import Graphics.GL.OML.Resample
+import Graphics.GL.OML.Subsample
diff --git a/src/Graphics/GL/OML/Interlace.hs b/src/Graphics/GL/OML/Interlace.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OML/Interlace.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OML.Interlace
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OML.Interlace (
+  -- * Extension Support
+  glGetOMLInterlace,
+  gl_OML_interlace,
+  -- * Enums
+  pattern GL_INTERLACE_OML,
+  pattern GL_INTERLACE_READ_OML
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/OML/Resample.hs b/src/Graphics/GL/OML/Resample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OML/Resample.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OML.Resample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OML.Resample (
+  -- * Extension Support
+  glGetOMLResample,
+  gl_OML_resample,
+  -- * Enums
+  pattern GL_PACK_RESAMPLE_OML,
+  pattern GL_RESAMPLE_AVERAGE_OML,
+  pattern GL_RESAMPLE_DECIMATE_OML,
+  pattern GL_RESAMPLE_REPLICATE_OML,
+  pattern GL_RESAMPLE_ZERO_FILL_OML,
+  pattern GL_UNPACK_RESAMPLE_OML
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/OML/Subsample.hs b/src/Graphics/GL/OML/Subsample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OML/Subsample.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OML.Subsample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OML.Subsample (
+  -- * Extension Support
+  glGetOMLSubsample,
+  gl_OML_subsample,
+  -- * Enums
+  pattern GL_FORMAT_SUBSAMPLE_244_244_OML,
+  pattern GL_FORMAT_SUBSAMPLE_24_24_OML
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/OVR.hs b/src/Graphics/GL/OVR.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OVR.hs
@@ -0,0 +1,19 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OVR
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing OVR extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OVR (
+  module Graphics.GL.OVR.Multiview
+) where
+
+import Graphics.GL.OVR.Multiview
diff --git a/src/Graphics/GL/OVR/Multiview.hs b/src/Graphics/GL/OVR/Multiview.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/OVR/Multiview.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.OVR.Multiview
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.OVR.Multiview (
+  -- * Extension Support
+  glGetOVRMultiview,
+  gl_OVR_multiview,
+  -- * Enums
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR,
+  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR,
+  pattern GL_MAX_VIEWS_OVR,
+  -- * Functions
+  glFramebufferTextureMultiviewOVR
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/PGI.hs b/src/Graphics/GL/PGI.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/PGI.hs
@@ -0,0 +1,21 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.PGI
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing PGI extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.PGI (
+  module Graphics.GL.PGI.MiscHints,
+  module Graphics.GL.PGI.VertexHints
+) where
+
+import Graphics.GL.PGI.MiscHints
+import Graphics.GL.PGI.VertexHints
diff --git a/src/Graphics/GL/PGI/MiscHints.hs b/src/Graphics/GL/PGI/MiscHints.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/PGI/MiscHints.hs
@@ -0,0 +1,45 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.PGI.MiscHints
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.PGI.MiscHints (
+  -- * Extension Support
+  glGetPGIMiscHints,
+  gl_PGI_misc_hints,
+  -- * Enums
+  pattern GL_ALLOW_DRAW_FRG_HINT_PGI,
+  pattern GL_ALLOW_DRAW_MEM_HINT_PGI,
+  pattern GL_ALLOW_DRAW_OBJ_HINT_PGI,
+  pattern GL_ALLOW_DRAW_WIN_HINT_PGI,
+  pattern GL_ALWAYS_FAST_HINT_PGI,
+  pattern GL_ALWAYS_SOFT_HINT_PGI,
+  pattern GL_BACK_NORMALS_HINT_PGI,
+  pattern GL_CLIP_FAR_HINT_PGI,
+  pattern GL_CLIP_NEAR_HINT_PGI,
+  pattern GL_CONSERVE_MEMORY_HINT_PGI,
+  pattern GL_FULL_STIPPLE_HINT_PGI,
+  pattern GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI,
+  pattern GL_NATIVE_GRAPHICS_END_HINT_PGI,
+  pattern GL_NATIVE_GRAPHICS_HANDLE_PGI,
+  pattern GL_PREFER_DOUBLEBUFFER_HINT_PGI,
+  pattern GL_RECLAIM_MEMORY_HINT_PGI,
+  pattern GL_STRICT_DEPTHFUNC_HINT_PGI,
+  pattern GL_STRICT_LIGHTING_HINT_PGI,
+  pattern GL_STRICT_SCISSOR_HINT_PGI,
+  pattern GL_WIDE_LINE_HINT_PGI,
+  -- * Functions
+  glHintPGI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/PGI/VertexHints.hs b/src/Graphics/GL/PGI/VertexHints.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/PGI/VertexHints.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.PGI.VertexHints
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.PGI.VertexHints (
+  -- * Extension Support
+  glGetPGIVertexHints,
+  gl_PGI_vertex_hints,
+  -- * Enums
+  pattern GL_COLOR3_BIT_PGI,
+  pattern GL_COLOR4_BIT_PGI,
+  pattern GL_EDGEFLAG_BIT_PGI,
+  pattern GL_INDEX_BIT_PGI,
+  pattern GL_MATERIAL_SIDE_HINT_PGI,
+  pattern GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI,
+  pattern GL_MAT_AMBIENT_BIT_PGI,
+  pattern GL_MAT_COLOR_INDEXES_BIT_PGI,
+  pattern GL_MAT_DIFFUSE_BIT_PGI,
+  pattern GL_MAT_EMISSION_BIT_PGI,
+  pattern GL_MAT_SHININESS_BIT_PGI,
+  pattern GL_MAT_SPECULAR_BIT_PGI,
+  pattern GL_MAX_VERTEX_HINT_PGI,
+  pattern GL_NORMAL_BIT_PGI,
+  pattern GL_TEXCOORD1_BIT_PGI,
+  pattern GL_TEXCOORD2_BIT_PGI,
+  pattern GL_TEXCOORD3_BIT_PGI,
+  pattern GL_TEXCOORD4_BIT_PGI,
+  pattern GL_VERTEX23_BIT_PGI,
+  pattern GL_VERTEX4_BIT_PGI,
+  pattern GL_VERTEX_CONSISTENT_HINT_PGI,
+  pattern GL_VERTEX_DATA_HINT_PGI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/REND.hs b/src/Graphics/GL/REND.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/REND.hs
@@ -0,0 +1,19 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.REND
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing REND extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.REND (
+  module Graphics.GL.REND.ScreenCoordinates
+) where
+
+import Graphics.GL.REND.ScreenCoordinates
diff --git a/src/Graphics/GL/REND/ScreenCoordinates.hs b/src/Graphics/GL/REND/ScreenCoordinates.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/REND/ScreenCoordinates.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.REND.ScreenCoordinates
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.REND.ScreenCoordinates (
+  -- * Extension Support
+  glGetRENDScreenCoordinates,
+  gl_REND_screen_coordinates,
+  -- * Enums
+  pattern GL_INVERTED_SCREEN_W_REND,
+  pattern GL_SCREEN_COORDINATES_REND
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/S3.hs b/src/Graphics/GL/S3.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/S3.hs
@@ -0,0 +1,19 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.S3
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing S3 extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.S3 (
+  module Graphics.GL.S3.S3TC
+) where
+
+import Graphics.GL.S3.S3TC
diff --git a/src/Graphics/GL/S3/S3TC.hs b/src/Graphics/GL/S3/S3TC.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/S3/S3TC.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.S3.S3TC
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.S3.S3TC (
+  -- * Extension Support
+  glGetS3S3TC,
+  gl_S3_s3tc,
+  -- * Enums
+  pattern GL_RGB4_S3TC,
+  pattern GL_RGBA4_DXT5_S3TC,
+  pattern GL_RGBA4_S3TC,
+  pattern GL_RGBA_DXT5_S3TC,
+  pattern GL_RGBA_S3TC,
+  pattern GL_RGB_S3TC
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGI.hs b/src/Graphics/GL/SGI.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGI.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGI
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing SGI extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGI (
+  module Graphics.GL.SGI.ColorMatrix,
+  module Graphics.GL.SGI.ColorTable,
+  module Graphics.GL.SGI.TextureColorTable
+) where
+
+import Graphics.GL.SGI.ColorMatrix
+import Graphics.GL.SGI.ColorTable
+import Graphics.GL.SGI.TextureColorTable
diff --git a/src/Graphics/GL/SGI/ColorMatrix.hs b/src/Graphics/GL/SGI/ColorMatrix.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGI/ColorMatrix.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGI.ColorMatrix
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGI.ColorMatrix (
+  -- * Extension Support
+  glGetSGIColorMatrix,
+  gl_SGI_color_matrix,
+  -- * Enums
+  pattern GL_COLOR_MATRIX_SGI,
+  pattern GL_COLOR_MATRIX_STACK_DEPTH_SGI,
+  pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI,
+  pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI,
+  pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI,
+  pattern GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI,
+  pattern GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI,
+  pattern GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI,
+  pattern GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI,
+  pattern GL_POST_COLOR_MATRIX_RED_BIAS_SGI,
+  pattern GL_POST_COLOR_MATRIX_RED_SCALE_SGI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGI/ColorTable.hs b/src/Graphics/GL/SGI/ColorTable.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGI/ColorTable.hs
@@ -0,0 +1,47 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGI.ColorTable
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGI.ColorTable (
+  -- * Extension Support
+  glGetSGIColorTable,
+  gl_SGI_color_table,
+  -- * Enums
+  pattern GL_COLOR_TABLE_ALPHA_SIZE_SGI,
+  pattern GL_COLOR_TABLE_BIAS_SGI,
+  pattern GL_COLOR_TABLE_BLUE_SIZE_SGI,
+  pattern GL_COLOR_TABLE_FORMAT_SGI,
+  pattern GL_COLOR_TABLE_GREEN_SIZE_SGI,
+  pattern GL_COLOR_TABLE_INTENSITY_SIZE_SGI,
+  pattern GL_COLOR_TABLE_LUMINANCE_SIZE_SGI,
+  pattern GL_COLOR_TABLE_RED_SIZE_SGI,
+  pattern GL_COLOR_TABLE_SCALE_SGI,
+  pattern GL_COLOR_TABLE_SGI,
+  pattern GL_COLOR_TABLE_WIDTH_SGI,
+  pattern GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI,
+  pattern GL_POST_CONVOLUTION_COLOR_TABLE_SGI,
+  pattern GL_PROXY_COLOR_TABLE_SGI,
+  pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI,
+  pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI,
+  -- * Functions
+  glColorTableParameterfvSGI,
+  glColorTableParameterivSGI,
+  glColorTableSGI,
+  glCopyColorTableSGI,
+  glGetColorTableParameterfvSGI,
+  glGetColorTableParameterivSGI,
+  glGetColorTableSGI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGI/TextureColorTable.hs b/src/Graphics/GL/SGI/TextureColorTable.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGI/TextureColorTable.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGI.TextureColorTable
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGI.TextureColorTable (
+  -- * Extension Support
+  glGetSGITextureColorTable,
+  gl_SGI_texture_color_table,
+  -- * Enums
+  pattern GL_PROXY_TEXTURE_COLOR_TABLE_SGI,
+  pattern GL_TEXTURE_COLOR_TABLE_SGI
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIS.hs b/src/Graphics/GL/SGIS.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS.hs
@@ -0,0 +1,47 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing SGIS extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS (
+  module Graphics.GL.SGIS.DetailTexture,
+  module Graphics.GL.SGIS.FogFunction,
+  module Graphics.GL.SGIS.GenerateMipmap,
+  module Graphics.GL.SGIS.Multisample,
+  module Graphics.GL.SGIS.PixelTexture,
+  module Graphics.GL.SGIS.PointLineTexgen,
+  module Graphics.GL.SGIS.PointParameters,
+  module Graphics.GL.SGIS.SharpenTexture,
+  module Graphics.GL.SGIS.Texture4D,
+  module Graphics.GL.SGIS.TextureBorderClamp,
+  module Graphics.GL.SGIS.TextureColorMask,
+  module Graphics.GL.SGIS.TextureEdgeClamp,
+  module Graphics.GL.SGIS.TextureFilter4,
+  module Graphics.GL.SGIS.TextureLOD,
+  module Graphics.GL.SGIS.TextureSelect
+) where
+
+import Graphics.GL.SGIS.DetailTexture
+import Graphics.GL.SGIS.FogFunction
+import Graphics.GL.SGIS.GenerateMipmap
+import Graphics.GL.SGIS.Multisample
+import Graphics.GL.SGIS.PixelTexture
+import Graphics.GL.SGIS.PointLineTexgen
+import Graphics.GL.SGIS.PointParameters
+import Graphics.GL.SGIS.SharpenTexture
+import Graphics.GL.SGIS.Texture4D
+import Graphics.GL.SGIS.TextureBorderClamp
+import Graphics.GL.SGIS.TextureColorMask
+import Graphics.GL.SGIS.TextureEdgeClamp
+import Graphics.GL.SGIS.TextureFilter4
+import Graphics.GL.SGIS.TextureLOD
+import Graphics.GL.SGIS.TextureSelect
diff --git a/src/Graphics/GL/SGIS/DetailTexture.hs b/src/Graphics/GL/SGIS/DetailTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/DetailTexture.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.DetailTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.DetailTexture (
+  -- * Extension Support
+  glGetSGISDetailTexture,
+  gl_SGIS_detail_texture,
+  -- * Enums
+  pattern GL_DETAIL_TEXTURE_2D_BINDING_SGIS,
+  pattern GL_DETAIL_TEXTURE_2D_SGIS,
+  pattern GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS,
+  pattern GL_DETAIL_TEXTURE_LEVEL_SGIS,
+  pattern GL_DETAIL_TEXTURE_MODE_SGIS,
+  pattern GL_LINEAR_DETAIL_ALPHA_SGIS,
+  pattern GL_LINEAR_DETAIL_COLOR_SGIS,
+  pattern GL_LINEAR_DETAIL_SGIS,
+  -- * Functions
+  glDetailTexFuncSGIS,
+  glGetDetailTexFuncSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/FogFunction.hs b/src/Graphics/GL/SGIS/FogFunction.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/FogFunction.hs
@@ -0,0 +1,29 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.FogFunction
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.FogFunction (
+  -- * Extension Support
+  glGetSGISFogFunction,
+  gl_SGIS_fog_function,
+  -- * Enums
+  pattern GL_FOG_FUNC_POINTS_SGIS,
+  pattern GL_FOG_FUNC_SGIS,
+  pattern GL_MAX_FOG_FUNC_POINTS_SGIS,
+  -- * Functions
+  glFogFuncSGIS,
+  glGetFogFuncSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/GenerateMipmap.hs b/src/Graphics/GL/SGIS/GenerateMipmap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/GenerateMipmap.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.GenerateMipmap
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.GenerateMipmap (
+  -- * Extension Support
+  glGetSGISGenerateMipmap,
+  gl_SGIS_generate_mipmap,
+  -- * Enums
+  pattern GL_GENERATE_MIPMAP_HINT_SGIS,
+  pattern GL_GENERATE_MIPMAP_SGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIS/Multisample.hs b/src/Graphics/GL/SGIS/Multisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/Multisample.hs
@@ -0,0 +1,42 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.Multisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.Multisample (
+  -- * Extension Support
+  glGetSGISMultisample,
+  gl_SGIS_multisample,
+  -- * Enums
+  pattern GL_1PASS_SGIS,
+  pattern GL_2PASS_0_SGIS,
+  pattern GL_2PASS_1_SGIS,
+  pattern GL_4PASS_0_SGIS,
+  pattern GL_4PASS_1_SGIS,
+  pattern GL_4PASS_2_SGIS,
+  pattern GL_4PASS_3_SGIS,
+  pattern GL_MULTISAMPLE_SGIS,
+  pattern GL_SAMPLES_SGIS,
+  pattern GL_SAMPLE_ALPHA_TO_MASK_SGIS,
+  pattern GL_SAMPLE_ALPHA_TO_ONE_SGIS,
+  pattern GL_SAMPLE_BUFFERS_SGIS,
+  pattern GL_SAMPLE_MASK_INVERT_SGIS,
+  pattern GL_SAMPLE_MASK_SGIS,
+  pattern GL_SAMPLE_MASK_VALUE_SGIS,
+  pattern GL_SAMPLE_PATTERN_SGIS,
+  -- * Functions
+  glSampleMaskSGIS,
+  glSamplePatternSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/PixelTexture.hs b/src/Graphics/GL/SGIS/PixelTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/PixelTexture.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.PixelTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.PixelTexture (
+  -- * Extension Support
+  glGetSGISPixelTexture,
+  gl_SGIS_pixel_texture,
+  -- * Enums
+  pattern GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS,
+  pattern GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS,
+  pattern GL_PIXEL_GROUP_COLOR_SGIS,
+  pattern GL_PIXEL_TEXTURE_SGIS,
+  -- * Functions
+  glGetPixelTexGenParameterfvSGIS,
+  glGetPixelTexGenParameterivSGIS,
+  glPixelTexGenParameterfSGIS,
+  glPixelTexGenParameterfvSGIS,
+  glPixelTexGenParameteriSGIS,
+  glPixelTexGenParameterivSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/PointLineTexgen.hs b/src/Graphics/GL/SGIS/PointLineTexgen.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/PointLineTexgen.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.PointLineTexgen
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.PointLineTexgen (
+  -- * Extension Support
+  glGetSGISPointLineTexgen,
+  gl_SGIS_point_line_texgen,
+  -- * Enums
+  pattern GL_EYE_DISTANCE_TO_LINE_SGIS,
+  pattern GL_EYE_DISTANCE_TO_POINT_SGIS,
+  pattern GL_EYE_LINE_SGIS,
+  pattern GL_EYE_POINT_SGIS,
+  pattern GL_OBJECT_DISTANCE_TO_LINE_SGIS,
+  pattern GL_OBJECT_DISTANCE_TO_POINT_SGIS,
+  pattern GL_OBJECT_LINE_SGIS,
+  pattern GL_OBJECT_POINT_SGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIS/PointParameters.hs b/src/Graphics/GL/SGIS/PointParameters.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/PointParameters.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.PointParameters
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.PointParameters (
+  -- * Extension Support
+  glGetSGISPointParameters,
+  gl_SGIS_point_parameters,
+  -- * Enums
+  pattern GL_DISTANCE_ATTENUATION_SGIS,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE_SGIS,
+  pattern GL_POINT_SIZE_MAX_SGIS,
+  pattern GL_POINT_SIZE_MIN_SGIS,
+  -- * Functions
+  glPointParameterfSGIS,
+  glPointParameterfvSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/SharpenTexture.hs b/src/Graphics/GL/SGIS/SharpenTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/SharpenTexture.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.SharpenTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.SharpenTexture (
+  -- * Extension Support
+  glGetSGISSharpenTexture,
+  gl_SGIS_sharpen_texture,
+  -- * Enums
+  pattern GL_LINEAR_SHARPEN_ALPHA_SGIS,
+  pattern GL_LINEAR_SHARPEN_COLOR_SGIS,
+  pattern GL_LINEAR_SHARPEN_SGIS,
+  pattern GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS,
+  -- * Functions
+  glGetSharpenTexFuncSGIS,
+  glSharpenTexFuncSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/Texture4D.hs b/src/Graphics/GL/SGIS/Texture4D.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/Texture4D.hs
@@ -0,0 +1,36 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.Texture4D
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.Texture4D (
+  -- * Extension Support
+  glGetSGISTexture4D,
+  gl_SGIS_texture4D,
+  -- * Enums
+  pattern GL_MAX_4D_TEXTURE_SIZE_SGIS,
+  pattern GL_PACK_IMAGE_DEPTH_SGIS,
+  pattern GL_PACK_SKIP_VOLUMES_SGIS,
+  pattern GL_PROXY_TEXTURE_4D_SGIS,
+  pattern GL_TEXTURE_4DSIZE_SGIS,
+  pattern GL_TEXTURE_4D_BINDING_SGIS,
+  pattern GL_TEXTURE_4D_SGIS,
+  pattern GL_TEXTURE_WRAP_Q_SGIS,
+  pattern GL_UNPACK_IMAGE_DEPTH_SGIS,
+  pattern GL_UNPACK_SKIP_VOLUMES_SGIS,
+  -- * Functions
+  glTexImage4DSGIS,
+  glTexSubImage4DSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/TextureBorderClamp.hs b/src/Graphics/GL/SGIS/TextureBorderClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/TextureBorderClamp.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.TextureBorderClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.TextureBorderClamp (
+  -- * Extension Support
+  glGetSGISTextureBorderClamp,
+  gl_SGIS_texture_border_clamp,
+  -- * Enums
+  pattern GL_CLAMP_TO_BORDER_SGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIS/TextureColorMask.hs b/src/Graphics/GL/SGIS/TextureColorMask.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/TextureColorMask.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.TextureColorMask
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.TextureColorMask (
+  -- * Extension Support
+  glGetSGISTextureColorMask,
+  gl_SGIS_texture_color_mask,
+  -- * Enums
+  pattern GL_TEXTURE_COLOR_WRITEMASK_SGIS,
+  -- * Functions
+  glTextureColorMaskSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/TextureEdgeClamp.hs b/src/Graphics/GL/SGIS/TextureEdgeClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/TextureEdgeClamp.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.TextureEdgeClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.TextureEdgeClamp (
+  -- * Extension Support
+  glGetSGISTextureEdgeClamp,
+  gl_SGIS_texture_edge_clamp,
+  -- * Enums
+  pattern GL_CLAMP_TO_EDGE_SGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIS/TextureFilter4.hs b/src/Graphics/GL/SGIS/TextureFilter4.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/TextureFilter4.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.TextureFilter4
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.TextureFilter4 (
+  -- * Extension Support
+  glGetSGISTextureFilter4,
+  gl_SGIS_texture_filter4,
+  -- * Enums
+  pattern GL_FILTER4_SGIS,
+  pattern GL_TEXTURE_FILTER4_SIZE_SGIS,
+  -- * Functions
+  glGetTexFilterFuncSGIS,
+  glTexFilterFuncSGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIS/TextureLOD.hs b/src/Graphics/GL/SGIS/TextureLOD.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/TextureLOD.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.TextureLOD
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.TextureLOD (
+  -- * Extension Support
+  glGetSGISTextureLOD,
+  gl_SGIS_texture_lod,
+  -- * Enums
+  pattern GL_TEXTURE_BASE_LEVEL_SGIS,
+  pattern GL_TEXTURE_MAX_LEVEL_SGIS,
+  pattern GL_TEXTURE_MAX_LOD_SGIS,
+  pattern GL_TEXTURE_MIN_LOD_SGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIS/TextureSelect.hs b/src/Graphics/GL/SGIS/TextureSelect.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIS/TextureSelect.hs
@@ -0,0 +1,44 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIS.TextureSelect
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIS.TextureSelect (
+  -- * Extension Support
+  glGetSGISTextureSelect,
+  gl_SGIS_texture_select,
+  -- * Enums
+  pattern GL_DUAL_ALPHA12_SGIS,
+  pattern GL_DUAL_ALPHA16_SGIS,
+  pattern GL_DUAL_ALPHA4_SGIS,
+  pattern GL_DUAL_ALPHA8_SGIS,
+  pattern GL_DUAL_INTENSITY12_SGIS,
+  pattern GL_DUAL_INTENSITY16_SGIS,
+  pattern GL_DUAL_INTENSITY4_SGIS,
+  pattern GL_DUAL_INTENSITY8_SGIS,
+  pattern GL_DUAL_LUMINANCE12_SGIS,
+  pattern GL_DUAL_LUMINANCE16_SGIS,
+  pattern GL_DUAL_LUMINANCE4_SGIS,
+  pattern GL_DUAL_LUMINANCE8_SGIS,
+  pattern GL_DUAL_LUMINANCE_ALPHA4_SGIS,
+  pattern GL_DUAL_LUMINANCE_ALPHA8_SGIS,
+  pattern GL_DUAL_TEXTURE_SELECT_SGIS,
+  pattern GL_QUAD_ALPHA4_SGIS,
+  pattern GL_QUAD_ALPHA8_SGIS,
+  pattern GL_QUAD_INTENSITY4_SGIS,
+  pattern GL_QUAD_INTENSITY8_SGIS,
+  pattern GL_QUAD_LUMINANCE4_SGIS,
+  pattern GL_QUAD_LUMINANCE8_SGIS,
+  pattern GL_QUAD_TEXTURE_SELECT_SGIS
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX.hs b/src/Graphics/GL/SGIX.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX.hs
@@ -0,0 +1,89 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing SGIX extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX (
+  module Graphics.GL.SGIX.Async,
+  module Graphics.GL.SGIX.AsyncHistogram,
+  module Graphics.GL.SGIX.AsyncPixel,
+  module Graphics.GL.SGIX.BlendAlphaMinmax,
+  module Graphics.GL.SGIX.CalligraphicFragment,
+  module Graphics.GL.SGIX.Clipmap,
+  module Graphics.GL.SGIX.ConvolutionAccuracy,
+  module Graphics.GL.SGIX.DepthTexture,
+  module Graphics.GL.SGIX.FlushRaster,
+  module Graphics.GL.SGIX.FogOffset,
+  module Graphics.GL.SGIX.FragmentLighting,
+  module Graphics.GL.SGIX.Framezoom,
+  module Graphics.GL.SGIX.IglooInterface,
+  module Graphics.GL.SGIX.Instruments,
+  module Graphics.GL.SGIX.Interlace,
+  module Graphics.GL.SGIX.IrInstrument1,
+  module Graphics.GL.SGIX.ListPriority,
+  module Graphics.GL.SGIX.PixelTexture,
+  module Graphics.GL.SGIX.PixelTiles,
+  module Graphics.GL.SGIX.PolynomialFFD,
+  module Graphics.GL.SGIX.ReferencePlane,
+  module Graphics.GL.SGIX.Resample,
+  module Graphics.GL.SGIX.ScalebiasHint,
+  module Graphics.GL.SGIX.Shadow,
+  module Graphics.GL.SGIX.ShadowAmbient,
+  module Graphics.GL.SGIX.Sprite,
+  module Graphics.GL.SGIX.Subsample,
+  module Graphics.GL.SGIX.TagSampleBuffer,
+  module Graphics.GL.SGIX.TextureAddEnv,
+  module Graphics.GL.SGIX.TextureCoordinateClamp,
+  module Graphics.GL.SGIX.TextureLODBias,
+  module Graphics.GL.SGIX.TextureMultiBuffer,
+  module Graphics.GL.SGIX.TextureScaleBias,
+  module Graphics.GL.SGIX.VertexPreclip,
+  module Graphics.GL.SGIX.YCrCb,
+  module Graphics.GL.SGIX.YCrCbA
+) where
+
+import Graphics.GL.SGIX.Async
+import Graphics.GL.SGIX.AsyncHistogram
+import Graphics.GL.SGIX.AsyncPixel
+import Graphics.GL.SGIX.BlendAlphaMinmax
+import Graphics.GL.SGIX.CalligraphicFragment
+import Graphics.GL.SGIX.Clipmap
+import Graphics.GL.SGIX.ConvolutionAccuracy
+import Graphics.GL.SGIX.DepthTexture
+import Graphics.GL.SGIX.FlushRaster
+import Graphics.GL.SGIX.FogOffset
+import Graphics.GL.SGIX.FragmentLighting
+import Graphics.GL.SGIX.Framezoom
+import Graphics.GL.SGIX.IglooInterface
+import Graphics.GL.SGIX.Instruments
+import Graphics.GL.SGIX.Interlace
+import Graphics.GL.SGIX.IrInstrument1
+import Graphics.GL.SGIX.ListPriority
+import Graphics.GL.SGIX.PixelTexture
+import Graphics.GL.SGIX.PixelTiles
+import Graphics.GL.SGIX.PolynomialFFD
+import Graphics.GL.SGIX.ReferencePlane
+import Graphics.GL.SGIX.Resample
+import Graphics.GL.SGIX.ScalebiasHint
+import Graphics.GL.SGIX.Shadow
+import Graphics.GL.SGIX.ShadowAmbient
+import Graphics.GL.SGIX.Sprite
+import Graphics.GL.SGIX.Subsample
+import Graphics.GL.SGIX.TagSampleBuffer
+import Graphics.GL.SGIX.TextureAddEnv
+import Graphics.GL.SGIX.TextureCoordinateClamp
+import Graphics.GL.SGIX.TextureLODBias
+import Graphics.GL.SGIX.TextureMultiBuffer
+import Graphics.GL.SGIX.TextureScaleBias
+import Graphics.GL.SGIX.VertexPreclip
+import Graphics.GL.SGIX.YCrCb
+import Graphics.GL.SGIX.YCrCbA
diff --git a/src/Graphics/GL/SGIX/Async.hs b/src/Graphics/GL/SGIX/Async.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Async.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Async
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Async (
+  -- * Extension Support
+  glGetSGIXAsync,
+  gl_SGIX_async,
+  -- * Enums
+  pattern GL_ASYNC_MARKER_SGIX,
+  -- * Functions
+  glAsyncMarkerSGIX,
+  glDeleteAsyncMarkersSGIX,
+  glFinishAsyncSGIX,
+  glGenAsyncMarkersSGIX,
+  glIsAsyncMarkerSGIX,
+  glPollAsyncSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/AsyncHistogram.hs b/src/Graphics/GL/SGIX/AsyncHistogram.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/AsyncHistogram.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.AsyncHistogram
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.AsyncHistogram (
+  -- * Extension Support
+  glGetSGIXAsyncHistogram,
+  gl_SGIX_async_histogram,
+  -- * Enums
+  pattern GL_ASYNC_HISTOGRAM_SGIX,
+  pattern GL_MAX_ASYNC_HISTOGRAM_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/AsyncPixel.hs b/src/Graphics/GL/SGIX/AsyncPixel.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/AsyncPixel.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.AsyncPixel
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.AsyncPixel (
+  -- * Extension Support
+  glGetSGIXAsyncPixel,
+  gl_SGIX_async_pixel,
+  -- * Enums
+  pattern GL_ASYNC_DRAW_PIXELS_SGIX,
+  pattern GL_ASYNC_READ_PIXELS_SGIX,
+  pattern GL_ASYNC_TEX_IMAGE_SGIX,
+  pattern GL_MAX_ASYNC_DRAW_PIXELS_SGIX,
+  pattern GL_MAX_ASYNC_READ_PIXELS_SGIX,
+  pattern GL_MAX_ASYNC_TEX_IMAGE_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/BlendAlphaMinmax.hs b/src/Graphics/GL/SGIX/BlendAlphaMinmax.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/BlendAlphaMinmax.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.BlendAlphaMinmax
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.BlendAlphaMinmax (
+  -- * Extension Support
+  glGetSGIXBlendAlphaMinmax,
+  gl_SGIX_blend_alpha_minmax,
+  -- * Enums
+  pattern GL_ALPHA_MAX_SGIX,
+  pattern GL_ALPHA_MIN_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/CalligraphicFragment.hs b/src/Graphics/GL/SGIX/CalligraphicFragment.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/CalligraphicFragment.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.CalligraphicFragment
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.CalligraphicFragment (
+  -- * Extension Support
+  glGetSGIXCalligraphicFragment,
+  gl_SGIX_calligraphic_fragment,
+  -- * Enums
+  pattern GL_CALLIGRAPHIC_FRAGMENT_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/Clipmap.hs b/src/Graphics/GL/SGIX/Clipmap.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Clipmap.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Clipmap
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Clipmap (
+  -- * Extension Support
+  glGetSGIXClipmap,
+  gl_SGIX_clipmap,
+  -- * Enums
+  pattern GL_LINEAR_CLIPMAP_LINEAR_SGIX,
+  pattern GL_LINEAR_CLIPMAP_NEAREST_SGIX,
+  pattern GL_MAX_CLIPMAP_DEPTH_SGIX,
+  pattern GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX,
+  pattern GL_NEAREST_CLIPMAP_LINEAR_SGIX,
+  pattern GL_NEAREST_CLIPMAP_NEAREST_SGIX,
+  pattern GL_TEXTURE_CLIPMAP_CENTER_SGIX,
+  pattern GL_TEXTURE_CLIPMAP_DEPTH_SGIX,
+  pattern GL_TEXTURE_CLIPMAP_FRAME_SGIX,
+  pattern GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX,
+  pattern GL_TEXTURE_CLIPMAP_OFFSET_SGIX,
+  pattern GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/ConvolutionAccuracy.hs b/src/Graphics/GL/SGIX/ConvolutionAccuracy.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/ConvolutionAccuracy.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.ConvolutionAccuracy
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.ConvolutionAccuracy (
+  -- * Extension Support
+  glGetSGIXConvolutionAccuracy,
+  gl_SGIX_convolution_accuracy,
+  -- * Enums
+  pattern GL_CONVOLUTION_HINT_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/DepthTexture.hs b/src/Graphics/GL/SGIX/DepthTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/DepthTexture.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.DepthTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.DepthTexture (
+  -- * Extension Support
+  glGetSGIXDepthTexture,
+  gl_SGIX_depth_texture,
+  -- * Enums
+  pattern GL_DEPTH_COMPONENT16_SGIX,
+  pattern GL_DEPTH_COMPONENT24_SGIX,
+  pattern GL_DEPTH_COMPONENT32_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/FlushRaster.hs b/src/Graphics/GL/SGIX/FlushRaster.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/FlushRaster.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.FlushRaster
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.FlushRaster (
+  -- * Extension Support
+  glGetSGIXFlushRaster,
+  gl_SGIX_flush_raster,
+  -- * Functions
+  glFlushRasterSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/FogOffset.hs b/src/Graphics/GL/SGIX/FogOffset.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/FogOffset.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.FogOffset
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.FogOffset (
+  -- * Extension Support
+  glGetSGIXFogOffset,
+  gl_SGIX_fog_offset,
+  -- * Enums
+  pattern GL_FOG_OFFSET_SGIX,
+  pattern GL_FOG_OFFSET_VALUE_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/FragmentLighting.hs b/src/Graphics/GL/SGIX/FragmentLighting.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/FragmentLighting.hs
@@ -0,0 +1,62 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.FragmentLighting
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.FragmentLighting (
+  -- * Extension Support
+  glGetSGIXFragmentLighting,
+  gl_SGIX_fragment_lighting,
+  -- * Enums
+  pattern GL_CURRENT_RASTER_NORMAL_SGIX,
+  pattern GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX,
+  pattern GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX,
+  pattern GL_FRAGMENT_COLOR_MATERIAL_SGIX,
+  pattern GL_FRAGMENT_LIGHT0_SGIX,
+  pattern GL_FRAGMENT_LIGHT1_SGIX,
+  pattern GL_FRAGMENT_LIGHT2_SGIX,
+  pattern GL_FRAGMENT_LIGHT3_SGIX,
+  pattern GL_FRAGMENT_LIGHT4_SGIX,
+  pattern GL_FRAGMENT_LIGHT5_SGIX,
+  pattern GL_FRAGMENT_LIGHT6_SGIX,
+  pattern GL_FRAGMENT_LIGHT7_SGIX,
+  pattern GL_FRAGMENT_LIGHTING_SGIX,
+  pattern GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX,
+  pattern GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX,
+  pattern GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX,
+  pattern GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX,
+  pattern GL_LIGHT_ENV_MODE_SGIX,
+  pattern GL_MAX_ACTIVE_LIGHTS_SGIX,
+  pattern GL_MAX_FRAGMENT_LIGHTS_SGIX,
+  -- * Functions
+  glFragmentColorMaterialSGIX,
+  glFragmentLightModelfSGIX,
+  glFragmentLightModelfvSGIX,
+  glFragmentLightModeliSGIX,
+  glFragmentLightModelivSGIX,
+  glFragmentLightfSGIX,
+  glFragmentLightfvSGIX,
+  glFragmentLightiSGIX,
+  glFragmentLightivSGIX,
+  glFragmentMaterialfSGIX,
+  glFragmentMaterialfvSGIX,
+  glFragmentMaterialiSGIX,
+  glFragmentMaterialivSGIX,
+  glGetFragmentLightfvSGIX,
+  glGetFragmentLightivSGIX,
+  glGetFragmentMaterialfvSGIX,
+  glGetFragmentMaterialivSGIX,
+  glLightEnviSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/Framezoom.hs b/src/Graphics/GL/SGIX/Framezoom.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Framezoom.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Framezoom
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Framezoom (
+  -- * Extension Support
+  glGetSGIXFramezoom,
+  gl_SGIX_framezoom,
+  -- * Enums
+  pattern GL_FRAMEZOOM_FACTOR_SGIX,
+  pattern GL_FRAMEZOOM_SGIX,
+  pattern GL_MAX_FRAMEZOOM_FACTOR_SGIX,
+  -- * Functions
+  glFrameZoomSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/IglooInterface.hs b/src/Graphics/GL/SGIX/IglooInterface.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/IglooInterface.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.IglooInterface
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.IglooInterface (
+  -- * Extension Support
+  glGetSGIXIglooInterface,
+  gl_SGIX_igloo_interface,
+  -- * Functions
+  glIglooInterfaceSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/Instruments.hs b/src/Graphics/GL/SGIX/Instruments.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Instruments.hs
@@ -0,0 +1,32 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Instruments
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Instruments (
+  -- * Extension Support
+  glGetSGIXInstruments,
+  gl_SGIX_instruments,
+  -- * Enums
+  pattern GL_INSTRUMENT_BUFFER_POINTER_SGIX,
+  pattern GL_INSTRUMENT_MEASUREMENTS_SGIX,
+  -- * Functions
+  glGetInstrumentsSGIX,
+  glInstrumentsBufferSGIX,
+  glPollInstrumentsSGIX,
+  glReadInstrumentsSGIX,
+  glStartInstrumentsSGIX,
+  glStopInstrumentsSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/Interlace.hs b/src/Graphics/GL/SGIX/Interlace.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Interlace.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Interlace
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Interlace (
+  -- * Extension Support
+  glGetSGIXInterlace,
+  gl_SGIX_interlace,
+  -- * Enums
+  pattern GL_INTERLACE_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/IrInstrument1.hs b/src/Graphics/GL/SGIX/IrInstrument1.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/IrInstrument1.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.IrInstrument1
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.IrInstrument1 (
+  -- * Extension Support
+  glGetSGIXIrInstrument1,
+  gl_SGIX_ir_instrument1,
+  -- * Enums
+  pattern GL_IR_INSTRUMENT1_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/ListPriority.hs b/src/Graphics/GL/SGIX/ListPriority.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/ListPriority.hs
@@ -0,0 +1,31 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.ListPriority
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.ListPriority (
+  -- * Extension Support
+  glGetSGIXListPriority,
+  gl_SGIX_list_priority,
+  -- * Enums
+  pattern GL_LIST_PRIORITY_SGIX,
+  -- * Functions
+  glGetListParameterfvSGIX,
+  glGetListParameterivSGIX,
+  glListParameterfSGIX,
+  glListParameterfvSGIX,
+  glListParameteriSGIX,
+  glListParameterivSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/PixelTexture.hs b/src/Graphics/GL/SGIX/PixelTexture.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/PixelTexture.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.PixelTexture
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.PixelTexture (
+  -- * Extension Support
+  glGetSGIXPixelTexture,
+  gl_SGIX_pixel_texture,
+  -- * Enums
+  pattern GL_PIXEL_TEX_GEN_MODE_SGIX,
+  pattern GL_PIXEL_TEX_GEN_SGIX,
+  -- * Functions
+  glPixelTexGenSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/PixelTiles.hs b/src/Graphics/GL/SGIX/PixelTiles.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/PixelTiles.hs
@@ -0,0 +1,30 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.PixelTiles
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.PixelTiles (
+  -- * Extension Support
+  glGetSGIXPixelTiles,
+  gl_SGIX_pixel_tiles,
+  -- * Enums
+  pattern GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX,
+  pattern GL_PIXEL_TILE_CACHE_INCREMENT_SGIX,
+  pattern GL_PIXEL_TILE_CACHE_SIZE_SGIX,
+  pattern GL_PIXEL_TILE_GRID_DEPTH_SGIX,
+  pattern GL_PIXEL_TILE_GRID_HEIGHT_SGIX,
+  pattern GL_PIXEL_TILE_GRID_WIDTH_SGIX,
+  pattern GL_PIXEL_TILE_HEIGHT_SGIX,
+  pattern GL_PIXEL_TILE_WIDTH_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/PolynomialFFD.hs b/src/Graphics/GL/SGIX/PolynomialFFD.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/PolynomialFFD.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.PolynomialFFD
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.PolynomialFFD (
+  -- * Extension Support
+  glGetSGIXPolynomialFFD,
+  gl_SGIX_polynomial_ffd,
+  -- * Enums
+  pattern GL_DEFORMATIONS_MASK_SGIX,
+  pattern GL_GEOMETRY_DEFORMATION_BIT_SGIX,
+  pattern GL_GEOMETRY_DEFORMATION_SGIX,
+  pattern GL_MAX_DEFORMATION_ORDER_SGIX,
+  pattern GL_TEXTURE_DEFORMATION_BIT_SGIX,
+  pattern GL_TEXTURE_DEFORMATION_SGIX,
+  -- * Functions
+  glDeformSGIX,
+  glDeformationMap3dSGIX,
+  glDeformationMap3fSGIX,
+  glLoadIdentityDeformationMapSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/ReferencePlane.hs b/src/Graphics/GL/SGIX/ReferencePlane.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/ReferencePlane.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.ReferencePlane
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.ReferencePlane (
+  -- * Extension Support
+  glGetSGIXReferencePlane,
+  gl_SGIX_reference_plane,
+  -- * Enums
+  pattern GL_REFERENCE_PLANE_EQUATION_SGIX,
+  pattern GL_REFERENCE_PLANE_SGIX,
+  -- * Functions
+  glReferencePlaneSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/Resample.hs b/src/Graphics/GL/SGIX/Resample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Resample.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Resample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Resample (
+  -- * Extension Support
+  glGetSGIXResample,
+  gl_SGIX_resample,
+  -- * Enums
+  pattern GL_PACK_RESAMPLE_SGIX,
+  pattern GL_RESAMPLE_DECIMATE_SGIX,
+  pattern GL_RESAMPLE_REPLICATE_SGIX,
+  pattern GL_RESAMPLE_ZERO_FILL_SGIX,
+  pattern GL_UNPACK_RESAMPLE_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/ScalebiasHint.hs b/src/Graphics/GL/SGIX/ScalebiasHint.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/ScalebiasHint.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.ScalebiasHint
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.ScalebiasHint (
+  -- * Extension Support
+  glGetSGIXScalebiasHint,
+  gl_SGIX_scalebias_hint,
+  -- * Enums
+  pattern GL_SCALEBIAS_HINT_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/Shadow.hs b/src/Graphics/GL/SGIX/Shadow.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Shadow.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Shadow
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Shadow (
+  -- * Extension Support
+  glGetSGIXShadow,
+  gl_SGIX_shadow,
+  -- * Enums
+  pattern GL_TEXTURE_COMPARE_OPERATOR_SGIX,
+  pattern GL_TEXTURE_COMPARE_SGIX,
+  pattern GL_TEXTURE_GEQUAL_R_SGIX,
+  pattern GL_TEXTURE_LEQUAL_R_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/ShadowAmbient.hs b/src/Graphics/GL/SGIX/ShadowAmbient.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/ShadowAmbient.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.ShadowAmbient
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.ShadowAmbient (
+  -- * Extension Support
+  glGetSGIXShadowAmbient,
+  gl_SGIX_shadow_ambient,
+  -- * Enums
+  pattern GL_SHADOW_AMBIENT_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/Sprite.hs b/src/Graphics/GL/SGIX/Sprite.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Sprite.hs
@@ -0,0 +1,35 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Sprite
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Sprite (
+  -- * Extension Support
+  glGetSGIXSprite,
+  gl_SGIX_sprite,
+  -- * Enums
+  pattern GL_SPRITE_AXIAL_SGIX,
+  pattern GL_SPRITE_AXIS_SGIX,
+  pattern GL_SPRITE_EYE_ALIGNED_SGIX,
+  pattern GL_SPRITE_MODE_SGIX,
+  pattern GL_SPRITE_OBJECT_ALIGNED_SGIX,
+  pattern GL_SPRITE_SGIX,
+  pattern GL_SPRITE_TRANSLATION_SGIX,
+  -- * Functions
+  glSpriteParameterfSGIX,
+  glSpriteParameterfvSGIX,
+  glSpriteParameteriSGIX,
+  glSpriteParameterivSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/Subsample.hs b/src/Graphics/GL/SGIX/Subsample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/Subsample.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.Subsample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.Subsample (
+  -- * Extension Support
+  glGetSGIXSubsample,
+  gl_SGIX_subsample,
+  -- * Enums
+  pattern GL_PACK_SUBSAMPLE_RATE_SGIX,
+  pattern GL_PIXEL_SUBSAMPLE_2424_SGIX,
+  pattern GL_PIXEL_SUBSAMPLE_4242_SGIX,
+  pattern GL_PIXEL_SUBSAMPLE_4444_SGIX,
+  pattern GL_UNPACK_SUBSAMPLE_RATE_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/TagSampleBuffer.hs b/src/Graphics/GL/SGIX/TagSampleBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/TagSampleBuffer.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.TagSampleBuffer
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.TagSampleBuffer (
+  -- * Extension Support
+  glGetSGIXTagSampleBuffer,
+  gl_SGIX_tag_sample_buffer,
+  -- * Functions
+  glTagSampleBufferSGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SGIX/TextureAddEnv.hs b/src/Graphics/GL/SGIX/TextureAddEnv.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/TextureAddEnv.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.TextureAddEnv
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.TextureAddEnv (
+  -- * Extension Support
+  glGetSGIXTextureAddEnv,
+  gl_SGIX_texture_add_env,
+  -- * Enums
+  pattern GL_TEXTURE_ENV_BIAS_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/TextureCoordinateClamp.hs b/src/Graphics/GL/SGIX/TextureCoordinateClamp.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/TextureCoordinateClamp.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.TextureCoordinateClamp
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.TextureCoordinateClamp (
+  -- * Extension Support
+  glGetSGIXTextureCoordinateClamp,
+  gl_SGIX_texture_coordinate_clamp,
+  -- * Enums
+  pattern GL_TEXTURE_MAX_CLAMP_R_SGIX,
+  pattern GL_TEXTURE_MAX_CLAMP_S_SGIX,
+  pattern GL_TEXTURE_MAX_CLAMP_T_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/TextureLODBias.hs b/src/Graphics/GL/SGIX/TextureLODBias.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/TextureLODBias.hs
@@ -0,0 +1,25 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.TextureLODBias
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.TextureLODBias (
+  -- * Extension Support
+  glGetSGIXTextureLODBias,
+  gl_SGIX_texture_lod_bias,
+  -- * Enums
+  pattern GL_TEXTURE_LOD_BIAS_R_SGIX,
+  pattern GL_TEXTURE_LOD_BIAS_S_SGIX,
+  pattern GL_TEXTURE_LOD_BIAS_T_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/TextureMultiBuffer.hs b/src/Graphics/GL/SGIX/TextureMultiBuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/TextureMultiBuffer.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.TextureMultiBuffer
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.TextureMultiBuffer (
+  -- * Extension Support
+  glGetSGIXTextureMultiBuffer,
+  gl_SGIX_texture_multi_buffer,
+  -- * Enums
+  pattern GL_TEXTURE_MULTI_BUFFER_HINT_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/TextureScaleBias.hs b/src/Graphics/GL/SGIX/TextureScaleBias.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/TextureScaleBias.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.TextureScaleBias
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.TextureScaleBias (
+  -- * Extension Support
+  glGetSGIXTextureScaleBias,
+  gl_SGIX_texture_scale_bias,
+  -- * Enums
+  pattern GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX,
+  pattern GL_POST_TEXTURE_FILTER_BIAS_SGIX,
+  pattern GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX,
+  pattern GL_POST_TEXTURE_FILTER_SCALE_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/VertexPreclip.hs b/src/Graphics/GL/SGIX/VertexPreclip.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/VertexPreclip.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.VertexPreclip
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.VertexPreclip (
+  -- * Extension Support
+  glGetSGIXVertexPreclip,
+  gl_SGIX_vertex_preclip,
+  -- * Enums
+  pattern GL_VERTEX_PRECLIP_HINT_SGIX,
+  pattern GL_VERTEX_PRECLIP_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/YCrCb.hs b/src/Graphics/GL/SGIX/YCrCb.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/YCrCb.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.YCrCb
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.YCrCb (
+  -- * Extension Support
+  glGetSGIXYCrCb,
+  gl_SGIX_ycrcb,
+  -- * Enums
+  pattern GL_YCRCB_422_SGIX,
+  pattern GL_YCRCB_444_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SGIX/YCrCbA.hs b/src/Graphics/GL/SGIX/YCrCbA.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SGIX/YCrCbA.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SGIX.YCrCbA
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SGIX.YCrCbA (
+  -- * Extension Support
+  glGetSGIXYCrCbA,
+  gl_SGIX_ycrcba,
+  -- * Enums
+  pattern GL_YCRCBA_SGIX,
+  pattern GL_YCRCB_SGIX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SUN.hs b/src/Graphics/GL/SUN.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUN.hs
@@ -0,0 +1,29 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUN
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing SUN extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUN (
+  module Graphics.GL.SUN.ConvolutionBorderModes,
+  module Graphics.GL.SUN.GlobalAlpha,
+  module Graphics.GL.SUN.MeshArray,
+  module Graphics.GL.SUN.SliceAccum,
+  module Graphics.GL.SUN.TriangleList,
+  module Graphics.GL.SUN.Vertex
+) where
+
+import Graphics.GL.SUN.ConvolutionBorderModes
+import Graphics.GL.SUN.GlobalAlpha
+import Graphics.GL.SUN.MeshArray
+import Graphics.GL.SUN.SliceAccum
+import Graphics.GL.SUN.TriangleList
+import Graphics.GL.SUN.Vertex
diff --git a/src/Graphics/GL/SUN/ConvolutionBorderModes.hs b/src/Graphics/GL/SUN/ConvolutionBorderModes.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUN/ConvolutionBorderModes.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUN.ConvolutionBorderModes
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUN.ConvolutionBorderModes (
+  -- * Extension Support
+  glGetSUNConvolutionBorderModes,
+  gl_SUN_convolution_border_modes,
+  -- * Enums
+  pattern GL_WRAP_BORDER_SUN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SUN/GlobalAlpha.hs b/src/Graphics/GL/SUN/GlobalAlpha.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUN/GlobalAlpha.hs
@@ -0,0 +1,34 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUN.GlobalAlpha
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUN.GlobalAlpha (
+  -- * Extension Support
+  glGetSUNGlobalAlpha,
+  gl_SUN_global_alpha,
+  -- * Enums
+  pattern GL_GLOBAL_ALPHA_FACTOR_SUN,
+  pattern GL_GLOBAL_ALPHA_SUN,
+  -- * Functions
+  glGlobalAlphaFactorbSUN,
+  glGlobalAlphaFactordSUN,
+  glGlobalAlphaFactorfSUN,
+  glGlobalAlphaFactoriSUN,
+  glGlobalAlphaFactorsSUN,
+  glGlobalAlphaFactorubSUN,
+  glGlobalAlphaFactoruiSUN,
+  glGlobalAlphaFactorusSUN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SUN/MeshArray.hs b/src/Graphics/GL/SUN/MeshArray.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUN/MeshArray.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUN.MeshArray
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUN.MeshArray (
+  -- * Extension Support
+  glGetSUNMeshArray,
+  gl_SUN_mesh_array,
+  -- * Enums
+  pattern GL_QUAD_MESH_SUN,
+  pattern GL_TRIANGLE_MESH_SUN,
+  -- * Functions
+  glDrawMeshArraysSUN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SUN/SliceAccum.hs b/src/Graphics/GL/SUN/SliceAccum.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUN/SliceAccum.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUN.SliceAccum
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUN.SliceAccum (
+  -- * Extension Support
+  glGetSUNSliceAccum,
+  gl_SUN_slice_accum,
+  -- * Enums
+  pattern GL_SLICE_ACCUM_SUN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/SUN/TriangleList.hs b/src/Graphics/GL/SUN/TriangleList.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUN/TriangleList.hs
@@ -0,0 +1,48 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUN.TriangleList
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUN.TriangleList (
+  -- * Extension Support
+  glGetSUNTriangleList,
+  gl_SUN_triangle_list,
+  -- * Enums
+  pattern GL_R1UI_C3F_V3F_SUN,
+  pattern GL_R1UI_C4F_N3F_V3F_SUN,
+  pattern GL_R1UI_C4UB_V3F_SUN,
+  pattern GL_R1UI_N3F_V3F_SUN,
+  pattern GL_R1UI_T2F_C4F_N3F_V3F_SUN,
+  pattern GL_R1UI_T2F_N3F_V3F_SUN,
+  pattern GL_R1UI_T2F_V3F_SUN,
+  pattern GL_R1UI_V3F_SUN,
+  pattern GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN,
+  pattern GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN,
+  pattern GL_REPLACEMENT_CODE_ARRAY_SUN,
+  pattern GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN,
+  pattern GL_REPLACEMENT_CODE_SUN,
+  pattern GL_REPLACE_MIDDLE_SUN,
+  pattern GL_REPLACE_OLDEST_SUN,
+  pattern GL_RESTART_SUN,
+  pattern GL_TRIANGLE_LIST_SUN,
+  -- * Functions
+  glReplacementCodePointerSUN,
+  glReplacementCodeubSUN,
+  glReplacementCodeubvSUN,
+  glReplacementCodeuiSUN,
+  glReplacementCodeuivSUN,
+  glReplacementCodeusSUN,
+  glReplacementCodeusvSUN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SUN/Vertex.hs b/src/Graphics/GL/SUN/Vertex.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUN/Vertex.hs
@@ -0,0 +1,61 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUN.Vertex
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUN.Vertex (
+  -- * Extension Support
+  glGetSUNVertex,
+  gl_SUN_vertex,
+  -- * Functions
+  glColor3fVertex3fSUN,
+  glColor3fVertex3fvSUN,
+  glColor4fNormal3fVertex3fSUN,
+  glColor4fNormal3fVertex3fvSUN,
+  glColor4ubVertex2fSUN,
+  glColor4ubVertex2fvSUN,
+  glColor4ubVertex3fSUN,
+  glColor4ubVertex3fvSUN,
+  glNormal3fVertex3fSUN,
+  glNormal3fVertex3fvSUN,
+  glReplacementCodeuiColor3fVertex3fSUN,
+  glReplacementCodeuiColor3fVertex3fvSUN,
+  glReplacementCodeuiColor4fNormal3fVertex3fSUN,
+  glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
+  glReplacementCodeuiColor4ubVertex3fSUN,
+  glReplacementCodeuiColor4ubVertex3fvSUN,
+  glReplacementCodeuiNormal3fVertex3fSUN,
+  glReplacementCodeuiNormal3fVertex3fvSUN,
+  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
+  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
+  glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
+  glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
+  glReplacementCodeuiTexCoord2fVertex3fSUN,
+  glReplacementCodeuiTexCoord2fVertex3fvSUN,
+  glReplacementCodeuiVertex3fSUN,
+  glReplacementCodeuiVertex3fvSUN,
+  glTexCoord2fColor3fVertex3fSUN,
+  glTexCoord2fColor3fVertex3fvSUN,
+  glTexCoord2fColor4fNormal3fVertex3fSUN,
+  glTexCoord2fColor4fNormal3fVertex3fvSUN,
+  glTexCoord2fColor4ubVertex3fSUN,
+  glTexCoord2fColor4ubVertex3fvSUN,
+  glTexCoord2fNormal3fVertex3fSUN,
+  glTexCoord2fNormal3fVertex3fvSUN,
+  glTexCoord2fVertex3fSUN,
+  glTexCoord2fVertex3fvSUN,
+  glTexCoord4fColor4fNormal3fVertex4fSUN,
+  glTexCoord4fColor4fNormal3fVertex4fvSUN,
+  glTexCoord4fVertex4fSUN,
+  glTexCoord4fVertex4fvSUN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/SUNX.hs b/src/Graphics/GL/SUNX.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUNX.hs
@@ -0,0 +1,19 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUNX
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing SUNX extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUNX (
+  module Graphics.GL.SUNX.ConstantData
+) where
+
+import Graphics.GL.SUNX.ConstantData
diff --git a/src/Graphics/GL/SUNX/ConstantData.hs b/src/Graphics/GL/SUNX/ConstantData.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/SUNX/ConstantData.hs
@@ -0,0 +1,27 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.SUNX.ConstantData
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.SUNX.ConstantData (
+  -- * Extension Support
+  glGetSUNXConstantData,
+  gl_SUNX_constant_data,
+  -- * Enums
+  pattern GL_TEXTURE_CONSTANT_DATA_SUNX,
+  pattern GL_UNPACK_CONSTANT_DATA_SUNX,
+  -- * Functions
+  glFinishTextureSUNX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ThreeDFX.hs b/src/Graphics/GL/ThreeDFX.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ThreeDFX.hs
@@ -0,0 +1,23 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ThreeDFX
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing 3DFX extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ThreeDFX (
+  module Graphics.GL.ThreeDFX.Multisample,
+  module Graphics.GL.ThreeDFX.Tbuffer,
+  module Graphics.GL.ThreeDFX.TextureCompressionFXT1
+) where
+
+import Graphics.GL.ThreeDFX.Multisample
+import Graphics.GL.ThreeDFX.Tbuffer
+import Graphics.GL.ThreeDFX.TextureCompressionFXT1
diff --git a/src/Graphics/GL/ThreeDFX/Multisample.hs b/src/Graphics/GL/ThreeDFX/Multisample.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ThreeDFX/Multisample.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ThreeDFX.Multisample
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ThreeDFX.Multisample (
+  -- * Extension Support
+  glGetThreeDFXMultisample,
+  gl_3DFX_multisample,
+  -- * Enums
+  pattern GL_MULTISAMPLE_3DFX,
+  pattern GL_MULTISAMPLE_BIT_3DFX,
+  pattern GL_SAMPLES_3DFX,
+  pattern GL_SAMPLE_BUFFERS_3DFX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/ThreeDFX/Tbuffer.hs b/src/Graphics/GL/ThreeDFX/Tbuffer.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ThreeDFX/Tbuffer.hs
@@ -0,0 +1,22 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ThreeDFX.Tbuffer
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ThreeDFX.Tbuffer (
+  -- * Extension Support
+  glGetThreeDFXTbuffer,
+  gl_3DFX_tbuffer,
+  -- * Functions
+  glTbufferMask3DFX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/ThreeDFX/TextureCompressionFXT1.hs b/src/Graphics/GL/ThreeDFX/TextureCompressionFXT1.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/ThreeDFX/TextureCompressionFXT1.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.ThreeDFX.TextureCompressionFXT1
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.ThreeDFX.TextureCompressionFXT1 (
+  -- * Extension Support
+  glGetThreeDFXTextureCompressionFXT1,
+  gl_3DFX_texture_compression_FXT1,
+  -- * Enums
+  pattern GL_COMPRESSED_RGBA_FXT1_3DFX,
+  pattern GL_COMPRESSED_RGB_FXT1_3DFX
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/Tokens.hs b/src/Graphics/GL/Tokens.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Tokens.hs
@@ -0,0 +1,11234 @@
+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Tokens
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All enumeration tokens from the
+-- <http://www.opengl.org/registry/ OpenGL registry>.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Tokens where
+
+import Graphics.GL.Types
+
+pattern GL_1PASS_EXT = 0x80A1 :: GLenum
+
+pattern GL_1PASS_SGIS = 0x80A1 :: GLenum
+
+pattern GL_2D = 0x0600 :: GLenum
+
+pattern GL_2PASS_0_EXT = 0x80A2 :: GLenum
+
+pattern GL_2PASS_0_SGIS = 0x80A2 :: GLenum
+
+pattern GL_2PASS_1_EXT = 0x80A3 :: GLenum
+
+pattern GL_2PASS_1_SGIS = 0x80A3 :: GLenum
+
+pattern GL_2X_BIT_ATI = 0x00000001 :: GLbitfield
+
+pattern GL_2_BYTES = 0x1407 :: GLenum
+
+pattern GL_2_BYTES_NV = 0x1407 :: GLenum
+
+pattern GL_3D = 0x0601 :: GLenum
+
+pattern GL_3DC_XY_AMD = 0x87FA :: GLenum
+
+pattern GL_3DC_X_AMD = 0x87F9 :: GLenum
+
+pattern GL_3D_COLOR = 0x0602 :: GLenum
+
+pattern GL_3D_COLOR_TEXTURE = 0x0603 :: GLenum
+
+pattern GL_3_BYTES = 0x1408 :: GLenum
+
+pattern GL_3_BYTES_NV = 0x1408 :: GLenum
+
+pattern GL_422_AVERAGE_EXT = 0x80CE :: GLenum
+
+pattern GL_422_EXT = 0x80CC :: GLenum
+
+pattern GL_422_REV_AVERAGE_EXT = 0x80CF :: GLenum
+
+pattern GL_422_REV_EXT = 0x80CD :: GLenum
+
+pattern GL_4D_COLOR_TEXTURE = 0x0604 :: GLenum
+
+pattern GL_4PASS_0_EXT = 0x80A4 :: GLenum
+
+pattern GL_4PASS_0_SGIS = 0x80A4 :: GLenum
+
+pattern GL_4PASS_1_EXT = 0x80A5 :: GLenum
+
+pattern GL_4PASS_1_SGIS = 0x80A5 :: GLenum
+
+pattern GL_4PASS_2_EXT = 0x80A6 :: GLenum
+
+pattern GL_4PASS_2_SGIS = 0x80A6 :: GLenum
+
+pattern GL_4PASS_3_EXT = 0x80A7 :: GLenum
+
+pattern GL_4PASS_3_SGIS = 0x80A7 :: GLenum
+
+pattern GL_4X_BIT_ATI = 0x00000002 :: GLbitfield
+
+pattern GL_4_BYTES = 0x1409 :: GLenum
+
+pattern GL_4_BYTES_NV = 0x1409 :: GLenum
+
+pattern GL_8X_BIT_ATI = 0x00000004 :: GLbitfield
+
+pattern GL_ABGR_EXT = 0x8000 :: GLenum
+
+pattern GL_ACCUM = 0x0100 :: GLenum
+
+pattern GL_ACCUM_ADJACENT_PAIRS_NV = 0x90AD :: GLenum
+
+pattern GL_ACCUM_ALPHA_BITS = 0x0D5B :: GLenum
+
+pattern GL_ACCUM_BLUE_BITS = 0x0D5A :: GLenum
+
+pattern GL_ACCUM_BUFFER_BIT = 0x00000200 :: GLbitfield
+
+pattern GL_ACCUM_CLEAR_VALUE = 0x0B80 :: GLenum
+
+pattern GL_ACCUM_GREEN_BITS = 0x0D59 :: GLenum
+
+pattern GL_ACCUM_RED_BITS = 0x0D58 :: GLenum
+
+pattern GL_ACTIVE_ATOMIC_COUNTER_BUFFERS = 0x92D9 :: GLenum
+
+pattern GL_ACTIVE_ATTRIBUTES = 0x8B89 :: GLenum
+
+pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH = 0x8B8A :: GLenum
+
+pattern GL_ACTIVE_PROGRAM = 0x8259 :: GLenum
+
+pattern GL_ACTIVE_PROGRAM_EXT = 0x8B8D :: GLenum
+
+pattern GL_ACTIVE_RESOURCES = 0x92F5 :: GLenum
+
+pattern GL_ACTIVE_STENCIL_FACE_EXT = 0x8911 :: GLenum
+
+pattern GL_ACTIVE_SUBROUTINES = 0x8DE5 :: GLenum
+
+pattern GL_ACTIVE_SUBROUTINE_MAX_LENGTH = 0x8E48 :: GLenum
+
+pattern GL_ACTIVE_SUBROUTINE_UNIFORMS = 0x8DE6 :: GLenum
+
+pattern GL_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS = 0x8E47 :: GLenum
+
+pattern GL_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH = 0x8E49 :: GLenum
+
+pattern GL_ACTIVE_TEXTURE = 0x84E0 :: GLenum
+
+pattern GL_ACTIVE_TEXTURE_ARB = 0x84E0 :: GLenum
+
+pattern GL_ACTIVE_UNIFORMS = 0x8B86 :: GLenum
+
+pattern GL_ACTIVE_UNIFORM_BLOCKS = 0x8A36 :: GLenum
+
+pattern GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH = 0x8A35 :: GLenum
+
+pattern GL_ACTIVE_UNIFORM_MAX_LENGTH = 0x8B87 :: GLenum
+
+pattern GL_ACTIVE_VARIABLES = 0x9305 :: GLenum
+
+pattern GL_ACTIVE_VARYINGS_NV = 0x8C81 :: GLenum
+
+pattern GL_ACTIVE_VARYING_MAX_LENGTH_NV = 0x8C82 :: GLenum
+
+pattern GL_ACTIVE_VERTEX_UNITS_ARB = 0x86A5 :: GLenum
+
+pattern GL_ADD = 0x0104 :: GLenum
+
+pattern GL_ADD_ATI = 0x8963 :: GLenum
+
+pattern GL_ADD_BLEND_IMG = 0x8C09 :: GLenum
+
+pattern GL_ADD_SIGNED = 0x8574 :: GLenum
+
+pattern GL_ADD_SIGNED_ARB = 0x8574 :: GLenum
+
+pattern GL_ADD_SIGNED_EXT = 0x8574 :: GLenum
+
+pattern GL_ADJACENT_PAIRS_NV = 0x90AE :: GLenum
+
+pattern GL_AFFINE_2D_NV = 0x9092 :: GLenum
+
+pattern GL_AFFINE_3D_NV = 0x9094 :: GLenum
+
+pattern GL_ALIASED_LINE_WIDTH_RANGE = 0x846E :: GLenum
+
+pattern GL_ALIASED_POINT_SIZE_RANGE = 0x846D :: GLenum
+
+pattern GL_ALLOW_DRAW_FRG_HINT_PGI = 0x1A210 :: GLenum
+
+pattern GL_ALLOW_DRAW_MEM_HINT_PGI = 0x1A211 :: GLenum
+
+pattern GL_ALLOW_DRAW_OBJ_HINT_PGI = 0x1A20E :: GLenum
+
+pattern GL_ALLOW_DRAW_WIN_HINT_PGI = 0x1A20F :: GLenum
+
+pattern GL_ALL_ATTRIB_BITS = 0xFFFFFFFF :: GLbitfield
+
+pattern GL_ALL_BARRIER_BITS = 0xFFFFFFFF :: GLbitfield
+
+pattern GL_ALL_BARRIER_BITS_EXT = 0xFFFFFFFF :: GLbitfield
+
+pattern GL_ALL_COMPLETED_NV = 0x84F2 :: GLenum
+
+pattern GL_ALL_SHADER_BITS = 0xFFFFFFFF :: GLbitfield
+
+pattern GL_ALL_SHADER_BITS_EXT = 0xFFFFFFFF :: GLbitfield
+
+pattern GL_ALL_STATIC_DATA_IBM = 103060 :: GLenum
+
+pattern GL_ALPHA = 0x1906 :: GLenum
+
+pattern GL_ALPHA12 = 0x803D :: GLenum
+
+pattern GL_ALPHA12_EXT = 0x803D :: GLenum
+
+pattern GL_ALPHA16 = 0x803E :: GLenum
+
+pattern GL_ALPHA16F_ARB = 0x881C :: GLenum
+
+pattern GL_ALPHA16F_EXT = 0x881C :: GLenum
+
+pattern GL_ALPHA16I_EXT = 0x8D8A :: GLenum
+
+pattern GL_ALPHA16UI_EXT = 0x8D78 :: GLenum
+
+pattern GL_ALPHA16_EXT = 0x803E :: GLenum
+
+pattern GL_ALPHA16_SNORM = 0x9018 :: GLenum
+
+pattern GL_ALPHA32F_ARB = 0x8816 :: GLenum
+
+pattern GL_ALPHA32F_EXT = 0x8816 :: GLenum
+
+pattern GL_ALPHA32I_EXT = 0x8D84 :: GLenum
+
+pattern GL_ALPHA32UI_EXT = 0x8D72 :: GLenum
+
+pattern GL_ALPHA4 = 0x803B :: GLenum
+
+pattern GL_ALPHA4_EXT = 0x803B :: GLenum
+
+pattern GL_ALPHA8 = 0x803C :: GLenum
+
+pattern GL_ALPHA8I_EXT = 0x8D90 :: GLenum
+
+pattern GL_ALPHA8UI_EXT = 0x8D7E :: GLenum
+
+pattern GL_ALPHA8_EXT = 0x803C :: GLenum
+
+pattern GL_ALPHA8_OES = 0x803C :: GLenum
+
+pattern GL_ALPHA8_SNORM = 0x9014 :: GLenum
+
+pattern GL_ALPHA_BIAS = 0x0D1D :: GLenum
+
+pattern GL_ALPHA_BITS = 0x0D55 :: GLenum
+
+pattern GL_ALPHA_FLOAT16_APPLE = 0x881C :: GLenum
+
+pattern GL_ALPHA_FLOAT16_ATI = 0x881C :: GLenum
+
+pattern GL_ALPHA_FLOAT32_APPLE = 0x8816 :: GLenum
+
+pattern GL_ALPHA_FLOAT32_ATI = 0x8816 :: GLenum
+
+pattern GL_ALPHA_INTEGER = 0x8D97 :: GLenum
+
+pattern GL_ALPHA_INTEGER_EXT = 0x8D97 :: GLenum
+
+pattern GL_ALPHA_MAX_CLAMP_INGR = 0x8567 :: GLenum
+
+pattern GL_ALPHA_MAX_SGIX = 0x8321 :: GLenum
+
+pattern GL_ALPHA_MIN_CLAMP_INGR = 0x8563 :: GLenum
+
+pattern GL_ALPHA_MIN_SGIX = 0x8320 :: GLenum
+
+pattern GL_ALPHA_REF_COMMAND_NV = 0x000F :: GLenum
+
+pattern GL_ALPHA_SCALE = 0x0D1C :: GLenum
+
+pattern GL_ALPHA_SNORM = 0x9010 :: GLenum
+
+pattern GL_ALPHA_TEST = 0x0BC0 :: GLenum
+
+pattern GL_ALPHA_TEST_FUNC = 0x0BC1 :: GLenum
+
+pattern GL_ALPHA_TEST_FUNC_QCOM = 0x0BC1 :: GLenum
+
+pattern GL_ALPHA_TEST_QCOM = 0x0BC0 :: GLenum
+
+pattern GL_ALPHA_TEST_REF = 0x0BC2 :: GLenum
+
+pattern GL_ALPHA_TEST_REF_QCOM = 0x0BC2 :: GLenum
+
+pattern GL_ALREADY_SIGNALED = 0x911A :: GLenum
+
+pattern GL_ALREADY_SIGNALED_APPLE = 0x911A :: GLenum
+
+pattern GL_ALWAYS = 0x0207 :: GLenum
+
+pattern GL_ALWAYS_FAST_HINT_PGI = 0x1A20C :: GLenum
+
+pattern GL_ALWAYS_SOFT_HINT_PGI = 0x1A20D :: GLenum
+
+pattern GL_AMBIENT = 0x1200 :: GLenum
+
+pattern GL_AMBIENT_AND_DIFFUSE = 0x1602 :: GLenum
+
+pattern GL_AND = 0x1501 :: GLenum
+
+pattern GL_AND_INVERTED = 0x1504 :: GLenum
+
+pattern GL_AND_REVERSE = 0x1502 :: GLenum
+
+pattern GL_ANY_SAMPLES_PASSED = 0x8C2F :: GLenum
+
+pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE = 0x8D6A :: GLenum
+
+pattern GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT = 0x8D6A :: GLenum
+
+pattern GL_ANY_SAMPLES_PASSED_EXT = 0x8C2F :: GLenum
+
+pattern GL_ARC_TO_NV = 0xFE :: GLubyte
+
+pattern GL_ARRAY_BUFFER = 0x8892 :: GLenum
+
+pattern GL_ARRAY_BUFFER_ARB = 0x8892 :: GLenum
+
+pattern GL_ARRAY_BUFFER_BINDING = 0x8894 :: GLenum
+
+pattern GL_ARRAY_BUFFER_BINDING_ARB = 0x8894 :: GLenum
+
+pattern GL_ARRAY_ELEMENT_LOCK_COUNT_EXT = 0x81A9 :: GLenum
+
+pattern GL_ARRAY_ELEMENT_LOCK_FIRST_EXT = 0x81A8 :: GLenum
+
+pattern GL_ARRAY_OBJECT_BUFFER_ATI = 0x8766 :: GLenum
+
+pattern GL_ARRAY_OBJECT_OFFSET_ATI = 0x8767 :: GLenum
+
+pattern GL_ARRAY_SIZE = 0x92FB :: GLenum
+
+pattern GL_ARRAY_STRIDE = 0x92FE :: GLenum
+
+pattern GL_ASYNC_DRAW_PIXELS_SGIX = 0x835D :: GLenum
+
+pattern GL_ASYNC_HISTOGRAM_SGIX = 0x832C :: GLenum
+
+pattern GL_ASYNC_MARKER_SGIX = 0x8329 :: GLenum
+
+pattern GL_ASYNC_READ_PIXELS_SGIX = 0x835E :: GLenum
+
+pattern GL_ASYNC_TEX_IMAGE_SGIX = 0x835C :: GLenum
+
+pattern GL_ATC_RGBA_EXPLICIT_ALPHA_AMD = 0x8C93 :: GLenum
+
+pattern GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD = 0x87EE :: GLenum
+
+pattern GL_ATC_RGB_AMD = 0x8C92 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BARRIER_BIT = 0x00001000 :: GLbitfield
+
+pattern GL_ATOMIC_COUNTER_BARRIER_BIT_EXT = 0x00001000 :: GLbitfield
+
+pattern GL_ATOMIC_COUNTER_BUFFER = 0x92C0 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTERS = 0x92C5 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_ACTIVE_ATOMIC_COUNTER_INDICES = 0x92C6 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_BINDING = 0x92C1 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_DATA_SIZE = 0x92C4 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_INDEX = 0x9301 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER = 0x90ED :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_FRAGMENT_SHADER = 0x92CB :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_GEOMETRY_SHADER = 0x92CA :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_CONTROL_SHADER = 0x92C8 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x92C9 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_VERTEX_SHADER = 0x92C7 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_SIZE = 0x92C3 :: GLenum
+
+pattern GL_ATOMIC_COUNTER_BUFFER_START = 0x92C2 :: GLenum
+
+pattern GL_ATTACHED_SHADERS = 0x8B85 :: GLenum
+
+pattern GL_ATTENUATION_EXT = 0x834D :: GLenum
+
+pattern GL_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009 :: GLenum
+
+pattern GL_ATTRIB_ARRAY_POINTER_NV = 0x8645 :: GLenum
+
+pattern GL_ATTRIB_ARRAY_SIZE_NV = 0x8623 :: GLenum
+
+pattern GL_ATTRIB_ARRAY_STRIDE_NV = 0x8624 :: GLenum
+
+pattern GL_ATTRIB_ARRAY_TYPE_NV = 0x8625 :: GLenum
+
+pattern GL_ATTRIB_STACK_DEPTH = 0x0BB0 :: GLenum
+
+pattern GL_AUTO_GENERATE_MIPMAP = 0x8295 :: GLenum
+
+pattern GL_AUTO_NORMAL = 0x0D80 :: GLenum
+
+pattern GL_AUX0 = 0x0409 :: GLenum
+
+pattern GL_AUX1 = 0x040A :: GLenum
+
+pattern GL_AUX2 = 0x040B :: GLenum
+
+pattern GL_AUX3 = 0x040C :: GLenum
+
+pattern GL_AUX_BUFFERS = 0x0C00 :: GLenum
+
+pattern GL_AUX_DEPTH_STENCIL_APPLE = 0x8A14 :: GLenum
+
+pattern GL_AVERAGE_EXT = 0x8335 :: GLenum
+
+pattern GL_AVERAGE_HP = 0x8160 :: GLenum
+
+pattern GL_BACK = 0x0405 :: GLenum
+
+pattern GL_BACK_LEFT = 0x0402 :: GLenum
+
+pattern GL_BACK_NORMALS_HINT_PGI = 0x1A223 :: GLenum
+
+pattern GL_BACK_PRIMARY_COLOR_NV = 0x8C77 :: GLenum
+
+pattern GL_BACK_RIGHT = 0x0403 :: GLenum
+
+pattern GL_BACK_SECONDARY_COLOR_NV = 0x8C78 :: GLenum
+
+pattern GL_BEVEL_NV = 0x90A6 :: GLenum
+
+pattern GL_BGR = 0x80E0 :: GLenum
+
+pattern GL_BGRA = 0x80E1 :: GLenum
+
+pattern GL_BGRA8_EXT = 0x93A1 :: GLenum
+
+pattern GL_BGRA_EXT = 0x80E1 :: GLenum
+
+pattern GL_BGRA_IMG = 0x80E1 :: GLenum
+
+pattern GL_BGRA_INTEGER = 0x8D9B :: GLenum
+
+pattern GL_BGRA_INTEGER_EXT = 0x8D9B :: GLenum
+
+pattern GL_BGR_EXT = 0x80E0 :: GLenum
+
+pattern GL_BGR_INTEGER = 0x8D9A :: GLenum
+
+pattern GL_BGR_INTEGER_EXT = 0x8D9A :: GLenum
+
+pattern GL_BIAS_BIT_ATI = 0x00000008 :: GLbitfield
+
+pattern GL_BIAS_BY_NEGATIVE_ONE_HALF_NV = 0x8541 :: GLenum
+
+pattern GL_BINNING_CONTROL_HINT_QCOM = 0x8FB0 :: GLenum
+
+pattern GL_BINORMAL_ARRAY_EXT = 0x843A :: GLenum
+
+pattern GL_BINORMAL_ARRAY_POINTER_EXT = 0x8443 :: GLenum
+
+pattern GL_BINORMAL_ARRAY_STRIDE_EXT = 0x8441 :: GLenum
+
+pattern GL_BINORMAL_ARRAY_TYPE_EXT = 0x8440 :: GLenum
+
+pattern GL_BITMAP = 0x1A00 :: GLenum
+
+pattern GL_BITMAP_TOKEN = 0x0704 :: GLenum
+
+pattern GL_BLEND = 0x0BE2 :: GLenum
+
+pattern GL_BLEND_ADVANCED_COHERENT_KHR = 0x9285 :: GLenum
+
+pattern GL_BLEND_ADVANCED_COHERENT_NV = 0x9285 :: GLenum
+
+pattern GL_BLEND_COLOR = 0x8005 :: GLenum
+
+pattern GL_BLEND_COLOR_COMMAND_NV = 0x000B :: GLenum
+
+pattern GL_BLEND_COLOR_EXT = 0x8005 :: GLenum
+
+pattern GL_BLEND_DST = 0x0BE0 :: GLenum
+
+pattern GL_BLEND_DST_ALPHA = 0x80CA :: GLenum
+
+pattern GL_BLEND_DST_ALPHA_EXT = 0x80CA :: GLenum
+
+pattern GL_BLEND_DST_ALPHA_OES = 0x80CA :: GLenum
+
+pattern GL_BLEND_DST_RGB = 0x80C8 :: GLenum
+
+pattern GL_BLEND_DST_RGB_EXT = 0x80C8 :: GLenum
+
+pattern GL_BLEND_DST_RGB_OES = 0x80C8 :: GLenum
+
+pattern GL_BLEND_EQUATION = 0x8009 :: GLenum
+
+pattern GL_BLEND_EQUATION_ALPHA = 0x883D :: GLenum
+
+pattern GL_BLEND_EQUATION_ALPHA_EXT = 0x883D :: GLenum
+
+pattern GL_BLEND_EQUATION_ALPHA_OES = 0x883D :: GLenum
+
+pattern GL_BLEND_EQUATION_EXT = 0x8009 :: GLenum
+
+pattern GL_BLEND_EQUATION_OES = 0x8009 :: GLenum
+
+pattern GL_BLEND_EQUATION_RGB = 0x8009 :: GLenum
+
+pattern GL_BLEND_EQUATION_RGB_EXT = 0x8009 :: GLenum
+
+pattern GL_BLEND_EQUATION_RGB_OES = 0x8009 :: GLenum
+
+pattern GL_BLEND_OVERLAP_NV = 0x9281 :: GLenum
+
+pattern GL_BLEND_PREMULTIPLIED_SRC_NV = 0x9280 :: GLenum
+
+pattern GL_BLEND_SRC = 0x0BE1 :: GLenum
+
+pattern GL_BLEND_SRC_ALPHA = 0x80CB :: GLenum
+
+pattern GL_BLEND_SRC_ALPHA_EXT = 0x80CB :: GLenum
+
+pattern GL_BLEND_SRC_ALPHA_OES = 0x80CB :: GLenum
+
+pattern GL_BLEND_SRC_RGB = 0x80C9 :: GLenum
+
+pattern GL_BLEND_SRC_RGB_EXT = 0x80C9 :: GLenum
+
+pattern GL_BLEND_SRC_RGB_OES = 0x80C9 :: GLenum
+
+pattern GL_BLOCK_INDEX = 0x92FD :: GLenum
+
+pattern GL_BLUE = 0x1905 :: GLenum
+
+pattern GL_BLUE_BIAS = 0x0D1B :: GLenum
+
+pattern GL_BLUE_BITS = 0x0D54 :: GLenum
+
+pattern GL_BLUE_BIT_ATI = 0x00000004 :: GLbitfield
+
+pattern GL_BLUE_INTEGER = 0x8D96 :: GLenum
+
+pattern GL_BLUE_INTEGER_EXT = 0x8D96 :: GLenum
+
+pattern GL_BLUE_MAX_CLAMP_INGR = 0x8566 :: GLenum
+
+pattern GL_BLUE_MIN_CLAMP_INGR = 0x8562 :: GLenum
+
+pattern GL_BLUE_NV = 0x1905 :: GLenum
+
+pattern GL_BLUE_SCALE = 0x0D1A :: GLenum
+
+pattern GL_BOLD_BIT_NV = 0x01 :: GLbitfield
+
+pattern GL_BOOL = 0x8B56 :: GLenum
+
+pattern GL_BOOL_ARB = 0x8B56 :: GLenum
+
+pattern GL_BOOL_VEC2 = 0x8B57 :: GLenum
+
+pattern GL_BOOL_VEC2_ARB = 0x8B57 :: GLenum
+
+pattern GL_BOOL_VEC3 = 0x8B58 :: GLenum
+
+pattern GL_BOOL_VEC3_ARB = 0x8B58 :: GLenum
+
+pattern GL_BOOL_VEC4 = 0x8B59 :: GLenum
+
+pattern GL_BOOL_VEC4_ARB = 0x8B59 :: GLenum
+
+pattern GL_BOUNDING_BOX_NV = 0x908D :: GLenum
+
+pattern GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV = 0x909C :: GLenum
+
+pattern GL_BROWSER_DEFAULT_WEBGL = 0x9244 :: GLenum
+
+pattern GL_BUFFER = 0x82E0 :: GLenum
+
+pattern GL_BUFFER_ACCESS = 0x88BB :: GLenum
+
+pattern GL_BUFFER_ACCESS_ARB = 0x88BB :: GLenum
+
+pattern GL_BUFFER_ACCESS_FLAGS = 0x911F :: GLenum
+
+pattern GL_BUFFER_ACCESS_OES = 0x88BB :: GLenum
+
+pattern GL_BUFFER_BINDING = 0x9302 :: GLenum
+
+pattern GL_BUFFER_DATA_SIZE = 0x9303 :: GLenum
+
+pattern GL_BUFFER_FLUSHING_UNMAP_APPLE = 0x8A13 :: GLenum
+
+pattern GL_BUFFER_GPU_ADDRESS_NV = 0x8F1D :: GLenum
+
+pattern GL_BUFFER_IMMUTABLE_STORAGE = 0x821F :: GLenum
+
+pattern GL_BUFFER_IMMUTABLE_STORAGE_EXT = 0x821F :: GLenum
+
+pattern GL_BUFFER_KHR = 0x82E0 :: GLenum
+
+pattern GL_BUFFER_MAPPED = 0x88BC :: GLenum
+
+pattern GL_BUFFER_MAPPED_ARB = 0x88BC :: GLenum
+
+pattern GL_BUFFER_MAPPED_OES = 0x88BC :: GLenum
+
+pattern GL_BUFFER_MAP_LENGTH = 0x9120 :: GLenum
+
+pattern GL_BUFFER_MAP_OFFSET = 0x9121 :: GLenum
+
+pattern GL_BUFFER_MAP_POINTER = 0x88BD :: GLenum
+
+pattern GL_BUFFER_MAP_POINTER_ARB = 0x88BD :: GLenum
+
+pattern GL_BUFFER_MAP_POINTER_OES = 0x88BD :: GLenum
+
+pattern GL_BUFFER_OBJECT_APPLE = 0x85B3 :: GLenum
+
+pattern GL_BUFFER_OBJECT_EXT = 0x9151 :: GLenum
+
+pattern GL_BUFFER_SERIALIZED_MODIFY_APPLE = 0x8A12 :: GLenum
+
+pattern GL_BUFFER_SIZE = 0x8764 :: GLenum
+
+pattern GL_BUFFER_SIZE_ARB = 0x8764 :: GLenum
+
+pattern GL_BUFFER_STORAGE_FLAGS = 0x8220 :: GLenum
+
+pattern GL_BUFFER_STORAGE_FLAGS_EXT = 0x8220 :: GLenum
+
+pattern GL_BUFFER_UPDATE_BARRIER_BIT = 0x00000200 :: GLbitfield
+
+pattern GL_BUFFER_UPDATE_BARRIER_BIT_EXT = 0x00000200 :: GLbitfield
+
+pattern GL_BUFFER_USAGE = 0x8765 :: GLenum
+
+pattern GL_BUFFER_USAGE_ARB = 0x8765 :: GLenum
+
+pattern GL_BUFFER_VARIABLE = 0x92E5 :: GLenum
+
+pattern GL_BUMP_ENVMAP_ATI = 0x877B :: GLenum
+
+pattern GL_BUMP_NUM_TEX_UNITS_ATI = 0x8777 :: GLenum
+
+pattern GL_BUMP_ROT_MATRIX_ATI = 0x8775 :: GLenum
+
+pattern GL_BUMP_ROT_MATRIX_SIZE_ATI = 0x8776 :: GLenum
+
+pattern GL_BUMP_TARGET_ATI = 0x877C :: GLenum
+
+pattern GL_BUMP_TEX_UNITS_ATI = 0x8778 :: GLenum
+
+pattern GL_BYTE = 0x1400 :: GLenum
+
+pattern GL_C3F_V3F = 0x2A24 :: GLenum
+
+pattern GL_C4F_N3F_V3F = 0x2A26 :: GLenum
+
+pattern GL_C4UB_V2F = 0x2A22 :: GLenum
+
+pattern GL_C4UB_V3F = 0x2A23 :: GLenum
+
+pattern GL_CALLIGRAPHIC_FRAGMENT_SGIX = 0x8183 :: GLenum
+
+pattern GL_CAVEAT_SUPPORT = 0x82B8 :: GLenum
+
+pattern GL_CCW = 0x0901 :: GLenum
+
+pattern GL_CIRCULAR_CCW_ARC_TO_NV = 0xF8 :: GLubyte
+
+pattern GL_CIRCULAR_CW_ARC_TO_NV = 0xFA :: GLubyte
+
+pattern GL_CIRCULAR_TANGENT_ARC_TO_NV = 0xFC :: GLubyte
+
+pattern GL_CLAMP = 0x2900 :: GLenum
+
+pattern GL_CLAMP_FRAGMENT_COLOR = 0x891B :: GLenum
+
+pattern GL_CLAMP_FRAGMENT_COLOR_ARB = 0x891B :: GLenum
+
+pattern GL_CLAMP_READ_COLOR = 0x891C :: GLenum
+
+pattern GL_CLAMP_READ_COLOR_ARB = 0x891C :: GLenum
+
+pattern GL_CLAMP_TO_BORDER = 0x812D :: GLenum
+
+pattern GL_CLAMP_TO_BORDER_ARB = 0x812D :: GLenum
+
+pattern GL_CLAMP_TO_BORDER_EXT = 0x812D :: GLenum
+
+pattern GL_CLAMP_TO_BORDER_NV = 0x812D :: GLenum
+
+pattern GL_CLAMP_TO_BORDER_OES = 0x812D :: GLenum
+
+pattern GL_CLAMP_TO_BORDER_SGIS = 0x812D :: GLenum
+
+pattern GL_CLAMP_TO_EDGE = 0x812F :: GLenum
+
+pattern GL_CLAMP_TO_EDGE_SGIS = 0x812F :: GLenum
+
+pattern GL_CLAMP_VERTEX_COLOR = 0x891A :: GLenum
+
+pattern GL_CLAMP_VERTEX_COLOR_ARB = 0x891A :: GLenum
+
+pattern GL_CLEAR = 0x1500 :: GLenum
+
+pattern GL_CLEAR_BUFFER = 0x82B4 :: GLenum
+
+pattern GL_CLEAR_TEXTURE = 0x9365 :: GLenum
+
+pattern GL_CLIENT_ACTIVE_TEXTURE = 0x84E1 :: GLenum
+
+pattern GL_CLIENT_ACTIVE_TEXTURE_ARB = 0x84E1 :: GLenum
+
+pattern GL_CLIENT_ALL_ATTRIB_BITS = 0xFFFFFFFF :: GLbitfield
+
+pattern GL_CLIENT_ATTRIB_STACK_DEPTH = 0x0BB1 :: GLenum
+
+pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT = 0x00004000 :: GLbitfield
+
+pattern GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT = 0x00004000 :: GLbitfield
+
+pattern GL_CLIENT_PIXEL_STORE_BIT = 0x00000001 :: GLbitfield
+
+pattern GL_CLIENT_STORAGE_BIT = 0x0200 :: GLbitfield
+
+pattern GL_CLIENT_STORAGE_BIT_EXT = 0x0200 :: GLbitfield
+
+pattern GL_CLIENT_VERTEX_ARRAY_BIT = 0x00000002 :: GLbitfield
+
+pattern GL_CLIPPING_INPUT_PRIMITIVES_ARB = 0x82F6 :: GLenum
+
+pattern GL_CLIPPING_OUTPUT_PRIMITIVES_ARB = 0x82F7 :: GLenum
+
+pattern GL_CLIP_DEPTH_MODE = 0x935D :: GLenum
+
+pattern GL_CLIP_DISTANCE0 = 0x3000 :: GLenum
+
+pattern GL_CLIP_DISTANCE0_APPLE = 0x3000 :: GLenum
+
+pattern GL_CLIP_DISTANCE1 = 0x3001 :: GLenum
+
+pattern GL_CLIP_DISTANCE1_APPLE = 0x3001 :: GLenum
+
+pattern GL_CLIP_DISTANCE2 = 0x3002 :: GLenum
+
+pattern GL_CLIP_DISTANCE2_APPLE = 0x3002 :: GLenum
+
+pattern GL_CLIP_DISTANCE3 = 0x3003 :: GLenum
+
+pattern GL_CLIP_DISTANCE3_APPLE = 0x3003 :: GLenum
+
+pattern GL_CLIP_DISTANCE4 = 0x3004 :: GLenum
+
+pattern GL_CLIP_DISTANCE4_APPLE = 0x3004 :: GLenum
+
+pattern GL_CLIP_DISTANCE5 = 0x3005 :: GLenum
+
+pattern GL_CLIP_DISTANCE5_APPLE = 0x3005 :: GLenum
+
+pattern GL_CLIP_DISTANCE6 = 0x3006 :: GLenum
+
+pattern GL_CLIP_DISTANCE6_APPLE = 0x3006 :: GLenum
+
+pattern GL_CLIP_DISTANCE7 = 0x3007 :: GLenum
+
+pattern GL_CLIP_DISTANCE7_APPLE = 0x3007 :: GLenum
+
+pattern GL_CLIP_DISTANCE_NV = 0x8C7A :: GLenum
+
+pattern GL_CLIP_FAR_HINT_PGI = 0x1A221 :: GLenum
+
+pattern GL_CLIP_NEAR_HINT_PGI = 0x1A220 :: GLenum
+
+pattern GL_CLIP_ORIGIN = 0x935C :: GLenum
+
+pattern GL_CLIP_PLANE0 = 0x3000 :: GLenum
+
+pattern GL_CLIP_PLANE0_IMG = 0x3000 :: GLenum
+
+pattern GL_CLIP_PLANE1 = 0x3001 :: GLenum
+
+pattern GL_CLIP_PLANE1_IMG = 0x3001 :: GLenum
+
+pattern GL_CLIP_PLANE2 = 0x3002 :: GLenum
+
+pattern GL_CLIP_PLANE2_IMG = 0x3002 :: GLenum
+
+pattern GL_CLIP_PLANE3 = 0x3003 :: GLenum
+
+pattern GL_CLIP_PLANE3_IMG = 0x3003 :: GLenum
+
+pattern GL_CLIP_PLANE4 = 0x3004 :: GLenum
+
+pattern GL_CLIP_PLANE4_IMG = 0x3004 :: GLenum
+
+pattern GL_CLIP_PLANE5 = 0x3005 :: GLenum
+
+pattern GL_CLIP_PLANE5_IMG = 0x3005 :: GLenum
+
+pattern GL_CLIP_VOLUME_CLIPPING_HINT_EXT = 0x80F0 :: GLenum
+
+pattern GL_CLOSE_PATH_NV = 0x00 :: GLubyte
+
+pattern GL_CMYKA_EXT = 0x800D :: GLenum
+
+pattern GL_CMYK_EXT = 0x800C :: GLenum
+
+pattern GL_CND0_ATI = 0x896B :: GLenum
+
+pattern GL_CND_ATI = 0x896A :: GLenum
+
+pattern GL_COEFF = 0x0A00 :: GLenum
+
+pattern GL_COLOR = 0x1800 :: GLenum
+
+pattern GL_COLOR3_BIT_PGI = 0x00010000 :: GLbitfield
+
+pattern GL_COLOR4_BIT_PGI = 0x00020000 :: GLbitfield
+
+pattern GL_COLORBURN = 0x929A :: GLenum
+
+pattern GL_COLORBURN_KHR = 0x929A :: GLenum
+
+pattern GL_COLORBURN_NV = 0x929A :: GLenum
+
+pattern GL_COLORDODGE = 0x9299 :: GLenum
+
+pattern GL_COLORDODGE_KHR = 0x9299 :: GLenum
+
+pattern GL_COLORDODGE_NV = 0x9299 :: GLenum
+
+pattern GL_COLOR_ALPHA_PAIRING_ATI = 0x8975 :: GLenum
+
+pattern GL_COLOR_ARRAY = 0x8076 :: GLenum
+
+pattern GL_COLOR_ARRAY_ADDRESS_NV = 0x8F23 :: GLenum
+
+pattern GL_COLOR_ARRAY_BUFFER_BINDING = 0x8898 :: GLenum
+
+pattern GL_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x8898 :: GLenum
+
+pattern GL_COLOR_ARRAY_COUNT_EXT = 0x8084 :: GLenum
+
+pattern GL_COLOR_ARRAY_EXT = 0x8076 :: GLenum
+
+pattern GL_COLOR_ARRAY_LENGTH_NV = 0x8F2D :: GLenum
+
+pattern GL_COLOR_ARRAY_LIST_IBM = 103072 :: GLenum
+
+pattern GL_COLOR_ARRAY_LIST_STRIDE_IBM = 103082 :: GLenum
+
+pattern GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F7 :: GLenum
+
+pattern GL_COLOR_ARRAY_POINTER = 0x8090 :: GLenum
+
+pattern GL_COLOR_ARRAY_POINTER_EXT = 0x8090 :: GLenum
+
+pattern GL_COLOR_ARRAY_SIZE = 0x8081 :: GLenum
+
+pattern GL_COLOR_ARRAY_SIZE_EXT = 0x8081 :: GLenum
+
+pattern GL_COLOR_ARRAY_STRIDE = 0x8083 :: GLenum
+
+pattern GL_COLOR_ARRAY_STRIDE_EXT = 0x8083 :: GLenum
+
+pattern GL_COLOR_ARRAY_TYPE = 0x8082 :: GLenum
+
+pattern GL_COLOR_ARRAY_TYPE_EXT = 0x8082 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT0 = 0x8CE0 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT0_EXT = 0x8CE0 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT0_NV = 0x8CE0 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT0_OES = 0x8CE0 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT1 = 0x8CE1 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT10 = 0x8CEA :: GLenum
+
+pattern GL_COLOR_ATTACHMENT10_EXT = 0x8CEA :: GLenum
+
+pattern GL_COLOR_ATTACHMENT10_NV = 0x8CEA :: GLenum
+
+pattern GL_COLOR_ATTACHMENT11 = 0x8CEB :: GLenum
+
+pattern GL_COLOR_ATTACHMENT11_EXT = 0x8CEB :: GLenum
+
+pattern GL_COLOR_ATTACHMENT11_NV = 0x8CEB :: GLenum
+
+pattern GL_COLOR_ATTACHMENT12 = 0x8CEC :: GLenum
+
+pattern GL_COLOR_ATTACHMENT12_EXT = 0x8CEC :: GLenum
+
+pattern GL_COLOR_ATTACHMENT12_NV = 0x8CEC :: GLenum
+
+pattern GL_COLOR_ATTACHMENT13 = 0x8CED :: GLenum
+
+pattern GL_COLOR_ATTACHMENT13_EXT = 0x8CED :: GLenum
+
+pattern GL_COLOR_ATTACHMENT13_NV = 0x8CED :: GLenum
+
+pattern GL_COLOR_ATTACHMENT14 = 0x8CEE :: GLenum
+
+pattern GL_COLOR_ATTACHMENT14_EXT = 0x8CEE :: GLenum
+
+pattern GL_COLOR_ATTACHMENT14_NV = 0x8CEE :: GLenum
+
+pattern GL_COLOR_ATTACHMENT15 = 0x8CEF :: GLenum
+
+pattern GL_COLOR_ATTACHMENT15_EXT = 0x8CEF :: GLenum
+
+pattern GL_COLOR_ATTACHMENT15_NV = 0x8CEF :: GLenum
+
+pattern GL_COLOR_ATTACHMENT16 = 0x8CF0 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT17 = 0x8CF1 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT18 = 0x8CF2 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT19 = 0x8CF3 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT1_EXT = 0x8CE1 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT1_NV = 0x8CE1 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT2 = 0x8CE2 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT20 = 0x8CF4 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT21 = 0x8CF5 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT22 = 0x8CF6 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT23 = 0x8CF7 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT24 = 0x8CF8 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT25 = 0x8CF9 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT26 = 0x8CFA :: GLenum
+
+pattern GL_COLOR_ATTACHMENT27 = 0x8CFB :: GLenum
+
+pattern GL_COLOR_ATTACHMENT28 = 0x8CFC :: GLenum
+
+pattern GL_COLOR_ATTACHMENT29 = 0x8CFD :: GLenum
+
+pattern GL_COLOR_ATTACHMENT2_EXT = 0x8CE2 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT2_NV = 0x8CE2 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT3 = 0x8CE3 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT30 = 0x8CFE :: GLenum
+
+pattern GL_COLOR_ATTACHMENT31 = 0x8CFF :: GLenum
+
+pattern GL_COLOR_ATTACHMENT3_EXT = 0x8CE3 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT3_NV = 0x8CE3 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT4 = 0x8CE4 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT4_EXT = 0x8CE4 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT4_NV = 0x8CE4 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT5 = 0x8CE5 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT5_EXT = 0x8CE5 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT5_NV = 0x8CE5 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT6 = 0x8CE6 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT6_EXT = 0x8CE6 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT6_NV = 0x8CE6 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT7 = 0x8CE7 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT7_EXT = 0x8CE7 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT7_NV = 0x8CE7 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT8 = 0x8CE8 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT8_EXT = 0x8CE8 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT8_NV = 0x8CE8 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT9 = 0x8CE9 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT9_EXT = 0x8CE9 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT9_NV = 0x8CE9 :: GLenum
+
+pattern GL_COLOR_ATTACHMENT_EXT = 0x90F0 :: GLenum
+
+pattern GL_COLOR_BUFFER_BIT = 0x00004000 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT0_QCOM = 0x00000001 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT1_QCOM = 0x00000002 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT2_QCOM = 0x00000004 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT3_QCOM = 0x00000008 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT4_QCOM = 0x00000010 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT5_QCOM = 0x00000020 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT6_QCOM = 0x00000040 :: GLbitfield
+
+pattern GL_COLOR_BUFFER_BIT7_QCOM = 0x00000080 :: GLbitfield
+
+pattern GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI = 0x8835 :: GLenum
+
+pattern GL_COLOR_CLEAR_VALUE = 0x0C22 :: GLenum
+
+pattern GL_COLOR_COMPONENTS = 0x8283 :: GLenum
+
+pattern GL_COLOR_ENCODING = 0x8296 :: GLenum
+
+pattern GL_COLOR_EXT = 0x1800 :: GLenum
+
+pattern GL_COLOR_FLOAT_APPLE = 0x8A0F :: GLenum
+
+pattern GL_COLOR_INDEX = 0x1900 :: GLenum
+
+pattern GL_COLOR_INDEX12_EXT = 0x80E6 :: GLenum
+
+pattern GL_COLOR_INDEX16_EXT = 0x80E7 :: GLenum
+
+pattern GL_COLOR_INDEX1_EXT = 0x80E2 :: GLenum
+
+pattern GL_COLOR_INDEX2_EXT = 0x80E3 :: GLenum
+
+pattern GL_COLOR_INDEX4_EXT = 0x80E4 :: GLenum
+
+pattern GL_COLOR_INDEX8_EXT = 0x80E5 :: GLenum
+
+pattern GL_COLOR_INDEXES = 0x1603 :: GLenum
+
+pattern GL_COLOR_LOGIC_OP = 0x0BF2 :: GLenum
+
+pattern GL_COLOR_MATERIAL = 0x0B57 :: GLenum
+
+pattern GL_COLOR_MATERIAL_FACE = 0x0B55 :: GLenum
+
+pattern GL_COLOR_MATERIAL_PARAMETER = 0x0B56 :: GLenum
+
+pattern GL_COLOR_MATRIX = 0x80B1 :: GLenum
+
+pattern GL_COLOR_MATRIX_SGI = 0x80B1 :: GLenum
+
+pattern GL_COLOR_MATRIX_STACK_DEPTH = 0x80B2 :: GLenum
+
+pattern GL_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B2 :: GLenum
+
+pattern GL_COLOR_RENDERABLE = 0x8286 :: GLenum
+
+pattern GL_COLOR_SAMPLES_NV = 0x8E20 :: GLenum
+
+pattern GL_COLOR_SUM = 0x8458 :: GLenum
+
+pattern GL_COLOR_SUM_ARB = 0x8458 :: GLenum
+
+pattern GL_COLOR_SUM_CLAMP_NV = 0x854F :: GLenum
+
+pattern GL_COLOR_SUM_EXT = 0x8458 :: GLenum
+
+pattern GL_COLOR_TABLE = 0x80D0 :: GLenum
+
+pattern GL_COLOR_TABLE_ALPHA_SIZE = 0x80DD :: GLenum
+
+pattern GL_COLOR_TABLE_ALPHA_SIZE_SGI = 0x80DD :: GLenum
+
+pattern GL_COLOR_TABLE_BIAS = 0x80D7 :: GLenum
+
+pattern GL_COLOR_TABLE_BIAS_SGI = 0x80D7 :: GLenum
+
+pattern GL_COLOR_TABLE_BLUE_SIZE = 0x80DC :: GLenum
+
+pattern GL_COLOR_TABLE_BLUE_SIZE_SGI = 0x80DC :: GLenum
+
+pattern GL_COLOR_TABLE_FORMAT = 0x80D8 :: GLenum
+
+pattern GL_COLOR_TABLE_FORMAT_SGI = 0x80D8 :: GLenum
+
+pattern GL_COLOR_TABLE_GREEN_SIZE = 0x80DB :: GLenum
+
+pattern GL_COLOR_TABLE_GREEN_SIZE_SGI = 0x80DB :: GLenum
+
+pattern GL_COLOR_TABLE_INTENSITY_SIZE = 0x80DF :: GLenum
+
+pattern GL_COLOR_TABLE_INTENSITY_SIZE_SGI = 0x80DF :: GLenum
+
+pattern GL_COLOR_TABLE_LUMINANCE_SIZE = 0x80DE :: GLenum
+
+pattern GL_COLOR_TABLE_LUMINANCE_SIZE_SGI = 0x80DE :: GLenum
+
+pattern GL_COLOR_TABLE_RED_SIZE = 0x80DA :: GLenum
+
+pattern GL_COLOR_TABLE_RED_SIZE_SGI = 0x80DA :: GLenum
+
+pattern GL_COLOR_TABLE_SCALE = 0x80D6 :: GLenum
+
+pattern GL_COLOR_TABLE_SCALE_SGI = 0x80D6 :: GLenum
+
+pattern GL_COLOR_TABLE_SGI = 0x80D0 :: GLenum
+
+pattern GL_COLOR_TABLE_WIDTH = 0x80D9 :: GLenum
+
+pattern GL_COLOR_TABLE_WIDTH_SGI = 0x80D9 :: GLenum
+
+pattern GL_COLOR_WRITEMASK = 0x0C23 :: GLenum
+
+pattern GL_COMBINE = 0x8570 :: GLenum
+
+pattern GL_COMBINE4_NV = 0x8503 :: GLenum
+
+pattern GL_COMBINER0_NV = 0x8550 :: GLenum
+
+pattern GL_COMBINER1_NV = 0x8551 :: GLenum
+
+pattern GL_COMBINER2_NV = 0x8552 :: GLenum
+
+pattern GL_COMBINER3_NV = 0x8553 :: GLenum
+
+pattern GL_COMBINER4_NV = 0x8554 :: GLenum
+
+pattern GL_COMBINER5_NV = 0x8555 :: GLenum
+
+pattern GL_COMBINER6_NV = 0x8556 :: GLenum
+
+pattern GL_COMBINER7_NV = 0x8557 :: GLenum
+
+pattern GL_COMBINER_AB_DOT_PRODUCT_NV = 0x8545 :: GLenum
+
+pattern GL_COMBINER_AB_OUTPUT_NV = 0x854A :: GLenum
+
+pattern GL_COMBINER_BIAS_NV = 0x8549 :: GLenum
+
+pattern GL_COMBINER_CD_DOT_PRODUCT_NV = 0x8546 :: GLenum
+
+pattern GL_COMBINER_CD_OUTPUT_NV = 0x854B :: GLenum
+
+pattern GL_COMBINER_COMPONENT_USAGE_NV = 0x8544 :: GLenum
+
+pattern GL_COMBINER_INPUT_NV = 0x8542 :: GLenum
+
+pattern GL_COMBINER_MAPPING_NV = 0x8543 :: GLenum
+
+pattern GL_COMBINER_MUX_SUM_NV = 0x8547 :: GLenum
+
+pattern GL_COMBINER_SCALE_NV = 0x8548 :: GLenum
+
+pattern GL_COMBINER_SUM_OUTPUT_NV = 0x854C :: GLenum
+
+pattern GL_COMBINE_ALPHA = 0x8572 :: GLenum
+
+pattern GL_COMBINE_ALPHA_ARB = 0x8572 :: GLenum
+
+pattern GL_COMBINE_ALPHA_EXT = 0x8572 :: GLenum
+
+pattern GL_COMBINE_ARB = 0x8570 :: GLenum
+
+pattern GL_COMBINE_EXT = 0x8570 :: GLenum
+
+pattern GL_COMBINE_RGB = 0x8571 :: GLenum
+
+pattern GL_COMBINE_RGB_ARB = 0x8571 :: GLenum
+
+pattern GL_COMBINE_RGB_EXT = 0x8571 :: GLenum
+
+pattern GL_COMMAND_BARRIER_BIT = 0x00000040 :: GLbitfield
+
+pattern GL_COMMAND_BARRIER_BIT_EXT = 0x00000040 :: GLbitfield
+
+pattern GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT = 0x884E :: GLenum
+
+pattern GL_COMPARE_REF_TO_TEXTURE = 0x884E :: GLenum
+
+pattern GL_COMPARE_REF_TO_TEXTURE_EXT = 0x884E :: GLenum
+
+pattern GL_COMPARE_R_TO_TEXTURE = 0x884E :: GLenum
+
+pattern GL_COMPARE_R_TO_TEXTURE_ARB = 0x884E :: GLenum
+
+pattern GL_COMPATIBLE_SUBROUTINES = 0x8E4B :: GLenum
+
+pattern GL_COMPILE = 0x1300 :: GLenum
+
+pattern GL_COMPILE_AND_EXECUTE = 0x1301 :: GLenum
+
+pattern GL_COMPILE_STATUS = 0x8B81 :: GLenum
+
+pattern GL_COMPLETION_STATUS_ARB = 0x91B1 :: GLenum
+
+pattern GL_COMPRESSED_ALPHA = 0x84E9 :: GLenum
+
+pattern GL_COMPRESSED_ALPHA_ARB = 0x84E9 :: GLenum
+
+pattern GL_COMPRESSED_INTENSITY = 0x84EC :: GLenum
+
+pattern GL_COMPRESSED_INTENSITY_ARB = 0x84EC :: GLenum
+
+pattern GL_COMPRESSED_LUMINANCE = 0x84EA :: GLenum
+
+pattern GL_COMPRESSED_LUMINANCE_ALPHA = 0x84EB :: GLenum
+
+pattern GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI = 0x8837 :: GLenum
+
+pattern GL_COMPRESSED_LUMINANCE_ALPHA_ARB = 0x84EB :: GLenum
+
+pattern GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C72 :: GLenum
+
+pattern GL_COMPRESSED_LUMINANCE_ARB = 0x84EA :: GLenum
+
+pattern GL_COMPRESSED_LUMINANCE_LATC1_EXT = 0x8C70 :: GLenum
+
+pattern GL_COMPRESSED_R11_EAC = 0x9270 :: GLenum
+
+pattern GL_COMPRESSED_R11_EAC_OES = 0x9270 :: GLenum
+
+pattern GL_COMPRESSED_RED = 0x8225 :: GLenum
+
+pattern GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 0x8DBD :: GLenum
+
+pattern GL_COMPRESSED_RED_RGTC1 = 0x8DBB :: GLenum
+
+pattern GL_COMPRESSED_RED_RGTC1_EXT = 0x8DBB :: GLenum
+
+pattern GL_COMPRESSED_RG = 0x8226 :: GLenum
+
+pattern GL_COMPRESSED_RG11_EAC = 0x9272 :: GLenum
+
+pattern GL_COMPRESSED_RG11_EAC_OES = 0x9272 :: GLenum
+
+pattern GL_COMPRESSED_RGB = 0x84ED :: GLenum
+
+pattern GL_COMPRESSED_RGB8_ETC2 = 0x9274 :: GLenum
+
+pattern GL_COMPRESSED_RGB8_ETC2_OES = 0x9274 :: GLenum
+
+pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9276 :: GLenum
+
+pattern GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9276 :: GLenum
+
+pattern GL_COMPRESSED_RGBA = 0x84EE :: GLenum
+
+pattern GL_COMPRESSED_RGBA8_ETC2_EAC = 0x9278 :: GLenum
+
+pattern GL_COMPRESSED_RGBA8_ETC2_EAC_OES = 0x9278 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ARB = 0x84EE :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x10 = 0x93BB :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x5 = 0x93B8 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x6 = 0x93B9 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x8 = 0x93BA :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_12x10 = 0x93BC :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_12x12 = 0x93BD :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 0x93BD :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_3x3x3_OES = 0x93C0 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_4x3x3_OES = 0x93C1 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_4x4 = 0x93B0 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 0x93B0 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_4x4x3_OES = 0x93C2 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_4x4x4_OES = 0x93C3 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_5x4 = 0x93B1 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 0x93B1 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_5x4x4_OES = 0x93C4 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_5x5 = 0x93B2 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 0x93B2 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_5x5x4_OES = 0x93C5 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_5x5x5_OES = 0x93C6 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_6x5 = 0x93B3 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 0x93B3 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_6x5x5_OES = 0x93C7 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_6x6 = 0x93B4 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 0x93B4 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_6x6x5_OES = 0x93C8 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_6x6x6_OES = 0x93C9 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_8x5 = 0x93B5 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_8x6 = 0x93B6 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_8x8 = 0x93B7 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 0x93B7 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_BPTC_UNORM = 0x8E8C :: GLenum
+
+pattern GL_COMPRESSED_RGBA_BPTC_UNORM_ARB = 0x8E8C :: GLenum
+
+pattern GL_COMPRESSED_RGBA_FXT1_3DFX = 0x86B1 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 0x8C03 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG = 0x9137 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 0x8C02 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG = 0x9138 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 0x83F1 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE = 0x83F2 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 0x83F2 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE = 0x83F3 :: GLenum
+
+pattern GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 0x83F3 :: GLenum
+
+pattern GL_COMPRESSED_RGB_ARB = 0x84ED :: GLenum
+
+pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT = 0x8E8E :: GLenum
+
+pattern GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB = 0x8E8E :: GLenum
+
+pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT = 0x8E8F :: GLenum
+
+pattern GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB = 0x8E8F :: GLenum
+
+pattern GL_COMPRESSED_RGB_FXT1_3DFX = 0x86B0 :: GLenum
+
+pattern GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 0x8C01 :: GLenum
+
+pattern GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 0x8C00 :: GLenum
+
+pattern GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 0x83F0 :: GLenum
+
+pattern GL_COMPRESSED_RG_RGTC2 = 0x8DBD :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT = 0x8C73 :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT = 0x8C71 :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_R11_EAC = 0x9271 :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_R11_EAC_OES = 0x9271 :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 0x8DBE :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_RED_RGTC1 = 0x8DBC :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 0x8DBC :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_RG11_EAC = 0x9273 :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_RG11_EAC_OES = 0x9273 :: GLenum
+
+pattern GL_COMPRESSED_SIGNED_RG_RGTC2 = 0x8DBE :: GLenum
+
+pattern GL_COMPRESSED_SLUMINANCE = 0x8C4A :: GLenum
+
+pattern GL_COMPRESSED_SLUMINANCE_ALPHA = 0x8C4B :: GLenum
+
+pattern GL_COMPRESSED_SLUMINANCE_ALPHA_EXT = 0x8C4B :: GLenum
+
+pattern GL_COMPRESSED_SLUMINANCE_EXT = 0x8C4A :: GLenum
+
+pattern GL_COMPRESSED_SRGB = 0x8C48 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 0x93DD :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES = 0x93E0 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES = 0x93E1 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 0x93D0 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES = 0x93E2 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES = 0x93E3 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 0x93D1 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES = 0x93E4 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 0x93D2 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES = 0x93E5 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES = 0x93E6 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 0x93D3 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES = 0x93E7 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 0x93D4 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES = 0x93E8 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES = 0x93E9 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 0x93D7 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 0x9279 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC_OES = 0x9279 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ETC2 = 0x9275 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_ETC2_OES = 0x9275 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277 :: GLenum
+
+pattern GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2_OES = 0x9277 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA = 0x8C49 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM = 0x8E8D :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB = 0x8E8D :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_EXT = 0x8C49 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT = 0x8A56 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG = 0x93F0 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT = 0x8A57 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG = 0x93F1 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 0x8C4D :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV = 0x8C4D :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 0x8C4E :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV = 0x8C4E :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 0x8C4F :: GLenum
+
+pattern GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV = 0x8C4F :: GLenum
+
+pattern GL_COMPRESSED_SRGB_EXT = 0x8C48 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT = 0x8A54 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT = 0x8A55 :: GLenum
+
+pattern GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 0x8C4C :: GLenum
+
+pattern GL_COMPRESSED_SRGB_S3TC_DXT1_NV = 0x8C4C :: GLenum
+
+pattern GL_COMPRESSED_TEXTURE_FORMATS = 0x86A3 :: GLenum
+
+pattern GL_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A3 :: GLenum
+
+pattern GL_COMPUTE_PROGRAM_NV = 0x90FB :: GLenum
+
+pattern GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV = 0x90FC :: GLenum
+
+pattern GL_COMPUTE_SHADER = 0x91B9 :: GLenum
+
+pattern GL_COMPUTE_SHADER_BIT = 0x00000020 :: GLbitfield
+
+pattern GL_COMPUTE_SHADER_INVOCATIONS_ARB = 0x82F5 :: GLenum
+
+pattern GL_COMPUTE_SUBROUTINE = 0x92ED :: GLenum
+
+pattern GL_COMPUTE_SUBROUTINE_UNIFORM = 0x92F3 :: GLenum
+
+pattern GL_COMPUTE_TEXTURE = 0x82A0 :: GLenum
+
+pattern GL_COMPUTE_WORK_GROUP_SIZE = 0x8267 :: GLenum
+
+pattern GL_COMP_BIT_ATI = 0x00000002 :: GLbitfield
+
+pattern GL_CONDITION_SATISFIED = 0x911C :: GLenum
+
+pattern GL_CONDITION_SATISFIED_APPLE = 0x911C :: GLenum
+
+pattern GL_CONFORMANT_NV = 0x9374 :: GLenum
+
+pattern GL_CONIC_CURVE_TO_NV = 0x1A :: GLubyte
+
+pattern GL_CONJOINT_NV = 0x9284 :: GLenum
+
+pattern GL_CONSERVATIVE_RASTERIZATION_NV = 0x9346 :: GLenum
+
+pattern GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B :: GLenum
+
+pattern GL_CONSERVATIVE_RASTER_DILATE_NV = 0x9379 :: GLenum
+
+pattern GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A :: GLenum
+
+pattern GL_CONSERVE_MEMORY_HINT_PGI = 0x1A1FD :: GLenum
+
+pattern GL_CONSTANT = 0x8576 :: GLenum
+
+pattern GL_CONSTANT_ALPHA = 0x8003 :: GLenum
+
+pattern GL_CONSTANT_ALPHA_EXT = 0x8003 :: GLenum
+
+pattern GL_CONSTANT_ARB = 0x8576 :: GLenum
+
+pattern GL_CONSTANT_ATTENUATION = 0x1207 :: GLenum
+
+pattern GL_CONSTANT_BORDER = 0x8151 :: GLenum
+
+pattern GL_CONSTANT_BORDER_HP = 0x8151 :: GLenum
+
+pattern GL_CONSTANT_COLOR = 0x8001 :: GLenum
+
+pattern GL_CONSTANT_COLOR0_NV = 0x852A :: GLenum
+
+pattern GL_CONSTANT_COLOR1_NV = 0x852B :: GLenum
+
+pattern GL_CONSTANT_COLOR_EXT = 0x8001 :: GLenum
+
+pattern GL_CONSTANT_EXT = 0x8576 :: GLenum
+
+pattern GL_CONSTANT_NV = 0x8576 :: GLenum
+
+pattern GL_CONST_EYE_NV = 0x86E5 :: GLenum
+
+pattern GL_CONTEXT_COMPATIBILITY_PROFILE_BIT = 0x00000002 :: GLbitfield
+
+pattern GL_CONTEXT_CORE_PROFILE_BIT = 0x00000001 :: GLbitfield
+
+pattern GL_CONTEXT_FLAGS = 0x821E :: GLenum
+
+pattern GL_CONTEXT_FLAG_DEBUG_BIT = 0x00000002 :: GLbitfield
+
+pattern GL_CONTEXT_FLAG_DEBUG_BIT_KHR = 0x00000002 :: GLbitfield
+
+pattern GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT = 0x00000001 :: GLbitfield
+
+pattern GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008 :: GLbitfield
+
+pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT = 0x00000004 :: GLbitfield
+
+pattern GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB = 0x00000004 :: GLbitfield
+
+pattern GL_CONTEXT_LOST = 0x0507 :: GLenum
+
+pattern GL_CONTEXT_LOST_KHR = 0x0507 :: GLenum
+
+pattern GL_CONTEXT_LOST_WEBGL = 0x9242 :: GLenum
+
+pattern GL_CONTEXT_PROFILE_MASK = 0x9126 :: GLenum
+
+pattern GL_CONTEXT_RELEASE_BEHAVIOR = 0x82FB :: GLenum
+
+pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH = 0x82FC :: GLenum
+
+pattern GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR = 0x82FC :: GLenum
+
+pattern GL_CONTEXT_RELEASE_BEHAVIOR_KHR = 0x82FB :: GLenum
+
+pattern GL_CONTEXT_ROBUST_ACCESS = 0x90F3 :: GLenum
+
+pattern GL_CONTEXT_ROBUST_ACCESS_EXT = 0x90F3 :: GLenum
+
+pattern GL_CONTEXT_ROBUST_ACCESS_KHR = 0x90F3 :: GLenum
+
+pattern GL_CONTINUOUS_AMD = 0x9007 :: GLenum
+
+pattern GL_CONTRAST_NV = 0x92A1 :: GLenum
+
+pattern GL_CONVEX_HULL_NV = 0x908B :: GLenum
+
+pattern GL_CONVOLUTION_1D = 0x8010 :: GLenum
+
+pattern GL_CONVOLUTION_1D_EXT = 0x8010 :: GLenum
+
+pattern GL_CONVOLUTION_2D = 0x8011 :: GLenum
+
+pattern GL_CONVOLUTION_2D_EXT = 0x8011 :: GLenum
+
+pattern GL_CONVOLUTION_BORDER_COLOR = 0x8154 :: GLenum
+
+pattern GL_CONVOLUTION_BORDER_COLOR_HP = 0x8154 :: GLenum
+
+pattern GL_CONVOLUTION_BORDER_MODE = 0x8013 :: GLenum
+
+pattern GL_CONVOLUTION_BORDER_MODE_EXT = 0x8013 :: GLenum
+
+pattern GL_CONVOLUTION_FILTER_BIAS = 0x8015 :: GLenum
+
+pattern GL_CONVOLUTION_FILTER_BIAS_EXT = 0x8015 :: GLenum
+
+pattern GL_CONVOLUTION_FILTER_SCALE = 0x8014 :: GLenum
+
+pattern GL_CONVOLUTION_FILTER_SCALE_EXT = 0x8014 :: GLenum
+
+pattern GL_CONVOLUTION_FORMAT = 0x8017 :: GLenum
+
+pattern GL_CONVOLUTION_FORMAT_EXT = 0x8017 :: GLenum
+
+pattern GL_CONVOLUTION_HEIGHT = 0x8019 :: GLenum
+
+pattern GL_CONVOLUTION_HEIGHT_EXT = 0x8019 :: GLenum
+
+pattern GL_CONVOLUTION_HINT_SGIX = 0x8316 :: GLenum
+
+pattern GL_CONVOLUTION_WIDTH = 0x8018 :: GLenum
+
+pattern GL_CONVOLUTION_WIDTH_EXT = 0x8018 :: GLenum
+
+pattern GL_CON_0_ATI = 0x8941 :: GLenum
+
+pattern GL_CON_10_ATI = 0x894B :: GLenum
+
+pattern GL_CON_11_ATI = 0x894C :: GLenum
+
+pattern GL_CON_12_ATI = 0x894D :: GLenum
+
+pattern GL_CON_13_ATI = 0x894E :: GLenum
+
+pattern GL_CON_14_ATI = 0x894F :: GLenum
+
+pattern GL_CON_15_ATI = 0x8950 :: GLenum
+
+pattern GL_CON_16_ATI = 0x8951 :: GLenum
+
+pattern GL_CON_17_ATI = 0x8952 :: GLenum
+
+pattern GL_CON_18_ATI = 0x8953 :: GLenum
+
+pattern GL_CON_19_ATI = 0x8954 :: GLenum
+
+pattern GL_CON_1_ATI = 0x8942 :: GLenum
+
+pattern GL_CON_20_ATI = 0x8955 :: GLenum
+
+pattern GL_CON_21_ATI = 0x8956 :: GLenum
+
+pattern GL_CON_22_ATI = 0x8957 :: GLenum
+
+pattern GL_CON_23_ATI = 0x8958 :: GLenum
+
+pattern GL_CON_24_ATI = 0x8959 :: GLenum
+
+pattern GL_CON_25_ATI = 0x895A :: GLenum
+
+pattern GL_CON_26_ATI = 0x895B :: GLenum
+
+pattern GL_CON_27_ATI = 0x895C :: GLenum
+
+pattern GL_CON_28_ATI = 0x895D :: GLenum
+
+pattern GL_CON_29_ATI = 0x895E :: GLenum
+
+pattern GL_CON_2_ATI = 0x8943 :: GLenum
+
+pattern GL_CON_30_ATI = 0x895F :: GLenum
+
+pattern GL_CON_31_ATI = 0x8960 :: GLenum
+
+pattern GL_CON_3_ATI = 0x8944 :: GLenum
+
+pattern GL_CON_4_ATI = 0x8945 :: GLenum
+
+pattern GL_CON_5_ATI = 0x8946 :: GLenum
+
+pattern GL_CON_6_ATI = 0x8947 :: GLenum
+
+pattern GL_CON_7_ATI = 0x8948 :: GLenum
+
+pattern GL_CON_8_ATI = 0x8949 :: GLenum
+
+pattern GL_CON_9_ATI = 0x894A :: GLenum
+
+pattern GL_COORD_REPLACE = 0x8862 :: GLenum
+
+pattern GL_COORD_REPLACE_ARB = 0x8862 :: GLenum
+
+pattern GL_COORD_REPLACE_NV = 0x8862 :: GLenum
+
+pattern GL_COORD_REPLACE_OES = 0x8862 :: GLenum
+
+pattern GL_COPY = 0x1503 :: GLenum
+
+pattern GL_COPY_INVERTED = 0x150C :: GLenum
+
+pattern GL_COPY_PIXEL_TOKEN = 0x0706 :: GLenum
+
+pattern GL_COPY_READ_BUFFER = 0x8F36 :: GLenum
+
+pattern GL_COPY_READ_BUFFER_BINDING = 0x8F36 :: GLenum
+
+pattern GL_COPY_READ_BUFFER_NV = 0x8F36 :: GLenum
+
+pattern GL_COPY_WRITE_BUFFER = 0x8F37 :: GLenum
+
+pattern GL_COPY_WRITE_BUFFER_BINDING = 0x8F37 :: GLenum
+
+pattern GL_COPY_WRITE_BUFFER_NV = 0x8F37 :: GLenum
+
+pattern GL_COUNTER_RANGE_AMD = 0x8BC1 :: GLenum
+
+pattern GL_COUNTER_TYPE_AMD = 0x8BC0 :: GLenum
+
+pattern GL_COUNT_DOWN_NV = 0x9089 :: GLenum
+
+pattern GL_COUNT_UP_NV = 0x9088 :: GLenum
+
+pattern GL_COVERAGE_ALL_FRAGMENTS_NV = 0x8ED5 :: GLenum
+
+pattern GL_COVERAGE_ATTACHMENT_NV = 0x8ED2 :: GLenum
+
+pattern GL_COVERAGE_AUTOMATIC_NV = 0x8ED7 :: GLenum
+
+pattern GL_COVERAGE_BUFFERS_NV = 0x8ED3 :: GLenum
+
+pattern GL_COVERAGE_BUFFER_BIT_NV = 0x00008000 :: GLbitfield
+
+pattern GL_COVERAGE_COMPONENT4_NV = 0x8ED1 :: GLenum
+
+pattern GL_COVERAGE_COMPONENT_NV = 0x8ED0 :: GLenum
+
+pattern GL_COVERAGE_EDGE_FRAGMENTS_NV = 0x8ED6 :: GLenum
+
+pattern GL_COVERAGE_MODULATION_NV = 0x9332 :: GLenum
+
+pattern GL_COVERAGE_MODULATION_TABLE_NV = 0x9331 :: GLenum
+
+pattern GL_COVERAGE_MODULATION_TABLE_SIZE_NV = 0x9333 :: GLenum
+
+pattern GL_COVERAGE_SAMPLES_NV = 0x8ED4 :: GLenum
+
+pattern GL_CPU_OPTIMIZED_QCOM = 0x8FB1 :: GLenum
+
+pattern GL_CUBIC_CURVE_TO_NV = 0x0C :: GLubyte
+
+pattern GL_CUBIC_EXT = 0x8334 :: GLenum
+
+pattern GL_CUBIC_HP = 0x815F :: GLenum
+
+pattern GL_CUBIC_IMG = 0x9139 :: GLenum
+
+pattern GL_CUBIC_MIPMAP_LINEAR_IMG = 0x913B :: GLenum
+
+pattern GL_CUBIC_MIPMAP_NEAREST_IMG = 0x913A :: GLenum
+
+pattern GL_CULL_FACE = 0x0B44 :: GLenum
+
+pattern GL_CULL_FACE_MODE = 0x0B45 :: GLenum
+
+pattern GL_CULL_FRAGMENT_NV = 0x86E7 :: GLenum
+
+pattern GL_CULL_MODES_NV = 0x86E0 :: GLenum
+
+pattern GL_CULL_VERTEX_EXT = 0x81AA :: GLenum
+
+pattern GL_CULL_VERTEX_EYE_POSITION_EXT = 0x81AB :: GLenum
+
+pattern GL_CULL_VERTEX_IBM = 103050 :: GLenum
+
+pattern GL_CULL_VERTEX_OBJECT_POSITION_EXT = 0x81AC :: GLenum
+
+pattern GL_CURRENT_ATTRIB_NV = 0x8626 :: GLenum
+
+pattern GL_CURRENT_BINORMAL_EXT = 0x843C :: GLenum
+
+pattern GL_CURRENT_BIT = 0x00000001 :: GLbitfield
+
+pattern GL_CURRENT_COLOR = 0x0B00 :: GLenum
+
+pattern GL_CURRENT_FOG_COORD = 0x8453 :: GLenum
+
+pattern GL_CURRENT_FOG_COORDINATE = 0x8453 :: GLenum
+
+pattern GL_CURRENT_FOG_COORDINATE_EXT = 0x8453 :: GLenum
+
+pattern GL_CURRENT_INDEX = 0x0B01 :: GLenum
+
+pattern GL_CURRENT_MATRIX_ARB = 0x8641 :: GLenum
+
+pattern GL_CURRENT_MATRIX_INDEX_ARB = 0x8845 :: GLenum
+
+pattern GL_CURRENT_MATRIX_NV = 0x8641 :: GLenum
+
+pattern GL_CURRENT_MATRIX_STACK_DEPTH_ARB = 0x8640 :: GLenum
+
+pattern GL_CURRENT_MATRIX_STACK_DEPTH_NV = 0x8640 :: GLenum
+
+pattern GL_CURRENT_NORMAL = 0x0B02 :: GLenum
+
+pattern GL_CURRENT_OCCLUSION_QUERY_ID_NV = 0x8865 :: GLenum
+
+pattern GL_CURRENT_PALETTE_MATRIX_ARB = 0x8843 :: GLenum
+
+pattern GL_CURRENT_PALETTE_MATRIX_OES = 0x8843 :: GLenum
+
+pattern GL_CURRENT_PROGRAM = 0x8B8D :: GLenum
+
+pattern GL_CURRENT_QUERY = 0x8865 :: GLenum
+
+pattern GL_CURRENT_QUERY_ARB = 0x8865 :: GLenum
+
+pattern GL_CURRENT_QUERY_EXT = 0x8865 :: GLenum
+
+pattern GL_CURRENT_RASTER_COLOR = 0x0B04 :: GLenum
+
+pattern GL_CURRENT_RASTER_DISTANCE = 0x0B09 :: GLenum
+
+pattern GL_CURRENT_RASTER_INDEX = 0x0B05 :: GLenum
+
+pattern GL_CURRENT_RASTER_NORMAL_SGIX = 0x8406 :: GLenum
+
+pattern GL_CURRENT_RASTER_POSITION = 0x0B07 :: GLenum
+
+pattern GL_CURRENT_RASTER_POSITION_VALID = 0x0B08 :: GLenum
+
+pattern GL_CURRENT_RASTER_SECONDARY_COLOR = 0x845F :: GLenum
+
+pattern GL_CURRENT_RASTER_TEXTURE_COORDS = 0x0B06 :: GLenum
+
+pattern GL_CURRENT_SECONDARY_COLOR = 0x8459 :: GLenum
+
+pattern GL_CURRENT_SECONDARY_COLOR_EXT = 0x8459 :: GLenum
+
+pattern GL_CURRENT_TANGENT_EXT = 0x843B :: GLenum
+
+pattern GL_CURRENT_TEXTURE_COORDS = 0x0B03 :: GLenum
+
+pattern GL_CURRENT_TIME_NV = 0x8E28 :: GLenum
+
+pattern GL_CURRENT_VERTEX_ATTRIB = 0x8626 :: GLenum
+
+pattern GL_CURRENT_VERTEX_ATTRIB_ARB = 0x8626 :: GLenum
+
+pattern GL_CURRENT_VERTEX_EXT = 0x87E2 :: GLenum
+
+pattern GL_CURRENT_VERTEX_WEIGHT_EXT = 0x850B :: GLenum
+
+pattern GL_CURRENT_WEIGHT_ARB = 0x86A8 :: GLenum
+
+pattern GL_CW = 0x0900 :: GLenum
+
+pattern GL_DARKEN = 0x9297 :: GLenum
+
+pattern GL_DARKEN_KHR = 0x9297 :: GLenum
+
+pattern GL_DARKEN_NV = 0x9297 :: GLenum
+
+pattern GL_DATA_BUFFER_AMD = 0x9151 :: GLenum
+
+pattern GL_DEBUG_ASSERT_MESA = 0x875B :: GLenum
+
+pattern GL_DEBUG_CALLBACK_FUNCTION = 0x8244 :: GLenum
+
+pattern GL_DEBUG_CALLBACK_FUNCTION_ARB = 0x8244 :: GLenum
+
+pattern GL_DEBUG_CALLBACK_FUNCTION_KHR = 0x8244 :: GLenum
+
+pattern GL_DEBUG_CALLBACK_USER_PARAM = 0x8245 :: GLenum
+
+pattern GL_DEBUG_CALLBACK_USER_PARAM_ARB = 0x8245 :: GLenum
+
+pattern GL_DEBUG_CALLBACK_USER_PARAM_KHR = 0x8245 :: GLenum
+
+pattern GL_DEBUG_CATEGORY_API_ERROR_AMD = 0x9149 :: GLenum
+
+pattern GL_DEBUG_CATEGORY_APPLICATION_AMD = 0x914F :: GLenum
+
+pattern GL_DEBUG_CATEGORY_DEPRECATION_AMD = 0x914B :: GLenum
+
+pattern GL_DEBUG_CATEGORY_OTHER_AMD = 0x9150 :: GLenum
+
+pattern GL_DEBUG_CATEGORY_PERFORMANCE_AMD = 0x914D :: GLenum
+
+pattern GL_DEBUG_CATEGORY_SHADER_COMPILER_AMD = 0x914E :: GLenum
+
+pattern GL_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD = 0x914C :: GLenum
+
+pattern GL_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD = 0x914A :: GLenum
+
+pattern GL_DEBUG_GROUP_STACK_DEPTH = 0x826D :: GLenum
+
+pattern GL_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826D :: GLenum
+
+pattern GL_DEBUG_LOGGED_MESSAGES = 0x9145 :: GLenum
+
+pattern GL_DEBUG_LOGGED_MESSAGES_AMD = 0x9145 :: GLenum
+
+pattern GL_DEBUG_LOGGED_MESSAGES_ARB = 0x9145 :: GLenum
+
+pattern GL_DEBUG_LOGGED_MESSAGES_KHR = 0x9145 :: GLenum
+
+pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 0x8243 :: GLenum
+
+pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB = 0x8243 :: GLenum
+
+pattern GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR = 0x8243 :: GLenum
+
+pattern GL_DEBUG_OBJECT_MESA = 0x8759 :: GLenum
+
+pattern GL_DEBUG_OUTPUT = 0x92E0 :: GLenum
+
+pattern GL_DEBUG_OUTPUT_KHR = 0x92E0 :: GLenum
+
+pattern GL_DEBUG_OUTPUT_SYNCHRONOUS = 0x8242 :: GLenum
+
+pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB = 0x8242 :: GLenum
+
+pattern GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR = 0x8242 :: GLenum
+
+pattern GL_DEBUG_PRINT_MESA = 0x875A :: GLenum
+
+pattern GL_DEBUG_SEVERITY_HIGH = 0x9146 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_HIGH_AMD = 0x9146 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_HIGH_ARB = 0x9146 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_HIGH_KHR = 0x9146 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_LOW = 0x9148 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_LOW_AMD = 0x9148 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_LOW_ARB = 0x9148 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_LOW_KHR = 0x9148 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_MEDIUM = 0x9147 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_MEDIUM_AMD = 0x9147 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_MEDIUM_ARB = 0x9147 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_MEDIUM_KHR = 0x9147 :: GLenum
+
+pattern GL_DEBUG_SEVERITY_NOTIFICATION = 0x826B :: GLenum
+
+pattern GL_DEBUG_SEVERITY_NOTIFICATION_KHR = 0x826B :: GLenum
+
+pattern GL_DEBUG_SOURCE_API = 0x8246 :: GLenum
+
+pattern GL_DEBUG_SOURCE_API_ARB = 0x8246 :: GLenum
+
+pattern GL_DEBUG_SOURCE_API_KHR = 0x8246 :: GLenum
+
+pattern GL_DEBUG_SOURCE_APPLICATION = 0x824A :: GLenum
+
+pattern GL_DEBUG_SOURCE_APPLICATION_ARB = 0x824A :: GLenum
+
+pattern GL_DEBUG_SOURCE_APPLICATION_KHR = 0x824A :: GLenum
+
+pattern GL_DEBUG_SOURCE_OTHER = 0x824B :: GLenum
+
+pattern GL_DEBUG_SOURCE_OTHER_ARB = 0x824B :: GLenum
+
+pattern GL_DEBUG_SOURCE_OTHER_KHR = 0x824B :: GLenum
+
+pattern GL_DEBUG_SOURCE_SHADER_COMPILER = 0x8248 :: GLenum
+
+pattern GL_DEBUG_SOURCE_SHADER_COMPILER_ARB = 0x8248 :: GLenum
+
+pattern GL_DEBUG_SOURCE_SHADER_COMPILER_KHR = 0x8248 :: GLenum
+
+pattern GL_DEBUG_SOURCE_THIRD_PARTY = 0x8249 :: GLenum
+
+pattern GL_DEBUG_SOURCE_THIRD_PARTY_ARB = 0x8249 :: GLenum
+
+pattern GL_DEBUG_SOURCE_THIRD_PARTY_KHR = 0x8249 :: GLenum
+
+pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM = 0x8247 :: GLenum
+
+pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_ARB = 0x8247 :: GLenum
+
+pattern GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR = 0x8247 :: GLenum
+
+pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR = 0x824D :: GLenum
+
+pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB = 0x824D :: GLenum
+
+pattern GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR = 0x824D :: GLenum
+
+pattern GL_DEBUG_TYPE_ERROR = 0x824C :: GLenum
+
+pattern GL_DEBUG_TYPE_ERROR_ARB = 0x824C :: GLenum
+
+pattern GL_DEBUG_TYPE_ERROR_KHR = 0x824C :: GLenum
+
+pattern GL_DEBUG_TYPE_MARKER = 0x8268 :: GLenum
+
+pattern GL_DEBUG_TYPE_MARKER_KHR = 0x8268 :: GLenum
+
+pattern GL_DEBUG_TYPE_OTHER = 0x8251 :: GLenum
+
+pattern GL_DEBUG_TYPE_OTHER_ARB = 0x8251 :: GLenum
+
+pattern GL_DEBUG_TYPE_OTHER_KHR = 0x8251 :: GLenum
+
+pattern GL_DEBUG_TYPE_PERFORMANCE = 0x8250 :: GLenum
+
+pattern GL_DEBUG_TYPE_PERFORMANCE_ARB = 0x8250 :: GLenum
+
+pattern GL_DEBUG_TYPE_PERFORMANCE_KHR = 0x8250 :: GLenum
+
+pattern GL_DEBUG_TYPE_POP_GROUP = 0x826A :: GLenum
+
+pattern GL_DEBUG_TYPE_POP_GROUP_KHR = 0x826A :: GLenum
+
+pattern GL_DEBUG_TYPE_PORTABILITY = 0x824F :: GLenum
+
+pattern GL_DEBUG_TYPE_PORTABILITY_ARB = 0x824F :: GLenum
+
+pattern GL_DEBUG_TYPE_PORTABILITY_KHR = 0x824F :: GLenum
+
+pattern GL_DEBUG_TYPE_PUSH_GROUP = 0x8269 :: GLenum
+
+pattern GL_DEBUG_TYPE_PUSH_GROUP_KHR = 0x8269 :: GLenum
+
+pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR = 0x824E :: GLenum
+
+pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB = 0x824E :: GLenum
+
+pattern GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR = 0x824E :: GLenum
+
+pattern GL_DECAL = 0x2101 :: GLenum
+
+pattern GL_DECODE_EXT = 0x8A49 :: GLenum
+
+pattern GL_DECR = 0x1E03 :: GLenum
+
+pattern GL_DECR_WRAP = 0x8508 :: GLenum
+
+pattern GL_DECR_WRAP_EXT = 0x8508 :: GLenum
+
+pattern GL_DECR_WRAP_OES = 0x8508 :: GLenum
+
+pattern GL_DEFORMATIONS_MASK_SGIX = 0x8196 :: GLenum
+
+pattern GL_DELETE_STATUS = 0x8B80 :: GLenum
+
+pattern GL_DEPENDENT_AR_TEXTURE_2D_NV = 0x86E9 :: GLenum
+
+pattern GL_DEPENDENT_GB_TEXTURE_2D_NV = 0x86EA :: GLenum
+
+pattern GL_DEPENDENT_HILO_TEXTURE_2D_NV = 0x8858 :: GLenum
+
+pattern GL_DEPENDENT_RGB_TEXTURE_3D_NV = 0x8859 :: GLenum
+
+pattern GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV = 0x885A :: GLenum
+
+pattern GL_DEPTH = 0x1801 :: GLenum
+
+pattern GL_DEPTH24_STENCIL8 = 0x88F0 :: GLenum
+
+pattern GL_DEPTH24_STENCIL8_EXT = 0x88F0 :: GLenum
+
+pattern GL_DEPTH24_STENCIL8_OES = 0x88F0 :: GLenum
+
+pattern GL_DEPTH32F_STENCIL8 = 0x8CAD :: GLenum
+
+pattern GL_DEPTH32F_STENCIL8_NV = 0x8DAC :: GLenum
+
+pattern GL_DEPTH_ATTACHMENT = 0x8D00 :: GLenum
+
+pattern GL_DEPTH_ATTACHMENT_EXT = 0x8D00 :: GLenum
+
+pattern GL_DEPTH_ATTACHMENT_OES = 0x8D00 :: GLenum
+
+pattern GL_DEPTH_BIAS = 0x0D1F :: GLenum
+
+pattern GL_DEPTH_BITS = 0x0D56 :: GLenum
+
+pattern GL_DEPTH_BOUNDS_EXT = 0x8891 :: GLenum
+
+pattern GL_DEPTH_BOUNDS_TEST_EXT = 0x8890 :: GLenum
+
+pattern GL_DEPTH_BUFFER_BIT = 0x00000100 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT0_QCOM = 0x00000100 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT1_QCOM = 0x00000200 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT2_QCOM = 0x00000400 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT3_QCOM = 0x00000800 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT4_QCOM = 0x00001000 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT5_QCOM = 0x00002000 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT6_QCOM = 0x00004000 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_BIT7_QCOM = 0x00008000 :: GLbitfield
+
+pattern GL_DEPTH_BUFFER_FLOAT_MODE_NV = 0x8DAF :: GLenum
+
+pattern GL_DEPTH_CLAMP = 0x864F :: GLenum
+
+pattern GL_DEPTH_CLAMP_FAR_AMD = 0x901F :: GLenum
+
+pattern GL_DEPTH_CLAMP_NEAR_AMD = 0x901E :: GLenum
+
+pattern GL_DEPTH_CLAMP_NV = 0x864F :: GLenum
+
+pattern GL_DEPTH_CLEAR_VALUE = 0x0B73 :: GLenum
+
+pattern GL_DEPTH_COMPONENT = 0x1902 :: GLenum
+
+pattern GL_DEPTH_COMPONENT16 = 0x81A5 :: GLenum
+
+pattern GL_DEPTH_COMPONENT16_ARB = 0x81A5 :: GLenum
+
+pattern GL_DEPTH_COMPONENT16_NONLINEAR_NV = 0x8E2C :: GLenum
+
+pattern GL_DEPTH_COMPONENT16_OES = 0x81A5 :: GLenum
+
+pattern GL_DEPTH_COMPONENT16_SGIX = 0x81A5 :: GLenum
+
+pattern GL_DEPTH_COMPONENT24 = 0x81A6 :: GLenum
+
+pattern GL_DEPTH_COMPONENT24_ARB = 0x81A6 :: GLenum
+
+pattern GL_DEPTH_COMPONENT24_OES = 0x81A6 :: GLenum
+
+pattern GL_DEPTH_COMPONENT24_SGIX = 0x81A6 :: GLenum
+
+pattern GL_DEPTH_COMPONENT32 = 0x81A7 :: GLenum
+
+pattern GL_DEPTH_COMPONENT32F = 0x8CAC :: GLenum
+
+pattern GL_DEPTH_COMPONENT32F_NV = 0x8DAB :: GLenum
+
+pattern GL_DEPTH_COMPONENT32_ARB = 0x81A7 :: GLenum
+
+pattern GL_DEPTH_COMPONENT32_OES = 0x81A7 :: GLenum
+
+pattern GL_DEPTH_COMPONENT32_SGIX = 0x81A7 :: GLenum
+
+pattern GL_DEPTH_COMPONENTS = 0x8284 :: GLenum
+
+pattern GL_DEPTH_EXT = 0x1801 :: GLenum
+
+pattern GL_DEPTH_FUNC = 0x0B74 :: GLenum
+
+pattern GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX = 0x8311 :: GLenum
+
+pattern GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX = 0x8312 :: GLenum
+
+pattern GL_DEPTH_PASS_INSTRUMENT_SGIX = 0x8310 :: GLenum
+
+pattern GL_DEPTH_RANGE = 0x0B70 :: GLenum
+
+pattern GL_DEPTH_RENDERABLE = 0x8287 :: GLenum
+
+pattern GL_DEPTH_SAMPLES_NV = 0x932D :: GLenum
+
+pattern GL_DEPTH_SCALE = 0x0D1E :: GLenum
+
+pattern GL_DEPTH_STENCIL = 0x84F9 :: GLenum
+
+pattern GL_DEPTH_STENCIL_ATTACHMENT = 0x821A :: GLenum
+
+pattern GL_DEPTH_STENCIL_EXT = 0x84F9 :: GLenum
+
+pattern GL_DEPTH_STENCIL_MESA = 0x8750 :: GLenum
+
+pattern GL_DEPTH_STENCIL_NV = 0x84F9 :: GLenum
+
+pattern GL_DEPTH_STENCIL_OES = 0x84F9 :: GLenum
+
+pattern GL_DEPTH_STENCIL_TEXTURE_MODE = 0x90EA :: GLenum
+
+pattern GL_DEPTH_STENCIL_TO_BGRA_NV = 0x886F :: GLenum
+
+pattern GL_DEPTH_STENCIL_TO_RGBA_NV = 0x886E :: GLenum
+
+pattern GL_DEPTH_TEST = 0x0B71 :: GLenum
+
+pattern GL_DEPTH_TEXTURE_MODE = 0x884B :: GLenum
+
+pattern GL_DEPTH_TEXTURE_MODE_ARB = 0x884B :: GLenum
+
+pattern GL_DEPTH_WRITEMASK = 0x0B72 :: GLenum
+
+pattern GL_DETAIL_TEXTURE_2D_BINDING_SGIS = 0x8096 :: GLenum
+
+pattern GL_DETAIL_TEXTURE_2D_SGIS = 0x8095 :: GLenum
+
+pattern GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS = 0x809C :: GLenum
+
+pattern GL_DETAIL_TEXTURE_LEVEL_SGIS = 0x809A :: GLenum
+
+pattern GL_DETAIL_TEXTURE_MODE_SGIS = 0x809B :: GLenum
+
+pattern GL_DIFFERENCE = 0x929E :: GLenum
+
+pattern GL_DIFFERENCE_KHR = 0x929E :: GLenum
+
+pattern GL_DIFFERENCE_NV = 0x929E :: GLenum
+
+pattern GL_DIFFUSE = 0x1201 :: GLenum
+
+pattern GL_DISCARD_ATI = 0x8763 :: GLenum
+
+pattern GL_DISCARD_NV = 0x8530 :: GLenum
+
+pattern GL_DISCRETE_AMD = 0x9006 :: GLenum
+
+pattern GL_DISJOINT_NV = 0x9283 :: GLenum
+
+pattern GL_DISPATCH_INDIRECT_BUFFER = 0x90EE :: GLenum
+
+pattern GL_DISPATCH_INDIRECT_BUFFER_BINDING = 0x90EF :: GLenum
+
+pattern GL_DISPLAY_LIST = 0x82E7 :: GLenum
+
+pattern GL_DISTANCE_ATTENUATION_EXT = 0x8129 :: GLenum
+
+pattern GL_DISTANCE_ATTENUATION_SGIS = 0x8129 :: GLenum
+
+pattern GL_DITHER = 0x0BD0 :: GLenum
+
+pattern GL_DMP_PROGRAM_BINARY_DMP = 0x9253 :: GLenum
+
+pattern GL_DOMAIN = 0x0A02 :: GLenum
+
+pattern GL_DONT_CARE = 0x1100 :: GLenum
+
+pattern GL_DOT2_ADD_ATI = 0x896C :: GLenum
+
+pattern GL_DOT3_ATI = 0x8966 :: GLenum
+
+pattern GL_DOT3_RGB = 0x86AE :: GLenum
+
+pattern GL_DOT3_RGBA = 0x86AF :: GLenum
+
+pattern GL_DOT3_RGBA_ARB = 0x86AF :: GLenum
+
+pattern GL_DOT3_RGBA_EXT = 0x8741 :: GLenum
+
+pattern GL_DOT3_RGBA_IMG = 0x86AF :: GLenum
+
+pattern GL_DOT3_RGB_ARB = 0x86AE :: GLenum
+
+pattern GL_DOT3_RGB_EXT = 0x8740 :: GLenum
+
+pattern GL_DOT4_ATI = 0x8967 :: GLenum
+
+pattern GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV = 0x885D :: GLenum
+
+pattern GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV = 0x86F3 :: GLenum
+
+pattern GL_DOT_PRODUCT_DEPTH_REPLACE_NV = 0x86ED :: GLenum
+
+pattern GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV = 0x86F1 :: GLenum
+
+pattern GL_DOT_PRODUCT_NV = 0x86EC :: GLenum
+
+pattern GL_DOT_PRODUCT_PASS_THROUGH_NV = 0x885B :: GLenum
+
+pattern GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV = 0x86F2 :: GLenum
+
+pattern GL_DOT_PRODUCT_TEXTURE_1D_NV = 0x885C :: GLenum
+
+pattern GL_DOT_PRODUCT_TEXTURE_2D_NV = 0x86EE :: GLenum
+
+pattern GL_DOT_PRODUCT_TEXTURE_3D_NV = 0x86EF :: GLenum
+
+pattern GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV = 0x86F0 :: GLenum
+
+pattern GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV = 0x864E :: GLenum
+
+pattern GL_DOUBLE = 0x140A :: GLenum
+
+pattern GL_DOUBLEBUFFER = 0x0C32 :: GLenum
+
+pattern GL_DOUBLE_EXT = 0x140A :: GLenum
+
+pattern GL_DOUBLE_MAT2 = 0x8F46 :: GLenum
+
+pattern GL_DOUBLE_MAT2_EXT = 0x8F46 :: GLenum
+
+pattern GL_DOUBLE_MAT2x3 = 0x8F49 :: GLenum
+
+pattern GL_DOUBLE_MAT2x3_EXT = 0x8F49 :: GLenum
+
+pattern GL_DOUBLE_MAT2x4 = 0x8F4A :: GLenum
+
+pattern GL_DOUBLE_MAT2x4_EXT = 0x8F4A :: GLenum
+
+pattern GL_DOUBLE_MAT3 = 0x8F47 :: GLenum
+
+pattern GL_DOUBLE_MAT3_EXT = 0x8F47 :: GLenum
+
+pattern GL_DOUBLE_MAT3x2 = 0x8F4B :: GLenum
+
+pattern GL_DOUBLE_MAT3x2_EXT = 0x8F4B :: GLenum
+
+pattern GL_DOUBLE_MAT3x4 = 0x8F4C :: GLenum
+
+pattern GL_DOUBLE_MAT3x4_EXT = 0x8F4C :: GLenum
+
+pattern GL_DOUBLE_MAT4 = 0x8F48 :: GLenum
+
+pattern GL_DOUBLE_MAT4_EXT = 0x8F48 :: GLenum
+
+pattern GL_DOUBLE_MAT4x2 = 0x8F4D :: GLenum
+
+pattern GL_DOUBLE_MAT4x2_EXT = 0x8F4D :: GLenum
+
+pattern GL_DOUBLE_MAT4x3 = 0x8F4E :: GLenum
+
+pattern GL_DOUBLE_MAT4x3_EXT = 0x8F4E :: GLenum
+
+pattern GL_DOUBLE_VEC2 = 0x8FFC :: GLenum
+
+pattern GL_DOUBLE_VEC2_EXT = 0x8FFC :: GLenum
+
+pattern GL_DOUBLE_VEC3 = 0x8FFD :: GLenum
+
+pattern GL_DOUBLE_VEC3_EXT = 0x8FFD :: GLenum
+
+pattern GL_DOUBLE_VEC4 = 0x8FFE :: GLenum
+
+pattern GL_DOUBLE_VEC4_EXT = 0x8FFE :: GLenum
+
+pattern GL_DRAW_ARRAYS_COMMAND_NV = 0x0003 :: GLenum
+
+pattern GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007 :: GLenum
+
+pattern GL_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005 :: GLenum
+
+pattern GL_DRAW_BUFFER = 0x0C01 :: GLenum
+
+pattern GL_DRAW_BUFFER0 = 0x8825 :: GLenum
+
+pattern GL_DRAW_BUFFER0_ARB = 0x8825 :: GLenum
+
+pattern GL_DRAW_BUFFER0_ATI = 0x8825 :: GLenum
+
+pattern GL_DRAW_BUFFER0_EXT = 0x8825 :: GLenum
+
+pattern GL_DRAW_BUFFER0_NV = 0x8825 :: GLenum
+
+pattern GL_DRAW_BUFFER1 = 0x8826 :: GLenum
+
+pattern GL_DRAW_BUFFER10 = 0x882F :: GLenum
+
+pattern GL_DRAW_BUFFER10_ARB = 0x882F :: GLenum
+
+pattern GL_DRAW_BUFFER10_ATI = 0x882F :: GLenum
+
+pattern GL_DRAW_BUFFER10_EXT = 0x882F :: GLenum
+
+pattern GL_DRAW_BUFFER10_NV = 0x882F :: GLenum
+
+pattern GL_DRAW_BUFFER11 = 0x8830 :: GLenum
+
+pattern GL_DRAW_BUFFER11_ARB = 0x8830 :: GLenum
+
+pattern GL_DRAW_BUFFER11_ATI = 0x8830 :: GLenum
+
+pattern GL_DRAW_BUFFER11_EXT = 0x8830 :: GLenum
+
+pattern GL_DRAW_BUFFER11_NV = 0x8830 :: GLenum
+
+pattern GL_DRAW_BUFFER12 = 0x8831 :: GLenum
+
+pattern GL_DRAW_BUFFER12_ARB = 0x8831 :: GLenum
+
+pattern GL_DRAW_BUFFER12_ATI = 0x8831 :: GLenum
+
+pattern GL_DRAW_BUFFER12_EXT = 0x8831 :: GLenum
+
+pattern GL_DRAW_BUFFER12_NV = 0x8831 :: GLenum
+
+pattern GL_DRAW_BUFFER13 = 0x8832 :: GLenum
+
+pattern GL_DRAW_BUFFER13_ARB = 0x8832 :: GLenum
+
+pattern GL_DRAW_BUFFER13_ATI = 0x8832 :: GLenum
+
+pattern GL_DRAW_BUFFER13_EXT = 0x8832 :: GLenum
+
+pattern GL_DRAW_BUFFER13_NV = 0x8832 :: GLenum
+
+pattern GL_DRAW_BUFFER14 = 0x8833 :: GLenum
+
+pattern GL_DRAW_BUFFER14_ARB = 0x8833 :: GLenum
+
+pattern GL_DRAW_BUFFER14_ATI = 0x8833 :: GLenum
+
+pattern GL_DRAW_BUFFER14_EXT = 0x8833 :: GLenum
+
+pattern GL_DRAW_BUFFER14_NV = 0x8833 :: GLenum
+
+pattern GL_DRAW_BUFFER15 = 0x8834 :: GLenum
+
+pattern GL_DRAW_BUFFER15_ARB = 0x8834 :: GLenum
+
+pattern GL_DRAW_BUFFER15_ATI = 0x8834 :: GLenum
+
+pattern GL_DRAW_BUFFER15_EXT = 0x8834 :: GLenum
+
+pattern GL_DRAW_BUFFER15_NV = 0x8834 :: GLenum
+
+pattern GL_DRAW_BUFFER1_ARB = 0x8826 :: GLenum
+
+pattern GL_DRAW_BUFFER1_ATI = 0x8826 :: GLenum
+
+pattern GL_DRAW_BUFFER1_EXT = 0x8826 :: GLenum
+
+pattern GL_DRAW_BUFFER1_NV = 0x8826 :: GLenum
+
+pattern GL_DRAW_BUFFER2 = 0x8827 :: GLenum
+
+pattern GL_DRAW_BUFFER2_ARB = 0x8827 :: GLenum
+
+pattern GL_DRAW_BUFFER2_ATI = 0x8827 :: GLenum
+
+pattern GL_DRAW_BUFFER2_EXT = 0x8827 :: GLenum
+
+pattern GL_DRAW_BUFFER2_NV = 0x8827 :: GLenum
+
+pattern GL_DRAW_BUFFER3 = 0x8828 :: GLenum
+
+pattern GL_DRAW_BUFFER3_ARB = 0x8828 :: GLenum
+
+pattern GL_DRAW_BUFFER3_ATI = 0x8828 :: GLenum
+
+pattern GL_DRAW_BUFFER3_EXT = 0x8828 :: GLenum
+
+pattern GL_DRAW_BUFFER3_NV = 0x8828 :: GLenum
+
+pattern GL_DRAW_BUFFER4 = 0x8829 :: GLenum
+
+pattern GL_DRAW_BUFFER4_ARB = 0x8829 :: GLenum
+
+pattern GL_DRAW_BUFFER4_ATI = 0x8829 :: GLenum
+
+pattern GL_DRAW_BUFFER4_EXT = 0x8829 :: GLenum
+
+pattern GL_DRAW_BUFFER4_NV = 0x8829 :: GLenum
+
+pattern GL_DRAW_BUFFER5 = 0x882A :: GLenum
+
+pattern GL_DRAW_BUFFER5_ARB = 0x882A :: GLenum
+
+pattern GL_DRAW_BUFFER5_ATI = 0x882A :: GLenum
+
+pattern GL_DRAW_BUFFER5_EXT = 0x882A :: GLenum
+
+pattern GL_DRAW_BUFFER5_NV = 0x882A :: GLenum
+
+pattern GL_DRAW_BUFFER6 = 0x882B :: GLenum
+
+pattern GL_DRAW_BUFFER6_ARB = 0x882B :: GLenum
+
+pattern GL_DRAW_BUFFER6_ATI = 0x882B :: GLenum
+
+pattern GL_DRAW_BUFFER6_EXT = 0x882B :: GLenum
+
+pattern GL_DRAW_BUFFER6_NV = 0x882B :: GLenum
+
+pattern GL_DRAW_BUFFER7 = 0x882C :: GLenum
+
+pattern GL_DRAW_BUFFER7_ARB = 0x882C :: GLenum
+
+pattern GL_DRAW_BUFFER7_ATI = 0x882C :: GLenum
+
+pattern GL_DRAW_BUFFER7_EXT = 0x882C :: GLenum
+
+pattern GL_DRAW_BUFFER7_NV = 0x882C :: GLenum
+
+pattern GL_DRAW_BUFFER8 = 0x882D :: GLenum
+
+pattern GL_DRAW_BUFFER8_ARB = 0x882D :: GLenum
+
+pattern GL_DRAW_BUFFER8_ATI = 0x882D :: GLenum
+
+pattern GL_DRAW_BUFFER8_EXT = 0x882D :: GLenum
+
+pattern GL_DRAW_BUFFER8_NV = 0x882D :: GLenum
+
+pattern GL_DRAW_BUFFER9 = 0x882E :: GLenum
+
+pattern GL_DRAW_BUFFER9_ARB = 0x882E :: GLenum
+
+pattern GL_DRAW_BUFFER9_ATI = 0x882E :: GLenum
+
+pattern GL_DRAW_BUFFER9_EXT = 0x882E :: GLenum
+
+pattern GL_DRAW_BUFFER9_NV = 0x882E :: GLenum
+
+pattern GL_DRAW_BUFFER_EXT = 0x0C01 :: GLenum
+
+pattern GL_DRAW_ELEMENTS_COMMAND_NV = 0x0002 :: GLenum
+
+pattern GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006 :: GLenum
+
+pattern GL_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER = 0x8CA9 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_ANGLE = 0x8CA9 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_APPLE = 0x8CA9 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_BINDING = 0x8CA6 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_BINDING_APPLE = 0x8CA6 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_BINDING_EXT = 0x8CA6 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_BINDING_NV = 0x8CA6 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_EXT = 0x8CA9 :: GLenum
+
+pattern GL_DRAW_FRAMEBUFFER_NV = 0x8CA9 :: GLenum
+
+pattern GL_DRAW_INDIRECT_ADDRESS_NV = 0x8F41 :: GLenum
+
+pattern GL_DRAW_INDIRECT_BUFFER = 0x8F3F :: GLenum
+
+pattern GL_DRAW_INDIRECT_BUFFER_BINDING = 0x8F43 :: GLenum
+
+pattern GL_DRAW_INDIRECT_LENGTH_NV = 0x8F42 :: GLenum
+
+pattern GL_DRAW_INDIRECT_UNIFIED_NV = 0x8F40 :: GLenum
+
+pattern GL_DRAW_PIXELS_APPLE = 0x8A0A :: GLenum
+
+pattern GL_DRAW_PIXEL_TOKEN = 0x0705 :: GLenum
+
+pattern GL_DSDT8_MAG8_INTENSITY8_NV = 0x870B :: GLenum
+
+pattern GL_DSDT8_MAG8_NV = 0x870A :: GLenum
+
+pattern GL_DSDT8_NV = 0x8709 :: GLenum
+
+pattern GL_DSDT_MAG_INTENSITY_NV = 0x86DC :: GLenum
+
+pattern GL_DSDT_MAG_NV = 0x86F6 :: GLenum
+
+pattern GL_DSDT_MAG_VIB_NV = 0x86F7 :: GLenum
+
+pattern GL_DSDT_NV = 0x86F5 :: GLenum
+
+pattern GL_DST_ALPHA = 0x0304 :: GLenum
+
+pattern GL_DST_ATOP_NV = 0x928F :: GLenum
+
+pattern GL_DST_COLOR = 0x0306 :: GLenum
+
+pattern GL_DST_IN_NV = 0x928B :: GLenum
+
+pattern GL_DST_NV = 0x9287 :: GLenum
+
+pattern GL_DST_OUT_NV = 0x928D :: GLenum
+
+pattern GL_DST_OVER_NV = 0x9289 :: GLenum
+
+pattern GL_DS_BIAS_NV = 0x8716 :: GLenum
+
+pattern GL_DS_SCALE_NV = 0x8710 :: GLenum
+
+pattern GL_DT_BIAS_NV = 0x8717 :: GLenum
+
+pattern GL_DT_SCALE_NV = 0x8711 :: GLenum
+
+pattern GL_DU8DV8_ATI = 0x877A :: GLenum
+
+pattern GL_DUAL_ALPHA12_SGIS = 0x8112 :: GLenum
+
+pattern GL_DUAL_ALPHA16_SGIS = 0x8113 :: GLenum
+
+pattern GL_DUAL_ALPHA4_SGIS = 0x8110 :: GLenum
+
+pattern GL_DUAL_ALPHA8_SGIS = 0x8111 :: GLenum
+
+pattern GL_DUAL_INTENSITY12_SGIS = 0x811A :: GLenum
+
+pattern GL_DUAL_INTENSITY16_SGIS = 0x811B :: GLenum
+
+pattern GL_DUAL_INTENSITY4_SGIS = 0x8118 :: GLenum
+
+pattern GL_DUAL_INTENSITY8_SGIS = 0x8119 :: GLenum
+
+pattern GL_DUAL_LUMINANCE12_SGIS = 0x8116 :: GLenum
+
+pattern GL_DUAL_LUMINANCE16_SGIS = 0x8117 :: GLenum
+
+pattern GL_DUAL_LUMINANCE4_SGIS = 0x8114 :: GLenum
+
+pattern GL_DUAL_LUMINANCE8_SGIS = 0x8115 :: GLenum
+
+pattern GL_DUAL_LUMINANCE_ALPHA4_SGIS = 0x811C :: GLenum
+
+pattern GL_DUAL_LUMINANCE_ALPHA8_SGIS = 0x811D :: GLenum
+
+pattern GL_DUAL_TEXTURE_SELECT_SGIS = 0x8124 :: GLenum
+
+pattern GL_DUDV_ATI = 0x8779 :: GLenum
+
+pattern GL_DUP_FIRST_CUBIC_CURVE_TO_NV = 0xF2 :: GLubyte
+
+pattern GL_DUP_LAST_CUBIC_CURVE_TO_NV = 0xF4 :: GLubyte
+
+pattern GL_DYNAMIC_ATI = 0x8761 :: GLenum
+
+pattern GL_DYNAMIC_COPY = 0x88EA :: GLenum
+
+pattern GL_DYNAMIC_COPY_ARB = 0x88EA :: GLenum
+
+pattern GL_DYNAMIC_DRAW = 0x88E8 :: GLenum
+
+pattern GL_DYNAMIC_DRAW_ARB = 0x88E8 :: GLenum
+
+pattern GL_DYNAMIC_READ = 0x88E9 :: GLenum
+
+pattern GL_DYNAMIC_READ_ARB = 0x88E9 :: GLenum
+
+pattern GL_DYNAMIC_STORAGE_BIT = 0x0100 :: GLbitfield
+
+pattern GL_DYNAMIC_STORAGE_BIT_EXT = 0x0100 :: GLbitfield
+
+pattern GL_EDGEFLAG_BIT_PGI = 0x00040000 :: GLbitfield
+
+pattern GL_EDGE_FLAG = 0x0B43 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY = 0x8079 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_ADDRESS_NV = 0x8F26 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING = 0x889B :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB = 0x889B :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_COUNT_EXT = 0x808D :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_EXT = 0x8079 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_LENGTH_NV = 0x8F30 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_LIST_IBM = 103075 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM = 103085 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_POINTER = 0x8093 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_POINTER_EXT = 0x8093 :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_STRIDE = 0x808C :: GLenum
+
+pattern GL_EDGE_FLAG_ARRAY_STRIDE_EXT = 0x808C :: GLenum
+
+pattern GL_EFFECTIVE_RASTER_SAMPLES_EXT = 0x932C :: GLenum
+
+pattern GL_EIGHTH_BIT_ATI = 0x00000020 :: GLbitfield
+
+pattern GL_ELEMENT_ADDRESS_COMMAND_NV = 0x0008 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_ADDRESS_NV = 0x8F29 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_APPLE = 0x8A0C :: GLenum
+
+pattern GL_ELEMENT_ARRAY_ATI = 0x8768 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_BARRIER_BIT = 0x00000002 :: GLbitfield
+
+pattern GL_ELEMENT_ARRAY_BARRIER_BIT_EXT = 0x00000002 :: GLbitfield
+
+pattern GL_ELEMENT_ARRAY_BUFFER = 0x8893 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_BUFFER_ARB = 0x8893 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_BUFFER_BINDING = 0x8895 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB = 0x8895 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_LENGTH_NV = 0x8F33 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_POINTER_APPLE = 0x8A0E :: GLenum
+
+pattern GL_ELEMENT_ARRAY_POINTER_ATI = 0x876A :: GLenum
+
+pattern GL_ELEMENT_ARRAY_TYPE_APPLE = 0x8A0D :: GLenum
+
+pattern GL_ELEMENT_ARRAY_TYPE_ATI = 0x8769 :: GLenum
+
+pattern GL_ELEMENT_ARRAY_UNIFIED_NV = 0x8F1F :: GLenum
+
+pattern GL_EMBOSS_CONSTANT_NV = 0x855E :: GLenum
+
+pattern GL_EMBOSS_LIGHT_NV = 0x855D :: GLenum
+
+pattern GL_EMBOSS_MAP_NV = 0x855F :: GLenum
+
+pattern GL_EMISSION = 0x1600 :: GLenum
+
+pattern GL_ENABLE_BIT = 0x00002000 :: GLbitfield
+
+pattern GL_EQUAL = 0x0202 :: GLenum
+
+pattern GL_EQUIV = 0x1509 :: GLenum
+
+pattern GL_ETC1_RGB8_OES = 0x8D64 :: GLenum
+
+pattern GL_ETC1_SRGB8_NV = 0x88EE :: GLenum
+
+pattern GL_EVAL_2D_NV = 0x86C0 :: GLenum
+
+pattern GL_EVAL_BIT = 0x00010000 :: GLbitfield
+
+pattern GL_EVAL_FRACTIONAL_TESSELLATION_NV = 0x86C5 :: GLenum
+
+pattern GL_EVAL_TRIANGULAR_2D_NV = 0x86C1 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB0_NV = 0x86C6 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB10_NV = 0x86D0 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB11_NV = 0x86D1 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB12_NV = 0x86D2 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB13_NV = 0x86D3 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB14_NV = 0x86D4 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB15_NV = 0x86D5 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB1_NV = 0x86C7 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB2_NV = 0x86C8 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB3_NV = 0x86C9 :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB4_NV = 0x86CA :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB5_NV = 0x86CB :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB6_NV = 0x86CC :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB7_NV = 0x86CD :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB8_NV = 0x86CE :: GLenum
+
+pattern GL_EVAL_VERTEX_ATTRIB9_NV = 0x86CF :: GLenum
+
+pattern GL_EXCLUSION = 0x92A0 :: GLenum
+
+pattern GL_EXCLUSION_KHR = 0x92A0 :: GLenum
+
+pattern GL_EXCLUSION_NV = 0x92A0 :: GLenum
+
+pattern GL_EXP = 0x0800 :: GLenum
+
+pattern GL_EXP2 = 0x0801 :: GLenum
+
+pattern GL_EXPAND_NEGATE_NV = 0x8539 :: GLenum
+
+pattern GL_EXPAND_NORMAL_NV = 0x8538 :: GLenum
+
+pattern GL_EXTENSIONS = 0x1F03 :: GLenum
+
+pattern GL_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD = 0x9160 :: GLenum
+
+pattern GL_EYE_DISTANCE_TO_LINE_SGIS = 0x81F2 :: GLenum
+
+pattern GL_EYE_DISTANCE_TO_POINT_SGIS = 0x81F0 :: GLenum
+
+pattern GL_EYE_LINEAR = 0x2400 :: GLenum
+
+pattern GL_EYE_LINEAR_NV = 0x2400 :: GLenum
+
+pattern GL_EYE_LINE_SGIS = 0x81F6 :: GLenum
+
+pattern GL_EYE_PLANE = 0x2502 :: GLenum
+
+pattern GL_EYE_PLANE_ABSOLUTE_NV = 0x855C :: GLenum
+
+pattern GL_EYE_POINT_SGIS = 0x81F4 :: GLenum
+
+pattern GL_EYE_RADIAL_NV = 0x855B :: GLenum
+
+pattern GL_E_TIMES_F_NV = 0x8531 :: GLenum
+
+pattern GL_FACTOR_ALPHA_MODULATE_IMG = 0x8C07 :: GLenum
+
+pattern GL_FACTOR_MAX_AMD = 0x901D :: GLenum
+
+pattern GL_FACTOR_MIN_AMD = 0x901C :: GLenum
+
+pattern GL_FAILURE_NV = 0x9030 :: GLenum
+
+pattern GL_FALSE = 0 :: GLenum
+
+pattern GL_FASTEST = 0x1101 :: GLenum
+
+pattern GL_FEEDBACK = 0x1C01 :: GLenum
+
+pattern GL_FEEDBACK_BUFFER_POINTER = 0x0DF0 :: GLenum
+
+pattern GL_FEEDBACK_BUFFER_SIZE = 0x0DF1 :: GLenum
+
+pattern GL_FEEDBACK_BUFFER_TYPE = 0x0DF2 :: GLenum
+
+pattern GL_FENCE_APPLE = 0x8A0B :: GLenum
+
+pattern GL_FENCE_CONDITION_NV = 0x84F4 :: GLenum
+
+pattern GL_FENCE_STATUS_NV = 0x84F3 :: GLenum
+
+pattern GL_FETCH_PER_SAMPLE_ARM = 0x8F65 :: GLenum
+
+pattern GL_FIELDS_NV = 0x8E27 :: GLenum
+
+pattern GL_FIELD_LOWER_NV = 0x9023 :: GLenum
+
+pattern GL_FIELD_UPPER_NV = 0x9022 :: GLenum
+
+pattern GL_FILE_NAME_NV = 0x9074 :: GLenum
+
+pattern GL_FILL = 0x1B02 :: GLenum
+
+pattern GL_FILL_NV = 0x1B02 :: GLenum
+
+pattern GL_FILL_RECTANGLE_NV = 0x933C :: GLenum
+
+pattern GL_FILTER = 0x829A :: GLenum
+
+pattern GL_FILTER4_SGIS = 0x8146 :: GLenum
+
+pattern GL_FIRST_TO_REST_NV = 0x90AF :: GLenum
+
+pattern GL_FIRST_VERTEX_CONVENTION = 0x8E4D :: GLenum
+
+pattern GL_FIRST_VERTEX_CONVENTION_EXT = 0x8E4D :: GLenum
+
+pattern GL_FIRST_VERTEX_CONVENTION_OES = 0x8E4D :: GLenum
+
+pattern GL_FIXED = 0x140C :: GLenum
+
+pattern GL_FIXED_OES = 0x140C :: GLenum
+
+pattern GL_FIXED_ONLY = 0x891D :: GLenum
+
+pattern GL_FIXED_ONLY_ARB = 0x891D :: GLenum
+
+pattern GL_FLAT = 0x1D00 :: GLenum
+
+pattern GL_FLOAT = 0x1406 :: GLenum
+
+pattern GL_FLOAT16_NV = 0x8FF8 :: GLenum
+
+pattern GL_FLOAT16_VEC2_NV = 0x8FF9 :: GLenum
+
+pattern GL_FLOAT16_VEC3_NV = 0x8FFA :: GLenum
+
+pattern GL_FLOAT16_VEC4_NV = 0x8FFB :: GLenum
+
+pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV = 0x8DAD :: GLenum
+
+pattern GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV = 0x8DAD :: GLenum
+
+pattern GL_FLOAT_CLEAR_COLOR_VALUE_NV = 0x888D :: GLenum
+
+pattern GL_FLOAT_MAT2 = 0x8B5A :: GLenum
+
+pattern GL_FLOAT_MAT2_ARB = 0x8B5A :: GLenum
+
+pattern GL_FLOAT_MAT2x3 = 0x8B65 :: GLenum
+
+pattern GL_FLOAT_MAT2x3_NV = 0x8B65 :: GLenum
+
+pattern GL_FLOAT_MAT2x4 = 0x8B66 :: GLenum
+
+pattern GL_FLOAT_MAT2x4_NV = 0x8B66 :: GLenum
+
+pattern GL_FLOAT_MAT3 = 0x8B5B :: GLenum
+
+pattern GL_FLOAT_MAT3_ARB = 0x8B5B :: GLenum
+
+pattern GL_FLOAT_MAT3x2 = 0x8B67 :: GLenum
+
+pattern GL_FLOAT_MAT3x2_NV = 0x8B67 :: GLenum
+
+pattern GL_FLOAT_MAT3x4 = 0x8B68 :: GLenum
+
+pattern GL_FLOAT_MAT3x4_NV = 0x8B68 :: GLenum
+
+pattern GL_FLOAT_MAT4 = 0x8B5C :: GLenum
+
+pattern GL_FLOAT_MAT4_ARB = 0x8B5C :: GLenum
+
+pattern GL_FLOAT_MAT4x2 = 0x8B69 :: GLenum
+
+pattern GL_FLOAT_MAT4x2_NV = 0x8B69 :: GLenum
+
+pattern GL_FLOAT_MAT4x3 = 0x8B6A :: GLenum
+
+pattern GL_FLOAT_MAT4x3_NV = 0x8B6A :: GLenum
+
+pattern GL_FLOAT_R16_NV = 0x8884 :: GLenum
+
+pattern GL_FLOAT_R32_NV = 0x8885 :: GLenum
+
+pattern GL_FLOAT_RG16_NV = 0x8886 :: GLenum
+
+pattern GL_FLOAT_RG32_NV = 0x8887 :: GLenum
+
+pattern GL_FLOAT_RGB16_NV = 0x8888 :: GLenum
+
+pattern GL_FLOAT_RGB32_NV = 0x8889 :: GLenum
+
+pattern GL_FLOAT_RGBA16_NV = 0x888A :: GLenum
+
+pattern GL_FLOAT_RGBA32_NV = 0x888B :: GLenum
+
+pattern GL_FLOAT_RGBA_MODE_NV = 0x888E :: GLenum
+
+pattern GL_FLOAT_RGBA_NV = 0x8883 :: GLenum
+
+pattern GL_FLOAT_RGB_NV = 0x8882 :: GLenum
+
+pattern GL_FLOAT_RG_NV = 0x8881 :: GLenum
+
+pattern GL_FLOAT_R_NV = 0x8880 :: GLenum
+
+pattern GL_FLOAT_VEC2 = 0x8B50 :: GLenum
+
+pattern GL_FLOAT_VEC2_ARB = 0x8B50 :: GLenum
+
+pattern GL_FLOAT_VEC3 = 0x8B51 :: GLenum
+
+pattern GL_FLOAT_VEC3_ARB = 0x8B51 :: GLenum
+
+pattern GL_FLOAT_VEC4 = 0x8B52 :: GLenum
+
+pattern GL_FLOAT_VEC4_ARB = 0x8B52 :: GLenum
+
+pattern GL_FOG = 0x0B60 :: GLenum
+
+pattern GL_FOG_BIT = 0x00000080 :: GLbitfield
+
+pattern GL_FOG_COLOR = 0x0B66 :: GLenum
+
+pattern GL_FOG_COORD = 0x8451 :: GLenum
+
+pattern GL_FOG_COORDINATE = 0x8451 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY = 0x8457 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING = 0x889D :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB = 0x889D :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_EXT = 0x8457 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_LIST_IBM = 103076 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM = 103086 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_POINTER_EXT = 0x8456 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_STRIDE_EXT = 0x8455 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454 :: GLenum
+
+pattern GL_FOG_COORDINATE_ARRAY_TYPE_EXT = 0x8454 :: GLenum
+
+pattern GL_FOG_COORDINATE_EXT = 0x8451 :: GLenum
+
+pattern GL_FOG_COORDINATE_SOURCE = 0x8450 :: GLenum
+
+pattern GL_FOG_COORDINATE_SOURCE_EXT = 0x8450 :: GLenum
+
+pattern GL_FOG_COORD_ARRAY = 0x8457 :: GLenum
+
+pattern GL_FOG_COORD_ARRAY_ADDRESS_NV = 0x8F28 :: GLenum
+
+pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING = 0x889D :: GLenum
+
+pattern GL_FOG_COORD_ARRAY_LENGTH_NV = 0x8F32 :: GLenum
+
+pattern GL_FOG_COORD_ARRAY_POINTER = 0x8456 :: GLenum
+
+pattern GL_FOG_COORD_ARRAY_STRIDE = 0x8455 :: GLenum
+
+pattern GL_FOG_COORD_ARRAY_TYPE = 0x8454 :: GLenum
+
+pattern GL_FOG_COORD_SRC = 0x8450 :: GLenum
+
+pattern GL_FOG_DENSITY = 0x0B62 :: GLenum
+
+pattern GL_FOG_DISTANCE_MODE_NV = 0x855A :: GLenum
+
+pattern GL_FOG_END = 0x0B64 :: GLenum
+
+pattern GL_FOG_FUNC_POINTS_SGIS = 0x812B :: GLenum
+
+pattern GL_FOG_FUNC_SGIS = 0x812A :: GLenum
+
+pattern GL_FOG_HINT = 0x0C54 :: GLenum
+
+pattern GL_FOG_INDEX = 0x0B61 :: GLenum
+
+pattern GL_FOG_MODE = 0x0B65 :: GLenum
+
+pattern GL_FOG_OFFSET_SGIX = 0x8198 :: GLenum
+
+pattern GL_FOG_OFFSET_VALUE_SGIX = 0x8199 :: GLenum
+
+pattern GL_FOG_SPECULAR_TEXTURE_WIN = 0x80EC :: GLenum
+
+pattern GL_FOG_START = 0x0B63 :: GLenum
+
+pattern GL_FONT_ASCENDER_BIT_NV = 0x00200000 :: GLbitfield
+
+pattern GL_FONT_DESCENDER_BIT_NV = 0x00400000 :: GLbitfield
+
+pattern GL_FONT_GLYPHS_AVAILABLE_NV = 0x9368 :: GLenum
+
+pattern GL_FONT_HAS_KERNING_BIT_NV = 0x10000000 :: GLbitfield
+
+pattern GL_FONT_HEIGHT_BIT_NV = 0x00800000 :: GLbitfield
+
+pattern GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV = 0x02000000 :: GLbitfield
+
+pattern GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV = 0x01000000 :: GLbitfield
+
+pattern GL_FONT_NUM_GLYPH_INDICES_BIT_NV = 0x20000000 :: GLbitfield
+
+pattern GL_FONT_TARGET_UNAVAILABLE_NV = 0x9369 :: GLenum
+
+pattern GL_FONT_UNAVAILABLE_NV = 0x936A :: GLenum
+
+pattern GL_FONT_UNDERLINE_POSITION_BIT_NV = 0x04000000 :: GLbitfield
+
+pattern GL_FONT_UNDERLINE_THICKNESS_BIT_NV = 0x08000000 :: GLbitfield
+
+pattern GL_FONT_UNINTELLIGIBLE_NV = 0x936B :: GLenum
+
+pattern GL_FONT_UNITS_PER_EM_BIT_NV = 0x00100000 :: GLbitfield
+
+pattern GL_FONT_X_MAX_BOUNDS_BIT_NV = 0x00040000 :: GLbitfield
+
+pattern GL_FONT_X_MIN_BOUNDS_BIT_NV = 0x00010000 :: GLbitfield
+
+pattern GL_FONT_Y_MAX_BOUNDS_BIT_NV = 0x00080000 :: GLbitfield
+
+pattern GL_FONT_Y_MIN_BOUNDS_BIT_NV = 0x00020000 :: GLbitfield
+
+pattern GL_FORCE_BLUE_TO_ONE_NV = 0x8860 :: GLenum
+
+pattern GL_FORMAT_SUBSAMPLE_244_244_OML = 0x8983 :: GLenum
+
+pattern GL_FORMAT_SUBSAMPLE_24_24_OML = 0x8982 :: GLenum
+
+pattern GL_FRACTIONAL_EVEN = 0x8E7C :: GLenum
+
+pattern GL_FRACTIONAL_EVEN_EXT = 0x8E7C :: GLenum
+
+pattern GL_FRACTIONAL_EVEN_OES = 0x8E7C :: GLenum
+
+pattern GL_FRACTIONAL_ODD = 0x8E7B :: GLenum
+
+pattern GL_FRACTIONAL_ODD_EXT = 0x8E7B :: GLenum
+
+pattern GL_FRACTIONAL_ODD_OES = 0x8E7B :: GLenum
+
+pattern GL_FRAGMENTS_INSTRUMENT_COUNTERS_SGIX = 0x8314 :: GLenum
+
+pattern GL_FRAGMENTS_INSTRUMENT_MAX_SGIX = 0x8315 :: GLenum
+
+pattern GL_FRAGMENTS_INSTRUMENT_SGIX = 0x8313 :: GLenum
+
+pattern GL_FRAGMENT_ALPHA_MODULATE_IMG = 0x8C08 :: GLenum
+
+pattern GL_FRAGMENT_COLOR_EXT = 0x834C :: GLenum
+
+pattern GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX = 0x8402 :: GLenum
+
+pattern GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX = 0x8403 :: GLenum
+
+pattern GL_FRAGMENT_COLOR_MATERIAL_SGIX = 0x8401 :: GLenum
+
+pattern GL_FRAGMENT_COVERAGE_COLOR_NV = 0x92DE :: GLenum
+
+pattern GL_FRAGMENT_COVERAGE_TO_COLOR_NV = 0x92DD :: GLenum
+
+pattern GL_FRAGMENT_DEPTH = 0x8452 :: GLenum
+
+pattern GL_FRAGMENT_DEPTH_EXT = 0x8452 :: GLenum
+
+pattern GL_FRAGMENT_INPUT_NV = 0x936D :: GLenum
+
+pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS = 0x8E5D :: GLenum
+
+pattern GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES = 0x8E5D :: GLenum
+
+pattern GL_FRAGMENT_LIGHT0_SGIX = 0x840C :: GLenum
+
+pattern GL_FRAGMENT_LIGHT1_SGIX = 0x840D :: GLenum
+
+pattern GL_FRAGMENT_LIGHT2_SGIX = 0x840E :: GLenum
+
+pattern GL_FRAGMENT_LIGHT3_SGIX = 0x840F :: GLenum
+
+pattern GL_FRAGMENT_LIGHT4_SGIX = 0x8410 :: GLenum
+
+pattern GL_FRAGMENT_LIGHT5_SGIX = 0x8411 :: GLenum
+
+pattern GL_FRAGMENT_LIGHT6_SGIX = 0x8412 :: GLenum
+
+pattern GL_FRAGMENT_LIGHT7_SGIX = 0x8413 :: GLenum
+
+pattern GL_FRAGMENT_LIGHTING_SGIX = 0x8400 :: GLenum
+
+pattern GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX = 0x840A :: GLenum
+
+pattern GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX = 0x8408 :: GLenum
+
+pattern GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX = 0x840B :: GLenum
+
+pattern GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX = 0x8409 :: GLenum
+
+pattern GL_FRAGMENT_MATERIAL_EXT = 0x8349 :: GLenum
+
+pattern GL_FRAGMENT_NORMAL_EXT = 0x834A :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_ARB = 0x8804 :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_BINDING_NV = 0x8873 :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_CALLBACK_DATA_MESA = 0x8BB3 :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB2 :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_CALLBACK_MESA = 0x8BB1 :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV = 0x8E5D :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_NV = 0x8870 :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA4 :: GLenum
+
+pattern GL_FRAGMENT_PROGRAM_POSITION_MESA = 0x8BB0 :: GLenum
+
+pattern GL_FRAGMENT_SHADER = 0x8B30 :: GLenum
+
+pattern GL_FRAGMENT_SHADER_ARB = 0x8B30 :: GLenum
+
+pattern GL_FRAGMENT_SHADER_ATI = 0x8920 :: GLenum
+
+pattern GL_FRAGMENT_SHADER_BIT = 0x00000002 :: GLbitfield
+
+pattern GL_FRAGMENT_SHADER_BIT_EXT = 0x00000002 :: GLbitfield
+
+pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT = 0x8B8B :: GLenum
+
+pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB = 0x8B8B :: GLenum
+
+pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES = 0x8B8B :: GLenum
+
+pattern GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT = 0x8A52 :: GLenum
+
+pattern GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM = 0x8F66 :: GLenum
+
+pattern GL_FRAGMENT_SHADER_INVOCATIONS_ARB = 0x82F4 :: GLenum
+
+pattern GL_FRAGMENT_SUBROUTINE = 0x92EC :: GLenum
+
+pattern GL_FRAGMENT_SUBROUTINE_UNIFORM = 0x92F2 :: GLenum
+
+pattern GL_FRAGMENT_TEXTURE = 0x829F :: GLenum
+
+pattern GL_FRAMEBUFFER = 0x8D40 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 0x8215 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_ANGLE = 0x93A3 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 0x8214 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 0x8210 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT = 0x8210 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 0x8211 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT = 0x8211 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 0x8216 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 0x8213 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED = 0x8DA7 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB = 0x8DA7 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT = 0x8DA7 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES = 0x8DA7 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 0x8CD1 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT = 0x8CD1 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES = 0x8CD1 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 0x8CD0 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT = 0x8CD0 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES = 0x8CD0 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE = 0x8212 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 0x8217 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT = 0x8CD4 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES = 0x8CD4 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 0x8CD3 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT = 0x8CD3 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES = 0x8CD3 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 0x8CD4 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT = 0x8CD4 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 0x8CD2 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT = 0x8CD2 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES = 0x8CD2 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630 :: GLenum
+
+pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT = 0x8D6C :: GLenum
+
+pattern GL_FRAMEBUFFER_BARRIER_BIT = 0x00000400 :: GLbitfield
+
+pattern GL_FRAMEBUFFER_BARRIER_BIT_EXT = 0x00000400 :: GLbitfield
+
+pattern GL_FRAMEBUFFER_BINDING = 0x8CA6 :: GLenum
+
+pattern GL_FRAMEBUFFER_BINDING_ANGLE = 0x8CA6 :: GLenum
+
+pattern GL_FRAMEBUFFER_BINDING_EXT = 0x8CA6 :: GLenum
+
+pattern GL_FRAMEBUFFER_BINDING_OES = 0x8CA6 :: GLenum
+
+pattern GL_FRAMEBUFFER_BLEND = 0x828B :: GLenum
+
+pattern GL_FRAMEBUFFER_COMPLETE = 0x8CD5 :: GLenum
+
+pattern GL_FRAMEBUFFER_COMPLETE_EXT = 0x8CD5 :: GLenum
+
+pattern GL_FRAMEBUFFER_COMPLETE_OES = 0x8CD5 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT = 0x8218 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS = 0x9314 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT_HEIGHT = 0x9311 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT_LAYERS = 0x9312 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT = 0x9312 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT_LAYERS_OES = 0x9312 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT_SAMPLES = 0x9313 :: GLenum
+
+pattern GL_FRAMEBUFFER_DEFAULT_WIDTH = 0x9310 :: GLenum
+
+pattern GL_FRAMEBUFFER_EXT = 0x8D40 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 0x8CD6 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT = 0x8CD6 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES = 0x8CD6 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 0x8CD9 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT = 0x8CD9 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES = 0x8CD9 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER = 0x8CDB :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT = 0x8CDB :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES = 0x8CDB :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT = 0x8CDA :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES = 0x8CDA :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB = 0x8DA9 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT = 0x8DA9 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS = 0x8DA8 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB = 0x8DA8 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT = 0x8DA8 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES = 0x8DA8 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 0x8CD7 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT = 0x8CD7 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES = 0x8CD7 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 0x8D56 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE = 0x8D56 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE = 0x8D56 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT = 0x8D56 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG = 0x9134 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV = 0x8D56 :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER = 0x8CDC :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT = 0x8CDC :: GLenum
+
+pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES = 0x8CDC :: GLenum
+
+pattern GL_FRAMEBUFFER_OES = 0x8D40 :: GLenum
+
+pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342 :: GLenum
+
+pattern GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV = 0x9342 :: GLenum
+
+pattern GL_FRAMEBUFFER_RENDERABLE = 0x8289 :: GLenum
+
+pattern GL_FRAMEBUFFER_RENDERABLE_LAYERED = 0x828A :: GLenum
+
+pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343 :: GLenum
+
+pattern GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV = 0x9343 :: GLenum
+
+pattern GL_FRAMEBUFFER_SRGB = 0x8DB9 :: GLenum
+
+pattern GL_FRAMEBUFFER_SRGB_CAPABLE_EXT = 0x8DBA :: GLenum
+
+pattern GL_FRAMEBUFFER_SRGB_EXT = 0x8DB9 :: GLenum
+
+pattern GL_FRAMEBUFFER_UNDEFINED = 0x8219 :: GLenum
+
+pattern GL_FRAMEBUFFER_UNDEFINED_OES = 0x8219 :: GLenum
+
+pattern GL_FRAMEBUFFER_UNSUPPORTED = 0x8CDD :: GLenum
+
+pattern GL_FRAMEBUFFER_UNSUPPORTED_EXT = 0x8CDD :: GLenum
+
+pattern GL_FRAMEBUFFER_UNSUPPORTED_OES = 0x8CDD :: GLenum
+
+pattern GL_FRAMEZOOM_FACTOR_SGIX = 0x818C :: GLenum
+
+pattern GL_FRAMEZOOM_SGIX = 0x818B :: GLenum
+
+pattern GL_FRAME_NV = 0x8E26 :: GLenum
+
+pattern GL_FRONT = 0x0404 :: GLenum
+
+pattern GL_FRONT_AND_BACK = 0x0408 :: GLenum
+
+pattern GL_FRONT_FACE = 0x0B46 :: GLenum
+
+pattern GL_FRONT_FACE_COMMAND_NV = 0x0012 :: GLenum
+
+pattern GL_FRONT_LEFT = 0x0400 :: GLenum
+
+pattern GL_FRONT_RIGHT = 0x0401 :: GLenum
+
+pattern GL_FULL_RANGE_EXT = 0x87E1 :: GLenum
+
+pattern GL_FULL_STIPPLE_HINT_PGI = 0x1A219 :: GLenum
+
+pattern GL_FULL_SUPPORT = 0x82B7 :: GLenum
+
+pattern GL_FUNC_ADD = 0x8006 :: GLenum
+
+pattern GL_FUNC_ADD_EXT = 0x8006 :: GLenum
+
+pattern GL_FUNC_ADD_OES = 0x8006 :: GLenum
+
+pattern GL_FUNC_REVERSE_SUBTRACT = 0x800B :: GLenum
+
+pattern GL_FUNC_REVERSE_SUBTRACT_EXT = 0x800B :: GLenum
+
+pattern GL_FUNC_REVERSE_SUBTRACT_OES = 0x800B :: GLenum
+
+pattern GL_FUNC_SUBTRACT = 0x800A :: GLenum
+
+pattern GL_FUNC_SUBTRACT_EXT = 0x800A :: GLenum
+
+pattern GL_FUNC_SUBTRACT_OES = 0x800A :: GLenum
+
+pattern GL_GCCSO_SHADER_BINARY_FJ = 0x9260 :: GLenum
+
+pattern GL_GENERATE_MIPMAP = 0x8191 :: GLenum
+
+pattern GL_GENERATE_MIPMAP_HINT = 0x8192 :: GLenum
+
+pattern GL_GENERATE_MIPMAP_HINT_SGIS = 0x8192 :: GLenum
+
+pattern GL_GENERATE_MIPMAP_SGIS = 0x8191 :: GLenum
+
+pattern GL_GENERIC_ATTRIB_NV = 0x8C7D :: GLenum
+
+pattern GL_GEOMETRY_DEFORMATION_BIT_SGIX = 0x00000002 :: GLbitfield
+
+pattern GL_GEOMETRY_DEFORMATION_SGIX = 0x8194 :: GLenum
+
+pattern GL_GEOMETRY_INPUT_TYPE = 0x8917 :: GLenum
+
+pattern GL_GEOMETRY_INPUT_TYPE_ARB = 0x8DDB :: GLenum
+
+pattern GL_GEOMETRY_INPUT_TYPE_EXT = 0x8DDB :: GLenum
+
+pattern GL_GEOMETRY_LINKED_INPUT_TYPE_EXT = 0x8917 :: GLenum
+
+pattern GL_GEOMETRY_LINKED_INPUT_TYPE_OES = 0x8917 :: GLenum
+
+pattern GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT = 0x8918 :: GLenum
+
+pattern GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES = 0x8918 :: GLenum
+
+pattern GL_GEOMETRY_LINKED_VERTICES_OUT_EXT = 0x8916 :: GLenum
+
+pattern GL_GEOMETRY_LINKED_VERTICES_OUT_OES = 0x8916 :: GLenum
+
+pattern GL_GEOMETRY_OUTPUT_TYPE = 0x8918 :: GLenum
+
+pattern GL_GEOMETRY_OUTPUT_TYPE_ARB = 0x8DDC :: GLenum
+
+pattern GL_GEOMETRY_OUTPUT_TYPE_EXT = 0x8DDC :: GLenum
+
+pattern GL_GEOMETRY_PROGRAM_NV = 0x8C26 :: GLenum
+
+pattern GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA3 :: GLenum
+
+pattern GL_GEOMETRY_SHADER = 0x8DD9 :: GLenum
+
+pattern GL_GEOMETRY_SHADER_ARB = 0x8DD9 :: GLenum
+
+pattern GL_GEOMETRY_SHADER_BIT = 0x00000004 :: GLbitfield
+
+pattern GL_GEOMETRY_SHADER_BIT_EXT = 0x00000004 :: GLbitfield
+
+pattern GL_GEOMETRY_SHADER_BIT_OES = 0x00000004 :: GLbitfield
+
+pattern GL_GEOMETRY_SHADER_EXT = 0x8DD9 :: GLenum
+
+pattern GL_GEOMETRY_SHADER_INVOCATIONS = 0x887F :: GLenum
+
+pattern GL_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x887F :: GLenum
+
+pattern GL_GEOMETRY_SHADER_INVOCATIONS_OES = 0x887F :: GLenum
+
+pattern GL_GEOMETRY_SHADER_OES = 0x8DD9 :: GLenum
+
+pattern GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB = 0x82F3 :: GLenum
+
+pattern GL_GEOMETRY_SUBROUTINE = 0x92EB :: GLenum
+
+pattern GL_GEOMETRY_SUBROUTINE_UNIFORM = 0x92F1 :: GLenum
+
+pattern GL_GEOMETRY_TEXTURE = 0x829E :: GLenum
+
+pattern GL_GEOMETRY_VERTICES_OUT = 0x8916 :: GLenum
+
+pattern GL_GEOMETRY_VERTICES_OUT_ARB = 0x8DDA :: GLenum
+
+pattern GL_GEOMETRY_VERTICES_OUT_EXT = 0x8DDA :: GLenum
+
+pattern GL_GEQUAL = 0x0206 :: GLenum
+
+pattern GL_GET_TEXTURE_IMAGE_FORMAT = 0x8291 :: GLenum
+
+pattern GL_GET_TEXTURE_IMAGE_TYPE = 0x8292 :: GLenum
+
+pattern GL_GLOBAL_ALPHA_FACTOR_SUN = 0x81DA :: GLenum
+
+pattern GL_GLOBAL_ALPHA_SUN = 0x81D9 :: GLenum
+
+pattern GL_GLYPH_HAS_KERNING_BIT_NV = 0x100 :: GLbitfield
+
+pattern GL_GLYPH_HEIGHT_BIT_NV = 0x02 :: GLbitfield
+
+pattern GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV = 0x10 :: GLbitfield
+
+pattern GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV = 0x04 :: GLbitfield
+
+pattern GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV = 0x08 :: GLbitfield
+
+pattern GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV = 0x80 :: GLbitfield
+
+pattern GL_GLYPH_VERTICAL_BEARING_X_BIT_NV = 0x20 :: GLbitfield
+
+pattern GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV = 0x40 :: GLbitfield
+
+pattern GL_GLYPH_WIDTH_BIT_NV = 0x01 :: GLbitfield
+
+pattern GL_GPU_ADDRESS_NV = 0x8F34 :: GLenum
+
+pattern GL_GPU_DISJOINT_EXT = 0x8FBB :: GLenum
+
+pattern GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX = 0x9049 :: GLenum
+
+pattern GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX = 0x9047 :: GLenum
+
+pattern GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX = 0x904B :: GLenum
+
+pattern GL_GPU_MEMORY_INFO_EVICTION_COUNT_NVX = 0x904A :: GLenum
+
+pattern GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX = 0x9048 :: GLenum
+
+pattern GL_GPU_OPTIMIZED_QCOM = 0x8FB2 :: GLenum
+
+pattern GL_GREATER = 0x0204 :: GLenum
+
+pattern GL_GREEN = 0x1904 :: GLenum
+
+pattern GL_GREEN_BIAS = 0x0D19 :: GLenum
+
+pattern GL_GREEN_BITS = 0x0D53 :: GLenum
+
+pattern GL_GREEN_BIT_ATI = 0x00000002 :: GLbitfield
+
+pattern GL_GREEN_INTEGER = 0x8D95 :: GLenum
+
+pattern GL_GREEN_INTEGER_EXT = 0x8D95 :: GLenum
+
+pattern GL_GREEN_MAX_CLAMP_INGR = 0x8565 :: GLenum
+
+pattern GL_GREEN_MIN_CLAMP_INGR = 0x8561 :: GLenum
+
+pattern GL_GREEN_NV = 0x1904 :: GLenum
+
+pattern GL_GREEN_SCALE = 0x0D18 :: GLenum
+
+pattern GL_GS_PROGRAM_BINARY_MTK = 0x9641 :: GLenum
+
+pattern GL_GS_SHADER_BINARY_MTK = 0x9640 :: GLenum
+
+pattern GL_GUILTY_CONTEXT_RESET = 0x8253 :: GLenum
+
+pattern GL_GUILTY_CONTEXT_RESET_ARB = 0x8253 :: GLenum
+
+pattern GL_GUILTY_CONTEXT_RESET_EXT = 0x8253 :: GLenum
+
+pattern GL_GUILTY_CONTEXT_RESET_KHR = 0x8253 :: GLenum
+
+pattern GL_HALF_APPLE = 0x140B :: GLenum
+
+pattern GL_HALF_BIAS_NEGATE_NV = 0x853B :: GLenum
+
+pattern GL_HALF_BIAS_NORMAL_NV = 0x853A :: GLenum
+
+pattern GL_HALF_BIT_ATI = 0x00000008 :: GLbitfield
+
+pattern GL_HALF_FLOAT = 0x140B :: GLenum
+
+pattern GL_HALF_FLOAT_ARB = 0x140B :: GLenum
+
+pattern GL_HALF_FLOAT_NV = 0x140B :: GLenum
+
+pattern GL_HALF_FLOAT_OES = 0x8D61 :: GLenum
+
+pattern GL_HARDLIGHT = 0x929B :: GLenum
+
+pattern GL_HARDLIGHT_KHR = 0x929B :: GLenum
+
+pattern GL_HARDLIGHT_NV = 0x929B :: GLenum
+
+pattern GL_HARDMIX_NV = 0x92A9 :: GLenum
+
+pattern GL_HIGH_FLOAT = 0x8DF2 :: GLenum
+
+pattern GL_HIGH_INT = 0x8DF5 :: GLenum
+
+pattern GL_HILO16_NV = 0x86F8 :: GLenum
+
+pattern GL_HILO8_NV = 0x885E :: GLenum
+
+pattern GL_HILO_NV = 0x86F4 :: GLenum
+
+pattern GL_HINT_BIT = 0x00008000 :: GLbitfield
+
+pattern GL_HISTOGRAM = 0x8024 :: GLenum
+
+pattern GL_HISTOGRAM_ALPHA_SIZE = 0x802B :: GLenum
+
+pattern GL_HISTOGRAM_ALPHA_SIZE_EXT = 0x802B :: GLenum
+
+pattern GL_HISTOGRAM_BLUE_SIZE = 0x802A :: GLenum
+
+pattern GL_HISTOGRAM_BLUE_SIZE_EXT = 0x802A :: GLenum
+
+pattern GL_HISTOGRAM_EXT = 0x8024 :: GLenum
+
+pattern GL_HISTOGRAM_FORMAT = 0x8027 :: GLenum
+
+pattern GL_HISTOGRAM_FORMAT_EXT = 0x8027 :: GLenum
+
+pattern GL_HISTOGRAM_GREEN_SIZE = 0x8029 :: GLenum
+
+pattern GL_HISTOGRAM_GREEN_SIZE_EXT = 0x8029 :: GLenum
+
+pattern GL_HISTOGRAM_LUMINANCE_SIZE = 0x802C :: GLenum
+
+pattern GL_HISTOGRAM_LUMINANCE_SIZE_EXT = 0x802C :: GLenum
+
+pattern GL_HISTOGRAM_RED_SIZE = 0x8028 :: GLenum
+
+pattern GL_HISTOGRAM_RED_SIZE_EXT = 0x8028 :: GLenum
+
+pattern GL_HISTOGRAM_SINK = 0x802D :: GLenum
+
+pattern GL_HISTOGRAM_SINK_EXT = 0x802D :: GLenum
+
+pattern GL_HISTOGRAM_WIDTH = 0x8026 :: GLenum
+
+pattern GL_HISTOGRAM_WIDTH_EXT = 0x8026 :: GLenum
+
+pattern GL_HI_BIAS_NV = 0x8714 :: GLenum
+
+pattern GL_HI_SCALE_NV = 0x870E :: GLenum
+
+pattern GL_HORIZONTAL_LINE_TO_NV = 0x06 :: GLubyte
+
+pattern GL_HSL_COLOR = 0x92AF :: GLenum
+
+pattern GL_HSL_COLOR_KHR = 0x92AF :: GLenum
+
+pattern GL_HSL_COLOR_NV = 0x92AF :: GLenum
+
+pattern GL_HSL_HUE = 0x92AD :: GLenum
+
+pattern GL_HSL_HUE_KHR = 0x92AD :: GLenum
+
+pattern GL_HSL_HUE_NV = 0x92AD :: GLenum
+
+pattern GL_HSL_LUMINOSITY = 0x92B0 :: GLenum
+
+pattern GL_HSL_LUMINOSITY_KHR = 0x92B0 :: GLenum
+
+pattern GL_HSL_LUMINOSITY_NV = 0x92B0 :: GLenum
+
+pattern GL_HSL_SATURATION = 0x92AE :: GLenum
+
+pattern GL_HSL_SATURATION_KHR = 0x92AE :: GLenum
+
+pattern GL_HSL_SATURATION_NV = 0x92AE :: GLenum
+
+pattern GL_IDENTITY_NV = 0x862A :: GLenum
+
+pattern GL_IGNORE_BORDER_HP = 0x8150 :: GLenum
+
+pattern GL_IMAGE_1D = 0x904C :: GLenum
+
+pattern GL_IMAGE_1D_ARRAY = 0x9052 :: GLenum
+
+pattern GL_IMAGE_1D_ARRAY_EXT = 0x9052 :: GLenum
+
+pattern GL_IMAGE_1D_EXT = 0x904C :: GLenum
+
+pattern GL_IMAGE_2D = 0x904D :: GLenum
+
+pattern GL_IMAGE_2D_ARRAY = 0x9053 :: GLenum
+
+pattern GL_IMAGE_2D_ARRAY_EXT = 0x9053 :: GLenum
+
+pattern GL_IMAGE_2D_EXT = 0x904D :: GLenum
+
+pattern GL_IMAGE_2D_MULTISAMPLE = 0x9055 :: GLenum
+
+pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9056 :: GLenum
+
+pattern GL_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9056 :: GLenum
+
+pattern GL_IMAGE_2D_MULTISAMPLE_EXT = 0x9055 :: GLenum
+
+pattern GL_IMAGE_2D_RECT = 0x904F :: GLenum
+
+pattern GL_IMAGE_2D_RECT_EXT = 0x904F :: GLenum
+
+pattern GL_IMAGE_3D = 0x904E :: GLenum
+
+pattern GL_IMAGE_3D_EXT = 0x904E :: GLenum
+
+pattern GL_IMAGE_BINDING_ACCESS = 0x8F3E :: GLenum
+
+pattern GL_IMAGE_BINDING_ACCESS_EXT = 0x8F3E :: GLenum
+
+pattern GL_IMAGE_BINDING_FORMAT = 0x906E :: GLenum
+
+pattern GL_IMAGE_BINDING_FORMAT_EXT = 0x906E :: GLenum
+
+pattern GL_IMAGE_BINDING_LAYER = 0x8F3D :: GLenum
+
+pattern GL_IMAGE_BINDING_LAYERED = 0x8F3C :: GLenum
+
+pattern GL_IMAGE_BINDING_LAYERED_EXT = 0x8F3C :: GLenum
+
+pattern GL_IMAGE_BINDING_LAYER_EXT = 0x8F3D :: GLenum
+
+pattern GL_IMAGE_BINDING_LEVEL = 0x8F3B :: GLenum
+
+pattern GL_IMAGE_BINDING_LEVEL_EXT = 0x8F3B :: GLenum
+
+pattern GL_IMAGE_BINDING_NAME = 0x8F3A :: GLenum
+
+pattern GL_IMAGE_BINDING_NAME_EXT = 0x8F3A :: GLenum
+
+pattern GL_IMAGE_BUFFER = 0x9051 :: GLenum
+
+pattern GL_IMAGE_BUFFER_EXT = 0x9051 :: GLenum
+
+pattern GL_IMAGE_BUFFER_OES = 0x9051 :: GLenum
+
+pattern GL_IMAGE_CLASS_10_10_10_2 = 0x82C3 :: GLenum
+
+pattern GL_IMAGE_CLASS_11_11_10 = 0x82C2 :: GLenum
+
+pattern GL_IMAGE_CLASS_1_X_16 = 0x82BE :: GLenum
+
+pattern GL_IMAGE_CLASS_1_X_32 = 0x82BB :: GLenum
+
+pattern GL_IMAGE_CLASS_1_X_8 = 0x82C1 :: GLenum
+
+pattern GL_IMAGE_CLASS_2_X_16 = 0x82BD :: GLenum
+
+pattern GL_IMAGE_CLASS_2_X_32 = 0x82BA :: GLenum
+
+pattern GL_IMAGE_CLASS_2_X_8 = 0x82C0 :: GLenum
+
+pattern GL_IMAGE_CLASS_4_X_16 = 0x82BC :: GLenum
+
+pattern GL_IMAGE_CLASS_4_X_32 = 0x82B9 :: GLenum
+
+pattern GL_IMAGE_CLASS_4_X_8 = 0x82BF :: GLenum
+
+pattern GL_IMAGE_COMPATIBILITY_CLASS = 0x82A8 :: GLenum
+
+pattern GL_IMAGE_CUBE = 0x9050 :: GLenum
+
+pattern GL_IMAGE_CUBE_EXT = 0x9050 :: GLenum
+
+pattern GL_IMAGE_CUBE_MAP_ARRAY = 0x9054 :: GLenum
+
+pattern GL_IMAGE_CUBE_MAP_ARRAY_EXT = 0x9054 :: GLenum
+
+pattern GL_IMAGE_CUBE_MAP_ARRAY_OES = 0x9054 :: GLenum
+
+pattern GL_IMAGE_CUBIC_WEIGHT_HP = 0x815E :: GLenum
+
+pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_CLASS = 0x90C9 :: GLenum
+
+pattern GL_IMAGE_FORMAT_COMPATIBILITY_BY_SIZE = 0x90C8 :: GLenum
+
+pattern GL_IMAGE_FORMAT_COMPATIBILITY_TYPE = 0x90C7 :: GLenum
+
+pattern GL_IMAGE_MAG_FILTER_HP = 0x815C :: GLenum
+
+pattern GL_IMAGE_MIN_FILTER_HP = 0x815D :: GLenum
+
+pattern GL_IMAGE_PIXEL_FORMAT = 0x82A9 :: GLenum
+
+pattern GL_IMAGE_PIXEL_TYPE = 0x82AA :: GLenum
+
+pattern GL_IMAGE_ROTATE_ANGLE_HP = 0x8159 :: GLenum
+
+pattern GL_IMAGE_ROTATE_ORIGIN_X_HP = 0x815A :: GLenum
+
+pattern GL_IMAGE_ROTATE_ORIGIN_Y_HP = 0x815B :: GLenum
+
+pattern GL_IMAGE_SCALE_X_HP = 0x8155 :: GLenum
+
+pattern GL_IMAGE_SCALE_Y_HP = 0x8156 :: GLenum
+
+pattern GL_IMAGE_TEXEL_SIZE = 0x82A7 :: GLenum
+
+pattern GL_IMAGE_TRANSFORM_2D_HP = 0x8161 :: GLenum
+
+pattern GL_IMAGE_TRANSLATE_X_HP = 0x8157 :: GLenum
+
+pattern GL_IMAGE_TRANSLATE_Y_HP = 0x8158 :: GLenum
+
+pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT = 0x8B9B :: GLenum
+
+pattern GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES = 0x8B9B :: GLenum
+
+pattern GL_IMPLEMENTATION_COLOR_READ_TYPE = 0x8B9A :: GLenum
+
+pattern GL_IMPLEMENTATION_COLOR_READ_TYPE_OES = 0x8B9A :: GLenum
+
+pattern GL_INCR = 0x1E02 :: GLenum
+
+pattern GL_INCR_WRAP = 0x8507 :: GLenum
+
+pattern GL_INCR_WRAP_EXT = 0x8507 :: GLenum
+
+pattern GL_INCR_WRAP_OES = 0x8507 :: GLenum
+
+pattern GL_INDEX = 0x8222 :: GLenum
+
+pattern GL_INDEX_ARRAY = 0x8077 :: GLenum
+
+pattern GL_INDEX_ARRAY_ADDRESS_NV = 0x8F24 :: GLenum
+
+pattern GL_INDEX_ARRAY_BUFFER_BINDING = 0x8899 :: GLenum
+
+pattern GL_INDEX_ARRAY_BUFFER_BINDING_ARB = 0x8899 :: GLenum
+
+pattern GL_INDEX_ARRAY_COUNT_EXT = 0x8087 :: GLenum
+
+pattern GL_INDEX_ARRAY_EXT = 0x8077 :: GLenum
+
+pattern GL_INDEX_ARRAY_LENGTH_NV = 0x8F2E :: GLenum
+
+pattern GL_INDEX_ARRAY_LIST_IBM = 103073 :: GLenum
+
+pattern GL_INDEX_ARRAY_LIST_STRIDE_IBM = 103083 :: GLenum
+
+pattern GL_INDEX_ARRAY_POINTER = 0x8091 :: GLenum
+
+pattern GL_INDEX_ARRAY_POINTER_EXT = 0x8091 :: GLenum
+
+pattern GL_INDEX_ARRAY_STRIDE = 0x8086 :: GLenum
+
+pattern GL_INDEX_ARRAY_STRIDE_EXT = 0x8086 :: GLenum
+
+pattern GL_INDEX_ARRAY_TYPE = 0x8085 :: GLenum
+
+pattern GL_INDEX_ARRAY_TYPE_EXT = 0x8085 :: GLenum
+
+pattern GL_INDEX_BITS = 0x0D51 :: GLenum
+
+pattern GL_INDEX_BIT_PGI = 0x00080000 :: GLbitfield
+
+pattern GL_INDEX_CLEAR_VALUE = 0x0C20 :: GLenum
+
+pattern GL_INDEX_LOGIC_OP = 0x0BF1 :: GLenum
+
+pattern GL_INDEX_MATERIAL_EXT = 0x81B8 :: GLenum
+
+pattern GL_INDEX_MATERIAL_FACE_EXT = 0x81BA :: GLenum
+
+pattern GL_INDEX_MATERIAL_PARAMETER_EXT = 0x81B9 :: GLenum
+
+pattern GL_INDEX_MODE = 0x0C30 :: GLenum
+
+pattern GL_INDEX_OFFSET = 0x0D13 :: GLenum
+
+pattern GL_INDEX_SHIFT = 0x0D12 :: GLenum
+
+pattern GL_INDEX_TEST_EXT = 0x81B5 :: GLenum
+
+pattern GL_INDEX_TEST_FUNC_EXT = 0x81B6 :: GLenum
+
+pattern GL_INDEX_TEST_REF_EXT = 0x81B7 :: GLenum
+
+pattern GL_INDEX_WRITEMASK = 0x0C21 :: GLenum
+
+pattern GL_INFO_LOG_LENGTH = 0x8B84 :: GLenum
+
+pattern GL_INNOCENT_CONTEXT_RESET = 0x8254 :: GLenum
+
+pattern GL_INNOCENT_CONTEXT_RESET_ARB = 0x8254 :: GLenum
+
+pattern GL_INNOCENT_CONTEXT_RESET_EXT = 0x8254 :: GLenum
+
+pattern GL_INNOCENT_CONTEXT_RESET_KHR = 0x8254 :: GLenum
+
+pattern GL_INSTRUMENT_BUFFER_POINTER_SGIX = 0x8180 :: GLenum
+
+pattern GL_INSTRUMENT_MEASUREMENTS_SGIX = 0x8181 :: GLenum
+
+pattern GL_INT = 0x1404 :: GLenum
+
+pattern GL_INT16_NV = 0x8FE4 :: GLenum
+
+pattern GL_INT16_VEC2_NV = 0x8FE5 :: GLenum
+
+pattern GL_INT16_VEC3_NV = 0x8FE6 :: GLenum
+
+pattern GL_INT16_VEC4_NV = 0x8FE7 :: GLenum
+
+pattern GL_INT64_ARB = 0x140E :: GLenum
+
+pattern GL_INT64_NV = 0x140E :: GLenum
+
+pattern GL_INT64_VEC2_ARB = 0x8FE9 :: GLenum
+
+pattern GL_INT64_VEC2_NV = 0x8FE9 :: GLenum
+
+pattern GL_INT64_VEC3_ARB = 0x8FEA :: GLenum
+
+pattern GL_INT64_VEC3_NV = 0x8FEA :: GLenum
+
+pattern GL_INT64_VEC4_ARB = 0x8FEB :: GLenum
+
+pattern GL_INT64_VEC4_NV = 0x8FEB :: GLenum
+
+pattern GL_INT8_NV = 0x8FE0 :: GLenum
+
+pattern GL_INT8_VEC2_NV = 0x8FE1 :: GLenum
+
+pattern GL_INT8_VEC3_NV = 0x8FE2 :: GLenum
+
+pattern GL_INT8_VEC4_NV = 0x8FE3 :: GLenum
+
+pattern GL_INTENSITY = 0x8049 :: GLenum
+
+pattern GL_INTENSITY12 = 0x804C :: GLenum
+
+pattern GL_INTENSITY12_EXT = 0x804C :: GLenum
+
+pattern GL_INTENSITY16 = 0x804D :: GLenum
+
+pattern GL_INTENSITY16F_ARB = 0x881D :: GLenum
+
+pattern GL_INTENSITY16I_EXT = 0x8D8B :: GLenum
+
+pattern GL_INTENSITY16UI_EXT = 0x8D79 :: GLenum
+
+pattern GL_INTENSITY16_EXT = 0x804D :: GLenum
+
+pattern GL_INTENSITY16_SNORM = 0x901B :: GLenum
+
+pattern GL_INTENSITY32F_ARB = 0x8817 :: GLenum
+
+pattern GL_INTENSITY32I_EXT = 0x8D85 :: GLenum
+
+pattern GL_INTENSITY32UI_EXT = 0x8D73 :: GLenum
+
+pattern GL_INTENSITY4 = 0x804A :: GLenum
+
+pattern GL_INTENSITY4_EXT = 0x804A :: GLenum
+
+pattern GL_INTENSITY8 = 0x804B :: GLenum
+
+pattern GL_INTENSITY8I_EXT = 0x8D91 :: GLenum
+
+pattern GL_INTENSITY8UI_EXT = 0x8D7F :: GLenum
+
+pattern GL_INTENSITY8_EXT = 0x804B :: GLenum
+
+pattern GL_INTENSITY8_SNORM = 0x9017 :: GLenum
+
+pattern GL_INTENSITY_EXT = 0x8049 :: GLenum
+
+pattern GL_INTENSITY_FLOAT16_APPLE = 0x881D :: GLenum
+
+pattern GL_INTENSITY_FLOAT16_ATI = 0x881D :: GLenum
+
+pattern GL_INTENSITY_FLOAT32_APPLE = 0x8817 :: GLenum
+
+pattern GL_INTENSITY_FLOAT32_ATI = 0x8817 :: GLenum
+
+pattern GL_INTENSITY_SNORM = 0x9013 :: GLenum
+
+pattern GL_INTERLACE_OML = 0x8980 :: GLenum
+
+pattern GL_INTERLACE_READ_INGR = 0x8568 :: GLenum
+
+pattern GL_INTERLACE_READ_OML = 0x8981 :: GLenum
+
+pattern GL_INTERLACE_SGIX = 0x8094 :: GLenum
+
+pattern GL_INTERLEAVED_ATTRIBS = 0x8C8C :: GLenum
+
+pattern GL_INTERLEAVED_ATTRIBS_EXT = 0x8C8C :: GLenum
+
+pattern GL_INTERLEAVED_ATTRIBS_NV = 0x8C8C :: GLenum
+
+pattern GL_INTERNALFORMAT_ALPHA_SIZE = 0x8274 :: GLenum
+
+pattern GL_INTERNALFORMAT_ALPHA_TYPE = 0x827B :: GLenum
+
+pattern GL_INTERNALFORMAT_BLUE_SIZE = 0x8273 :: GLenum
+
+pattern GL_INTERNALFORMAT_BLUE_TYPE = 0x827A :: GLenum
+
+pattern GL_INTERNALFORMAT_DEPTH_SIZE = 0x8275 :: GLenum
+
+pattern GL_INTERNALFORMAT_DEPTH_TYPE = 0x827C :: GLenum
+
+pattern GL_INTERNALFORMAT_GREEN_SIZE = 0x8272 :: GLenum
+
+pattern GL_INTERNALFORMAT_GREEN_TYPE = 0x8279 :: GLenum
+
+pattern GL_INTERNALFORMAT_PREFERRED = 0x8270 :: GLenum
+
+pattern GL_INTERNALFORMAT_RED_SIZE = 0x8271 :: GLenum
+
+pattern GL_INTERNALFORMAT_RED_TYPE = 0x8278 :: GLenum
+
+pattern GL_INTERNALFORMAT_SHARED_SIZE = 0x8277 :: GLenum
+
+pattern GL_INTERNALFORMAT_STENCIL_SIZE = 0x8276 :: GLenum
+
+pattern GL_INTERNALFORMAT_STENCIL_TYPE = 0x827D :: GLenum
+
+pattern GL_INTERNALFORMAT_SUPPORTED = 0x826F :: GLenum
+
+pattern GL_INTERPOLATE = 0x8575 :: GLenum
+
+pattern GL_INTERPOLATE_ARB = 0x8575 :: GLenum
+
+pattern GL_INTERPOLATE_EXT = 0x8575 :: GLenum
+
+pattern GL_INT_10_10_10_2_OES = 0x8DF7 :: GLenum
+
+pattern GL_INT_2_10_10_10_REV = 0x8D9F :: GLenum
+
+pattern GL_INT_IMAGE_1D = 0x9057 :: GLenum
+
+pattern GL_INT_IMAGE_1D_ARRAY = 0x905D :: GLenum
+
+pattern GL_INT_IMAGE_1D_ARRAY_EXT = 0x905D :: GLenum
+
+pattern GL_INT_IMAGE_1D_EXT = 0x9057 :: GLenum
+
+pattern GL_INT_IMAGE_2D = 0x9058 :: GLenum
+
+pattern GL_INT_IMAGE_2D_ARRAY = 0x905E :: GLenum
+
+pattern GL_INT_IMAGE_2D_ARRAY_EXT = 0x905E :: GLenum
+
+pattern GL_INT_IMAGE_2D_EXT = 0x9058 :: GLenum
+
+pattern GL_INT_IMAGE_2D_MULTISAMPLE = 0x9060 :: GLenum
+
+pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x9061 :: GLenum
+
+pattern GL_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x9061 :: GLenum
+
+pattern GL_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x9060 :: GLenum
+
+pattern GL_INT_IMAGE_2D_RECT = 0x905A :: GLenum
+
+pattern GL_INT_IMAGE_2D_RECT_EXT = 0x905A :: GLenum
+
+pattern GL_INT_IMAGE_3D = 0x9059 :: GLenum
+
+pattern GL_INT_IMAGE_3D_EXT = 0x9059 :: GLenum
+
+pattern GL_INT_IMAGE_BUFFER = 0x905C :: GLenum
+
+pattern GL_INT_IMAGE_BUFFER_EXT = 0x905C :: GLenum
+
+pattern GL_INT_IMAGE_BUFFER_OES = 0x905C :: GLenum
+
+pattern GL_INT_IMAGE_CUBE = 0x905B :: GLenum
+
+pattern GL_INT_IMAGE_CUBE_EXT = 0x905B :: GLenum
+
+pattern GL_INT_IMAGE_CUBE_MAP_ARRAY = 0x905F :: GLenum
+
+pattern GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x905F :: GLenum
+
+pattern GL_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x905F :: GLenum
+
+pattern GL_INT_SAMPLER_1D = 0x8DC9 :: GLenum
+
+pattern GL_INT_SAMPLER_1D_ARRAY = 0x8DCE :: GLenum
+
+pattern GL_INT_SAMPLER_1D_ARRAY_EXT = 0x8DCE :: GLenum
+
+pattern GL_INT_SAMPLER_1D_EXT = 0x8DC9 :: GLenum
+
+pattern GL_INT_SAMPLER_2D = 0x8DCA :: GLenum
+
+pattern GL_INT_SAMPLER_2D_ARRAY = 0x8DCF :: GLenum
+
+pattern GL_INT_SAMPLER_2D_ARRAY_EXT = 0x8DCF :: GLenum
+
+pattern GL_INT_SAMPLER_2D_EXT = 0x8DCA :: GLenum
+
+pattern GL_INT_SAMPLER_2D_MULTISAMPLE = 0x9109 :: GLenum
+
+pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910C :: GLenum
+
+pattern GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910C :: GLenum
+
+pattern GL_INT_SAMPLER_2D_RECT = 0x8DCD :: GLenum
+
+pattern GL_INT_SAMPLER_2D_RECT_EXT = 0x8DCD :: GLenum
+
+pattern GL_INT_SAMPLER_3D = 0x8DCB :: GLenum
+
+pattern GL_INT_SAMPLER_3D_EXT = 0x8DCB :: GLenum
+
+pattern GL_INT_SAMPLER_BUFFER = 0x8DD0 :: GLenum
+
+pattern GL_INT_SAMPLER_BUFFER_AMD = 0x9002 :: GLenum
+
+pattern GL_INT_SAMPLER_BUFFER_EXT = 0x8DD0 :: GLenum
+
+pattern GL_INT_SAMPLER_BUFFER_OES = 0x8DD0 :: GLenum
+
+pattern GL_INT_SAMPLER_CUBE = 0x8DCC :: GLenum
+
+pattern GL_INT_SAMPLER_CUBE_EXT = 0x8DCC :: GLenum
+
+pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900E :: GLenum
+
+pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900E :: GLenum
+
+pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900E :: GLenum
+
+pattern GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900E :: GLenum
+
+pattern GL_INT_SAMPLER_RENDERBUFFER_NV = 0x8E57 :: GLenum
+
+pattern GL_INT_VEC2 = 0x8B53 :: GLenum
+
+pattern GL_INT_VEC2_ARB = 0x8B53 :: GLenum
+
+pattern GL_INT_VEC3 = 0x8B54 :: GLenum
+
+pattern GL_INT_VEC3_ARB = 0x8B54 :: GLenum
+
+pattern GL_INT_VEC4 = 0x8B55 :: GLenum
+
+pattern GL_INT_VEC4_ARB = 0x8B55 :: GLenum
+
+pattern GL_INVALID_ENUM = 0x0500 :: GLenum
+
+pattern GL_INVALID_FRAMEBUFFER_OPERATION = 0x0506 :: GLenum
+
+pattern GL_INVALID_FRAMEBUFFER_OPERATION_EXT = 0x0506 :: GLenum
+
+pattern GL_INVALID_FRAMEBUFFER_OPERATION_OES = 0x0506 :: GLenum
+
+pattern GL_INVALID_INDEX = 0xFFFFFFFF :: GLuint
+
+pattern GL_INVALID_OPERATION = 0x0502 :: GLenum
+
+pattern GL_INVALID_VALUE = 0x0501 :: GLenum
+
+pattern GL_INVARIANT_DATATYPE_EXT = 0x87EB :: GLenum
+
+pattern GL_INVARIANT_EXT = 0x87C2 :: GLenum
+
+pattern GL_INVARIANT_VALUE_EXT = 0x87EA :: GLenum
+
+pattern GL_INVERSE_NV = 0x862B :: GLenum
+
+pattern GL_INVERSE_TRANSPOSE_NV = 0x862D :: GLenum
+
+pattern GL_INVERT = 0x150A :: GLenum
+
+pattern GL_INVERTED_SCREEN_W_REND = 0x8491 :: GLenum
+
+pattern GL_INVERT_OVG_NV = 0x92B4 :: GLenum
+
+pattern GL_INVERT_RGB_NV = 0x92A3 :: GLenum
+
+pattern GL_IR_INSTRUMENT1_SGIX = 0x817F :: GLenum
+
+pattern GL_ISOLINES = 0x8E7A :: GLenum
+
+pattern GL_ISOLINES_EXT = 0x8E7A :: GLenum
+
+pattern GL_ISOLINES_OES = 0x8E7A :: GLenum
+
+pattern GL_IS_PER_PATCH = 0x92E7 :: GLenum
+
+pattern GL_IS_PER_PATCH_EXT = 0x92E7 :: GLenum
+
+pattern GL_IS_PER_PATCH_OES = 0x92E7 :: GLenum
+
+pattern GL_IS_ROW_MAJOR = 0x9300 :: GLenum
+
+pattern GL_ITALIC_BIT_NV = 0x02 :: GLbitfield
+
+pattern GL_IUI_N3F_V2F_EXT = 0x81AF :: GLenum
+
+pattern GL_IUI_N3F_V3F_EXT = 0x81B0 :: GLenum
+
+pattern GL_IUI_V2F_EXT = 0x81AD :: GLenum
+
+pattern GL_IUI_V3F_EXT = 0x81AE :: GLenum
+
+pattern GL_KEEP = 0x1E00 :: GLenum
+
+pattern GL_LARGE_CCW_ARC_TO_NV = 0x16 :: GLubyte
+
+pattern GL_LARGE_CW_ARC_TO_NV = 0x18 :: GLubyte
+
+pattern GL_LAST_VERTEX_CONVENTION = 0x8E4E :: GLenum
+
+pattern GL_LAST_VERTEX_CONVENTION_EXT = 0x8E4E :: GLenum
+
+pattern GL_LAST_VERTEX_CONVENTION_OES = 0x8E4E :: GLenum
+
+pattern GL_LAST_VIDEO_CAPTURE_STATUS_NV = 0x9027 :: GLenum
+
+pattern GL_LAYER_NV = 0x8DAA :: GLenum
+
+pattern GL_LAYER_PROVOKING_VERTEX = 0x825E :: GLenum
+
+pattern GL_LAYER_PROVOKING_VERTEX_EXT = 0x825E :: GLenum
+
+pattern GL_LAYER_PROVOKING_VERTEX_OES = 0x825E :: GLenum
+
+pattern GL_LAYOUT_DEFAULT_INTEL = 0 :: GLenum
+
+pattern GL_LAYOUT_LINEAR_CPU_CACHED_INTEL = 2 :: GLenum
+
+pattern GL_LAYOUT_LINEAR_INTEL = 1 :: GLenum
+
+pattern GL_LEFT = 0x0406 :: GLenum
+
+pattern GL_LEQUAL = 0x0203 :: GLenum
+
+pattern GL_LERP_ATI = 0x8969 :: GLenum
+
+pattern GL_LESS = 0x0201 :: GLenum
+
+pattern GL_LIGHT0 = 0x4000 :: GLenum
+
+pattern GL_LIGHT1 = 0x4001 :: GLenum
+
+pattern GL_LIGHT2 = 0x4002 :: GLenum
+
+pattern GL_LIGHT3 = 0x4003 :: GLenum
+
+pattern GL_LIGHT4 = 0x4004 :: GLenum
+
+pattern GL_LIGHT5 = 0x4005 :: GLenum
+
+pattern GL_LIGHT6 = 0x4006 :: GLenum
+
+pattern GL_LIGHT7 = 0x4007 :: GLenum
+
+pattern GL_LIGHTEN = 0x9298 :: GLenum
+
+pattern GL_LIGHTEN_KHR = 0x9298 :: GLenum
+
+pattern GL_LIGHTEN_NV = 0x9298 :: GLenum
+
+pattern GL_LIGHTING = 0x0B50 :: GLenum
+
+pattern GL_LIGHTING_BIT = 0x00000040 :: GLbitfield
+
+pattern GL_LIGHT_ENV_MODE_SGIX = 0x8407 :: GLenum
+
+pattern GL_LIGHT_MODEL_AMBIENT = 0x0B53 :: GLenum
+
+pattern GL_LIGHT_MODEL_COLOR_CONTROL = 0x81F8 :: GLenum
+
+pattern GL_LIGHT_MODEL_COLOR_CONTROL_EXT = 0x81F8 :: GLenum
+
+pattern GL_LIGHT_MODEL_LOCAL_VIEWER = 0x0B51 :: GLenum
+
+pattern GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE = 0x85B0 :: GLenum
+
+pattern GL_LIGHT_MODEL_TWO_SIDE = 0x0B52 :: GLenum
+
+pattern GL_LINE = 0x1B01 :: GLenum
+
+pattern GL_LINEAR = 0x2601 :: GLenum
+
+pattern GL_LINEARBURN_NV = 0x92A5 :: GLenum
+
+pattern GL_LINEARDODGE_NV = 0x92A4 :: GLenum
+
+pattern GL_LINEARLIGHT_NV = 0x92A7 :: GLenum
+
+pattern GL_LINEAR_ATTENUATION = 0x1208 :: GLenum
+
+pattern GL_LINEAR_CLIPMAP_LINEAR_SGIX = 0x8170 :: GLenum
+
+pattern GL_LINEAR_CLIPMAP_NEAREST_SGIX = 0x844F :: GLenum
+
+pattern GL_LINEAR_DETAIL_ALPHA_SGIS = 0x8098 :: GLenum
+
+pattern GL_LINEAR_DETAIL_COLOR_SGIS = 0x8099 :: GLenum
+
+pattern GL_LINEAR_DETAIL_SGIS = 0x8097 :: GLenum
+
+pattern GL_LINEAR_MIPMAP_LINEAR = 0x2703 :: GLenum
+
+pattern GL_LINEAR_MIPMAP_NEAREST = 0x2701 :: GLenum
+
+pattern GL_LINEAR_SHARPEN_ALPHA_SGIS = 0x80AE :: GLenum
+
+pattern GL_LINEAR_SHARPEN_COLOR_SGIS = 0x80AF :: GLenum
+
+pattern GL_LINEAR_SHARPEN_SGIS = 0x80AD :: GLenum
+
+pattern GL_LINES = 0x0001 :: GLenum
+
+pattern GL_LINES_ADJACENCY = 0x000A :: GLenum
+
+pattern GL_LINES_ADJACENCY_ARB = 0x000A :: GLenum
+
+pattern GL_LINES_ADJACENCY_EXT = 0x000A :: GLenum
+
+pattern GL_LINES_ADJACENCY_OES = 0x000A :: GLenum
+
+pattern GL_LINE_BIT = 0x00000004 :: GLbitfield
+
+pattern GL_LINE_LOOP = 0x0002 :: GLenum
+
+pattern GL_LINE_NV = 0x1B01 :: GLenum
+
+pattern GL_LINE_QUALITY_HINT_SGIX = 0x835B :: GLenum
+
+pattern GL_LINE_RESET_TOKEN = 0x0707 :: GLenum
+
+pattern GL_LINE_SMOOTH = 0x0B20 :: GLenum
+
+pattern GL_LINE_SMOOTH_HINT = 0x0C52 :: GLenum
+
+pattern GL_LINE_STIPPLE = 0x0B24 :: GLenum
+
+pattern GL_LINE_STIPPLE_PATTERN = 0x0B25 :: GLenum
+
+pattern GL_LINE_STIPPLE_REPEAT = 0x0B26 :: GLenum
+
+pattern GL_LINE_STRIP = 0x0003 :: GLenum
+
+pattern GL_LINE_STRIP_ADJACENCY = 0x000B :: GLenum
+
+pattern GL_LINE_STRIP_ADJACENCY_ARB = 0x000B :: GLenum
+
+pattern GL_LINE_STRIP_ADJACENCY_EXT = 0x000B :: GLenum
+
+pattern GL_LINE_STRIP_ADJACENCY_OES = 0x000B :: GLenum
+
+pattern GL_LINE_TOKEN = 0x0702 :: GLenum
+
+pattern GL_LINE_TO_NV = 0x04 :: GLubyte
+
+pattern GL_LINE_WIDTH = 0x0B21 :: GLenum
+
+pattern GL_LINE_WIDTH_COMMAND_NV = 0x000D :: GLenum
+
+pattern GL_LINE_WIDTH_GRANULARITY = 0x0B23 :: GLenum
+
+pattern GL_LINE_WIDTH_RANGE = 0x0B22 :: GLenum
+
+pattern GL_LINK_STATUS = 0x8B82 :: GLenum
+
+pattern GL_LIST_BASE = 0x0B32 :: GLenum
+
+pattern GL_LIST_BIT = 0x00020000 :: GLbitfield
+
+pattern GL_LIST_INDEX = 0x0B33 :: GLenum
+
+pattern GL_LIST_MODE = 0x0B30 :: GLenum
+
+pattern GL_LIST_PRIORITY_SGIX = 0x8182 :: GLenum
+
+pattern GL_LOAD = 0x0101 :: GLenum
+
+pattern GL_LOCAL_CONSTANT_DATATYPE_EXT = 0x87ED :: GLenum
+
+pattern GL_LOCAL_CONSTANT_EXT = 0x87C3 :: GLenum
+
+pattern GL_LOCAL_CONSTANT_VALUE_EXT = 0x87EC :: GLenum
+
+pattern GL_LOCAL_EXT = 0x87C4 :: GLenum
+
+pattern GL_LOCATION = 0x930E :: GLenum
+
+pattern GL_LOCATION_COMPONENT = 0x934A :: GLenum
+
+pattern GL_LOCATION_INDEX = 0x930F :: GLenum
+
+pattern GL_LOCATION_INDEX_EXT = 0x930F :: GLenum
+
+pattern GL_LOGIC_OP = 0x0BF1 :: GLenum
+
+pattern GL_LOGIC_OP_MODE = 0x0BF0 :: GLenum
+
+pattern GL_LOSE_CONTEXT_ON_RESET = 0x8252 :: GLenum
+
+pattern GL_LOSE_CONTEXT_ON_RESET_ARB = 0x8252 :: GLenum
+
+pattern GL_LOSE_CONTEXT_ON_RESET_EXT = 0x8252 :: GLenum
+
+pattern GL_LOSE_CONTEXT_ON_RESET_KHR = 0x8252 :: GLenum
+
+pattern GL_LOWER_LEFT = 0x8CA1 :: GLenum
+
+pattern GL_LOW_FLOAT = 0x8DF0 :: GLenum
+
+pattern GL_LOW_INT = 0x8DF3 :: GLenum
+
+pattern GL_LO_BIAS_NV = 0x8715 :: GLenum
+
+pattern GL_LO_SCALE_NV = 0x870F :: GLenum
+
+pattern GL_LUMINANCE = 0x1909 :: GLenum
+
+pattern GL_LUMINANCE12 = 0x8041 :: GLenum
+
+pattern GL_LUMINANCE12_ALPHA12 = 0x8047 :: GLenum
+
+pattern GL_LUMINANCE12_ALPHA12_EXT = 0x8047 :: GLenum
+
+pattern GL_LUMINANCE12_ALPHA4 = 0x8046 :: GLenum
+
+pattern GL_LUMINANCE12_ALPHA4_EXT = 0x8046 :: GLenum
+
+pattern GL_LUMINANCE12_EXT = 0x8041 :: GLenum
+
+pattern GL_LUMINANCE16 = 0x8042 :: GLenum
+
+pattern GL_LUMINANCE16F_ARB = 0x881E :: GLenum
+
+pattern GL_LUMINANCE16F_EXT = 0x881E :: GLenum
+
+pattern GL_LUMINANCE16I_EXT = 0x8D8C :: GLenum
+
+pattern GL_LUMINANCE16UI_EXT = 0x8D7A :: GLenum
+
+pattern GL_LUMINANCE16_ALPHA16 = 0x8048 :: GLenum
+
+pattern GL_LUMINANCE16_ALPHA16_EXT = 0x8048 :: GLenum
+
+pattern GL_LUMINANCE16_ALPHA16_SNORM = 0x901A :: GLenum
+
+pattern GL_LUMINANCE16_EXT = 0x8042 :: GLenum
+
+pattern GL_LUMINANCE16_SNORM = 0x9019 :: GLenum
+
+pattern GL_LUMINANCE32F_ARB = 0x8818 :: GLenum
+
+pattern GL_LUMINANCE32F_EXT = 0x8818 :: GLenum
+
+pattern GL_LUMINANCE32I_EXT = 0x8D86 :: GLenum
+
+pattern GL_LUMINANCE32UI_EXT = 0x8D74 :: GLenum
+
+pattern GL_LUMINANCE4 = 0x803F :: GLenum
+
+pattern GL_LUMINANCE4_ALPHA4 = 0x8043 :: GLenum
+
+pattern GL_LUMINANCE4_ALPHA4_EXT = 0x8043 :: GLenum
+
+pattern GL_LUMINANCE4_ALPHA4_OES = 0x8043 :: GLenum
+
+pattern GL_LUMINANCE4_EXT = 0x803F :: GLenum
+
+pattern GL_LUMINANCE6_ALPHA2 = 0x8044 :: GLenum
+
+pattern GL_LUMINANCE6_ALPHA2_EXT = 0x8044 :: GLenum
+
+pattern GL_LUMINANCE8 = 0x8040 :: GLenum
+
+pattern GL_LUMINANCE8I_EXT = 0x8D92 :: GLenum
+
+pattern GL_LUMINANCE8UI_EXT = 0x8D80 :: GLenum
+
+pattern GL_LUMINANCE8_ALPHA8 = 0x8045 :: GLenum
+
+pattern GL_LUMINANCE8_ALPHA8_EXT = 0x8045 :: GLenum
+
+pattern GL_LUMINANCE8_ALPHA8_OES = 0x8045 :: GLenum
+
+pattern GL_LUMINANCE8_ALPHA8_SNORM = 0x9016 :: GLenum
+
+pattern GL_LUMINANCE8_EXT = 0x8040 :: GLenum
+
+pattern GL_LUMINANCE8_OES = 0x8040 :: GLenum
+
+pattern GL_LUMINANCE8_SNORM = 0x9015 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA = 0x190A :: GLenum
+
+pattern GL_LUMINANCE_ALPHA16F_ARB = 0x881F :: GLenum
+
+pattern GL_LUMINANCE_ALPHA16F_EXT = 0x881F :: GLenum
+
+pattern GL_LUMINANCE_ALPHA16I_EXT = 0x8D8D :: GLenum
+
+pattern GL_LUMINANCE_ALPHA16UI_EXT = 0x8D7B :: GLenum
+
+pattern GL_LUMINANCE_ALPHA32F_ARB = 0x8819 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA32F_EXT = 0x8819 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA32I_EXT = 0x8D87 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA32UI_EXT = 0x8D75 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA8I_EXT = 0x8D93 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA8UI_EXT = 0x8D81 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA_FLOAT16_APPLE = 0x881F :: GLenum
+
+pattern GL_LUMINANCE_ALPHA_FLOAT16_ATI = 0x881F :: GLenum
+
+pattern GL_LUMINANCE_ALPHA_FLOAT32_APPLE = 0x8819 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA_FLOAT32_ATI = 0x8819 :: GLenum
+
+pattern GL_LUMINANCE_ALPHA_INTEGER_EXT = 0x8D9D :: GLenum
+
+pattern GL_LUMINANCE_ALPHA_SNORM = 0x9012 :: GLenum
+
+pattern GL_LUMINANCE_FLOAT16_APPLE = 0x881E :: GLenum
+
+pattern GL_LUMINANCE_FLOAT16_ATI = 0x881E :: GLenum
+
+pattern GL_LUMINANCE_FLOAT32_APPLE = 0x8818 :: GLenum
+
+pattern GL_LUMINANCE_FLOAT32_ATI = 0x8818 :: GLenum
+
+pattern GL_LUMINANCE_INTEGER_EXT = 0x8D9C :: GLenum
+
+pattern GL_LUMINANCE_SNORM = 0x9011 :: GLenum
+
+pattern GL_MAD_ATI = 0x8968 :: GLenum
+
+pattern GL_MAGNITUDE_BIAS_NV = 0x8718 :: GLenum
+
+pattern GL_MAGNITUDE_SCALE_NV = 0x8712 :: GLenum
+
+pattern GL_MAJOR_VERSION = 0x821B :: GLenum
+
+pattern GL_MALI_PROGRAM_BINARY_ARM = 0x8F61 :: GLenum
+
+pattern GL_MALI_SHADER_BINARY_ARM = 0x8F60 :: GLenum
+
+pattern GL_MANUAL_GENERATE_MIPMAP = 0x8294 :: GLenum
+
+pattern GL_MAP1_BINORMAL_EXT = 0x8446 :: GLenum
+
+pattern GL_MAP1_COLOR_4 = 0x0D90 :: GLenum
+
+pattern GL_MAP1_GRID_DOMAIN = 0x0DD0 :: GLenum
+
+pattern GL_MAP1_GRID_SEGMENTS = 0x0DD1 :: GLenum
+
+pattern GL_MAP1_INDEX = 0x0D91 :: GLenum
+
+pattern GL_MAP1_NORMAL = 0x0D92 :: GLenum
+
+pattern GL_MAP1_TANGENT_EXT = 0x8444 :: GLenum
+
+pattern GL_MAP1_TEXTURE_COORD_1 = 0x0D93 :: GLenum
+
+pattern GL_MAP1_TEXTURE_COORD_2 = 0x0D94 :: GLenum
+
+pattern GL_MAP1_TEXTURE_COORD_3 = 0x0D95 :: GLenum
+
+pattern GL_MAP1_TEXTURE_COORD_4 = 0x0D96 :: GLenum
+
+pattern GL_MAP1_VERTEX_3 = 0x0D97 :: GLenum
+
+pattern GL_MAP1_VERTEX_4 = 0x0D98 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB0_4_NV = 0x8660 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB10_4_NV = 0x866A :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB11_4_NV = 0x866B :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB12_4_NV = 0x866C :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB13_4_NV = 0x866D :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB14_4_NV = 0x866E :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB15_4_NV = 0x866F :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB1_4_NV = 0x8661 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB2_4_NV = 0x8662 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB3_4_NV = 0x8663 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB4_4_NV = 0x8664 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB5_4_NV = 0x8665 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB6_4_NV = 0x8666 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB7_4_NV = 0x8667 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB8_4_NV = 0x8668 :: GLenum
+
+pattern GL_MAP1_VERTEX_ATTRIB9_4_NV = 0x8669 :: GLenum
+
+pattern GL_MAP2_BINORMAL_EXT = 0x8447 :: GLenum
+
+pattern GL_MAP2_COLOR_4 = 0x0DB0 :: GLenum
+
+pattern GL_MAP2_GRID_DOMAIN = 0x0DD2 :: GLenum
+
+pattern GL_MAP2_GRID_SEGMENTS = 0x0DD3 :: GLenum
+
+pattern GL_MAP2_INDEX = 0x0DB1 :: GLenum
+
+pattern GL_MAP2_NORMAL = 0x0DB2 :: GLenum
+
+pattern GL_MAP2_TANGENT_EXT = 0x8445 :: GLenum
+
+pattern GL_MAP2_TEXTURE_COORD_1 = 0x0DB3 :: GLenum
+
+pattern GL_MAP2_TEXTURE_COORD_2 = 0x0DB4 :: GLenum
+
+pattern GL_MAP2_TEXTURE_COORD_3 = 0x0DB5 :: GLenum
+
+pattern GL_MAP2_TEXTURE_COORD_4 = 0x0DB6 :: GLenum
+
+pattern GL_MAP2_VERTEX_3 = 0x0DB7 :: GLenum
+
+pattern GL_MAP2_VERTEX_4 = 0x0DB8 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB0_4_NV = 0x8670 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB10_4_NV = 0x867A :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB11_4_NV = 0x867B :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB12_4_NV = 0x867C :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB13_4_NV = 0x867D :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB14_4_NV = 0x867E :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB15_4_NV = 0x867F :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB1_4_NV = 0x8671 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB2_4_NV = 0x8672 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB3_4_NV = 0x8673 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB4_4_NV = 0x8674 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB5_4_NV = 0x8675 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB6_4_NV = 0x8676 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB7_4_NV = 0x8677 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB8_4_NV = 0x8678 :: GLenum
+
+pattern GL_MAP2_VERTEX_ATTRIB9_4_NV = 0x8679 :: GLenum
+
+pattern GL_MAP_ATTRIB_U_ORDER_NV = 0x86C3 :: GLenum
+
+pattern GL_MAP_ATTRIB_V_ORDER_NV = 0x86C4 :: GLenum
+
+pattern GL_MAP_COHERENT_BIT = 0x0080 :: GLbitfield
+
+pattern GL_MAP_COHERENT_BIT_EXT = 0x0080 :: GLbitfield
+
+pattern GL_MAP_COLOR = 0x0D10 :: GLenum
+
+pattern GL_MAP_FLUSH_EXPLICIT_BIT = 0x0010 :: GLbitfield
+
+pattern GL_MAP_FLUSH_EXPLICIT_BIT_EXT = 0x0010 :: GLbitfield
+
+pattern GL_MAP_INVALIDATE_BUFFER_BIT = 0x0008 :: GLbitfield
+
+pattern GL_MAP_INVALIDATE_BUFFER_BIT_EXT = 0x0008 :: GLbitfield
+
+pattern GL_MAP_INVALIDATE_RANGE_BIT = 0x0004 :: GLbitfield
+
+pattern GL_MAP_INVALIDATE_RANGE_BIT_EXT = 0x0004 :: GLbitfield
+
+pattern GL_MAP_PERSISTENT_BIT = 0x0040 :: GLbitfield
+
+pattern GL_MAP_PERSISTENT_BIT_EXT = 0x0040 :: GLbitfield
+
+pattern GL_MAP_READ_BIT = 0x0001 :: GLbitfield
+
+pattern GL_MAP_READ_BIT_EXT = 0x0001 :: GLbitfield
+
+pattern GL_MAP_STENCIL = 0x0D11 :: GLenum
+
+pattern GL_MAP_TESSELLATION_NV = 0x86C2 :: GLenum
+
+pattern GL_MAP_UNSYNCHRONIZED_BIT = 0x0020 :: GLbitfield
+
+pattern GL_MAP_UNSYNCHRONIZED_BIT_EXT = 0x0020 :: GLbitfield
+
+pattern GL_MAP_WRITE_BIT = 0x0002 :: GLbitfield
+
+pattern GL_MAP_WRITE_BIT_EXT = 0x0002 :: GLbitfield
+
+pattern GL_MATERIAL_SIDE_HINT_PGI = 0x1A22C :: GLenum
+
+pattern GL_MATRIX0_ARB = 0x88C0 :: GLenum
+
+pattern GL_MATRIX0_NV = 0x8630 :: GLenum
+
+pattern GL_MATRIX10_ARB = 0x88CA :: GLenum
+
+pattern GL_MATRIX11_ARB = 0x88CB :: GLenum
+
+pattern GL_MATRIX12_ARB = 0x88CC :: GLenum
+
+pattern GL_MATRIX13_ARB = 0x88CD :: GLenum
+
+pattern GL_MATRIX14_ARB = 0x88CE :: GLenum
+
+pattern GL_MATRIX15_ARB = 0x88CF :: GLenum
+
+pattern GL_MATRIX16_ARB = 0x88D0 :: GLenum
+
+pattern GL_MATRIX17_ARB = 0x88D1 :: GLenum
+
+pattern GL_MATRIX18_ARB = 0x88D2 :: GLenum
+
+pattern GL_MATRIX19_ARB = 0x88D3 :: GLenum
+
+pattern GL_MATRIX1_ARB = 0x88C1 :: GLenum
+
+pattern GL_MATRIX1_NV = 0x8631 :: GLenum
+
+pattern GL_MATRIX20_ARB = 0x88D4 :: GLenum
+
+pattern GL_MATRIX21_ARB = 0x88D5 :: GLenum
+
+pattern GL_MATRIX22_ARB = 0x88D6 :: GLenum
+
+pattern GL_MATRIX23_ARB = 0x88D7 :: GLenum
+
+pattern GL_MATRIX24_ARB = 0x88D8 :: GLenum
+
+pattern GL_MATRIX25_ARB = 0x88D9 :: GLenum
+
+pattern GL_MATRIX26_ARB = 0x88DA :: GLenum
+
+pattern GL_MATRIX27_ARB = 0x88DB :: GLenum
+
+pattern GL_MATRIX28_ARB = 0x88DC :: GLenum
+
+pattern GL_MATRIX29_ARB = 0x88DD :: GLenum
+
+pattern GL_MATRIX2_ARB = 0x88C2 :: GLenum
+
+pattern GL_MATRIX2_NV = 0x8632 :: GLenum
+
+pattern GL_MATRIX30_ARB = 0x88DE :: GLenum
+
+pattern GL_MATRIX31_ARB = 0x88DF :: GLenum
+
+pattern GL_MATRIX3_ARB = 0x88C3 :: GLenum
+
+pattern GL_MATRIX3_NV = 0x8633 :: GLenum
+
+pattern GL_MATRIX4_ARB = 0x88C4 :: GLenum
+
+pattern GL_MATRIX4_NV = 0x8634 :: GLenum
+
+pattern GL_MATRIX5_ARB = 0x88C5 :: GLenum
+
+pattern GL_MATRIX5_NV = 0x8635 :: GLenum
+
+pattern GL_MATRIX6_ARB = 0x88C6 :: GLenum
+
+pattern GL_MATRIX6_NV = 0x8636 :: GLenum
+
+pattern GL_MATRIX7_ARB = 0x88C7 :: GLenum
+
+pattern GL_MATRIX7_NV = 0x8637 :: GLenum
+
+pattern GL_MATRIX8_ARB = 0x88C8 :: GLenum
+
+pattern GL_MATRIX9_ARB = 0x88C9 :: GLenum
+
+pattern GL_MATRIX_EXT = 0x87C0 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_ARB = 0x8844 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES = 0x8B9E :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_OES = 0x8844 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_POINTER_ARB = 0x8849 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_POINTER_OES = 0x8849 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_SIZE_ARB = 0x8846 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_SIZE_OES = 0x8846 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_STRIDE_ARB = 0x8848 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_STRIDE_OES = 0x8848 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_TYPE_ARB = 0x8847 :: GLenum
+
+pattern GL_MATRIX_INDEX_ARRAY_TYPE_OES = 0x8847 :: GLenum
+
+pattern GL_MATRIX_MODE = 0x0BA0 :: GLenum
+
+pattern GL_MATRIX_PALETTE_ARB = 0x8840 :: GLenum
+
+pattern GL_MATRIX_PALETTE_OES = 0x8840 :: GLenum
+
+pattern GL_MATRIX_STRIDE = 0x92FF :: GLenum
+
+pattern GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI = 0x00200000 :: GLbitfield
+
+pattern GL_MAT_AMBIENT_BIT_PGI = 0x00100000 :: GLbitfield
+
+pattern GL_MAT_COLOR_INDEXES_BIT_PGI = 0x01000000 :: GLbitfield
+
+pattern GL_MAT_DIFFUSE_BIT_PGI = 0x00400000 :: GLbitfield
+
+pattern GL_MAT_EMISSION_BIT_PGI = 0x00800000 :: GLbitfield
+
+pattern GL_MAT_SHININESS_BIT_PGI = 0x02000000 :: GLbitfield
+
+pattern GL_MAT_SPECULAR_BIT_PGI = 0x04000000 :: GLbitfield
+
+pattern GL_MAX = 0x8008 :: GLenum
+
+pattern GL_MAX_3D_TEXTURE_SIZE = 0x8073 :: GLenum
+
+pattern GL_MAX_3D_TEXTURE_SIZE_EXT = 0x8073 :: GLenum
+
+pattern GL_MAX_3D_TEXTURE_SIZE_OES = 0x8073 :: GLenum
+
+pattern GL_MAX_4D_TEXTURE_SIZE_SGIS = 0x8138 :: GLenum
+
+pattern GL_MAX_ACTIVE_LIGHTS_SGIX = 0x8405 :: GLenum
+
+pattern GL_MAX_ARRAY_TEXTURE_LAYERS = 0x88FF :: GLenum
+
+pattern GL_MAX_ARRAY_TEXTURE_LAYERS_EXT = 0x88FF :: GLenum
+
+pattern GL_MAX_ASYNC_DRAW_PIXELS_SGIX = 0x8360 :: GLenum
+
+pattern GL_MAX_ASYNC_HISTOGRAM_SGIX = 0x832D :: GLenum
+
+pattern GL_MAX_ASYNC_READ_PIXELS_SGIX = 0x8361 :: GLenum
+
+pattern GL_MAX_ASYNC_TEX_IMAGE_SGIX = 0x835F :: GLenum
+
+pattern GL_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS = 0x92DC :: GLenum
+
+pattern GL_MAX_ATOMIC_COUNTER_BUFFER_SIZE = 0x92D8 :: GLenum
+
+pattern GL_MAX_ATTRIB_STACK_DEPTH = 0x0D35 :: GLenum
+
+pattern GL_MAX_BINDABLE_UNIFORM_SIZE_EXT = 0x8DED :: GLenum
+
+pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH = 0x0D3B :: GLenum
+
+pattern GL_MAX_CLIPMAP_DEPTH_SGIX = 0x8177 :: GLenum
+
+pattern GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8178 :: GLenum
+
+pattern GL_MAX_CLIP_DISTANCES = 0x0D32 :: GLenum
+
+pattern GL_MAX_CLIP_DISTANCES_APPLE = 0x0D32 :: GLenum
+
+pattern GL_MAX_CLIP_PLANES = 0x0D32 :: GLenum
+
+pattern GL_MAX_CLIP_PLANES_IMG = 0x0D32 :: GLenum
+
+pattern GL_MAX_COLOR_ATTACHMENTS = 0x8CDF :: GLenum
+
+pattern GL_MAX_COLOR_ATTACHMENTS_EXT = 0x8CDF :: GLenum
+
+pattern GL_MAX_COLOR_ATTACHMENTS_NV = 0x8CDF :: GLenum
+
+pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH = 0x80B3 :: GLenum
+
+pattern GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI = 0x80B3 :: GLenum
+
+pattern GL_MAX_COLOR_TEXTURE_SAMPLES = 0x910E :: GLenum
+
+pattern GL_MAX_COMBINED_ATOMIC_COUNTERS = 0x92D7 :: GLenum
+
+pattern GL_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS = 0x92D1 :: GLenum
+
+pattern GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES = 0x82FA :: GLenum
+
+pattern GL_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS = 0x8266 :: GLenum
+
+pattern GL_MAX_COMBINED_DIMENSIONS = 0x8282 :: GLenum
+
+pattern GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 0x8A33 :: GLenum
+
+pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS = 0x8A32 :: GLenum
+
+pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8A32 :: GLenum
+
+pattern GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8A32 :: GLenum
+
+pattern GL_MAX_COMBINED_IMAGE_UNIFORMS = 0x90CF :: GLenum
+
+pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS = 0x8F39 :: GLenum
+
+pattern GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT = 0x8F39 :: GLenum
+
+pattern GL_MAX_COMBINED_SHADER_OUTPUT_RESOURCES = 0x8F39 :: GLenum
+
+pattern GL_MAX_COMBINED_SHADER_STORAGE_BLOCKS = 0x90DC :: GLenum
+
+pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E1E :: GLenum
+
+pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E1E :: GLenum
+
+pattern GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E1E :: GLenum
+
+pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E1F :: GLenum
+
+pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E1F :: GLenum
+
+pattern GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E1F :: GLenum
+
+pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS = 0x8B4D :: GLenum
+
+pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB = 0x8B4D :: GLenum
+
+pattern GL_MAX_COMBINED_UNIFORM_BLOCKS = 0x8A2E :: GLenum
+
+pattern GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 0x8A31 :: GLenum
+
+pattern GL_MAX_COMPUTE_ATOMIC_COUNTERS = 0x8265 :: GLenum
+
+pattern GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS = 0x8264 :: GLenum
+
+pattern GL_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB = 0x90EB :: GLenum
+
+pattern GL_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB = 0x91BF :: GLenum
+
+pattern GL_MAX_COMPUTE_IMAGE_UNIFORMS = 0x91BD :: GLenum
+
+pattern GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS = 0x90DB :: GLenum
+
+pattern GL_MAX_COMPUTE_SHARED_MEMORY_SIZE = 0x8262 :: GLenum
+
+pattern GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS = 0x91BC :: GLenum
+
+pattern GL_MAX_COMPUTE_UNIFORM_BLOCKS = 0x91BB :: GLenum
+
+pattern GL_MAX_COMPUTE_UNIFORM_COMPONENTS = 0x8263 :: GLenum
+
+pattern GL_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB = 0x9344 :: GLenum
+
+pattern GL_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB = 0x9345 :: GLenum
+
+pattern GL_MAX_COMPUTE_WORK_GROUP_COUNT = 0x91BE :: GLenum
+
+pattern GL_MAX_COMPUTE_WORK_GROUP_INVOCATIONS = 0x90EB :: GLenum
+
+pattern GL_MAX_COMPUTE_WORK_GROUP_SIZE = 0x91BF :: GLenum
+
+pattern GL_MAX_CONVOLUTION_HEIGHT = 0x801B :: GLenum
+
+pattern GL_MAX_CONVOLUTION_HEIGHT_EXT = 0x801B :: GLenum
+
+pattern GL_MAX_CONVOLUTION_WIDTH = 0x801A :: GLenum
+
+pattern GL_MAX_CONVOLUTION_WIDTH_EXT = 0x801A :: GLenum
+
+pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE = 0x851C :: GLenum
+
+pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB = 0x851C :: GLenum
+
+pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT = 0x851C :: GLenum
+
+pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES = 0x851C :: GLenum
+
+pattern GL_MAX_CULL_DISTANCES = 0x82F9 :: GLenum
+
+pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH = 0x826C :: GLenum
+
+pattern GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR = 0x826C :: GLenum
+
+pattern GL_MAX_DEBUG_LOGGED_MESSAGES = 0x9144 :: GLenum
+
+pattern GL_MAX_DEBUG_LOGGED_MESSAGES_AMD = 0x9144 :: GLenum
+
+pattern GL_MAX_DEBUG_LOGGED_MESSAGES_ARB = 0x9144 :: GLenum
+
+pattern GL_MAX_DEBUG_LOGGED_MESSAGES_KHR = 0x9144 :: GLenum
+
+pattern GL_MAX_DEBUG_MESSAGE_LENGTH = 0x9143 :: GLenum
+
+pattern GL_MAX_DEBUG_MESSAGE_LENGTH_AMD = 0x9143 :: GLenum
+
+pattern GL_MAX_DEBUG_MESSAGE_LENGTH_ARB = 0x9143 :: GLenum
+
+pattern GL_MAX_DEBUG_MESSAGE_LENGTH_KHR = 0x9143 :: GLenum
+
+pattern GL_MAX_DEEP_3D_TEXTURE_DEPTH_NV = 0x90D1 :: GLenum
+
+pattern GL_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV = 0x90D0 :: GLenum
+
+pattern GL_MAX_DEFORMATION_ORDER_SGIX = 0x8197 :: GLenum
+
+pattern GL_MAX_DEPTH = 0x8280 :: GLenum
+
+pattern GL_MAX_DEPTH_TEXTURE_SAMPLES = 0x910F :: GLenum
+
+pattern GL_MAX_DRAW_BUFFERS = 0x8824 :: GLenum
+
+pattern GL_MAX_DRAW_BUFFERS_ARB = 0x8824 :: GLenum
+
+pattern GL_MAX_DRAW_BUFFERS_ATI = 0x8824 :: GLenum
+
+pattern GL_MAX_DRAW_BUFFERS_EXT = 0x8824 :: GLenum
+
+pattern GL_MAX_DRAW_BUFFERS_NV = 0x8824 :: GLenum
+
+pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS = 0x88FC :: GLenum
+
+pattern GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = 0x88FC :: GLenum
+
+pattern GL_MAX_ELEMENTS_INDICES = 0x80E9 :: GLenum
+
+pattern GL_MAX_ELEMENTS_INDICES_EXT = 0x80E9 :: GLenum
+
+pattern GL_MAX_ELEMENTS_VERTICES = 0x80E8 :: GLenum
+
+pattern GL_MAX_ELEMENTS_VERTICES_EXT = 0x80E8 :: GLenum
+
+pattern GL_MAX_ELEMENT_INDEX = 0x8D6B :: GLenum
+
+pattern GL_MAX_EVAL_ORDER = 0x0D30 :: GLenum
+
+pattern GL_MAX_EXT = 0x8008 :: GLenum
+
+pattern GL_MAX_FOG_FUNC_POINTS_SGIS = 0x812C :: GLenum
+
+pattern GL_MAX_FRAGMENT_ATOMIC_COUNTERS = 0x92D6 :: GLenum
+
+pattern GL_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS = 0x92D0 :: GLenum
+
+pattern GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT = 0x8DE3 :: GLenum
+
+pattern GL_MAX_FRAGMENT_IMAGE_UNIFORMS = 0x90CE :: GLenum
+
+pattern GL_MAX_FRAGMENT_INPUT_COMPONENTS = 0x9125 :: GLenum
+
+pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5C :: GLenum
+
+pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5C :: GLenum
+
+pattern GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5C :: GLenum
+
+pattern GL_MAX_FRAGMENT_LIGHTS_SGIX = 0x8404 :: GLenum
+
+pattern GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV = 0x8868 :: GLenum
+
+pattern GL_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS = 0x90DA :: GLenum
+
+pattern GL_MAX_FRAGMENT_UNIFORM_BLOCKS = 0x8A2D :: GLenum
+
+pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS = 0x8B49 :: GLenum
+
+pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB = 0x8B49 :: GLenum
+
+pattern GL_MAX_FRAGMENT_UNIFORM_VECTORS = 0x8DFD :: GLenum
+
+pattern GL_MAX_FRAMEBUFFER_HEIGHT = 0x9316 :: GLenum
+
+pattern GL_MAX_FRAMEBUFFER_LAYERS = 0x9317 :: GLenum
+
+pattern GL_MAX_FRAMEBUFFER_LAYERS_EXT = 0x9317 :: GLenum
+
+pattern GL_MAX_FRAMEBUFFER_LAYERS_OES = 0x9317 :: GLenum
+
+pattern GL_MAX_FRAMEBUFFER_SAMPLES = 0x9318 :: GLenum
+
+pattern GL_MAX_FRAMEBUFFER_WIDTH = 0x9315 :: GLenum
+
+pattern GL_MAX_FRAMEZOOM_FACTOR_SGIX = 0x818D :: GLenum
+
+pattern GL_MAX_GENERAL_COMBINERS_NV = 0x854D :: GLenum
+
+pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS = 0x92D5 :: GLenum
+
+pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT = 0x92D5 :: GLenum
+
+pattern GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES = 0x92D5 :: GLenum
+
+pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS = 0x92CF :: GLenum
+
+pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CF :: GLenum
+
+pattern GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES = 0x92CF :: GLenum
+
+pattern GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT = 0x8DE4 :: GLenum
+
+pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS = 0x90CD :: GLenum
+
+pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT = 0x90CD :: GLenum
+
+pattern GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES = 0x90CD :: GLenum
+
+pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS = 0x9123 :: GLenum
+
+pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT = 0x9123 :: GLenum
+
+pattern GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES = 0x9123 :: GLenum
+
+pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS = 0x9124 :: GLenum
+
+pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT = 0x9124 :: GLenum
+
+pattern GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES = 0x9124 :: GLenum
+
+pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES = 0x8DE0 :: GLenum
+
+pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB = 0x8DE0 :: GLenum
+
+pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT = 0x8DE0 :: GLenum
+
+pattern GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES = 0x8DE0 :: GLenum
+
+pattern GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV = 0x8E5A :: GLenum
+
+pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS = 0x8E5A :: GLenum
+
+pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT = 0x8E5A :: GLenum
+
+pattern GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES = 0x8E5A :: GLenum
+
+pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS = 0x90D7 :: GLenum
+
+pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT = 0x90D7 :: GLenum
+
+pattern GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES = 0x90D7 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS = 0x8C29 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB = 0x8C29 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT = 0x8C29 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES = 0x8C29 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS = 0x8DE1 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB = 0x8DE1 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8DE1 :: GLenum
+
+pattern GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES = 0x8DE1 :: GLenum
+
+pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS = 0x8A2C :: GLenum
+
+pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT = 0x8A2C :: GLenum
+
+pattern GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES = 0x8A2C :: GLenum
+
+pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS = 0x8DDF :: GLenum
+
+pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB = 0x8DDF :: GLenum
+
+pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT = 0x8DDF :: GLenum
+
+pattern GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES = 0x8DDF :: GLenum
+
+pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB = 0x8DDD :: GLenum
+
+pattern GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT = 0x8DDD :: GLenum
+
+pattern GL_MAX_HEIGHT = 0x827F :: GLenum
+
+pattern GL_MAX_IMAGE_SAMPLES = 0x906D :: GLenum
+
+pattern GL_MAX_IMAGE_SAMPLES_EXT = 0x906D :: GLenum
+
+pattern GL_MAX_IMAGE_UNITS = 0x8F38 :: GLenum
+
+pattern GL_MAX_IMAGE_UNITS_EXT = 0x8F38 :: GLenum
+
+pattern GL_MAX_INTEGER_SAMPLES = 0x9110 :: GLenum
+
+pattern GL_MAX_LABEL_LENGTH = 0x82E8 :: GLenum
+
+pattern GL_MAX_LABEL_LENGTH_KHR = 0x82E8 :: GLenum
+
+pattern GL_MAX_LAYERS = 0x8281 :: GLenum
+
+pattern GL_MAX_LIGHTS = 0x0D31 :: GLenum
+
+pattern GL_MAX_LIST_NESTING = 0x0B31 :: GLenum
+
+pattern GL_MAX_MAP_TESSELLATION_NV = 0x86D6 :: GLenum
+
+pattern GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB = 0x8841 :: GLenum
+
+pattern GL_MAX_MODELVIEW_STACK_DEPTH = 0x0D36 :: GLenum
+
+pattern GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E11 :: GLenum
+
+pattern GL_MAX_MULTIVIEW_BUFFERS_EXT = 0x90F2 :: GLenum
+
+pattern GL_MAX_NAME_LENGTH = 0x92F6 :: GLenum
+
+pattern GL_MAX_NAME_STACK_DEPTH = 0x0D37 :: GLenum
+
+pattern GL_MAX_NUM_ACTIVE_VARIABLES = 0x92F7 :: GLenum
+
+pattern GL_MAX_NUM_COMPATIBLE_SUBROUTINES = 0x92F8 :: GLenum
+
+pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CA :: GLenum
+
+pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT = 0x87CD :: GLenum
+
+pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT = 0x87CE :: GLenum
+
+pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87CC :: GLenum
+
+pattern GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT = 0x87CB :: GLenum
+
+pattern GL_MAX_PALETTE_MATRICES_ARB = 0x8842 :: GLenum
+
+pattern GL_MAX_PALETTE_MATRICES_OES = 0x8842 :: GLenum
+
+pattern GL_MAX_PATCH_VERTICES = 0x8E7D :: GLenum
+
+pattern GL_MAX_PATCH_VERTICES_EXT = 0x8E7D :: GLenum
+
+pattern GL_MAX_PATCH_VERTICES_OES = 0x8E7D :: GLenum
+
+pattern GL_MAX_PIXEL_MAP_TABLE = 0x0D34 :: GLenum
+
+pattern GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8337 :: GLenum
+
+pattern GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F1 :: GLenum
+
+pattern GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B1 :: GLenum
+
+pattern GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x880B :: GLenum
+
+pattern GL_MAX_PROGRAM_ATTRIBS_ARB = 0x88AD :: GLenum
+
+pattern GL_MAX_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8908 :: GLenum
+
+pattern GL_MAX_PROGRAM_CALL_DEPTH_NV = 0x88F5 :: GLenum
+
+pattern GL_MAX_PROGRAM_ENV_PARAMETERS_ARB = 0x88B5 :: GLenum
+
+pattern GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV = 0x88F4 :: GLenum
+
+pattern GL_MAX_PROGRAM_GENERIC_ATTRIBS_NV = 0x8DA5 :: GLenum
+
+pattern GL_MAX_PROGRAM_GENERIC_RESULTS_NV = 0x8DA6 :: GLenum
+
+pattern GL_MAX_PROGRAM_IF_DEPTH_NV = 0x88F6 :: GLenum
+
+pattern GL_MAX_PROGRAM_INSTRUCTIONS_ARB = 0x88A1 :: GLenum
+
+pattern GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB = 0x88B4 :: GLenum
+
+pattern GL_MAX_PROGRAM_LOOP_COUNT_NV = 0x88F8 :: GLenum
+
+pattern GL_MAX_PROGRAM_LOOP_DEPTH_NV = 0x88F7 :: GLenum
+
+pattern GL_MAX_PROGRAM_MATRICES_ARB = 0x862F :: GLenum
+
+pattern GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB = 0x862E :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B3 :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x880E :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AF :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A3 :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AB :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A7 :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x8810 :: GLenum
+
+pattern GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x880F :: GLenum
+
+pattern GL_MAX_PROGRAM_OUTPUT_VERTICES_NV = 0x8C27 :: GLenum
+
+pattern GL_MAX_PROGRAM_PARAMETERS_ARB = 0x88A9 :: GLenum
+
+pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV = 0x8DA0 :: GLenum
+
+pattern GL_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV = 0x8DA1 :: GLenum
+
+pattern GL_MAX_PROGRAM_PATCH_ATTRIBS_NV = 0x86D8 :: GLenum
+
+pattern GL_MAX_PROGRAM_RESULT_COMPONENTS_NV = 0x8909 :: GLenum
+
+pattern GL_MAX_PROGRAM_SUBROUTINE_NUM_NV = 0x8F45 :: GLenum
+
+pattern GL_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV = 0x8F44 :: GLenum
+
+pattern GL_MAX_PROGRAM_TEMPORARIES_ARB = 0x88A5 :: GLenum
+
+pattern GL_MAX_PROGRAM_TEXEL_OFFSET = 0x8905 :: GLenum
+
+pattern GL_MAX_PROGRAM_TEXEL_OFFSET_EXT = 0x8905 :: GLenum
+
+pattern GL_MAX_PROGRAM_TEXEL_OFFSET_NV = 0x8905 :: GLenum
+
+pattern GL_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB = 0x8F9F :: GLenum
+
+pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5F :: GLenum
+
+pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5F :: GLenum
+
+pattern GL_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5F :: GLenum
+
+pattern GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB = 0x880D :: GLenum
+
+pattern GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x880C :: GLenum
+
+pattern GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV = 0x8C28 :: GLenum
+
+pattern GL_MAX_PROJECTION_STACK_DEPTH = 0x0D38 :: GLenum
+
+pattern GL_MAX_RASTER_SAMPLES_EXT = 0x9329 :: GLenum
+
+pattern GL_MAX_RATIONAL_EVAL_ORDER_NV = 0x86D7 :: GLenum
+
+pattern GL_MAX_RECTANGLE_TEXTURE_SIZE = 0x84F8 :: GLenum
+
+pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB = 0x84F8 :: GLenum
+
+pattern GL_MAX_RECTANGLE_TEXTURE_SIZE_NV = 0x84F8 :: GLenum
+
+pattern GL_MAX_RENDERBUFFER_SIZE = 0x84E8 :: GLenum
+
+pattern GL_MAX_RENDERBUFFER_SIZE_EXT = 0x84E8 :: GLenum
+
+pattern GL_MAX_RENDERBUFFER_SIZE_OES = 0x84E8 :: GLenum
+
+pattern GL_MAX_SAMPLES = 0x8D57 :: GLenum
+
+pattern GL_MAX_SAMPLES_ANGLE = 0x8D57 :: GLenum
+
+pattern GL_MAX_SAMPLES_APPLE = 0x8D57 :: GLenum
+
+pattern GL_MAX_SAMPLES_EXT = 0x8D57 :: GLenum
+
+pattern GL_MAX_SAMPLES_IMG = 0x9135 :: GLenum
+
+pattern GL_MAX_SAMPLES_NV = 0x8D57 :: GLenum
+
+pattern GL_MAX_SAMPLE_MASK_WORDS = 0x8E59 :: GLenum
+
+pattern GL_MAX_SAMPLE_MASK_WORDS_NV = 0x8E59 :: GLenum
+
+pattern GL_MAX_SERVER_WAIT_TIMEOUT = 0x9111 :: GLenum
+
+pattern GL_MAX_SERVER_WAIT_TIMEOUT_APPLE = 0x9111 :: GLenum
+
+pattern GL_MAX_SHADER_BUFFER_ADDRESS_NV = 0x8F35 :: GLenum
+
+pattern GL_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0 :: GLenum
+
+pattern GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT = 0x8F63 :: GLenum
+
+pattern GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT = 0x8F67 :: GLenum
+
+pattern GL_MAX_SHADER_STORAGE_BLOCK_SIZE = 0x90DE :: GLenum
+
+pattern GL_MAX_SHADER_STORAGE_BUFFER_BINDINGS = 0x90DD :: GLenum
+
+pattern GL_MAX_SHININESS_NV = 0x8504 :: GLenum
+
+pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD = 0x9199 :: GLenum
+
+pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB = 0x9199 :: GLenum
+
+pattern GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT = 0x9199 :: GLenum
+
+pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS = 0x919A :: GLenum
+
+pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB = 0x919A :: GLenum
+
+pattern GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT = 0x919A :: GLenum
+
+pattern GL_MAX_SPARSE_TEXTURE_SIZE_AMD = 0x9198 :: GLenum
+
+pattern GL_MAX_SPARSE_TEXTURE_SIZE_ARB = 0x9198 :: GLenum
+
+pattern GL_MAX_SPARSE_TEXTURE_SIZE_EXT = 0x9198 :: GLenum
+
+pattern GL_MAX_SPOT_EXPONENT_NV = 0x8505 :: GLenum
+
+pattern GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV = 0x9349 :: GLenum
+
+pattern GL_MAX_SUBROUTINES = 0x8DE7 :: GLenum
+
+pattern GL_MAX_SUBROUTINE_UNIFORM_LOCATIONS = 0x8DE8 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS = 0x92D3 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT = 0x92D3 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES = 0x92D3 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS = 0x92CD :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CD :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES = 0x92CD :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS = 0x90CB :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT = 0x90CB :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES = 0x90CB :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS = 0x886C :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT = 0x886C :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES = 0x886C :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS = 0x8E83 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT = 0x8E83 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES = 0x8E83 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS = 0x90D8 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT = 0x90D8 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES = 0x90D8 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS = 0x8E81 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT = 0x8E81 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES = 0x8E81 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS = 0x8E85 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT = 0x8E85 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES = 0x8E85 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS = 0x8E89 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT = 0x8E89 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES = 0x8E89 :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS = 0x8E7F :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT = 0x8E7F :: GLenum
+
+pattern GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES = 0x8E7F :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS = 0x92D4 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT = 0x92D4 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES = 0x92D4 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS = 0x92CE :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT = 0x92CE :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES = 0x92CE :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS = 0x90CC :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT = 0x90CC :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES = 0x90CC :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS = 0x886D :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT = 0x886D :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES = 0x886D :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS = 0x8E86 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT = 0x8E86 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES = 0x8E86 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS = 0x90D9 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT = 0x90D9 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES = 0x90D9 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS = 0x8E82 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT = 0x8E82 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES = 0x8E82 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS = 0x8E8A :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT = 0x8E8A :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES = 0x8E8A :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS = 0x8E80 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT = 0x8E80 :: GLenum
+
+pattern GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES = 0x8E80 :: GLenum
+
+pattern GL_MAX_TESS_GEN_LEVEL = 0x8E7E :: GLenum
+
+pattern GL_MAX_TESS_GEN_LEVEL_EXT = 0x8E7E :: GLenum
+
+pattern GL_MAX_TESS_GEN_LEVEL_OES = 0x8E7E :: GLenum
+
+pattern GL_MAX_TESS_PATCH_COMPONENTS = 0x8E84 :: GLenum
+
+pattern GL_MAX_TESS_PATCH_COMPONENTS_EXT = 0x8E84 :: GLenum
+
+pattern GL_MAX_TESS_PATCH_COMPONENTS_OES = 0x8E84 :: GLenum
+
+pattern GL_MAX_TEXTURE_BUFFER_SIZE = 0x8C2B :: GLenum
+
+pattern GL_MAX_TEXTURE_BUFFER_SIZE_ARB = 0x8C2B :: GLenum
+
+pattern GL_MAX_TEXTURE_BUFFER_SIZE_EXT = 0x8C2B :: GLenum
+
+pattern GL_MAX_TEXTURE_BUFFER_SIZE_OES = 0x8C2B :: GLenum
+
+pattern GL_MAX_TEXTURE_COORDS = 0x8871 :: GLenum
+
+pattern GL_MAX_TEXTURE_COORDS_ARB = 0x8871 :: GLenum
+
+pattern GL_MAX_TEXTURE_COORDS_NV = 0x8871 :: GLenum
+
+pattern GL_MAX_TEXTURE_IMAGE_UNITS = 0x8872 :: GLenum
+
+pattern GL_MAX_TEXTURE_IMAGE_UNITS_ARB = 0x8872 :: GLenum
+
+pattern GL_MAX_TEXTURE_IMAGE_UNITS_NV = 0x8872 :: GLenum
+
+pattern GL_MAX_TEXTURE_LOD_BIAS = 0x84FD :: GLenum
+
+pattern GL_MAX_TEXTURE_LOD_BIAS_EXT = 0x84FD :: GLenum
+
+pattern GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FF :: GLenum
+
+pattern GL_MAX_TEXTURE_SIZE = 0x0D33 :: GLenum
+
+pattern GL_MAX_TEXTURE_STACK_DEPTH = 0x0D39 :: GLenum
+
+pattern GL_MAX_TEXTURE_UNITS = 0x84E2 :: GLenum
+
+pattern GL_MAX_TEXTURE_UNITS_ARB = 0x84E2 :: GLenum
+
+pattern GL_MAX_TRACK_MATRICES_NV = 0x862F :: GLenum
+
+pattern GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV = 0x862E :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_BUFFERS = 0x8E70 :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 0x8C8A :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT = 0x8C8A :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV = 0x8C8A :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 0x8C8B :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT = 0x8C8B :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV = 0x8C8B :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 0x8C80 :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT = 0x8C80 :: GLenum
+
+pattern GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV = 0x8C80 :: GLenum
+
+pattern GL_MAX_UNIFORM_BLOCK_SIZE = 0x8A30 :: GLenum
+
+pattern GL_MAX_UNIFORM_BUFFER_BINDINGS = 0x8A2F :: GLenum
+
+pattern GL_MAX_UNIFORM_LOCATIONS = 0x826E :: GLenum
+
+pattern GL_MAX_VARYING_COMPONENTS = 0x8B4B :: GLenum
+
+pattern GL_MAX_VARYING_COMPONENTS_EXT = 0x8B4B :: GLenum
+
+pattern GL_MAX_VARYING_FLOATS = 0x8B4B :: GLenum
+
+pattern GL_MAX_VARYING_FLOATS_ARB = 0x8B4B :: GLenum
+
+pattern GL_MAX_VARYING_VECTORS = 0x8DFC :: GLenum
+
+pattern GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV = 0x8520 :: GLenum
+
+pattern GL_MAX_VERTEX_ATOMIC_COUNTERS = 0x92D2 :: GLenum
+
+pattern GL_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS = 0x92CC :: GLenum
+
+pattern GL_MAX_VERTEX_ATTRIBS = 0x8869 :: GLenum
+
+pattern GL_MAX_VERTEX_ATTRIBS_ARB = 0x8869 :: GLenum
+
+pattern GL_MAX_VERTEX_ATTRIB_BINDINGS = 0x82DA :: GLenum
+
+pattern GL_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D9 :: GLenum
+
+pattern GL_MAX_VERTEX_ATTRIB_STRIDE = 0x82E5 :: GLenum
+
+pattern GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT = 0x8DE2 :: GLenum
+
+pattern GL_MAX_VERTEX_HINT_PGI = 0x1A22D :: GLenum
+
+pattern GL_MAX_VERTEX_IMAGE_UNIFORMS = 0x90CA :: GLenum
+
+pattern GL_MAX_VERTEX_OUTPUT_COMPONENTS = 0x9122 :: GLenum
+
+pattern GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87C5 :: GLenum
+
+pattern GL_MAX_VERTEX_SHADER_INVARIANTS_EXT = 0x87C7 :: GLenum
+
+pattern GL_MAX_VERTEX_SHADER_LOCALS_EXT = 0x87C9 :: GLenum
+
+pattern GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87C8 :: GLenum
+
+pattern GL_MAX_VERTEX_SHADER_STORAGE_BLOCKS = 0x90D6 :: GLenum
+
+pattern GL_MAX_VERTEX_SHADER_VARIANTS_EXT = 0x87C6 :: GLenum
+
+pattern GL_MAX_VERTEX_STREAMS = 0x8E71 :: GLenum
+
+pattern GL_MAX_VERTEX_STREAMS_ATI = 0x876B :: GLenum
+
+pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS = 0x8B4C :: GLenum
+
+pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB = 0x8B4C :: GLenum
+
+pattern GL_MAX_VERTEX_UNIFORM_BLOCKS = 0x8A2B :: GLenum
+
+pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS = 0x8B4A :: GLenum
+
+pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB = 0x8B4A :: GLenum
+
+pattern GL_MAX_VERTEX_UNIFORM_VECTORS = 0x8DFB :: GLenum
+
+pattern GL_MAX_VERTEX_UNITS_ARB = 0x86A4 :: GLenum
+
+pattern GL_MAX_VERTEX_UNITS_OES = 0x86A4 :: GLenum
+
+pattern GL_MAX_VERTEX_VARYING_COMPONENTS_ARB = 0x8DDE :: GLenum
+
+pattern GL_MAX_VERTEX_VARYING_COMPONENTS_EXT = 0x8DDE :: GLenum
+
+pattern GL_MAX_VIEWPORTS = 0x825B :: GLenum
+
+pattern GL_MAX_VIEWPORTS_NV = 0x825B :: GLenum
+
+pattern GL_MAX_VIEWPORT_DIMS = 0x0D3A :: GLenum
+
+pattern GL_MAX_VIEWS_OVR = 0x9631 :: GLenum
+
+pattern GL_MAX_WIDTH = 0x827E :: GLenum
+
+pattern GL_MEDIUM_FLOAT = 0x8DF1 :: GLenum
+
+pattern GL_MEDIUM_INT = 0x8DF4 :: GLenum
+
+pattern GL_MIN = 0x8007 :: GLenum
+
+pattern GL_MINMAX = 0x802E :: GLenum
+
+pattern GL_MINMAX_EXT = 0x802E :: GLenum
+
+pattern GL_MINMAX_FORMAT = 0x802F :: GLenum
+
+pattern GL_MINMAX_FORMAT_EXT = 0x802F :: GLenum
+
+pattern GL_MINMAX_SINK = 0x8030 :: GLenum
+
+pattern GL_MINMAX_SINK_EXT = 0x8030 :: GLenum
+
+pattern GL_MINOR_VERSION = 0x821C :: GLenum
+
+pattern GL_MINUS_CLAMPED_NV = 0x92B3 :: GLenum
+
+pattern GL_MINUS_NV = 0x929F :: GLenum
+
+pattern GL_MIN_EXT = 0x8007 :: GLenum
+
+pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET = 0x8E5B :: GLenum
+
+pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV = 0x8E5B :: GLenum
+
+pattern GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES = 0x8E5B :: GLenum
+
+pattern GL_MIN_LOD_WARNING_AMD = 0x919C :: GLenum
+
+pattern GL_MIN_MAP_BUFFER_ALIGNMENT = 0x90BC :: GLenum
+
+pattern GL_MIN_PROGRAM_TEXEL_OFFSET = 0x8904 :: GLenum
+
+pattern GL_MIN_PROGRAM_TEXEL_OFFSET_EXT = 0x8904 :: GLenum
+
+pattern GL_MIN_PROGRAM_TEXEL_OFFSET_NV = 0x8904 :: GLenum
+
+pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET = 0x8E5E :: GLenum
+
+pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB = 0x8E5E :: GLenum
+
+pattern GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV = 0x8E5E :: GLenum
+
+pattern GL_MIN_SAMPLE_SHADING_VALUE = 0x8C37 :: GLenum
+
+pattern GL_MIN_SAMPLE_SHADING_VALUE_ARB = 0x8C37 :: GLenum
+
+pattern GL_MIN_SAMPLE_SHADING_VALUE_OES = 0x8C37 :: GLenum
+
+pattern GL_MIN_SPARSE_LEVEL_AMD = 0x919B :: GLenum
+
+pattern GL_MIPMAP = 0x8293 :: GLenum
+
+pattern GL_MIRRORED_REPEAT = 0x8370 :: GLenum
+
+pattern GL_MIRRORED_REPEAT_ARB = 0x8370 :: GLenum
+
+pattern GL_MIRRORED_REPEAT_IBM = 0x8370 :: GLenum
+
+pattern GL_MIRRORED_REPEAT_OES = 0x8370 :: GLenum
+
+pattern GL_MIRROR_CLAMP_ATI = 0x8742 :: GLenum
+
+pattern GL_MIRROR_CLAMP_EXT = 0x8742 :: GLenum
+
+pattern GL_MIRROR_CLAMP_TO_BORDER_EXT = 0x8912 :: GLenum
+
+pattern GL_MIRROR_CLAMP_TO_EDGE = 0x8743 :: GLenum
+
+pattern GL_MIRROR_CLAMP_TO_EDGE_ATI = 0x8743 :: GLenum
+
+pattern GL_MIRROR_CLAMP_TO_EDGE_EXT = 0x8743 :: GLenum
+
+pattern GL_MITER_REVERT_NV = 0x90A7 :: GLenum
+
+pattern GL_MITER_TRUNCATE_NV = 0x90A8 :: GLenum
+
+pattern GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV = 0x932F :: GLenum
+
+pattern GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV = 0x9330 :: GLenum
+
+pattern GL_MODELVIEW = 0x1700 :: GLenum
+
+pattern GL_MODELVIEW0_ARB = 0x1700 :: GLenum
+
+pattern GL_MODELVIEW0_EXT = 0x1700 :: GLenum
+
+pattern GL_MODELVIEW0_MATRIX_EXT = 0x0BA6 :: GLenum
+
+pattern GL_MODELVIEW0_STACK_DEPTH_EXT = 0x0BA3 :: GLenum
+
+pattern GL_MODELVIEW10_ARB = 0x872A :: GLenum
+
+pattern GL_MODELVIEW11_ARB = 0x872B :: GLenum
+
+pattern GL_MODELVIEW12_ARB = 0x872C :: GLenum
+
+pattern GL_MODELVIEW13_ARB = 0x872D :: GLenum
+
+pattern GL_MODELVIEW14_ARB = 0x872E :: GLenum
+
+pattern GL_MODELVIEW15_ARB = 0x872F :: GLenum
+
+pattern GL_MODELVIEW16_ARB = 0x8730 :: GLenum
+
+pattern GL_MODELVIEW17_ARB = 0x8731 :: GLenum
+
+pattern GL_MODELVIEW18_ARB = 0x8732 :: GLenum
+
+pattern GL_MODELVIEW19_ARB = 0x8733 :: GLenum
+
+pattern GL_MODELVIEW1_ARB = 0x850A :: GLenum
+
+pattern GL_MODELVIEW1_EXT = 0x850A :: GLenum
+
+pattern GL_MODELVIEW1_MATRIX_EXT = 0x8506 :: GLenum
+
+pattern GL_MODELVIEW1_STACK_DEPTH_EXT = 0x8502 :: GLenum
+
+pattern GL_MODELVIEW20_ARB = 0x8734 :: GLenum
+
+pattern GL_MODELVIEW21_ARB = 0x8735 :: GLenum
+
+pattern GL_MODELVIEW22_ARB = 0x8736 :: GLenum
+
+pattern GL_MODELVIEW23_ARB = 0x8737 :: GLenum
+
+pattern GL_MODELVIEW24_ARB = 0x8738 :: GLenum
+
+pattern GL_MODELVIEW25_ARB = 0x8739 :: GLenum
+
+pattern GL_MODELVIEW26_ARB = 0x873A :: GLenum
+
+pattern GL_MODELVIEW27_ARB = 0x873B :: GLenum
+
+pattern GL_MODELVIEW28_ARB = 0x873C :: GLenum
+
+pattern GL_MODELVIEW29_ARB = 0x873D :: GLenum
+
+pattern GL_MODELVIEW2_ARB = 0x8722 :: GLenum
+
+pattern GL_MODELVIEW30_ARB = 0x873E :: GLenum
+
+pattern GL_MODELVIEW31_ARB = 0x873F :: GLenum
+
+pattern GL_MODELVIEW3_ARB = 0x8723 :: GLenum
+
+pattern GL_MODELVIEW4_ARB = 0x8724 :: GLenum
+
+pattern GL_MODELVIEW5_ARB = 0x8725 :: GLenum
+
+pattern GL_MODELVIEW6_ARB = 0x8726 :: GLenum
+
+pattern GL_MODELVIEW7_ARB = 0x8727 :: GLenum
+
+pattern GL_MODELVIEW8_ARB = 0x8728 :: GLenum
+
+pattern GL_MODELVIEW9_ARB = 0x8729 :: GLenum
+
+pattern GL_MODELVIEW_MATRIX = 0x0BA6 :: GLenum
+
+pattern GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898D :: GLenum
+
+pattern GL_MODELVIEW_PROJECTION_NV = 0x8629 :: GLenum
+
+pattern GL_MODELVIEW_STACK_DEPTH = 0x0BA3 :: GLenum
+
+pattern GL_MODULATE = 0x2100 :: GLenum
+
+pattern GL_MODULATE_ADD_ATI = 0x8744 :: GLenum
+
+pattern GL_MODULATE_COLOR_IMG = 0x8C04 :: GLenum
+
+pattern GL_MODULATE_SIGNED_ADD_ATI = 0x8745 :: GLenum
+
+pattern GL_MODULATE_SUBTRACT_ATI = 0x8746 :: GLenum
+
+pattern GL_MOVE_TO_CONTINUES_NV = 0x90B6 :: GLenum
+
+pattern GL_MOVE_TO_NV = 0x02 :: GLubyte
+
+pattern GL_MOVE_TO_RESETS_NV = 0x90B5 :: GLenum
+
+pattern GL_MOV_ATI = 0x8961 :: GLenum
+
+pattern GL_MULT = 0x0103 :: GLenum
+
+pattern GL_MULTIPLY = 0x9294 :: GLenum
+
+pattern GL_MULTIPLY_KHR = 0x9294 :: GLenum
+
+pattern GL_MULTIPLY_NV = 0x9294 :: GLenum
+
+pattern GL_MULTISAMPLE = 0x809D :: GLenum
+
+pattern GL_MULTISAMPLES_NV = 0x9371 :: GLenum
+
+pattern GL_MULTISAMPLE_3DFX = 0x86B2 :: GLenum
+
+pattern GL_MULTISAMPLE_ARB = 0x809D :: GLenum
+
+pattern GL_MULTISAMPLE_BIT = 0x20000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BIT_3DFX = 0x20000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BIT_ARB = 0x20000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BIT_EXT = 0x20000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT0_QCOM = 0x01000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT1_QCOM = 0x02000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT2_QCOM = 0x04000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT3_QCOM = 0x08000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT4_QCOM = 0x10000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT5_QCOM = 0x20000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT6_QCOM = 0x40000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_BUFFER_BIT7_QCOM = 0x80000000 :: GLbitfield
+
+pattern GL_MULTISAMPLE_COVERAGE_MODES_NV = 0x8E12 :: GLenum
+
+pattern GL_MULTISAMPLE_EXT = 0x809D :: GLenum
+
+pattern GL_MULTISAMPLE_FILTER_HINT_NV = 0x8534 :: GLenum
+
+pattern GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 0x9382 :: GLenum
+
+pattern GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382 :: GLenum
+
+pattern GL_MULTISAMPLE_LINE_WIDTH_RANGE = 0x9381 :: GLenum
+
+pattern GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381 :: GLenum
+
+pattern GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT = 0x932B :: GLenum
+
+pattern GL_MULTISAMPLE_SGIS = 0x809D :: GLenum
+
+pattern GL_MULTIVIEW_EXT = 0x90F1 :: GLenum
+
+pattern GL_MUL_ATI = 0x8964 :: GLenum
+
+pattern GL_MVP_MATRIX_EXT = 0x87E3 :: GLenum
+
+pattern GL_N3F_V3F = 0x2A25 :: GLenum
+
+pattern GL_NAMED_STRING_LENGTH_ARB = 0x8DE9 :: GLenum
+
+pattern GL_NAMED_STRING_TYPE_ARB = 0x8DEA :: GLenum
+
+pattern GL_NAME_LENGTH = 0x92F9 :: GLenum
+
+pattern GL_NAME_STACK_DEPTH = 0x0D70 :: GLenum
+
+pattern GL_NAND = 0x150E :: GLenum
+
+pattern GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI = 0x1A203 :: GLenum
+
+pattern GL_NATIVE_GRAPHICS_END_HINT_PGI = 0x1A204 :: GLenum
+
+pattern GL_NATIVE_GRAPHICS_HANDLE_PGI = 0x1A202 :: GLenum
+
+pattern GL_NEAREST = 0x2600 :: GLenum
+
+pattern GL_NEAREST_CLIPMAP_LINEAR_SGIX = 0x844E :: GLenum
+
+pattern GL_NEAREST_CLIPMAP_NEAREST_SGIX = 0x844D :: GLenum
+
+pattern GL_NEAREST_MIPMAP_LINEAR = 0x2702 :: GLenum
+
+pattern GL_NEAREST_MIPMAP_NEAREST = 0x2700 :: GLenum
+
+pattern GL_NEGATE_BIT_ATI = 0x00000004 :: GLbitfield
+
+pattern GL_NEGATIVE_ONE_EXT = 0x87DF :: GLenum
+
+pattern GL_NEGATIVE_ONE_TO_ONE = 0x935E :: GLenum
+
+pattern GL_NEGATIVE_W_EXT = 0x87DC :: GLenum
+
+pattern GL_NEGATIVE_X_EXT = 0x87D9 :: GLenum
+
+pattern GL_NEGATIVE_Y_EXT = 0x87DA :: GLenum
+
+pattern GL_NEGATIVE_Z_EXT = 0x87DB :: GLenum
+
+pattern GL_NEVER = 0x0200 :: GLenum
+
+pattern GL_NEXT_BUFFER_NV = -2 :: GLenum
+
+pattern GL_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV = 0x9025 :: GLenum
+
+pattern GL_NICEST = 0x1102 :: GLenum
+
+pattern GL_NONE = 0 :: GLenum
+
+pattern GL_NONE_OES = 0 :: GLenum
+
+pattern GL_NOOP = 0x1505 :: GLenum
+
+pattern GL_NOP_COMMAND_NV = 0x0001 :: GLenum
+
+pattern GL_NOR = 0x1508 :: GLenum
+
+pattern GL_NORMALIZE = 0x0BA1 :: GLenum
+
+pattern GL_NORMALIZED_RANGE_EXT = 0x87E0 :: GLenum
+
+pattern GL_NORMAL_ARRAY = 0x8075 :: GLenum
+
+pattern GL_NORMAL_ARRAY_ADDRESS_NV = 0x8F22 :: GLenum
+
+pattern GL_NORMAL_ARRAY_BUFFER_BINDING = 0x8897 :: GLenum
+
+pattern GL_NORMAL_ARRAY_BUFFER_BINDING_ARB = 0x8897 :: GLenum
+
+pattern GL_NORMAL_ARRAY_COUNT_EXT = 0x8080 :: GLenum
+
+pattern GL_NORMAL_ARRAY_EXT = 0x8075 :: GLenum
+
+pattern GL_NORMAL_ARRAY_LENGTH_NV = 0x8F2C :: GLenum
+
+pattern GL_NORMAL_ARRAY_LIST_IBM = 103071 :: GLenum
+
+pattern GL_NORMAL_ARRAY_LIST_STRIDE_IBM = 103081 :: GLenum
+
+pattern GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F6 :: GLenum
+
+pattern GL_NORMAL_ARRAY_POINTER = 0x808F :: GLenum
+
+pattern GL_NORMAL_ARRAY_POINTER_EXT = 0x808F :: GLenum
+
+pattern GL_NORMAL_ARRAY_STRIDE = 0x807F :: GLenum
+
+pattern GL_NORMAL_ARRAY_STRIDE_EXT = 0x807F :: GLenum
+
+pattern GL_NORMAL_ARRAY_TYPE = 0x807E :: GLenum
+
+pattern GL_NORMAL_ARRAY_TYPE_EXT = 0x807E :: GLenum
+
+pattern GL_NORMAL_BIT_PGI = 0x08000000 :: GLbitfield
+
+pattern GL_NORMAL_MAP = 0x8511 :: GLenum
+
+pattern GL_NORMAL_MAP_ARB = 0x8511 :: GLenum
+
+pattern GL_NORMAL_MAP_EXT = 0x8511 :: GLenum
+
+pattern GL_NORMAL_MAP_NV = 0x8511 :: GLenum
+
+pattern GL_NORMAL_MAP_OES = 0x8511 :: GLenum
+
+pattern GL_NOTEQUAL = 0x0205 :: GLenum
+
+pattern GL_NO_ERROR = 0 :: GLenum
+
+pattern GL_NO_RESET_NOTIFICATION = 0x8261 :: GLenum
+
+pattern GL_NO_RESET_NOTIFICATION_ARB = 0x8261 :: GLenum
+
+pattern GL_NO_RESET_NOTIFICATION_EXT = 0x8261 :: GLenum
+
+pattern GL_NO_RESET_NOTIFICATION_KHR = 0x8261 :: GLenum
+
+pattern GL_NUM_ACTIVE_VARIABLES = 0x9304 :: GLenum
+
+pattern GL_NUM_COMPATIBLE_SUBROUTINES = 0x8E4A :: GLenum
+
+pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS = 0x86A2 :: GLenum
+
+pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB = 0x86A2 :: GLenum
+
+pattern GL_NUM_EXTENSIONS = 0x821D :: GLenum
+
+pattern GL_NUM_FILL_STREAMS_NV = 0x8E29 :: GLenum
+
+pattern GL_NUM_FRAGMENT_CONSTANTS_ATI = 0x896F :: GLenum
+
+pattern GL_NUM_FRAGMENT_REGISTERS_ATI = 0x896E :: GLenum
+
+pattern GL_NUM_GENERAL_COMBINERS_NV = 0x854E :: GLenum
+
+pattern GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI = 0x8973 :: GLenum
+
+pattern GL_NUM_INSTRUCTIONS_PER_PASS_ATI = 0x8971 :: GLenum
+
+pattern GL_NUM_INSTRUCTIONS_TOTAL_ATI = 0x8972 :: GLenum
+
+pattern GL_NUM_LOOPBACK_COMPONENTS_ATI = 0x8974 :: GLenum
+
+pattern GL_NUM_PASSES_ATI = 0x8970 :: GLenum
+
+pattern GL_NUM_PROGRAM_BINARY_FORMATS = 0x87FE :: GLenum
+
+pattern GL_NUM_PROGRAM_BINARY_FORMATS_OES = 0x87FE :: GLenum
+
+pattern GL_NUM_SAMPLE_COUNTS = 0x9380 :: GLenum
+
+pattern GL_NUM_SHADER_BINARY_FORMATS = 0x8DF9 :: GLenum
+
+pattern GL_NUM_SHADING_LANGUAGE_VERSIONS = 0x82E9 :: GLenum
+
+pattern GL_NUM_SPARSE_LEVELS_ARB = 0x91AA :: GLenum
+
+pattern GL_NUM_SPARSE_LEVELS_EXT = 0x91AA :: GLenum
+
+pattern GL_NUM_VIDEO_CAPTURE_STREAMS_NV = 0x9024 :: GLenum
+
+pattern GL_NUM_VIRTUAL_PAGE_SIZES_ARB = 0x91A8 :: GLenum
+
+pattern GL_NUM_VIRTUAL_PAGE_SIZES_EXT = 0x91A8 :: GLenum
+
+pattern GL_OBJECT_ACTIVE_ATTRIBUTES_ARB = 0x8B89 :: GLenum
+
+pattern GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB = 0x8B8A :: GLenum
+
+pattern GL_OBJECT_ACTIVE_UNIFORMS_ARB = 0x8B86 :: GLenum
+
+pattern GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB = 0x8B87 :: GLenum
+
+pattern GL_OBJECT_ATTACHED_OBJECTS_ARB = 0x8B85 :: GLenum
+
+pattern GL_OBJECT_BUFFER_SIZE_ATI = 0x8764 :: GLenum
+
+pattern GL_OBJECT_BUFFER_USAGE_ATI = 0x8765 :: GLenum
+
+pattern GL_OBJECT_COMPILE_STATUS_ARB = 0x8B81 :: GLenum
+
+pattern GL_OBJECT_DELETE_STATUS_ARB = 0x8B80 :: GLenum
+
+pattern GL_OBJECT_DISTANCE_TO_LINE_SGIS = 0x81F3 :: GLenum
+
+pattern GL_OBJECT_DISTANCE_TO_POINT_SGIS = 0x81F1 :: GLenum
+
+pattern GL_OBJECT_INFO_LOG_LENGTH_ARB = 0x8B84 :: GLenum
+
+pattern GL_OBJECT_LINEAR = 0x2401 :: GLenum
+
+pattern GL_OBJECT_LINEAR_NV = 0x2401 :: GLenum
+
+pattern GL_OBJECT_LINE_SGIS = 0x81F7 :: GLenum
+
+pattern GL_OBJECT_LINK_STATUS_ARB = 0x8B82 :: GLenum
+
+pattern GL_OBJECT_PLANE = 0x2501 :: GLenum
+
+pattern GL_OBJECT_POINT_SGIS = 0x81F5 :: GLenum
+
+pattern GL_OBJECT_SHADER_SOURCE_LENGTH_ARB = 0x8B88 :: GLenum
+
+pattern GL_OBJECT_SUBTYPE_ARB = 0x8B4F :: GLenum
+
+pattern GL_OBJECT_TYPE = 0x9112 :: GLenum
+
+pattern GL_OBJECT_TYPE_APPLE = 0x9112 :: GLenum
+
+pattern GL_OBJECT_TYPE_ARB = 0x8B4E :: GLenum
+
+pattern GL_OBJECT_VALIDATE_STATUS_ARB = 0x8B83 :: GLenum
+
+pattern GL_OCCLUSION_QUERY_EVENT_MASK_AMD = 0x874F :: GLenum
+
+pattern GL_OCCLUSION_TEST_HP = 0x8165 :: GLenum
+
+pattern GL_OCCLUSION_TEST_RESULT_HP = 0x8166 :: GLenum
+
+pattern GL_OFFSET = 0x92FC :: GLenum
+
+pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV = 0x8856 :: GLenum
+
+pattern GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8857 :: GLenum
+
+pattern GL_OFFSET_HILO_TEXTURE_2D_NV = 0x8854 :: GLenum
+
+pattern GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV = 0x8855 :: GLenum
+
+pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV = 0x8850 :: GLenum
+
+pattern GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV = 0x8851 :: GLenum
+
+pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV = 0x8852 :: GLenum
+
+pattern GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV = 0x8853 :: GLenum
+
+pattern GL_OFFSET_TEXTURE_2D_BIAS_NV = 0x86E3 :: GLenum
+
+pattern GL_OFFSET_TEXTURE_2D_MATRIX_NV = 0x86E1 :: GLenum
+
+pattern GL_OFFSET_TEXTURE_2D_NV = 0x86E8 :: GLenum
+
+pattern GL_OFFSET_TEXTURE_2D_SCALE_NV = 0x86E2 :: GLenum
+
+pattern GL_OFFSET_TEXTURE_BIAS_NV = 0x86E3 :: GLenum
+
+pattern GL_OFFSET_TEXTURE_MATRIX_NV = 0x86E1 :: GLenum
+
+pattern GL_OFFSET_TEXTURE_RECTANGLE_NV = 0x864C :: GLenum
+
+pattern GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV = 0x864D :: GLenum
+
+pattern GL_OFFSET_TEXTURE_SCALE_NV = 0x86E2 :: GLenum
+
+pattern GL_ONE = 1 :: GLenum
+
+pattern GL_ONE_EXT = 0x87DE :: GLenum
+
+pattern GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004 :: GLenum
+
+pattern GL_ONE_MINUS_CONSTANT_ALPHA_EXT = 0x8004 :: GLenum
+
+pattern GL_ONE_MINUS_CONSTANT_COLOR = 0x8002 :: GLenum
+
+pattern GL_ONE_MINUS_CONSTANT_COLOR_EXT = 0x8002 :: GLenum
+
+pattern GL_ONE_MINUS_DST_ALPHA = 0x0305 :: GLenum
+
+pattern GL_ONE_MINUS_DST_COLOR = 0x0307 :: GLenum
+
+pattern GL_ONE_MINUS_SRC1_ALPHA = 0x88FB :: GLenum
+
+pattern GL_ONE_MINUS_SRC1_ALPHA_EXT = 0x88FB :: GLenum
+
+pattern GL_ONE_MINUS_SRC1_COLOR = 0x88FA :: GLenum
+
+pattern GL_ONE_MINUS_SRC1_COLOR_EXT = 0x88FA :: GLenum
+
+pattern GL_ONE_MINUS_SRC_ALPHA = 0x0303 :: GLenum
+
+pattern GL_ONE_MINUS_SRC_COLOR = 0x0301 :: GLenum
+
+pattern GL_OPERAND0_ALPHA = 0x8598 :: GLenum
+
+pattern GL_OPERAND0_ALPHA_ARB = 0x8598 :: GLenum
+
+pattern GL_OPERAND0_ALPHA_EXT = 0x8598 :: GLenum
+
+pattern GL_OPERAND0_RGB = 0x8590 :: GLenum
+
+pattern GL_OPERAND0_RGB_ARB = 0x8590 :: GLenum
+
+pattern GL_OPERAND0_RGB_EXT = 0x8590 :: GLenum
+
+pattern GL_OPERAND1_ALPHA = 0x8599 :: GLenum
+
+pattern GL_OPERAND1_ALPHA_ARB = 0x8599 :: GLenum
+
+pattern GL_OPERAND1_ALPHA_EXT = 0x8599 :: GLenum
+
+pattern GL_OPERAND1_RGB = 0x8591 :: GLenum
+
+pattern GL_OPERAND1_RGB_ARB = 0x8591 :: GLenum
+
+pattern GL_OPERAND1_RGB_EXT = 0x8591 :: GLenum
+
+pattern GL_OPERAND2_ALPHA = 0x859A :: GLenum
+
+pattern GL_OPERAND2_ALPHA_ARB = 0x859A :: GLenum
+
+pattern GL_OPERAND2_ALPHA_EXT = 0x859A :: GLenum
+
+pattern GL_OPERAND2_RGB = 0x8592 :: GLenum
+
+pattern GL_OPERAND2_RGB_ARB = 0x8592 :: GLenum
+
+pattern GL_OPERAND2_RGB_EXT = 0x8592 :: GLenum
+
+pattern GL_OPERAND3_ALPHA_NV = 0x859B :: GLenum
+
+pattern GL_OPERAND3_RGB_NV = 0x8593 :: GLenum
+
+pattern GL_OP_ADD_EXT = 0x8787 :: GLenum
+
+pattern GL_OP_CLAMP_EXT = 0x878E :: GLenum
+
+pattern GL_OP_CROSS_PRODUCT_EXT = 0x8797 :: GLenum
+
+pattern GL_OP_DOT3_EXT = 0x8784 :: GLenum
+
+pattern GL_OP_DOT4_EXT = 0x8785 :: GLenum
+
+pattern GL_OP_EXP_BASE_2_EXT = 0x8791 :: GLenum
+
+pattern GL_OP_FLOOR_EXT = 0x878F :: GLenum
+
+pattern GL_OP_FRAC_EXT = 0x8789 :: GLenum
+
+pattern GL_OP_INDEX_EXT = 0x8782 :: GLenum
+
+pattern GL_OP_LOG_BASE_2_EXT = 0x8792 :: GLenum
+
+pattern GL_OP_MADD_EXT = 0x8788 :: GLenum
+
+pattern GL_OP_MAX_EXT = 0x878A :: GLenum
+
+pattern GL_OP_MIN_EXT = 0x878B :: GLenum
+
+pattern GL_OP_MOV_EXT = 0x8799 :: GLenum
+
+pattern GL_OP_MULTIPLY_MATRIX_EXT = 0x8798 :: GLenum
+
+pattern GL_OP_MUL_EXT = 0x8786 :: GLenum
+
+pattern GL_OP_NEGATE_EXT = 0x8783 :: GLenum
+
+pattern GL_OP_POWER_EXT = 0x8793 :: GLenum
+
+pattern GL_OP_RECIP_EXT = 0x8794 :: GLenum
+
+pattern GL_OP_RECIP_SQRT_EXT = 0x8795 :: GLenum
+
+pattern GL_OP_ROUND_EXT = 0x8790 :: GLenum
+
+pattern GL_OP_SET_GE_EXT = 0x878C :: GLenum
+
+pattern GL_OP_SET_LT_EXT = 0x878D :: GLenum
+
+pattern GL_OP_SUB_EXT = 0x8796 :: GLenum
+
+pattern GL_OR = 0x1507 :: GLenum
+
+pattern GL_ORDER = 0x0A01 :: GLenum
+
+pattern GL_OR_INVERTED = 0x150D :: GLenum
+
+pattern GL_OR_REVERSE = 0x150B :: GLenum
+
+pattern GL_OUTPUT_COLOR0_EXT = 0x879B :: GLenum
+
+pattern GL_OUTPUT_COLOR1_EXT = 0x879C :: GLenum
+
+pattern GL_OUTPUT_FOG_EXT = 0x87BD :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD0_EXT = 0x879D :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD10_EXT = 0x87A7 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD11_EXT = 0x87A8 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD12_EXT = 0x87A9 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD13_EXT = 0x87AA :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD14_EXT = 0x87AB :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD15_EXT = 0x87AC :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD16_EXT = 0x87AD :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD17_EXT = 0x87AE :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD18_EXT = 0x87AF :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD19_EXT = 0x87B0 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD1_EXT = 0x879E :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD20_EXT = 0x87B1 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD21_EXT = 0x87B2 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD22_EXT = 0x87B3 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD23_EXT = 0x87B4 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD24_EXT = 0x87B5 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD25_EXT = 0x87B6 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD26_EXT = 0x87B7 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD27_EXT = 0x87B8 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD28_EXT = 0x87B9 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD29_EXT = 0x87BA :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD2_EXT = 0x879F :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD30_EXT = 0x87BB :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD31_EXT = 0x87BC :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD3_EXT = 0x87A0 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD4_EXT = 0x87A1 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD5_EXT = 0x87A2 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD6_EXT = 0x87A3 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD7_EXT = 0x87A4 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD8_EXT = 0x87A5 :: GLenum
+
+pattern GL_OUTPUT_TEXTURE_COORD9_EXT = 0x87A6 :: GLenum
+
+pattern GL_OUTPUT_VERTEX_EXT = 0x879A :: GLenum
+
+pattern GL_OUT_OF_MEMORY = 0x0505 :: GLenum
+
+pattern GL_OVERLAY = 0x9296 :: GLenum
+
+pattern GL_OVERLAY_KHR = 0x9296 :: GLenum
+
+pattern GL_OVERLAY_NV = 0x9296 :: GLenum
+
+pattern GL_PACK_ALIGNMENT = 0x0D05 :: GLenum
+
+pattern GL_PACK_CMYK_HINT_EXT = 0x800E :: GLenum
+
+pattern GL_PACK_COMPRESSED_BLOCK_DEPTH = 0x912D :: GLenum
+
+pattern GL_PACK_COMPRESSED_BLOCK_HEIGHT = 0x912C :: GLenum
+
+pattern GL_PACK_COMPRESSED_BLOCK_SIZE = 0x912E :: GLenum
+
+pattern GL_PACK_COMPRESSED_BLOCK_WIDTH = 0x912B :: GLenum
+
+pattern GL_PACK_COMPRESSED_SIZE_SGIX = 0x831C :: GLenum
+
+pattern GL_PACK_IMAGE_DEPTH_SGIS = 0x8131 :: GLenum
+
+pattern GL_PACK_IMAGE_HEIGHT = 0x806C :: GLenum
+
+pattern GL_PACK_IMAGE_HEIGHT_EXT = 0x806C :: GLenum
+
+pattern GL_PACK_INVERT_MESA = 0x8758 :: GLenum
+
+pattern GL_PACK_LSB_FIRST = 0x0D01 :: GLenum
+
+pattern GL_PACK_MAX_COMPRESSED_SIZE_SGIX = 0x831B :: GLenum
+
+pattern GL_PACK_RESAMPLE_OML = 0x8984 :: GLenum
+
+pattern GL_PACK_RESAMPLE_SGIX = 0x842E :: GLenum
+
+pattern GL_PACK_REVERSE_ROW_ORDER_ANGLE = 0x93A4 :: GLenum
+
+pattern GL_PACK_ROW_BYTES_APPLE = 0x8A15 :: GLenum
+
+pattern GL_PACK_ROW_LENGTH = 0x0D02 :: GLenum
+
+pattern GL_PACK_SKIP_IMAGES = 0x806B :: GLenum
+
+pattern GL_PACK_SKIP_IMAGES_EXT = 0x806B :: GLenum
+
+pattern GL_PACK_SKIP_PIXELS = 0x0D04 :: GLenum
+
+pattern GL_PACK_SKIP_ROWS = 0x0D03 :: GLenum
+
+pattern GL_PACK_SKIP_VOLUMES_SGIS = 0x8130 :: GLenum
+
+pattern GL_PACK_SUBSAMPLE_RATE_SGIX = 0x85A0 :: GLenum
+
+pattern GL_PACK_SWAP_BYTES = 0x0D00 :: GLenum
+
+pattern GL_PALETTE4_R5_G6_B5_OES = 0x8B92 :: GLenum
+
+pattern GL_PALETTE4_RGB5_A1_OES = 0x8B94 :: GLenum
+
+pattern GL_PALETTE4_RGB8_OES = 0x8B90 :: GLenum
+
+pattern GL_PALETTE4_RGBA4_OES = 0x8B93 :: GLenum
+
+pattern GL_PALETTE4_RGBA8_OES = 0x8B91 :: GLenum
+
+pattern GL_PALETTE8_R5_G6_B5_OES = 0x8B97 :: GLenum
+
+pattern GL_PALETTE8_RGB5_A1_OES = 0x8B99 :: GLenum
+
+pattern GL_PALETTE8_RGB8_OES = 0x8B95 :: GLenum
+
+pattern GL_PALETTE8_RGBA4_OES = 0x8B98 :: GLenum
+
+pattern GL_PALETTE8_RGBA8_OES = 0x8B96 :: GLenum
+
+pattern GL_PARALLEL_ARRAYS_INTEL = 0x83F4 :: GLenum
+
+pattern GL_PARAMETER_BUFFER_ARB = 0x80EE :: GLenum
+
+pattern GL_PARAMETER_BUFFER_BINDING_ARB = 0x80EF :: GLenum
+
+pattern GL_PARTIAL_SUCCESS_NV = 0x902E :: GLenum
+
+pattern GL_PASS_THROUGH_NV = 0x86E6 :: GLenum
+
+pattern GL_PASS_THROUGH_TOKEN = 0x0700 :: GLenum
+
+pattern GL_PATCHES = 0x000E :: GLenum
+
+pattern GL_PATCHES_EXT = 0x000E :: GLenum
+
+pattern GL_PATCHES_OES = 0x000E :: GLenum
+
+pattern GL_PATCH_DEFAULT_INNER_LEVEL = 0x8E73 :: GLenum
+
+pattern GL_PATCH_DEFAULT_INNER_LEVEL_EXT = 0x8E73 :: GLenum
+
+pattern GL_PATCH_DEFAULT_OUTER_LEVEL = 0x8E74 :: GLenum
+
+pattern GL_PATCH_DEFAULT_OUTER_LEVEL_EXT = 0x8E74 :: GLenum
+
+pattern GL_PATCH_VERTICES = 0x8E72 :: GLenum
+
+pattern GL_PATCH_VERTICES_EXT = 0x8E72 :: GLenum
+
+pattern GL_PATCH_VERTICES_OES = 0x8E72 :: GLenum
+
+pattern GL_PATH_CLIENT_LENGTH_NV = 0x907F :: GLenum
+
+pattern GL_PATH_COMMAND_COUNT_NV = 0x909D :: GLenum
+
+pattern GL_PATH_COMPUTED_LENGTH_NV = 0x90A0 :: GLenum
+
+pattern GL_PATH_COORD_COUNT_NV = 0x909E :: GLenum
+
+pattern GL_PATH_COVER_DEPTH_FUNC_NV = 0x90BF :: GLenum
+
+pattern GL_PATH_DASH_ARRAY_COUNT_NV = 0x909F :: GLenum
+
+pattern GL_PATH_DASH_CAPS_NV = 0x907B :: GLenum
+
+pattern GL_PATH_DASH_OFFSET_NV = 0x907E :: GLenum
+
+pattern GL_PATH_DASH_OFFSET_RESET_NV = 0x90B4 :: GLenum
+
+pattern GL_PATH_END_CAPS_NV = 0x9076 :: GLenum
+
+pattern GL_PATH_ERROR_POSITION_NV = 0x90AB :: GLenum
+
+pattern GL_PATH_FILL_BOUNDING_BOX_NV = 0x90A1 :: GLenum
+
+pattern GL_PATH_FILL_COVER_MODE_NV = 0x9082 :: GLenum
+
+pattern GL_PATH_FILL_MASK_NV = 0x9081 :: GLenum
+
+pattern GL_PATH_FILL_MODE_NV = 0x9080 :: GLenum
+
+pattern GL_PATH_FOG_GEN_MODE_NV = 0x90AC :: GLenum
+
+pattern GL_PATH_FORMAT_PS_NV = 0x9071 :: GLenum
+
+pattern GL_PATH_FORMAT_SVG_NV = 0x9070 :: GLenum
+
+pattern GL_PATH_GEN_COEFF_NV = 0x90B1 :: GLenum
+
+pattern GL_PATH_GEN_COLOR_FORMAT_NV = 0x90B2 :: GLenum
+
+pattern GL_PATH_GEN_COMPONENTS_NV = 0x90B3 :: GLenum
+
+pattern GL_PATH_GEN_MODE_NV = 0x90B0 :: GLenum
+
+pattern GL_PATH_INITIAL_DASH_CAP_NV = 0x907C :: GLenum
+
+pattern GL_PATH_INITIAL_END_CAP_NV = 0x9077 :: GLenum
+
+pattern GL_PATH_JOIN_STYLE_NV = 0x9079 :: GLenum
+
+pattern GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV = 0x0D36 :: GLenum
+
+pattern GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV = 0x0D38 :: GLenum
+
+pattern GL_PATH_MITER_LIMIT_NV = 0x907A :: GLenum
+
+pattern GL_PATH_MODELVIEW_MATRIX_NV = 0x0BA6 :: GLenum
+
+pattern GL_PATH_MODELVIEW_NV = 0x1700 :: GLenum
+
+pattern GL_PATH_MODELVIEW_STACK_DEPTH_NV = 0x0BA3 :: GLenum
+
+pattern GL_PATH_OBJECT_BOUNDING_BOX_NV = 0x908A :: GLenum
+
+pattern GL_PATH_PROJECTION_MATRIX_NV = 0x0BA7 :: GLenum
+
+pattern GL_PATH_PROJECTION_NV = 0x1701 :: GLenum
+
+pattern GL_PATH_PROJECTION_STACK_DEPTH_NV = 0x0BA4 :: GLenum
+
+pattern GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV = 0x90BD :: GLenum
+
+pattern GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV = 0x90BE :: GLenum
+
+pattern GL_PATH_STENCIL_FUNC_NV = 0x90B7 :: GLenum
+
+pattern GL_PATH_STENCIL_REF_NV = 0x90B8 :: GLenum
+
+pattern GL_PATH_STENCIL_VALUE_MASK_NV = 0x90B9 :: GLenum
+
+pattern GL_PATH_STROKE_BOUNDING_BOX_NV = 0x90A2 :: GLenum
+
+pattern GL_PATH_STROKE_COVER_MODE_NV = 0x9083 :: GLenum
+
+pattern GL_PATH_STROKE_MASK_NV = 0x9084 :: GLenum
+
+pattern GL_PATH_STROKE_WIDTH_NV = 0x9075 :: GLenum
+
+pattern GL_PATH_TERMINAL_DASH_CAP_NV = 0x907D :: GLenum
+
+pattern GL_PATH_TERMINAL_END_CAP_NV = 0x9078 :: GLenum
+
+pattern GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV = 0x84E3 :: GLenum
+
+pattern GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV = 0x84E4 :: GLenum
+
+pattern GL_PERCENTAGE_AMD = 0x8BC3 :: GLenum
+
+pattern GL_PERFMON_GLOBAL_MODE_QCOM = 0x8FA0 :: GLenum
+
+pattern GL_PERFMON_RESULT_AMD = 0x8BC6 :: GLenum
+
+pattern GL_PERFMON_RESULT_AVAILABLE_AMD = 0x8BC4 :: GLenum
+
+pattern GL_PERFMON_RESULT_SIZE_AMD = 0x8BC5 :: GLenum
+
+pattern GL_PERFORMANCE_MONITOR_AMD = 0x9152 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL = 0x94FC :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL = 0x94FB :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL = 0x94FA :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL = 0x94F8 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL = 0x94F9 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL = 0x94FF :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL = 0x94F1 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL = 0x94F2 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_EVENT_INTEL = 0x94F0 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL = 0x94FE :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_RAW_INTEL = 0x94F4 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL = 0x94F3 :: GLenum
+
+pattern GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL = 0x94F5 :: GLenum
+
+pattern GL_PERFQUERY_DONOT_FLUSH_INTEL = 0x83F9 :: GLenum
+
+pattern GL_PERFQUERY_FLUSH_INTEL = 0x83FA :: GLenum
+
+pattern GL_PERFQUERY_GLOBAL_CONTEXT_INTEL = 0x00000001 :: GLbitfield
+
+pattern GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL = 0x9500 :: GLenum
+
+pattern GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL = 0x94FD :: GLenum
+
+pattern GL_PERFQUERY_SINGLE_CONTEXT_INTEL = 0x00000000 :: GLbitfield
+
+pattern GL_PERFQUERY_WAIT_INTEL = 0x83FB :: GLenum
+
+pattern GL_PERSPECTIVE_CORRECTION_HINT = 0x0C50 :: GLenum
+
+pattern GL_PERTURB_EXT = 0x85AE :: GLenum
+
+pattern GL_PER_STAGE_CONSTANTS_NV = 0x8535 :: GLenum
+
+pattern GL_PHONG_HINT_WIN = 0x80EB :: GLenum
+
+pattern GL_PHONG_WIN = 0x80EA :: GLenum
+
+pattern GL_PINLIGHT_NV = 0x92A8 :: GLenum
+
+pattern GL_PIXEL_BUFFER_BARRIER_BIT = 0x00000080 :: GLbitfield
+
+pattern GL_PIXEL_BUFFER_BARRIER_BIT_EXT = 0x00000080 :: GLbitfield
+
+pattern GL_PIXEL_COUNTER_BITS_NV = 0x8864 :: GLenum
+
+pattern GL_PIXEL_COUNT_AVAILABLE_NV = 0x8867 :: GLenum
+
+pattern GL_PIXEL_COUNT_NV = 0x8866 :: GLenum
+
+pattern GL_PIXEL_CUBIC_WEIGHT_EXT = 0x8333 :: GLenum
+
+pattern GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS = 0x8355 :: GLenum
+
+pattern GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS = 0x8354 :: GLenum
+
+pattern GL_PIXEL_GROUP_COLOR_SGIS = 0x8356 :: GLenum
+
+pattern GL_PIXEL_MAG_FILTER_EXT = 0x8331 :: GLenum
+
+pattern GL_PIXEL_MAP_A_TO_A = 0x0C79 :: GLenum
+
+pattern GL_PIXEL_MAP_A_TO_A_SIZE = 0x0CB9 :: GLenum
+
+pattern GL_PIXEL_MAP_B_TO_B = 0x0C78 :: GLenum
+
+pattern GL_PIXEL_MAP_B_TO_B_SIZE = 0x0CB8 :: GLenum
+
+pattern GL_PIXEL_MAP_G_TO_G = 0x0C77 :: GLenum
+
+pattern GL_PIXEL_MAP_G_TO_G_SIZE = 0x0CB7 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_A = 0x0C75 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_A_SIZE = 0x0CB5 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_B = 0x0C74 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_B_SIZE = 0x0CB4 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_G = 0x0C73 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_G_SIZE = 0x0CB3 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_I = 0x0C70 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_I_SIZE = 0x0CB0 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_R = 0x0C72 :: GLenum
+
+pattern GL_PIXEL_MAP_I_TO_R_SIZE = 0x0CB2 :: GLenum
+
+pattern GL_PIXEL_MAP_R_TO_R = 0x0C76 :: GLenum
+
+pattern GL_PIXEL_MAP_R_TO_R_SIZE = 0x0CB6 :: GLenum
+
+pattern GL_PIXEL_MAP_S_TO_S = 0x0C71 :: GLenum
+
+pattern GL_PIXEL_MAP_S_TO_S_SIZE = 0x0CB1 :: GLenum
+
+pattern GL_PIXEL_MIN_FILTER_EXT = 0x8332 :: GLenum
+
+pattern GL_PIXEL_MODE_BIT = 0x00000020 :: GLbitfield
+
+pattern GL_PIXEL_PACK_BUFFER = 0x88EB :: GLenum
+
+pattern GL_PIXEL_PACK_BUFFER_ARB = 0x88EB :: GLenum
+
+pattern GL_PIXEL_PACK_BUFFER_BINDING = 0x88ED :: GLenum
+
+pattern GL_PIXEL_PACK_BUFFER_BINDING_ARB = 0x88ED :: GLenum
+
+pattern GL_PIXEL_PACK_BUFFER_BINDING_EXT = 0x88ED :: GLenum
+
+pattern GL_PIXEL_PACK_BUFFER_EXT = 0x88EB :: GLenum
+
+pattern GL_PIXEL_SUBSAMPLE_2424_SGIX = 0x85A3 :: GLenum
+
+pattern GL_PIXEL_SUBSAMPLE_4242_SGIX = 0x85A4 :: GLenum
+
+pattern GL_PIXEL_SUBSAMPLE_4444_SGIX = 0x85A2 :: GLenum
+
+pattern GL_PIXEL_TEXTURE_SGIS = 0x8353 :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX = 0x8189 :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX = 0x818A :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX = 0x8188 :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX = 0x8187 :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_MODE_SGIX = 0x832B :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_Q_CEILING_SGIX = 0x8184 :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX = 0x8186 :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_Q_ROUND_SGIX = 0x8185 :: GLenum
+
+pattern GL_PIXEL_TEX_GEN_SGIX = 0x8139 :: GLenum
+
+pattern GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX = 0x813E :: GLenum
+
+pattern GL_PIXEL_TILE_CACHE_INCREMENT_SGIX = 0x813F :: GLenum
+
+pattern GL_PIXEL_TILE_CACHE_SIZE_SGIX = 0x8145 :: GLenum
+
+pattern GL_PIXEL_TILE_GRID_DEPTH_SGIX = 0x8144 :: GLenum
+
+pattern GL_PIXEL_TILE_GRID_HEIGHT_SGIX = 0x8143 :: GLenum
+
+pattern GL_PIXEL_TILE_GRID_WIDTH_SGIX = 0x8142 :: GLenum
+
+pattern GL_PIXEL_TILE_HEIGHT_SGIX = 0x8141 :: GLenum
+
+pattern GL_PIXEL_TILE_WIDTH_SGIX = 0x8140 :: GLenum
+
+pattern GL_PIXEL_TRANSFORM_2D_EXT = 0x8330 :: GLenum
+
+pattern GL_PIXEL_TRANSFORM_2D_MATRIX_EXT = 0x8338 :: GLenum
+
+pattern GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT = 0x8336 :: GLenum
+
+pattern GL_PIXEL_UNPACK_BUFFER = 0x88EC :: GLenum
+
+pattern GL_PIXEL_UNPACK_BUFFER_ARB = 0x88EC :: GLenum
+
+pattern GL_PIXEL_UNPACK_BUFFER_BINDING = 0x88EF :: GLenum
+
+pattern GL_PIXEL_UNPACK_BUFFER_BINDING_ARB = 0x88EF :: GLenum
+
+pattern GL_PIXEL_UNPACK_BUFFER_BINDING_EXT = 0x88EF :: GLenum
+
+pattern GL_PIXEL_UNPACK_BUFFER_EXT = 0x88EC :: GLenum
+
+pattern GL_PLUS_CLAMPED_ALPHA_NV = 0x92B2 :: GLenum
+
+pattern GL_PLUS_CLAMPED_NV = 0x92B1 :: GLenum
+
+pattern GL_PLUS_DARKER_NV = 0x9292 :: GLenum
+
+pattern GL_PLUS_NV = 0x9291 :: GLenum
+
+pattern GL_PN_TRIANGLES_ATI = 0x87F0 :: GLenum
+
+pattern GL_PN_TRIANGLES_NORMAL_MODE_ATI = 0x87F3 :: GLenum
+
+pattern GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI = 0x87F7 :: GLenum
+
+pattern GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI = 0x87F8 :: GLenum
+
+pattern GL_PN_TRIANGLES_POINT_MODE_ATI = 0x87F2 :: GLenum
+
+pattern GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI = 0x87F6 :: GLenum
+
+pattern GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI = 0x87F5 :: GLenum
+
+pattern GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI = 0x87F4 :: GLenum
+
+pattern GL_POINT = 0x1B00 :: GLenum
+
+pattern GL_POINTS = 0x0000 :: GLenum
+
+pattern GL_POINT_BIT = 0x00000002 :: GLbitfield
+
+pattern GL_POINT_DISTANCE_ATTENUATION = 0x8129 :: GLenum
+
+pattern GL_POINT_DISTANCE_ATTENUATION_ARB = 0x8129 :: GLenum
+
+pattern GL_POINT_FADE_THRESHOLD_SIZE = 0x8128 :: GLenum
+
+pattern GL_POINT_FADE_THRESHOLD_SIZE_ARB = 0x8128 :: GLenum
+
+pattern GL_POINT_FADE_THRESHOLD_SIZE_EXT = 0x8128 :: GLenum
+
+pattern GL_POINT_FADE_THRESHOLD_SIZE_SGIS = 0x8128 :: GLenum
+
+pattern GL_POINT_NV = 0x1B00 :: GLenum
+
+pattern GL_POINT_SIZE = 0x0B11 :: GLenum
+
+pattern GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES = 0x8B9F :: GLenum
+
+pattern GL_POINT_SIZE_ARRAY_OES = 0x8B9C :: GLenum
+
+pattern GL_POINT_SIZE_ARRAY_POINTER_OES = 0x898C :: GLenum
+
+pattern GL_POINT_SIZE_ARRAY_STRIDE_OES = 0x898B :: GLenum
+
+pattern GL_POINT_SIZE_ARRAY_TYPE_OES = 0x898A :: GLenum
+
+pattern GL_POINT_SIZE_GRANULARITY = 0x0B13 :: GLenum
+
+pattern GL_POINT_SIZE_MAX = 0x8127 :: GLenum
+
+pattern GL_POINT_SIZE_MAX_ARB = 0x8127 :: GLenum
+
+pattern GL_POINT_SIZE_MAX_EXT = 0x8127 :: GLenum
+
+pattern GL_POINT_SIZE_MAX_SGIS = 0x8127 :: GLenum
+
+pattern GL_POINT_SIZE_MIN = 0x8126 :: GLenum
+
+pattern GL_POINT_SIZE_MIN_ARB = 0x8126 :: GLenum
+
+pattern GL_POINT_SIZE_MIN_EXT = 0x8126 :: GLenum
+
+pattern GL_POINT_SIZE_MIN_SGIS = 0x8126 :: GLenum
+
+pattern GL_POINT_SIZE_RANGE = 0x0B12 :: GLenum
+
+pattern GL_POINT_SMOOTH = 0x0B10 :: GLenum
+
+pattern GL_POINT_SMOOTH_HINT = 0x0C51 :: GLenum
+
+pattern GL_POINT_SPRITE = 0x8861 :: GLenum
+
+pattern GL_POINT_SPRITE_ARB = 0x8861 :: GLenum
+
+pattern GL_POINT_SPRITE_COORD_ORIGIN = 0x8CA0 :: GLenum
+
+pattern GL_POINT_SPRITE_NV = 0x8861 :: GLenum
+
+pattern GL_POINT_SPRITE_OES = 0x8861 :: GLenum
+
+pattern GL_POINT_SPRITE_R_MODE_NV = 0x8863 :: GLenum
+
+pattern GL_POINT_TOKEN = 0x0701 :: GLenum
+
+pattern GL_POLYGON = 0x0009 :: GLenum
+
+pattern GL_POLYGON_BIT = 0x00000008 :: GLbitfield
+
+pattern GL_POLYGON_MODE = 0x0B40 :: GLenum
+
+pattern GL_POLYGON_MODE_NV = 0x0B40 :: GLenum
+
+pattern GL_POLYGON_OFFSET_BIAS_EXT = 0x8039 :: GLenum
+
+pattern GL_POLYGON_OFFSET_CLAMP_EXT = 0x8E1B :: GLenum
+
+pattern GL_POLYGON_OFFSET_COMMAND_NV = 0x000E :: GLenum
+
+pattern GL_POLYGON_OFFSET_EXT = 0x8037 :: GLenum
+
+pattern GL_POLYGON_OFFSET_FACTOR = 0x8038 :: GLenum
+
+pattern GL_POLYGON_OFFSET_FACTOR_EXT = 0x8038 :: GLenum
+
+pattern GL_POLYGON_OFFSET_FILL = 0x8037 :: GLenum
+
+pattern GL_POLYGON_OFFSET_LINE = 0x2A02 :: GLenum
+
+pattern GL_POLYGON_OFFSET_LINE_NV = 0x2A02 :: GLenum
+
+pattern GL_POLYGON_OFFSET_POINT = 0x2A01 :: GLenum
+
+pattern GL_POLYGON_OFFSET_POINT_NV = 0x2A01 :: GLenum
+
+pattern GL_POLYGON_OFFSET_UNITS = 0x2A00 :: GLenum
+
+pattern GL_POLYGON_SMOOTH = 0x0B41 :: GLenum
+
+pattern GL_POLYGON_SMOOTH_HINT = 0x0C53 :: GLenum
+
+pattern GL_POLYGON_STIPPLE = 0x0B42 :: GLenum
+
+pattern GL_POLYGON_STIPPLE_BIT = 0x00000010 :: GLbitfield
+
+pattern GL_POLYGON_TOKEN = 0x0703 :: GLenum
+
+pattern GL_POSITION = 0x1203 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS = 0x80BB :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI = 0x80BB :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE = 0x80B7 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI = 0x80B7 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_BLUE_BIAS = 0x80BA :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI = 0x80BA :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_BLUE_SCALE = 0x80B6 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI = 0x80B6 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D2 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D2 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_GREEN_BIAS = 0x80B9 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI = 0x80B9 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_GREEN_SCALE = 0x80B5 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI = 0x80B5 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_RED_BIAS = 0x80B8 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_RED_BIAS_SGI = 0x80B8 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_RED_SCALE = 0x80B4 :: GLenum
+
+pattern GL_POST_COLOR_MATRIX_RED_SCALE_SGI = 0x80B4 :: GLenum
+
+pattern GL_POST_CONVOLUTION_ALPHA_BIAS = 0x8023 :: GLenum
+
+pattern GL_POST_CONVOLUTION_ALPHA_BIAS_EXT = 0x8023 :: GLenum
+
+pattern GL_POST_CONVOLUTION_ALPHA_SCALE = 0x801F :: GLenum
+
+pattern GL_POST_CONVOLUTION_ALPHA_SCALE_EXT = 0x801F :: GLenum
+
+pattern GL_POST_CONVOLUTION_BLUE_BIAS = 0x8022 :: GLenum
+
+pattern GL_POST_CONVOLUTION_BLUE_BIAS_EXT = 0x8022 :: GLenum
+
+pattern GL_POST_CONVOLUTION_BLUE_SCALE = 0x801E :: GLenum
+
+pattern GL_POST_CONVOLUTION_BLUE_SCALE_EXT = 0x801E :: GLenum
+
+pattern GL_POST_CONVOLUTION_COLOR_TABLE = 0x80D1 :: GLenum
+
+pattern GL_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D1 :: GLenum
+
+pattern GL_POST_CONVOLUTION_GREEN_BIAS = 0x8021 :: GLenum
+
+pattern GL_POST_CONVOLUTION_GREEN_BIAS_EXT = 0x8021 :: GLenum
+
+pattern GL_POST_CONVOLUTION_GREEN_SCALE = 0x801D :: GLenum
+
+pattern GL_POST_CONVOLUTION_GREEN_SCALE_EXT = 0x801D :: GLenum
+
+pattern GL_POST_CONVOLUTION_RED_BIAS = 0x8020 :: GLenum
+
+pattern GL_POST_CONVOLUTION_RED_BIAS_EXT = 0x8020 :: GLenum
+
+pattern GL_POST_CONVOLUTION_RED_SCALE = 0x801C :: GLenum
+
+pattern GL_POST_CONVOLUTION_RED_SCALE_EXT = 0x801C :: GLenum
+
+pattern GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8162 :: GLenum
+
+pattern GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX = 0x817B :: GLenum
+
+pattern GL_POST_TEXTURE_FILTER_BIAS_SGIX = 0x8179 :: GLenum
+
+pattern GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX = 0x817C :: GLenum
+
+pattern GL_POST_TEXTURE_FILTER_SCALE_SGIX = 0x817A :: GLenum
+
+pattern GL_PREFER_DOUBLEBUFFER_HINT_PGI = 0x1A1F8 :: GLenum
+
+pattern GL_PRESENT_DURATION_NV = 0x8E2B :: GLenum
+
+pattern GL_PRESENT_TIME_NV = 0x8E2A :: GLenum
+
+pattern GL_PRESERVE_ATI = 0x8762 :: GLenum
+
+pattern GL_PREVIOUS = 0x8578 :: GLenum
+
+pattern GL_PREVIOUS_ARB = 0x8578 :: GLenum
+
+pattern GL_PREVIOUS_EXT = 0x8578 :: GLenum
+
+pattern GL_PREVIOUS_TEXTURE_INPUT_NV = 0x86E4 :: GLenum
+
+pattern GL_PRIMARY_COLOR = 0x8577 :: GLenum
+
+pattern GL_PRIMARY_COLOR_ARB = 0x8577 :: GLenum
+
+pattern GL_PRIMARY_COLOR_EXT = 0x8577 :: GLenum
+
+pattern GL_PRIMARY_COLOR_NV = 0x852C :: GLenum
+
+pattern GL_PRIMITIVES_GENERATED = 0x8C87 :: GLenum
+
+pattern GL_PRIMITIVES_GENERATED_EXT = 0x8C87 :: GLenum
+
+pattern GL_PRIMITIVES_GENERATED_NV = 0x8C87 :: GLenum
+
+pattern GL_PRIMITIVES_GENERATED_OES = 0x8C87 :: GLenum
+
+pattern GL_PRIMITIVES_SUBMITTED_ARB = 0x82EF :: GLenum
+
+pattern GL_PRIMITIVE_BOUNDING_BOX = 0x92BE :: GLenum
+
+pattern GL_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE :: GLenum
+
+pattern GL_PRIMITIVE_BOUNDING_BOX_EXT = 0x92BE :: GLenum
+
+pattern GL_PRIMITIVE_BOUNDING_BOX_OES = 0x92BE :: GLenum
+
+pattern GL_PRIMITIVE_ID_NV = 0x8C7C :: GLenum
+
+pattern GL_PRIMITIVE_RESTART = 0x8F9D :: GLenum
+
+pattern GL_PRIMITIVE_RESTART_FIXED_INDEX = 0x8D69 :: GLenum
+
+pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED = 0x8221 :: GLenum
+
+pattern GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES = 0x8221 :: GLenum
+
+pattern GL_PRIMITIVE_RESTART_INDEX = 0x8F9E :: GLenum
+
+pattern GL_PRIMITIVE_RESTART_INDEX_NV = 0x8559 :: GLenum
+
+pattern GL_PRIMITIVE_RESTART_NV = 0x8558 :: GLenum
+
+pattern GL_PROGRAM = 0x82E2 :: GLenum
+
+pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341 :: GLenum
+
+pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341 :: GLenum
+
+pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340 :: GLenum
+
+pattern GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV = 0x9340 :: GLenum
+
+pattern GL_PROGRAM_ADDRESS_REGISTERS_ARB = 0x88B0 :: GLenum
+
+pattern GL_PROGRAM_ALU_INSTRUCTIONS_ARB = 0x8805 :: GLenum
+
+pattern GL_PROGRAM_ATTRIBS_ARB = 0x88AC :: GLenum
+
+pattern GL_PROGRAM_ATTRIB_COMPONENTS_NV = 0x8906 :: GLenum
+
+pattern GL_PROGRAM_BINARY_ANGLE = 0x93A6 :: GLenum
+
+pattern GL_PROGRAM_BINARY_FORMATS = 0x87FF :: GLenum
+
+pattern GL_PROGRAM_BINARY_FORMATS_OES = 0x87FF :: GLenum
+
+pattern GL_PROGRAM_BINARY_LENGTH = 0x8741 :: GLenum
+
+pattern GL_PROGRAM_BINARY_LENGTH_OES = 0x8741 :: GLenum
+
+pattern GL_PROGRAM_BINARY_RETRIEVABLE_HINT = 0x8257 :: GLenum
+
+pattern GL_PROGRAM_BINDING_ARB = 0x8677 :: GLenum
+
+pattern GL_PROGRAM_ERROR_POSITION_ARB = 0x864B :: GLenum
+
+pattern GL_PROGRAM_ERROR_POSITION_NV = 0x864B :: GLenum
+
+pattern GL_PROGRAM_ERROR_STRING_ARB = 0x8874 :: GLenum
+
+pattern GL_PROGRAM_ERROR_STRING_NV = 0x8874 :: GLenum
+
+pattern GL_PROGRAM_FORMAT_ARB = 0x8876 :: GLenum
+
+pattern GL_PROGRAM_FORMAT_ASCII_ARB = 0x8875 :: GLenum
+
+pattern GL_PROGRAM_INPUT = 0x92E3 :: GLenum
+
+pattern GL_PROGRAM_INSTRUCTIONS_ARB = 0x88A0 :: GLenum
+
+pattern GL_PROGRAM_KHR = 0x82E2 :: GLenum
+
+pattern GL_PROGRAM_LENGTH_ARB = 0x8627 :: GLenum
+
+pattern GL_PROGRAM_LENGTH_NV = 0x8627 :: GLenum
+
+pattern GL_PROGRAM_MATRIX_EXT = 0x8E2D :: GLenum
+
+pattern GL_PROGRAM_MATRIX_STACK_DEPTH_EXT = 0x8E2F :: GLenum
+
+pattern GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB = 0x88B2 :: GLenum
+
+pattern GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB = 0x8808 :: GLenum
+
+pattern GL_PROGRAM_NATIVE_ATTRIBS_ARB = 0x88AE :: GLenum
+
+pattern GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB = 0x88A2 :: GLenum
+
+pattern GL_PROGRAM_NATIVE_PARAMETERS_ARB = 0x88AA :: GLenum
+
+pattern GL_PROGRAM_NATIVE_TEMPORARIES_ARB = 0x88A6 :: GLenum
+
+pattern GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB = 0x880A :: GLenum
+
+pattern GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB = 0x8809 :: GLenum
+
+pattern GL_PROGRAM_OBJECT_ARB = 0x8B40 :: GLenum
+
+pattern GL_PROGRAM_OBJECT_EXT = 0x8B40 :: GLenum
+
+pattern GL_PROGRAM_OUTPUT = 0x92E4 :: GLenum
+
+pattern GL_PROGRAM_PARAMETERS_ARB = 0x88A8 :: GLenum
+
+pattern GL_PROGRAM_PARAMETER_NV = 0x8644 :: GLenum
+
+pattern GL_PROGRAM_PIPELINE = 0x82E4 :: GLenum
+
+pattern GL_PROGRAM_PIPELINE_BINDING = 0x825A :: GLenum
+
+pattern GL_PROGRAM_PIPELINE_BINDING_EXT = 0x825A :: GLenum
+
+pattern GL_PROGRAM_PIPELINE_KHR = 0x82E4 :: GLenum
+
+pattern GL_PROGRAM_PIPELINE_OBJECT_EXT = 0x8A4F :: GLenum
+
+pattern GL_PROGRAM_POINT_SIZE = 0x8642 :: GLenum
+
+pattern GL_PROGRAM_POINT_SIZE_ARB = 0x8642 :: GLenum
+
+pattern GL_PROGRAM_POINT_SIZE_EXT = 0x8642 :: GLenum
+
+pattern GL_PROGRAM_RESIDENT_NV = 0x8647 :: GLenum
+
+pattern GL_PROGRAM_RESULT_COMPONENTS_NV = 0x8907 :: GLenum
+
+pattern GL_PROGRAM_SEPARABLE = 0x8258 :: GLenum
+
+pattern GL_PROGRAM_SEPARABLE_EXT = 0x8258 :: GLenum
+
+pattern GL_PROGRAM_STRING_ARB = 0x8628 :: GLenum
+
+pattern GL_PROGRAM_STRING_NV = 0x8628 :: GLenum
+
+pattern GL_PROGRAM_TARGET_NV = 0x8646 :: GLenum
+
+pattern GL_PROGRAM_TEMPORARIES_ARB = 0x88A4 :: GLenum
+
+pattern GL_PROGRAM_TEX_INDIRECTIONS_ARB = 0x8807 :: GLenum
+
+pattern GL_PROGRAM_TEX_INSTRUCTIONS_ARB = 0x8806 :: GLenum
+
+pattern GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB = 0x88B6 :: GLenum
+
+pattern GL_PROJECTION = 0x1701 :: GLenum
+
+pattern GL_PROJECTION_MATRIX = 0x0BA7 :: GLenum
+
+pattern GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898E :: GLenum
+
+pattern GL_PROJECTION_STACK_DEPTH = 0x0BA4 :: GLenum
+
+pattern GL_PROVOKING_VERTEX = 0x8E4F :: GLenum
+
+pattern GL_PROVOKING_VERTEX_EXT = 0x8E4F :: GLenum
+
+pattern GL_PROXY_COLOR_TABLE = 0x80D3 :: GLenum
+
+pattern GL_PROXY_COLOR_TABLE_SGI = 0x80D3 :: GLenum
+
+pattern GL_PROXY_HISTOGRAM = 0x8025 :: GLenum
+
+pattern GL_PROXY_HISTOGRAM_EXT = 0x8025 :: GLenum
+
+pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE = 0x80D5 :: GLenum
+
+pattern GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI = 0x80D5 :: GLenum
+
+pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE = 0x80D4 :: GLenum
+
+pattern GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI = 0x80D4 :: GLenum
+
+pattern GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP = 0x8163 :: GLenum
+
+pattern GL_PROXY_TEXTURE_1D = 0x8063 :: GLenum
+
+pattern GL_PROXY_TEXTURE_1D_ARRAY = 0x8C19 :: GLenum
+
+pattern GL_PROXY_TEXTURE_1D_ARRAY_EXT = 0x8C19 :: GLenum
+
+pattern GL_PROXY_TEXTURE_1D_EXT = 0x8063 :: GLenum
+
+pattern GL_PROXY_TEXTURE_1D_STACK_MESAX = 0x875B :: GLenum
+
+pattern GL_PROXY_TEXTURE_2D = 0x8064 :: GLenum
+
+pattern GL_PROXY_TEXTURE_2D_ARRAY = 0x8C1B :: GLenum
+
+pattern GL_PROXY_TEXTURE_2D_ARRAY_EXT = 0x8C1B :: GLenum
+
+pattern GL_PROXY_TEXTURE_2D_EXT = 0x8064 :: GLenum
+
+pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE = 0x9101 :: GLenum
+
+pattern GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9103 :: GLenum
+
+pattern GL_PROXY_TEXTURE_2D_STACK_MESAX = 0x875C :: GLenum
+
+pattern GL_PROXY_TEXTURE_3D = 0x8070 :: GLenum
+
+pattern GL_PROXY_TEXTURE_3D_EXT = 0x8070 :: GLenum
+
+pattern GL_PROXY_TEXTURE_4D_SGIS = 0x8135 :: GLenum
+
+pattern GL_PROXY_TEXTURE_COLOR_TABLE_SGI = 0x80BD :: GLenum
+
+pattern GL_PROXY_TEXTURE_CUBE_MAP = 0x851B :: GLenum
+
+pattern GL_PROXY_TEXTURE_CUBE_MAP_ARB = 0x851B :: GLenum
+
+pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY = 0x900B :: GLenum
+
+pattern GL_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x900B :: GLenum
+
+pattern GL_PROXY_TEXTURE_CUBE_MAP_EXT = 0x851B :: GLenum
+
+pattern GL_PROXY_TEXTURE_RECTANGLE = 0x84F7 :: GLenum
+
+pattern GL_PROXY_TEXTURE_RECTANGLE_ARB = 0x84F7 :: GLenum
+
+pattern GL_PROXY_TEXTURE_RECTANGLE_NV = 0x84F7 :: GLenum
+
+pattern GL_PURGEABLE_APPLE = 0x8A1D :: GLenum
+
+pattern GL_Q = 0x2003 :: GLenum
+
+pattern GL_QUADRATIC_ATTENUATION = 0x1209 :: GLenum
+
+pattern GL_QUADRATIC_CURVE_TO_NV = 0x0A :: GLubyte
+
+pattern GL_QUADS = 0x0007 :: GLenum
+
+pattern GL_QUADS_EXT = 0x0007 :: GLenum
+
+pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION = 0x8E4C :: GLenum
+
+pattern GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT = 0x8E4C :: GLenum
+
+pattern GL_QUADS_OES = 0x0007 :: GLenum
+
+pattern GL_QUAD_ALPHA4_SGIS = 0x811E :: GLenum
+
+pattern GL_QUAD_ALPHA8_SGIS = 0x811F :: GLenum
+
+pattern GL_QUAD_INTENSITY4_SGIS = 0x8122 :: GLenum
+
+pattern GL_QUAD_INTENSITY8_SGIS = 0x8123 :: GLenum
+
+pattern GL_QUAD_LUMINANCE4_SGIS = 0x8120 :: GLenum
+
+pattern GL_QUAD_LUMINANCE8_SGIS = 0x8121 :: GLenum
+
+pattern GL_QUAD_MESH_SUN = 0x8614 :: GLenum
+
+pattern GL_QUAD_STRIP = 0x0008 :: GLenum
+
+pattern GL_QUAD_TEXTURE_SELECT_SGIS = 0x8125 :: GLenum
+
+pattern GL_QUARTER_BIT_ATI = 0x00000010 :: GLbitfield
+
+pattern GL_QUERY = 0x82E3 :: GLenum
+
+pattern GL_QUERY_ALL_EVENT_BITS_AMD = 0xFFFFFFFF :: GLuint
+
+pattern GL_QUERY_BUFFER = 0x9192 :: GLenum
+
+pattern GL_QUERY_BUFFER_AMD = 0x9192 :: GLenum
+
+pattern GL_QUERY_BUFFER_BARRIER_BIT = 0x00008000 :: GLbitfield
+
+pattern GL_QUERY_BUFFER_BINDING = 0x9193 :: GLenum
+
+pattern GL_QUERY_BUFFER_BINDING_AMD = 0x9193 :: GLenum
+
+pattern GL_QUERY_BY_REGION_NO_WAIT = 0x8E16 :: GLenum
+
+pattern GL_QUERY_BY_REGION_NO_WAIT_INVERTED = 0x8E1A :: GLenum
+
+pattern GL_QUERY_BY_REGION_NO_WAIT_NV = 0x8E16 :: GLenum
+
+pattern GL_QUERY_BY_REGION_WAIT = 0x8E15 :: GLenum
+
+pattern GL_QUERY_BY_REGION_WAIT_INVERTED = 0x8E19 :: GLenum
+
+pattern GL_QUERY_BY_REGION_WAIT_NV = 0x8E15 :: GLenum
+
+pattern GL_QUERY_COUNTER_BITS = 0x8864 :: GLenum
+
+pattern GL_QUERY_COUNTER_BITS_ARB = 0x8864 :: GLenum
+
+pattern GL_QUERY_COUNTER_BITS_EXT = 0x8864 :: GLenum
+
+pattern GL_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD = 0x00000008 :: GLuint
+
+pattern GL_QUERY_DEPTH_FAIL_EVENT_BIT_AMD = 0x00000002 :: GLuint
+
+pattern GL_QUERY_DEPTH_PASS_EVENT_BIT_AMD = 0x00000001 :: GLuint
+
+pattern GL_QUERY_KHR = 0x82E3 :: GLenum
+
+pattern GL_QUERY_NO_WAIT = 0x8E14 :: GLenum
+
+pattern GL_QUERY_NO_WAIT_INVERTED = 0x8E18 :: GLenum
+
+pattern GL_QUERY_NO_WAIT_NV = 0x8E14 :: GLenum
+
+pattern GL_QUERY_OBJECT_AMD = 0x9153 :: GLenum
+
+pattern GL_QUERY_OBJECT_EXT = 0x9153 :: GLenum
+
+pattern GL_QUERY_RESULT = 0x8866 :: GLenum
+
+pattern GL_QUERY_RESULT_ARB = 0x8866 :: GLenum
+
+pattern GL_QUERY_RESULT_AVAILABLE = 0x8867 :: GLenum
+
+pattern GL_QUERY_RESULT_AVAILABLE_ARB = 0x8867 :: GLenum
+
+pattern GL_QUERY_RESULT_AVAILABLE_EXT = 0x8867 :: GLenum
+
+pattern GL_QUERY_RESULT_EXT = 0x8866 :: GLenum
+
+pattern GL_QUERY_RESULT_NO_WAIT = 0x9194 :: GLenum
+
+pattern GL_QUERY_RESULT_NO_WAIT_AMD = 0x9194 :: GLenum
+
+pattern GL_QUERY_STENCIL_FAIL_EVENT_BIT_AMD = 0x00000004 :: GLuint
+
+pattern GL_QUERY_TARGET = 0x82EA :: GLenum
+
+pattern GL_QUERY_WAIT = 0x8E13 :: GLenum
+
+pattern GL_QUERY_WAIT_INVERTED = 0x8E17 :: GLenum
+
+pattern GL_QUERY_WAIT_NV = 0x8E13 :: GLenum
+
+pattern GL_R = 0x2002 :: GLenum
+
+pattern GL_R11F_G11F_B10F = 0x8C3A :: GLenum
+
+pattern GL_R11F_G11F_B10F_APPLE = 0x8C3A :: GLenum
+
+pattern GL_R11F_G11F_B10F_EXT = 0x8C3A :: GLenum
+
+pattern GL_R16 = 0x822A :: GLenum
+
+pattern GL_R16F = 0x822D :: GLenum
+
+pattern GL_R16F_EXT = 0x822D :: GLenum
+
+pattern GL_R16I = 0x8233 :: GLenum
+
+pattern GL_R16UI = 0x8234 :: GLenum
+
+pattern GL_R16_EXT = 0x822A :: GLenum
+
+pattern GL_R16_SNORM = 0x8F98 :: GLenum
+
+pattern GL_R16_SNORM_EXT = 0x8F98 :: GLenum
+
+pattern GL_R1UI_C3F_V3F_SUN = 0x85C6 :: GLenum
+
+pattern GL_R1UI_C4F_N3F_V3F_SUN = 0x85C8 :: GLenum
+
+pattern GL_R1UI_C4UB_V3F_SUN = 0x85C5 :: GLenum
+
+pattern GL_R1UI_N3F_V3F_SUN = 0x85C7 :: GLenum
+
+pattern GL_R1UI_T2F_C4F_N3F_V3F_SUN = 0x85CB :: GLenum
+
+pattern GL_R1UI_T2F_N3F_V3F_SUN = 0x85CA :: GLenum
+
+pattern GL_R1UI_T2F_V3F_SUN = 0x85C9 :: GLenum
+
+pattern GL_R1UI_V3F_SUN = 0x85C4 :: GLenum
+
+pattern GL_R32F = 0x822E :: GLenum
+
+pattern GL_R32F_EXT = 0x822E :: GLenum
+
+pattern GL_R32I = 0x8235 :: GLenum
+
+pattern GL_R32UI = 0x8236 :: GLenum
+
+pattern GL_R3_G3_B2 = 0x2A10 :: GLenum
+
+pattern GL_R8 = 0x8229 :: GLenum
+
+pattern GL_R8I = 0x8231 :: GLenum
+
+pattern GL_R8UI = 0x8232 :: GLenum
+
+pattern GL_R8_EXT = 0x8229 :: GLenum
+
+pattern GL_R8_SNORM = 0x8F94 :: GLenum
+
+pattern GL_RASTERIZER_DISCARD = 0x8C89 :: GLenum
+
+pattern GL_RASTERIZER_DISCARD_EXT = 0x8C89 :: GLenum
+
+pattern GL_RASTERIZER_DISCARD_NV = 0x8C89 :: GLenum
+
+pattern GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT = 0x932A :: GLenum
+
+pattern GL_RASTER_MULTISAMPLE_EXT = 0x9327 :: GLenum
+
+pattern GL_RASTER_POSITION_UNCLIPPED_IBM = 0x19262 :: GLenum
+
+pattern GL_RASTER_SAMPLES_EXT = 0x9328 :: GLenum
+
+pattern GL_READ_BUFFER = 0x0C02 :: GLenum
+
+pattern GL_READ_BUFFER_EXT = 0x0C02 :: GLenum
+
+pattern GL_READ_BUFFER_NV = 0x0C02 :: GLenum
+
+pattern GL_READ_FRAMEBUFFER = 0x8CA8 :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_ANGLE = 0x8CA8 :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_APPLE = 0x8CA8 :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_BINDING = 0x8CAA :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_BINDING_ANGLE = 0x8CAA :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_BINDING_APPLE = 0x8CAA :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_BINDING_EXT = 0x8CAA :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_BINDING_NV = 0x8CAA :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_EXT = 0x8CA8 :: GLenum
+
+pattern GL_READ_FRAMEBUFFER_NV = 0x8CA8 :: GLenum
+
+pattern GL_READ_ONLY = 0x88B8 :: GLenum
+
+pattern GL_READ_ONLY_ARB = 0x88B8 :: GLenum
+
+pattern GL_READ_PIXELS = 0x828C :: GLenum
+
+pattern GL_READ_PIXELS_FORMAT = 0x828D :: GLenum
+
+pattern GL_READ_PIXELS_TYPE = 0x828E :: GLenum
+
+pattern GL_READ_PIXEL_DATA_RANGE_LENGTH_NV = 0x887B :: GLenum
+
+pattern GL_READ_PIXEL_DATA_RANGE_NV = 0x8879 :: GLenum
+
+pattern GL_READ_PIXEL_DATA_RANGE_POINTER_NV = 0x887D :: GLenum
+
+pattern GL_READ_WRITE = 0x88BA :: GLenum
+
+pattern GL_READ_WRITE_ARB = 0x88BA :: GLenum
+
+pattern GL_RECIP_ADD_SIGNED_ALPHA_IMG = 0x8C05 :: GLenum
+
+pattern GL_RECLAIM_MEMORY_HINT_PGI = 0x1A1FE :: GLenum
+
+pattern GL_RECT_NV = 0xF6 :: GLubyte
+
+pattern GL_RED = 0x1903 :: GLenum
+
+pattern GL_REDUCE = 0x8016 :: GLenum
+
+pattern GL_REDUCE_EXT = 0x8016 :: GLenum
+
+pattern GL_RED_BIAS = 0x0D15 :: GLenum
+
+pattern GL_RED_BITS = 0x0D52 :: GLenum
+
+pattern GL_RED_BIT_ATI = 0x00000001 :: GLbitfield
+
+pattern GL_RED_EXT = 0x1903 :: GLenum
+
+pattern GL_RED_INTEGER = 0x8D94 :: GLenum
+
+pattern GL_RED_INTEGER_EXT = 0x8D94 :: GLenum
+
+pattern GL_RED_MAX_CLAMP_INGR = 0x8564 :: GLenum
+
+pattern GL_RED_MIN_CLAMP_INGR = 0x8560 :: GLenum
+
+pattern GL_RED_NV = 0x1903 :: GLenum
+
+pattern GL_RED_SCALE = 0x0D14 :: GLenum
+
+pattern GL_RED_SNORM = 0x8F90 :: GLenum
+
+pattern GL_REFERENCED_BY_COMPUTE_SHADER = 0x930B :: GLenum
+
+pattern GL_REFERENCED_BY_FRAGMENT_SHADER = 0x930A :: GLenum
+
+pattern GL_REFERENCED_BY_GEOMETRY_SHADER = 0x9309 :: GLenum
+
+pattern GL_REFERENCED_BY_GEOMETRY_SHADER_EXT = 0x9309 :: GLenum
+
+pattern GL_REFERENCED_BY_GEOMETRY_SHADER_OES = 0x9309 :: GLenum
+
+pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER = 0x9307 :: GLenum
+
+pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT = 0x9307 :: GLenum
+
+pattern GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES = 0x9307 :: GLenum
+
+pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x9308 :: GLenum
+
+pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT = 0x9308 :: GLenum
+
+pattern GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES = 0x9308 :: GLenum
+
+pattern GL_REFERENCED_BY_VERTEX_SHADER = 0x9306 :: GLenum
+
+pattern GL_REFERENCE_PLANE_EQUATION_SGIX = 0x817E :: GLenum
+
+pattern GL_REFERENCE_PLANE_SGIX = 0x817D :: GLenum
+
+pattern GL_REFLECTION_MAP = 0x8512 :: GLenum
+
+pattern GL_REFLECTION_MAP_ARB = 0x8512 :: GLenum
+
+pattern GL_REFLECTION_MAP_EXT = 0x8512 :: GLenum
+
+pattern GL_REFLECTION_MAP_NV = 0x8512 :: GLenum
+
+pattern GL_REFLECTION_MAP_OES = 0x8512 :: GLenum
+
+pattern GL_REGISTER_COMBINERS_NV = 0x8522 :: GLenum
+
+pattern GL_REG_0_ATI = 0x8921 :: GLenum
+
+pattern GL_REG_10_ATI = 0x892B :: GLenum
+
+pattern GL_REG_11_ATI = 0x892C :: GLenum
+
+pattern GL_REG_12_ATI = 0x892D :: GLenum
+
+pattern GL_REG_13_ATI = 0x892E :: GLenum
+
+pattern GL_REG_14_ATI = 0x892F :: GLenum
+
+pattern GL_REG_15_ATI = 0x8930 :: GLenum
+
+pattern GL_REG_16_ATI = 0x8931 :: GLenum
+
+pattern GL_REG_17_ATI = 0x8932 :: GLenum
+
+pattern GL_REG_18_ATI = 0x8933 :: GLenum
+
+pattern GL_REG_19_ATI = 0x8934 :: GLenum
+
+pattern GL_REG_1_ATI = 0x8922 :: GLenum
+
+pattern GL_REG_20_ATI = 0x8935 :: GLenum
+
+pattern GL_REG_21_ATI = 0x8936 :: GLenum
+
+pattern GL_REG_22_ATI = 0x8937 :: GLenum
+
+pattern GL_REG_23_ATI = 0x8938 :: GLenum
+
+pattern GL_REG_24_ATI = 0x8939 :: GLenum
+
+pattern GL_REG_25_ATI = 0x893A :: GLenum
+
+pattern GL_REG_26_ATI = 0x893B :: GLenum
+
+pattern GL_REG_27_ATI = 0x893C :: GLenum
+
+pattern GL_REG_28_ATI = 0x893D :: GLenum
+
+pattern GL_REG_29_ATI = 0x893E :: GLenum
+
+pattern GL_REG_2_ATI = 0x8923 :: GLenum
+
+pattern GL_REG_30_ATI = 0x893F :: GLenum
+
+pattern GL_REG_31_ATI = 0x8940 :: GLenum
+
+pattern GL_REG_3_ATI = 0x8924 :: GLenum
+
+pattern GL_REG_4_ATI = 0x8925 :: GLenum
+
+pattern GL_REG_5_ATI = 0x8926 :: GLenum
+
+pattern GL_REG_6_ATI = 0x8927 :: GLenum
+
+pattern GL_REG_7_ATI = 0x8928 :: GLenum
+
+pattern GL_REG_8_ATI = 0x8929 :: GLenum
+
+pattern GL_REG_9_ATI = 0x892A :: GLenum
+
+pattern GL_RELATIVE_ARC_TO_NV = 0xFF :: GLubyte
+
+pattern GL_RELATIVE_CONIC_CURVE_TO_NV = 0x1B :: GLubyte
+
+pattern GL_RELATIVE_CUBIC_CURVE_TO_NV = 0x0D :: GLubyte
+
+pattern GL_RELATIVE_HORIZONTAL_LINE_TO_NV = 0x07 :: GLubyte
+
+pattern GL_RELATIVE_LARGE_CCW_ARC_TO_NV = 0x17 :: GLubyte
+
+pattern GL_RELATIVE_LARGE_CW_ARC_TO_NV = 0x19 :: GLubyte
+
+pattern GL_RELATIVE_LINE_TO_NV = 0x05 :: GLubyte
+
+pattern GL_RELATIVE_MOVE_TO_NV = 0x03 :: GLubyte
+
+pattern GL_RELATIVE_QUADRATIC_CURVE_TO_NV = 0x0B :: GLubyte
+
+pattern GL_RELATIVE_RECT_NV = 0xF7 :: GLubyte
+
+pattern GL_RELATIVE_ROUNDED_RECT2_NV = 0xEB :: GLubyte
+
+pattern GL_RELATIVE_ROUNDED_RECT4_NV = 0xED :: GLubyte
+
+pattern GL_RELATIVE_ROUNDED_RECT8_NV = 0xEF :: GLubyte
+
+pattern GL_RELATIVE_ROUNDED_RECT_NV = 0xE9 :: GLubyte
+
+pattern GL_RELATIVE_SMALL_CCW_ARC_TO_NV = 0x13 :: GLubyte
+
+pattern GL_RELATIVE_SMALL_CW_ARC_TO_NV = 0x15 :: GLubyte
+
+pattern GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV = 0x11 :: GLubyte
+
+pattern GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0F :: GLubyte
+
+pattern GL_RELATIVE_VERTICAL_LINE_TO_NV = 0x09 :: GLubyte
+
+pattern GL_RELEASED_APPLE = 0x8A19 :: GLenum
+
+pattern GL_RENDER = 0x1C00 :: GLenum
+
+pattern GL_RENDERBUFFER = 0x8D41 :: GLenum
+
+pattern GL_RENDERBUFFER_ALPHA_SIZE = 0x8D53 :: GLenum
+
+pattern GL_RENDERBUFFER_ALPHA_SIZE_EXT = 0x8D53 :: GLenum
+
+pattern GL_RENDERBUFFER_ALPHA_SIZE_OES = 0x8D53 :: GLenum
+
+pattern GL_RENDERBUFFER_BINDING = 0x8CA7 :: GLenum
+
+pattern GL_RENDERBUFFER_BINDING_ANGLE = 0x8CA7 :: GLenum
+
+pattern GL_RENDERBUFFER_BINDING_EXT = 0x8CA7 :: GLenum
+
+pattern GL_RENDERBUFFER_BINDING_OES = 0x8CA7 :: GLenum
+
+pattern GL_RENDERBUFFER_BLUE_SIZE = 0x8D52 :: GLenum
+
+pattern GL_RENDERBUFFER_BLUE_SIZE_EXT = 0x8D52 :: GLenum
+
+pattern GL_RENDERBUFFER_BLUE_SIZE_OES = 0x8D52 :: GLenum
+
+pattern GL_RENDERBUFFER_COLOR_SAMPLES_NV = 0x8E10 :: GLenum
+
+pattern GL_RENDERBUFFER_COVERAGE_SAMPLES_NV = 0x8CAB :: GLenum
+
+pattern GL_RENDERBUFFER_DEPTH_SIZE = 0x8D54 :: GLenum
+
+pattern GL_RENDERBUFFER_DEPTH_SIZE_EXT = 0x8D54 :: GLenum
+
+pattern GL_RENDERBUFFER_DEPTH_SIZE_OES = 0x8D54 :: GLenum
+
+pattern GL_RENDERBUFFER_EXT = 0x8D41 :: GLenum
+
+pattern GL_RENDERBUFFER_FREE_MEMORY_ATI = 0x87FD :: GLenum
+
+pattern GL_RENDERBUFFER_GREEN_SIZE = 0x8D51 :: GLenum
+
+pattern GL_RENDERBUFFER_GREEN_SIZE_EXT = 0x8D51 :: GLenum
+
+pattern GL_RENDERBUFFER_GREEN_SIZE_OES = 0x8D51 :: GLenum
+
+pattern GL_RENDERBUFFER_HEIGHT = 0x8D43 :: GLenum
+
+pattern GL_RENDERBUFFER_HEIGHT_EXT = 0x8D43 :: GLenum
+
+pattern GL_RENDERBUFFER_HEIGHT_OES = 0x8D43 :: GLenum
+
+pattern GL_RENDERBUFFER_INTERNAL_FORMAT = 0x8D44 :: GLenum
+
+pattern GL_RENDERBUFFER_INTERNAL_FORMAT_EXT = 0x8D44 :: GLenum
+
+pattern GL_RENDERBUFFER_INTERNAL_FORMAT_OES = 0x8D44 :: GLenum
+
+pattern GL_RENDERBUFFER_OES = 0x8D41 :: GLenum
+
+pattern GL_RENDERBUFFER_RED_SIZE = 0x8D50 :: GLenum
+
+pattern GL_RENDERBUFFER_RED_SIZE_EXT = 0x8D50 :: GLenum
+
+pattern GL_RENDERBUFFER_RED_SIZE_OES = 0x8D50 :: GLenum
+
+pattern GL_RENDERBUFFER_SAMPLES = 0x8CAB :: GLenum
+
+pattern GL_RENDERBUFFER_SAMPLES_ANGLE = 0x8CAB :: GLenum
+
+pattern GL_RENDERBUFFER_SAMPLES_APPLE = 0x8CAB :: GLenum
+
+pattern GL_RENDERBUFFER_SAMPLES_EXT = 0x8CAB :: GLenum
+
+pattern GL_RENDERBUFFER_SAMPLES_IMG = 0x9133 :: GLenum
+
+pattern GL_RENDERBUFFER_SAMPLES_NV = 0x8CAB :: GLenum
+
+pattern GL_RENDERBUFFER_STENCIL_SIZE = 0x8D55 :: GLenum
+
+pattern GL_RENDERBUFFER_STENCIL_SIZE_EXT = 0x8D55 :: GLenum
+
+pattern GL_RENDERBUFFER_STENCIL_SIZE_OES = 0x8D55 :: GLenum
+
+pattern GL_RENDERBUFFER_WIDTH = 0x8D42 :: GLenum
+
+pattern GL_RENDERBUFFER_WIDTH_EXT = 0x8D42 :: GLenum
+
+pattern GL_RENDERBUFFER_WIDTH_OES = 0x8D42 :: GLenum
+
+pattern GL_RENDERER = 0x1F01 :: GLenum
+
+pattern GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM = 0x8FB3 :: GLenum
+
+pattern GL_RENDER_MODE = 0x0C40 :: GLenum
+
+pattern GL_REPEAT = 0x2901 :: GLenum
+
+pattern GL_REPLACE = 0x1E01 :: GLenum
+
+pattern GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN = 0x85C3 :: GLenum
+
+pattern GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN = 0x85C2 :: GLenum
+
+pattern GL_REPLACEMENT_CODE_ARRAY_SUN = 0x85C0 :: GLenum
+
+pattern GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN = 0x85C1 :: GLenum
+
+pattern GL_REPLACEMENT_CODE_SUN = 0x81D8 :: GLenum
+
+pattern GL_REPLACE_EXT = 0x8062 :: GLenum
+
+pattern GL_REPLACE_MIDDLE_SUN = 0x0002 :: GLenum
+
+pattern GL_REPLACE_OLDEST_SUN = 0x0003 :: GLenum
+
+pattern GL_REPLACE_VALUE_AMD = 0x874B :: GLenum
+
+pattern GL_REPLICATE_BORDER = 0x8153 :: GLenum
+
+pattern GL_REPLICATE_BORDER_HP = 0x8153 :: GLenum
+
+pattern GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES = 0x8D68 :: GLenum
+
+pattern GL_RESAMPLE_AVERAGE_OML = 0x8988 :: GLenum
+
+pattern GL_RESAMPLE_DECIMATE_OML = 0x8989 :: GLenum
+
+pattern GL_RESAMPLE_DECIMATE_SGIX = 0x8430 :: GLenum
+
+pattern GL_RESAMPLE_REPLICATE_OML = 0x8986 :: GLenum
+
+pattern GL_RESAMPLE_REPLICATE_SGIX = 0x8433 :: GLenum
+
+pattern GL_RESAMPLE_ZERO_FILL_OML = 0x8987 :: GLenum
+
+pattern GL_RESAMPLE_ZERO_FILL_SGIX = 0x8434 :: GLenum
+
+pattern GL_RESCALE_NORMAL = 0x803A :: GLenum
+
+pattern GL_RESCALE_NORMAL_EXT = 0x803A :: GLenum
+
+pattern GL_RESET_NOTIFICATION_STRATEGY = 0x8256 :: GLenum
+
+pattern GL_RESET_NOTIFICATION_STRATEGY_ARB = 0x8256 :: GLenum
+
+pattern GL_RESET_NOTIFICATION_STRATEGY_EXT = 0x8256 :: GLenum
+
+pattern GL_RESET_NOTIFICATION_STRATEGY_KHR = 0x8256 :: GLenum
+
+pattern GL_RESTART_PATH_NV = 0xF0 :: GLubyte
+
+pattern GL_RESTART_SUN = 0x0001 :: GLenum
+
+pattern GL_RETAINED_APPLE = 0x8A1B :: GLenum
+
+pattern GL_RETURN = 0x0102 :: GLenum
+
+pattern GL_RG = 0x8227 :: GLenum
+
+pattern GL_RG16 = 0x822C :: GLenum
+
+pattern GL_RG16F = 0x822F :: GLenum
+
+pattern GL_RG16F_EXT = 0x822F :: GLenum
+
+pattern GL_RG16I = 0x8239 :: GLenum
+
+pattern GL_RG16UI = 0x823A :: GLenum
+
+pattern GL_RG16_EXT = 0x822C :: GLenum
+
+pattern GL_RG16_SNORM = 0x8F99 :: GLenum
+
+pattern GL_RG16_SNORM_EXT = 0x8F99 :: GLenum
+
+pattern GL_RG32F = 0x8230 :: GLenum
+
+pattern GL_RG32F_EXT = 0x8230 :: GLenum
+
+pattern GL_RG32I = 0x823B :: GLenum
+
+pattern GL_RG32UI = 0x823C :: GLenum
+
+pattern GL_RG8 = 0x822B :: GLenum
+
+pattern GL_RG8I = 0x8237 :: GLenum
+
+pattern GL_RG8UI = 0x8238 :: GLenum
+
+pattern GL_RG8_EXT = 0x822B :: GLenum
+
+pattern GL_RG8_SNORM = 0x8F95 :: GLenum
+
+pattern GL_RGB = 0x1907 :: GLenum
+
+pattern GL_RGB10 = 0x8052 :: GLenum
+
+pattern GL_RGB10_A2 = 0x8059 :: GLenum
+
+pattern GL_RGB10_A2UI = 0x906F :: GLenum
+
+pattern GL_RGB10_A2_EXT = 0x8059 :: GLenum
+
+pattern GL_RGB10_EXT = 0x8052 :: GLenum
+
+pattern GL_RGB12 = 0x8053 :: GLenum
+
+pattern GL_RGB12_EXT = 0x8053 :: GLenum
+
+pattern GL_RGB16 = 0x8054 :: GLenum
+
+pattern GL_RGB16F = 0x881B :: GLenum
+
+pattern GL_RGB16F_ARB = 0x881B :: GLenum
+
+pattern GL_RGB16F_EXT = 0x881B :: GLenum
+
+pattern GL_RGB16I = 0x8D89 :: GLenum
+
+pattern GL_RGB16I_EXT = 0x8D89 :: GLenum
+
+pattern GL_RGB16UI = 0x8D77 :: GLenum
+
+pattern GL_RGB16UI_EXT = 0x8D77 :: GLenum
+
+pattern GL_RGB16_EXT = 0x8054 :: GLenum
+
+pattern GL_RGB16_SNORM = 0x8F9A :: GLenum
+
+pattern GL_RGB16_SNORM_EXT = 0x8F9A :: GLenum
+
+pattern GL_RGB2_EXT = 0x804E :: GLenum
+
+pattern GL_RGB32F = 0x8815 :: GLenum
+
+pattern GL_RGB32F_ARB = 0x8815 :: GLenum
+
+pattern GL_RGB32F_EXT = 0x8815 :: GLenum
+
+pattern GL_RGB32I = 0x8D83 :: GLenum
+
+pattern GL_RGB32I_EXT = 0x8D83 :: GLenum
+
+pattern GL_RGB32UI = 0x8D71 :: GLenum
+
+pattern GL_RGB32UI_EXT = 0x8D71 :: GLenum
+
+pattern GL_RGB4 = 0x804F :: GLenum
+
+pattern GL_RGB4_EXT = 0x804F :: GLenum
+
+pattern GL_RGB4_S3TC = 0x83A1 :: GLenum
+
+pattern GL_RGB5 = 0x8050 :: GLenum
+
+pattern GL_RGB565 = 0x8D62 :: GLenum
+
+pattern GL_RGB565_OES = 0x8D62 :: GLenum
+
+pattern GL_RGB5_A1 = 0x8057 :: GLenum
+
+pattern GL_RGB5_A1_EXT = 0x8057 :: GLenum
+
+pattern GL_RGB5_A1_OES = 0x8057 :: GLenum
+
+pattern GL_RGB5_EXT = 0x8050 :: GLenum
+
+pattern GL_RGB8 = 0x8051 :: GLenum
+
+pattern GL_RGB8I = 0x8D8F :: GLenum
+
+pattern GL_RGB8I_EXT = 0x8D8F :: GLenum
+
+pattern GL_RGB8UI = 0x8D7D :: GLenum
+
+pattern GL_RGB8UI_EXT = 0x8D7D :: GLenum
+
+pattern GL_RGB8_EXT = 0x8051 :: GLenum
+
+pattern GL_RGB8_OES = 0x8051 :: GLenum
+
+pattern GL_RGB8_SNORM = 0x8F96 :: GLenum
+
+pattern GL_RGB9_E5 = 0x8C3D :: GLenum
+
+pattern GL_RGB9_E5_APPLE = 0x8C3D :: GLenum
+
+pattern GL_RGB9_E5_EXT = 0x8C3D :: GLenum
+
+pattern GL_RGBA = 0x1908 :: GLenum
+
+pattern GL_RGBA12 = 0x805A :: GLenum
+
+pattern GL_RGBA12_EXT = 0x805A :: GLenum
+
+pattern GL_RGBA16 = 0x805B :: GLenum
+
+pattern GL_RGBA16F = 0x881A :: GLenum
+
+pattern GL_RGBA16F_ARB = 0x881A :: GLenum
+
+pattern GL_RGBA16F_EXT = 0x881A :: GLenum
+
+pattern GL_RGBA16I = 0x8D88 :: GLenum
+
+pattern GL_RGBA16I_EXT = 0x8D88 :: GLenum
+
+pattern GL_RGBA16UI = 0x8D76 :: GLenum
+
+pattern GL_RGBA16UI_EXT = 0x8D76 :: GLenum
+
+pattern GL_RGBA16_EXT = 0x805B :: GLenum
+
+pattern GL_RGBA16_SNORM = 0x8F9B :: GLenum
+
+pattern GL_RGBA16_SNORM_EXT = 0x8F9B :: GLenum
+
+pattern GL_RGBA2 = 0x8055 :: GLenum
+
+pattern GL_RGBA2_EXT = 0x8055 :: GLenum
+
+pattern GL_RGBA32F = 0x8814 :: GLenum
+
+pattern GL_RGBA32F_ARB = 0x8814 :: GLenum
+
+pattern GL_RGBA32F_EXT = 0x8814 :: GLenum
+
+pattern GL_RGBA32I = 0x8D82 :: GLenum
+
+pattern GL_RGBA32I_EXT = 0x8D82 :: GLenum
+
+pattern GL_RGBA32UI = 0x8D70 :: GLenum
+
+pattern GL_RGBA32UI_EXT = 0x8D70 :: GLenum
+
+pattern GL_RGBA4 = 0x8056 :: GLenum
+
+pattern GL_RGBA4_DXT5_S3TC = 0x83A5 :: GLenum
+
+pattern GL_RGBA4_EXT = 0x8056 :: GLenum
+
+pattern GL_RGBA4_OES = 0x8056 :: GLenum
+
+pattern GL_RGBA4_S3TC = 0x83A3 :: GLenum
+
+pattern GL_RGBA8 = 0x8058 :: GLenum
+
+pattern GL_RGBA8I = 0x8D8E :: GLenum
+
+pattern GL_RGBA8I_EXT = 0x8D8E :: GLenum
+
+pattern GL_RGBA8UI = 0x8D7C :: GLenum
+
+pattern GL_RGBA8UI_EXT = 0x8D7C :: GLenum
+
+pattern GL_RGBA8_EXT = 0x8058 :: GLenum
+
+pattern GL_RGBA8_OES = 0x8058 :: GLenum
+
+pattern GL_RGBA8_SNORM = 0x8F97 :: GLenum
+
+pattern GL_RGBA_DXT5_S3TC = 0x83A4 :: GLenum
+
+pattern GL_RGBA_FLOAT16_APPLE = 0x881A :: GLenum
+
+pattern GL_RGBA_FLOAT16_ATI = 0x881A :: GLenum
+
+pattern GL_RGBA_FLOAT32_APPLE = 0x8814 :: GLenum
+
+pattern GL_RGBA_FLOAT32_ATI = 0x8814 :: GLenum
+
+pattern GL_RGBA_FLOAT_MODE_ARB = 0x8820 :: GLenum
+
+pattern GL_RGBA_FLOAT_MODE_ATI = 0x8820 :: GLenum
+
+pattern GL_RGBA_INTEGER = 0x8D99 :: GLenum
+
+pattern GL_RGBA_INTEGER_EXT = 0x8D99 :: GLenum
+
+pattern GL_RGBA_INTEGER_MODE_EXT = 0x8D9E :: GLenum
+
+pattern GL_RGBA_MODE = 0x0C31 :: GLenum
+
+pattern GL_RGBA_S3TC = 0x83A2 :: GLenum
+
+pattern GL_RGBA_SIGNED_COMPONENTS_EXT = 0x8C3C :: GLenum
+
+pattern GL_RGBA_SNORM = 0x8F93 :: GLenum
+
+pattern GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV = 0x86D9 :: GLenum
+
+pattern GL_RGB_422_APPLE = 0x8A1F :: GLenum
+
+pattern GL_RGB_FLOAT16_APPLE = 0x881B :: GLenum
+
+pattern GL_RGB_FLOAT16_ATI = 0x881B :: GLenum
+
+pattern GL_RGB_FLOAT32_APPLE = 0x8815 :: GLenum
+
+pattern GL_RGB_FLOAT32_ATI = 0x8815 :: GLenum
+
+pattern GL_RGB_INTEGER = 0x8D98 :: GLenum
+
+pattern GL_RGB_INTEGER_EXT = 0x8D98 :: GLenum
+
+pattern GL_RGB_RAW_422_APPLE = 0x8A51 :: GLenum
+
+pattern GL_RGB_S3TC = 0x83A0 :: GLenum
+
+pattern GL_RGB_SCALE = 0x8573 :: GLenum
+
+pattern GL_RGB_SCALE_ARB = 0x8573 :: GLenum
+
+pattern GL_RGB_SCALE_EXT = 0x8573 :: GLenum
+
+pattern GL_RGB_SNORM = 0x8F92 :: GLenum
+
+pattern GL_RG_EXT = 0x8227 :: GLenum
+
+pattern GL_RG_INTEGER = 0x8228 :: GLenum
+
+pattern GL_RG_SNORM = 0x8F91 :: GLenum
+
+pattern GL_RIGHT = 0x0407 :: GLenum
+
+pattern GL_ROUNDED_RECT2_NV = 0xEA :: GLubyte
+
+pattern GL_ROUNDED_RECT4_NV = 0xEC :: GLubyte
+
+pattern GL_ROUNDED_RECT8_NV = 0xEE :: GLubyte
+
+pattern GL_ROUNDED_RECT_NV = 0xE8 :: GLubyte
+
+pattern GL_ROUND_NV = 0x90A4 :: GLenum
+
+pattern GL_S = 0x2000 :: GLenum
+
+pattern GL_SAMPLER = 0x82E6 :: GLenum
+
+pattern GL_SAMPLER_1D = 0x8B5D :: GLenum
+
+pattern GL_SAMPLER_1D_ARB = 0x8B5D :: GLenum
+
+pattern GL_SAMPLER_1D_ARRAY = 0x8DC0 :: GLenum
+
+pattern GL_SAMPLER_1D_ARRAY_EXT = 0x8DC0 :: GLenum
+
+pattern GL_SAMPLER_1D_ARRAY_SHADOW = 0x8DC3 :: GLenum
+
+pattern GL_SAMPLER_1D_ARRAY_SHADOW_EXT = 0x8DC3 :: GLenum
+
+pattern GL_SAMPLER_1D_SHADOW = 0x8B61 :: GLenum
+
+pattern GL_SAMPLER_1D_SHADOW_ARB = 0x8B61 :: GLenum
+
+pattern GL_SAMPLER_2D = 0x8B5E :: GLenum
+
+pattern GL_SAMPLER_2D_ARB = 0x8B5E :: GLenum
+
+pattern GL_SAMPLER_2D_ARRAY = 0x8DC1 :: GLenum
+
+pattern GL_SAMPLER_2D_ARRAY_EXT = 0x8DC1 :: GLenum
+
+pattern GL_SAMPLER_2D_ARRAY_SHADOW = 0x8DC4 :: GLenum
+
+pattern GL_SAMPLER_2D_ARRAY_SHADOW_EXT = 0x8DC4 :: GLenum
+
+pattern GL_SAMPLER_2D_ARRAY_SHADOW_NV = 0x8DC4 :: GLenum
+
+pattern GL_SAMPLER_2D_MULTISAMPLE = 0x9108 :: GLenum
+
+pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910B :: GLenum
+
+pattern GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910B :: GLenum
+
+pattern GL_SAMPLER_2D_RECT = 0x8B63 :: GLenum
+
+pattern GL_SAMPLER_2D_RECT_ARB = 0x8B63 :: GLenum
+
+pattern GL_SAMPLER_2D_RECT_SHADOW = 0x8B64 :: GLenum
+
+pattern GL_SAMPLER_2D_RECT_SHADOW_ARB = 0x8B64 :: GLenum
+
+pattern GL_SAMPLER_2D_SHADOW = 0x8B62 :: GLenum
+
+pattern GL_SAMPLER_2D_SHADOW_ARB = 0x8B62 :: GLenum
+
+pattern GL_SAMPLER_2D_SHADOW_EXT = 0x8B62 :: GLenum
+
+pattern GL_SAMPLER_3D = 0x8B5F :: GLenum
+
+pattern GL_SAMPLER_3D_ARB = 0x8B5F :: GLenum
+
+pattern GL_SAMPLER_3D_OES = 0x8B5F :: GLenum
+
+pattern GL_SAMPLER_BINDING = 0x8919 :: GLenum
+
+pattern GL_SAMPLER_BUFFER = 0x8DC2 :: GLenum
+
+pattern GL_SAMPLER_BUFFER_AMD = 0x9001 :: GLenum
+
+pattern GL_SAMPLER_BUFFER_EXT = 0x8DC2 :: GLenum
+
+pattern GL_SAMPLER_BUFFER_OES = 0x8DC2 :: GLenum
+
+pattern GL_SAMPLER_CUBE = 0x8B60 :: GLenum
+
+pattern GL_SAMPLER_CUBE_ARB = 0x8B60 :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY = 0x900C :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900C :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900C :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900C :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW = 0x900D :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB = 0x900D :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT = 0x900D :: GLenum
+
+pattern GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES = 0x900D :: GLenum
+
+pattern GL_SAMPLER_CUBE_SHADOW = 0x8DC5 :: GLenum
+
+pattern GL_SAMPLER_CUBE_SHADOW_EXT = 0x8DC5 :: GLenum
+
+pattern GL_SAMPLER_CUBE_SHADOW_NV = 0x8DC5 :: GLenum
+
+pattern GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT = 0x8BE7 :: GLenum
+
+pattern GL_SAMPLER_EXTERNAL_OES = 0x8D66 :: GLenum
+
+pattern GL_SAMPLER_KHR = 0x82E6 :: GLenum
+
+pattern GL_SAMPLER_OBJECT_AMD = 0x9155 :: GLenum
+
+pattern GL_SAMPLER_RENDERBUFFER_NV = 0x8E56 :: GLenum
+
+pattern GL_SAMPLES = 0x80A9 :: GLenum
+
+pattern GL_SAMPLES_3DFX = 0x86B4 :: GLenum
+
+pattern GL_SAMPLES_ARB = 0x80A9 :: GLenum
+
+pattern GL_SAMPLES_EXT = 0x80A9 :: GLenum
+
+pattern GL_SAMPLES_PASSED = 0x8914 :: GLenum
+
+pattern GL_SAMPLES_PASSED_ARB = 0x8914 :: GLenum
+
+pattern GL_SAMPLES_SGIS = 0x80A9 :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_COVERAGE = 0x809E :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_COVERAGE_ARB = 0x809E :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_MASK_EXT = 0x809E :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_MASK_SGIS = 0x809E :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_ONE = 0x809F :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_ONE_ARB = 0x809F :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_ONE_EXT = 0x809F :: GLenum
+
+pattern GL_SAMPLE_ALPHA_TO_ONE_SGIS = 0x809F :: GLenum
+
+pattern GL_SAMPLE_BUFFERS = 0x80A8 :: GLenum
+
+pattern GL_SAMPLE_BUFFERS_3DFX = 0x86B3 :: GLenum
+
+pattern GL_SAMPLE_BUFFERS_ARB = 0x80A8 :: GLenum
+
+pattern GL_SAMPLE_BUFFERS_EXT = 0x80A8 :: GLenum
+
+pattern GL_SAMPLE_BUFFERS_SGIS = 0x80A8 :: GLenum
+
+pattern GL_SAMPLE_COVERAGE = 0x80A0 :: GLenum
+
+pattern GL_SAMPLE_COVERAGE_ARB = 0x80A0 :: GLenum
+
+pattern GL_SAMPLE_COVERAGE_INVERT = 0x80AB :: GLenum
+
+pattern GL_SAMPLE_COVERAGE_INVERT_ARB = 0x80AB :: GLenum
+
+pattern GL_SAMPLE_COVERAGE_VALUE = 0x80AA :: GLenum
+
+pattern GL_SAMPLE_COVERAGE_VALUE_ARB = 0x80AA :: GLenum
+
+pattern GL_SAMPLE_LOCATION_ARB = 0x8E50 :: GLenum
+
+pattern GL_SAMPLE_LOCATION_NV = 0x8E50 :: GLenum
+
+pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F :: GLenum
+
+pattern GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F :: GLenum
+
+pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E :: GLenum
+
+pattern GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E :: GLenum
+
+pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D :: GLenum
+
+pattern GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV = 0x933D :: GLenum
+
+pattern GL_SAMPLE_MASK = 0x8E51 :: GLenum
+
+pattern GL_SAMPLE_MASK_EXT = 0x80A0 :: GLenum
+
+pattern GL_SAMPLE_MASK_INVERT_EXT = 0x80AB :: GLenum
+
+pattern GL_SAMPLE_MASK_INVERT_SGIS = 0x80AB :: GLenum
+
+pattern GL_SAMPLE_MASK_NV = 0x8E51 :: GLenum
+
+pattern GL_SAMPLE_MASK_SGIS = 0x80A0 :: GLenum
+
+pattern GL_SAMPLE_MASK_VALUE = 0x8E52 :: GLenum
+
+pattern GL_SAMPLE_MASK_VALUE_EXT = 0x80AA :: GLenum
+
+pattern GL_SAMPLE_MASK_VALUE_NV = 0x8E52 :: GLenum
+
+pattern GL_SAMPLE_MASK_VALUE_SGIS = 0x80AA :: GLenum
+
+pattern GL_SAMPLE_PATTERN_EXT = 0x80AC :: GLenum
+
+pattern GL_SAMPLE_PATTERN_SGIS = 0x80AC :: GLenum
+
+pattern GL_SAMPLE_POSITION = 0x8E50 :: GLenum
+
+pattern GL_SAMPLE_POSITION_NV = 0x8E50 :: GLenum
+
+pattern GL_SAMPLE_SHADING = 0x8C36 :: GLenum
+
+pattern GL_SAMPLE_SHADING_ARB = 0x8C36 :: GLenum
+
+pattern GL_SAMPLE_SHADING_OES = 0x8C36 :: GLenum
+
+pattern GL_SATURATE_BIT_ATI = 0x00000040 :: GLbitfield
+
+pattern GL_SCALAR_EXT = 0x87BE :: GLenum
+
+pattern GL_SCALEBIAS_HINT_SGIX = 0x8322 :: GLenum
+
+pattern GL_SCALED_RESOLVE_FASTEST_EXT = 0x90BA :: GLenum
+
+pattern GL_SCALED_RESOLVE_NICEST_EXT = 0x90BB :: GLenum
+
+pattern GL_SCALE_BY_FOUR_NV = 0x853F :: GLenum
+
+pattern GL_SCALE_BY_ONE_HALF_NV = 0x8540 :: GLenum
+
+pattern GL_SCALE_BY_TWO_NV = 0x853E :: GLenum
+
+pattern GL_SCISSOR_BIT = 0x00080000 :: GLbitfield
+
+pattern GL_SCISSOR_BOX = 0x0C10 :: GLenum
+
+pattern GL_SCISSOR_COMMAND_NV = 0x0011 :: GLenum
+
+pattern GL_SCISSOR_TEST = 0x0C11 :: GLenum
+
+pattern GL_SCREEN = 0x9295 :: GLenum
+
+pattern GL_SCREEN_COORDINATES_REND = 0x8490 :: GLenum
+
+pattern GL_SCREEN_KHR = 0x9295 :: GLenum
+
+pattern GL_SCREEN_NV = 0x9295 :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY = 0x845E :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_ADDRESS_NV = 0x8F27 :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING = 0x889C :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB = 0x889C :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_EXT = 0x845E :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_LENGTH_NV = 0x8F31 :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_LIST_IBM = 103077 :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM = 103087 :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_POINTER_EXT = 0x845D :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_SIZE_EXT = 0x845A :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT = 0x845C :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B :: GLenum
+
+pattern GL_SECONDARY_COLOR_ARRAY_TYPE_EXT = 0x845B :: GLenum
+
+pattern GL_SECONDARY_COLOR_NV = 0x852D :: GLenum
+
+pattern GL_SECONDARY_INTERPOLATOR_ATI = 0x896D :: GLenum
+
+pattern GL_SELECT = 0x1C02 :: GLenum
+
+pattern GL_SELECTION_BUFFER_POINTER = 0x0DF3 :: GLenum
+
+pattern GL_SELECTION_BUFFER_SIZE = 0x0DF4 :: GLenum
+
+pattern GL_SEPARABLE_2D = 0x8012 :: GLenum
+
+pattern GL_SEPARABLE_2D_EXT = 0x8012 :: GLenum
+
+pattern GL_SEPARATE_ATTRIBS = 0x8C8D :: GLenum
+
+pattern GL_SEPARATE_ATTRIBS_EXT = 0x8C8D :: GLenum
+
+pattern GL_SEPARATE_ATTRIBS_NV = 0x8C8D :: GLenum
+
+pattern GL_SEPARATE_SPECULAR_COLOR = 0x81FA :: GLenum
+
+pattern GL_SEPARATE_SPECULAR_COLOR_EXT = 0x81FA :: GLenum
+
+pattern GL_SET = 0x150F :: GLenum
+
+pattern GL_SET_AMD = 0x874A :: GLenum
+
+pattern GL_SGX_BINARY_IMG = 0x8C0A :: GLenum
+
+pattern GL_SGX_PROGRAM_BINARY_IMG = 0x9130 :: GLenum
+
+pattern GL_SHADER = 0x82E1 :: GLenum
+
+pattern GL_SHADER_BINARY_DMP = 0x9250 :: GLenum
+
+pattern GL_SHADER_BINARY_FORMATS = 0x8DF8 :: GLenum
+
+pattern GL_SHADER_BINARY_VIV = 0x8FC4 :: GLenum
+
+pattern GL_SHADER_COMPILER = 0x8DFA :: GLenum
+
+pattern GL_SHADER_CONSISTENT_NV = 0x86DD :: GLenum
+
+pattern GL_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV = 0x00000010 :: GLbitfield
+
+pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT = 0x00000020 :: GLbitfield
+
+pattern GL_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT = 0x00000020 :: GLbitfield
+
+pattern GL_SHADER_IMAGE_ATOMIC = 0x82A6 :: GLenum
+
+pattern GL_SHADER_IMAGE_LOAD = 0x82A4 :: GLenum
+
+pattern GL_SHADER_IMAGE_STORE = 0x82A5 :: GLenum
+
+pattern GL_SHADER_INCLUDE_ARB = 0x8DAE :: GLenum
+
+pattern GL_SHADER_KHR = 0x82E1 :: GLenum
+
+pattern GL_SHADER_OBJECT_ARB = 0x8B48 :: GLenum
+
+pattern GL_SHADER_OBJECT_EXT = 0x8B48 :: GLenum
+
+pattern GL_SHADER_OPERATION_NV = 0x86DF :: GLenum
+
+pattern GL_SHADER_PIXEL_LOCAL_STORAGE_EXT = 0x8F64 :: GLenum
+
+pattern GL_SHADER_SOURCE_LENGTH = 0x8B88 :: GLenum
+
+pattern GL_SHADER_STORAGE_BARRIER_BIT = 0x00002000 :: GLbitfield
+
+pattern GL_SHADER_STORAGE_BLOCK = 0x92E6 :: GLenum
+
+pattern GL_SHADER_STORAGE_BUFFER = 0x90D2 :: GLenum
+
+pattern GL_SHADER_STORAGE_BUFFER_BINDING = 0x90D3 :: GLenum
+
+pattern GL_SHADER_STORAGE_BUFFER_OFFSET_ALIGNMENT = 0x90DF :: GLenum
+
+pattern GL_SHADER_STORAGE_BUFFER_SIZE = 0x90D5 :: GLenum
+
+pattern GL_SHADER_STORAGE_BUFFER_START = 0x90D4 :: GLenum
+
+pattern GL_SHADER_TYPE = 0x8B4F :: GLenum
+
+pattern GL_SHADE_MODEL = 0x0B54 :: GLenum
+
+pattern GL_SHADING_LANGUAGE_VERSION = 0x8B8C :: GLenum
+
+pattern GL_SHADING_LANGUAGE_VERSION_ARB = 0x8B8C :: GLenum
+
+pattern GL_SHADOW_AMBIENT_SGIX = 0x80BF :: GLenum
+
+pattern GL_SHADOW_ATTENUATION_EXT = 0x834E :: GLenum
+
+pattern GL_SHARED_EDGE_NV = 0xC0 :: GLubyte
+
+pattern GL_SHARED_TEXTURE_PALETTE_EXT = 0x81FB :: GLenum
+
+pattern GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS = 0x80B0 :: GLenum
+
+pattern GL_SHININESS = 0x1601 :: GLenum
+
+pattern GL_SHORT = 0x1402 :: GLenum
+
+pattern GL_SIGNALED = 0x9119 :: GLenum
+
+pattern GL_SIGNALED_APPLE = 0x9119 :: GLenum
+
+pattern GL_SIGNED_ALPHA8_NV = 0x8706 :: GLenum
+
+pattern GL_SIGNED_ALPHA_NV = 0x8705 :: GLenum
+
+pattern GL_SIGNED_HILO16_NV = 0x86FA :: GLenum
+
+pattern GL_SIGNED_HILO8_NV = 0x885F :: GLenum
+
+pattern GL_SIGNED_HILO_NV = 0x86F9 :: GLenum
+
+pattern GL_SIGNED_IDENTITY_NV = 0x853C :: GLenum
+
+pattern GL_SIGNED_INTENSITY8_NV = 0x8708 :: GLenum
+
+pattern GL_SIGNED_INTENSITY_NV = 0x8707 :: GLenum
+
+pattern GL_SIGNED_LUMINANCE8_ALPHA8_NV = 0x8704 :: GLenum
+
+pattern GL_SIGNED_LUMINANCE8_NV = 0x8702 :: GLenum
+
+pattern GL_SIGNED_LUMINANCE_ALPHA_NV = 0x8703 :: GLenum
+
+pattern GL_SIGNED_LUMINANCE_NV = 0x8701 :: GLenum
+
+pattern GL_SIGNED_NEGATE_NV = 0x853D :: GLenum
+
+pattern GL_SIGNED_NORMALIZED = 0x8F9C :: GLenum
+
+pattern GL_SIGNED_RGB8_NV = 0x86FF :: GLenum
+
+pattern GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV = 0x870D :: GLenum
+
+pattern GL_SIGNED_RGBA8_NV = 0x86FC :: GLenum
+
+pattern GL_SIGNED_RGBA_NV = 0x86FB :: GLenum
+
+pattern GL_SIGNED_RGB_NV = 0x86FE :: GLenum
+
+pattern GL_SIGNED_RGB_UNSIGNED_ALPHA_NV = 0x870C :: GLenum
+
+pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_TEST = 0x82AC :: GLenum
+
+pattern GL_SIMULTANEOUS_TEXTURE_AND_DEPTH_WRITE = 0x82AE :: GLenum
+
+pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_TEST = 0x82AD :: GLenum
+
+pattern GL_SIMULTANEOUS_TEXTURE_AND_STENCIL_WRITE = 0x82AF :: GLenum
+
+pattern GL_SINGLE_COLOR = 0x81F9 :: GLenum
+
+pattern GL_SINGLE_COLOR_EXT = 0x81F9 :: GLenum
+
+pattern GL_SKIP_COMPONENTS1_NV = -6 :: GLenum
+
+pattern GL_SKIP_COMPONENTS2_NV = -5 :: GLenum
+
+pattern GL_SKIP_COMPONENTS3_NV = -4 :: GLenum
+
+pattern GL_SKIP_COMPONENTS4_NV = -3 :: GLenum
+
+pattern GL_SKIP_DECODE_EXT = 0x8A4A :: GLenum
+
+pattern GL_SKIP_MISSING_GLYPH_NV = 0x90A9 :: GLenum
+
+pattern GL_SLICE_ACCUM_SUN = 0x85CC :: GLenum
+
+pattern GL_SLIM10U_SGIX = 0x831E :: GLenum
+
+pattern GL_SLIM12S_SGIX = 0x831F :: GLenum
+
+pattern GL_SLIM8U_SGIX = 0x831D :: GLenum
+
+pattern GL_SLUMINANCE = 0x8C46 :: GLenum
+
+pattern GL_SLUMINANCE8 = 0x8C47 :: GLenum
+
+pattern GL_SLUMINANCE8_ALPHA8 = 0x8C45 :: GLenum
+
+pattern GL_SLUMINANCE8_ALPHA8_EXT = 0x8C45 :: GLenum
+
+pattern GL_SLUMINANCE8_ALPHA8_NV = 0x8C45 :: GLenum
+
+pattern GL_SLUMINANCE8_EXT = 0x8C47 :: GLenum
+
+pattern GL_SLUMINANCE8_NV = 0x8C47 :: GLenum
+
+pattern GL_SLUMINANCE_ALPHA = 0x8C44 :: GLenum
+
+pattern GL_SLUMINANCE_ALPHA_EXT = 0x8C44 :: GLenum
+
+pattern GL_SLUMINANCE_ALPHA_NV = 0x8C44 :: GLenum
+
+pattern GL_SLUMINANCE_EXT = 0x8C46 :: GLenum
+
+pattern GL_SLUMINANCE_NV = 0x8C46 :: GLenum
+
+pattern GL_SMALL_CCW_ARC_TO_NV = 0x12 :: GLubyte
+
+pattern GL_SMALL_CW_ARC_TO_NV = 0x14 :: GLubyte
+
+pattern GL_SMAPHS30_PROGRAM_BINARY_DMP = 0x9251 :: GLenum
+
+pattern GL_SMAPHS_PROGRAM_BINARY_DMP = 0x9252 :: GLenum
+
+pattern GL_SMOOTH = 0x1D01 :: GLenum
+
+pattern GL_SMOOTH_CUBIC_CURVE_TO_NV = 0x10 :: GLubyte
+
+pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY = 0x0B23 :: GLenum
+
+pattern GL_SMOOTH_LINE_WIDTH_RANGE = 0x0B22 :: GLenum
+
+pattern GL_SMOOTH_POINT_SIZE_GRANULARITY = 0x0B13 :: GLenum
+
+pattern GL_SMOOTH_POINT_SIZE_RANGE = 0x0B12 :: GLenum
+
+pattern GL_SMOOTH_QUADRATIC_CURVE_TO_NV = 0x0E :: GLubyte
+
+pattern GL_SM_COUNT_NV = 0x933B :: GLenum
+
+pattern GL_SOFTLIGHT = 0x929C :: GLenum
+
+pattern GL_SOFTLIGHT_KHR = 0x929C :: GLenum
+
+pattern GL_SOFTLIGHT_NV = 0x929C :: GLenum
+
+pattern GL_SOURCE0_ALPHA = 0x8588 :: GLenum
+
+pattern GL_SOURCE0_ALPHA_ARB = 0x8588 :: GLenum
+
+pattern GL_SOURCE0_ALPHA_EXT = 0x8588 :: GLenum
+
+pattern GL_SOURCE0_RGB = 0x8580 :: GLenum
+
+pattern GL_SOURCE0_RGB_ARB = 0x8580 :: GLenum
+
+pattern GL_SOURCE0_RGB_EXT = 0x8580 :: GLenum
+
+pattern GL_SOURCE1_ALPHA = 0x8589 :: GLenum
+
+pattern GL_SOURCE1_ALPHA_ARB = 0x8589 :: GLenum
+
+pattern GL_SOURCE1_ALPHA_EXT = 0x8589 :: GLenum
+
+pattern GL_SOURCE1_RGB = 0x8581 :: GLenum
+
+pattern GL_SOURCE1_RGB_ARB = 0x8581 :: GLenum
+
+pattern GL_SOURCE1_RGB_EXT = 0x8581 :: GLenum
+
+pattern GL_SOURCE2_ALPHA = 0x858A :: GLenum
+
+pattern GL_SOURCE2_ALPHA_ARB = 0x858A :: GLenum
+
+pattern GL_SOURCE2_ALPHA_EXT = 0x858A :: GLenum
+
+pattern GL_SOURCE2_RGB = 0x8582 :: GLenum
+
+pattern GL_SOURCE2_RGB_ARB = 0x8582 :: GLenum
+
+pattern GL_SOURCE2_RGB_EXT = 0x8582 :: GLenum
+
+pattern GL_SOURCE3_ALPHA_NV = 0x858B :: GLenum
+
+pattern GL_SOURCE3_RGB_NV = 0x8583 :: GLenum
+
+pattern GL_SPARE0_NV = 0x852E :: GLenum
+
+pattern GL_SPARE0_PLUS_SECONDARY_COLOR_NV = 0x8532 :: GLenum
+
+pattern GL_SPARE1_NV = 0x852F :: GLenum
+
+pattern GL_SPARSE_BUFFER_PAGE_SIZE_ARB = 0x82F8 :: GLenum
+
+pattern GL_SPARSE_STORAGE_BIT_ARB = 0x0400 :: GLbitfield
+
+pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB = 0x91A9 :: GLenum
+
+pattern GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT = 0x91A9 :: GLenum
+
+pattern GL_SPECULAR = 0x1202 :: GLenum
+
+pattern GL_SPHERE_MAP = 0x2402 :: GLenum
+
+pattern GL_SPOT_CUTOFF = 0x1206 :: GLenum
+
+pattern GL_SPOT_DIRECTION = 0x1204 :: GLenum
+
+pattern GL_SPOT_EXPONENT = 0x1205 :: GLenum
+
+pattern GL_SPRITE_AXIAL_SGIX = 0x814C :: GLenum
+
+pattern GL_SPRITE_AXIS_SGIX = 0x814A :: GLenum
+
+pattern GL_SPRITE_EYE_ALIGNED_SGIX = 0x814E :: GLenum
+
+pattern GL_SPRITE_MODE_SGIX = 0x8149 :: GLenum
+
+pattern GL_SPRITE_OBJECT_ALIGNED_SGIX = 0x814D :: GLenum
+
+pattern GL_SPRITE_SGIX = 0x8148 :: GLenum
+
+pattern GL_SPRITE_TRANSLATION_SGIX = 0x814B :: GLenum
+
+pattern GL_SQUARE_NV = 0x90A3 :: GLenum
+
+pattern GL_SR8_EXT = 0x8FBD :: GLenum
+
+pattern GL_SRC0_ALPHA = 0x8588 :: GLenum
+
+pattern GL_SRC0_RGB = 0x8580 :: GLenum
+
+pattern GL_SRC1_ALPHA = 0x8589 :: GLenum
+
+pattern GL_SRC1_ALPHA_EXT = 0x8589 :: GLenum
+
+pattern GL_SRC1_COLOR = 0x88F9 :: GLenum
+
+pattern GL_SRC1_COLOR_EXT = 0x88F9 :: GLenum
+
+pattern GL_SRC1_RGB = 0x8581 :: GLenum
+
+pattern GL_SRC2_ALPHA = 0x858A :: GLenum
+
+pattern GL_SRC2_RGB = 0x8582 :: GLenum
+
+pattern GL_SRC_ALPHA = 0x0302 :: GLenum
+
+pattern GL_SRC_ALPHA_SATURATE = 0x0308 :: GLenum
+
+pattern GL_SRC_ALPHA_SATURATE_EXT = 0x0308 :: GLenum
+
+pattern GL_SRC_ATOP_NV = 0x928E :: GLenum
+
+pattern GL_SRC_COLOR = 0x0300 :: GLenum
+
+pattern GL_SRC_IN_NV = 0x928A :: GLenum
+
+pattern GL_SRC_NV = 0x9286 :: GLenum
+
+pattern GL_SRC_OUT_NV = 0x928C :: GLenum
+
+pattern GL_SRC_OVER_NV = 0x9288 :: GLenum
+
+pattern GL_SRG8_EXT = 0x8FBE :: GLenum
+
+pattern GL_SRGB = 0x8C40 :: GLenum
+
+pattern GL_SRGB8 = 0x8C41 :: GLenum
+
+pattern GL_SRGB8_ALPHA8 = 0x8C43 :: GLenum
+
+pattern GL_SRGB8_ALPHA8_EXT = 0x8C43 :: GLenum
+
+pattern GL_SRGB8_EXT = 0x8C41 :: GLenum
+
+pattern GL_SRGB8_NV = 0x8C41 :: GLenum
+
+pattern GL_SRGB_ALPHA = 0x8C42 :: GLenum
+
+pattern GL_SRGB_ALPHA_EXT = 0x8C42 :: GLenum
+
+pattern GL_SRGB_DECODE_ARB = 0x8299 :: GLenum
+
+pattern GL_SRGB_EXT = 0x8C40 :: GLenum
+
+pattern GL_SRGB_READ = 0x8297 :: GLenum
+
+pattern GL_SRGB_WRITE = 0x8298 :: GLenum
+
+pattern GL_STACK_OVERFLOW = 0x0503 :: GLenum
+
+pattern GL_STACK_OVERFLOW_KHR = 0x0503 :: GLenum
+
+pattern GL_STACK_UNDERFLOW = 0x0504 :: GLenum
+
+pattern GL_STACK_UNDERFLOW_KHR = 0x0504 :: GLenum
+
+pattern GL_STANDARD_FONT_FORMAT_NV = 0x936C :: GLenum
+
+pattern GL_STANDARD_FONT_NAME_NV = 0x9072 :: GLenum
+
+pattern GL_STATE_RESTORE = 0x8BDC :: GLenum
+
+pattern GL_STATIC_ATI = 0x8760 :: GLenum
+
+pattern GL_STATIC_COPY = 0x88E6 :: GLenum
+
+pattern GL_STATIC_COPY_ARB = 0x88E6 :: GLenum
+
+pattern GL_STATIC_DRAW = 0x88E4 :: GLenum
+
+pattern GL_STATIC_DRAW_ARB = 0x88E4 :: GLenum
+
+pattern GL_STATIC_READ = 0x88E5 :: GLenum
+
+pattern GL_STATIC_READ_ARB = 0x88E5 :: GLenum
+
+pattern GL_STATIC_VERTEX_ARRAY_IBM = 103061 :: GLenum
+
+pattern GL_STENCIL = 0x1802 :: GLenum
+
+pattern GL_STENCIL_ATTACHMENT = 0x8D20 :: GLenum
+
+pattern GL_STENCIL_ATTACHMENT_EXT = 0x8D20 :: GLenum
+
+pattern GL_STENCIL_ATTACHMENT_OES = 0x8D20 :: GLenum
+
+pattern GL_STENCIL_BACK_FAIL = 0x8801 :: GLenum
+
+pattern GL_STENCIL_BACK_FAIL_ATI = 0x8801 :: GLenum
+
+pattern GL_STENCIL_BACK_FUNC = 0x8800 :: GLenum
+
+pattern GL_STENCIL_BACK_FUNC_ATI = 0x8800 :: GLenum
+
+pattern GL_STENCIL_BACK_OP_VALUE_AMD = 0x874D :: GLenum
+
+pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL = 0x8802 :: GLenum
+
+pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI = 0x8802 :: GLenum
+
+pattern GL_STENCIL_BACK_PASS_DEPTH_PASS = 0x8803 :: GLenum
+
+pattern GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI = 0x8803 :: GLenum
+
+pattern GL_STENCIL_BACK_REF = 0x8CA3 :: GLenum
+
+pattern GL_STENCIL_BACK_VALUE_MASK = 0x8CA4 :: GLenum
+
+pattern GL_STENCIL_BACK_WRITEMASK = 0x8CA5 :: GLenum
+
+pattern GL_STENCIL_BITS = 0x0D57 :: GLenum
+
+pattern GL_STENCIL_BUFFER_BIT = 0x00000400 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT0_QCOM = 0x00010000 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT1_QCOM = 0x00020000 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT2_QCOM = 0x00040000 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT3_QCOM = 0x00080000 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT4_QCOM = 0x00100000 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT5_QCOM = 0x00200000 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT6_QCOM = 0x00400000 :: GLbitfield
+
+pattern GL_STENCIL_BUFFER_BIT7_QCOM = 0x00800000 :: GLbitfield
+
+pattern GL_STENCIL_CLEAR_TAG_VALUE_EXT = 0x88F3 :: GLenum
+
+pattern GL_STENCIL_CLEAR_VALUE = 0x0B91 :: GLenum
+
+pattern GL_STENCIL_COMPONENTS = 0x8285 :: GLenum
+
+pattern GL_STENCIL_EXT = 0x1802 :: GLenum
+
+pattern GL_STENCIL_FAIL = 0x0B94 :: GLenum
+
+pattern GL_STENCIL_FUNC = 0x0B92 :: GLenum
+
+pattern GL_STENCIL_INDEX = 0x1901 :: GLenum
+
+pattern GL_STENCIL_INDEX1 = 0x8D46 :: GLenum
+
+pattern GL_STENCIL_INDEX16 = 0x8D49 :: GLenum
+
+pattern GL_STENCIL_INDEX16_EXT = 0x8D49 :: GLenum
+
+pattern GL_STENCIL_INDEX1_EXT = 0x8D46 :: GLenum
+
+pattern GL_STENCIL_INDEX1_OES = 0x8D46 :: GLenum
+
+pattern GL_STENCIL_INDEX4 = 0x8D47 :: GLenum
+
+pattern GL_STENCIL_INDEX4_EXT = 0x8D47 :: GLenum
+
+pattern GL_STENCIL_INDEX4_OES = 0x8D47 :: GLenum
+
+pattern GL_STENCIL_INDEX8 = 0x8D48 :: GLenum
+
+pattern GL_STENCIL_INDEX8_EXT = 0x8D48 :: GLenum
+
+pattern GL_STENCIL_INDEX8_OES = 0x8D48 :: GLenum
+
+pattern GL_STENCIL_INDEX_OES = 0x1901 :: GLenum
+
+pattern GL_STENCIL_OP_VALUE_AMD = 0x874C :: GLenum
+
+pattern GL_STENCIL_PASS_DEPTH_FAIL = 0x0B95 :: GLenum
+
+pattern GL_STENCIL_PASS_DEPTH_PASS = 0x0B96 :: GLenum
+
+pattern GL_STENCIL_REF = 0x0B97 :: GLenum
+
+pattern GL_STENCIL_REF_COMMAND_NV = 0x000C :: GLenum
+
+pattern GL_STENCIL_RENDERABLE = 0x8288 :: GLenum
+
+pattern GL_STENCIL_SAMPLES_NV = 0x932E :: GLenum
+
+pattern GL_STENCIL_TAG_BITS_EXT = 0x88F2 :: GLenum
+
+pattern GL_STENCIL_TEST = 0x0B90 :: GLenum
+
+pattern GL_STENCIL_TEST_TWO_SIDE_EXT = 0x8910 :: GLenum
+
+pattern GL_STENCIL_VALUE_MASK = 0x0B93 :: GLenum
+
+pattern GL_STENCIL_WRITEMASK = 0x0B98 :: GLenum
+
+pattern GL_STEREO = 0x0C33 :: GLenum
+
+pattern GL_STORAGE_CACHED_APPLE = 0x85BE :: GLenum
+
+pattern GL_STORAGE_CLIENT_APPLE = 0x85B4 :: GLenum
+
+pattern GL_STORAGE_PRIVATE_APPLE = 0x85BD :: GLenum
+
+pattern GL_STORAGE_SHARED_APPLE = 0x85BF :: GLenum
+
+pattern GL_STREAM_COPY = 0x88E2 :: GLenum
+
+pattern GL_STREAM_COPY_ARB = 0x88E2 :: GLenum
+
+pattern GL_STREAM_DRAW = 0x88E0 :: GLenum
+
+pattern GL_STREAM_DRAW_ARB = 0x88E0 :: GLenum
+
+pattern GL_STREAM_RASTERIZATION_AMD = 0x91A0 :: GLenum
+
+pattern GL_STREAM_READ = 0x88E1 :: GLenum
+
+pattern GL_STREAM_READ_ARB = 0x88E1 :: GLenum
+
+pattern GL_STRICT_DEPTHFUNC_HINT_PGI = 0x1A216 :: GLenum
+
+pattern GL_STRICT_LIGHTING_HINT_PGI = 0x1A217 :: GLenum
+
+pattern GL_STRICT_SCISSOR_HINT_PGI = 0x1A218 :: GLenum
+
+pattern GL_SUBPIXEL_BITS = 0x0D50 :: GLenum
+
+pattern GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV = 0x9347 :: GLenum
+
+pattern GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV = 0x9348 :: GLenum
+
+pattern GL_SUBSAMPLE_DISTANCE_AMD = 0x883F :: GLenum
+
+pattern GL_SUBTRACT = 0x84E7 :: GLenum
+
+pattern GL_SUBTRACT_ARB = 0x84E7 :: GLenum
+
+pattern GL_SUB_ATI = 0x8965 :: GLenum
+
+pattern GL_SUCCESS_NV = 0x902F :: GLenum
+
+pattern GL_SUPERSAMPLE_SCALE_X_NV = 0x9372 :: GLenum
+
+pattern GL_SUPERSAMPLE_SCALE_Y_NV = 0x9373 :: GLenum
+
+pattern GL_SURFACE_MAPPED_NV = 0x8700 :: GLenum
+
+pattern GL_SURFACE_REGISTERED_NV = 0x86FD :: GLenum
+
+pattern GL_SURFACE_STATE_NV = 0x86EB :: GLenum
+
+pattern GL_SWIZZLE_STQ_ATI = 0x8977 :: GLenum
+
+pattern GL_SWIZZLE_STQ_DQ_ATI = 0x8979 :: GLenum
+
+pattern GL_SWIZZLE_STRQ_ATI = 0x897A :: GLenum
+
+pattern GL_SWIZZLE_STRQ_DQ_ATI = 0x897B :: GLenum
+
+pattern GL_SWIZZLE_STR_ATI = 0x8976 :: GLenum
+
+pattern GL_SWIZZLE_STR_DR_ATI = 0x8978 :: GLenum
+
+pattern GL_SYNC_CL_EVENT_ARB = 0x8240 :: GLenum
+
+pattern GL_SYNC_CL_EVENT_COMPLETE_ARB = 0x8241 :: GLenum
+
+pattern GL_SYNC_CONDITION = 0x9113 :: GLenum
+
+pattern GL_SYNC_CONDITION_APPLE = 0x9113 :: GLenum
+
+pattern GL_SYNC_FENCE = 0x9116 :: GLenum
+
+pattern GL_SYNC_FENCE_APPLE = 0x9116 :: GLenum
+
+pattern GL_SYNC_FLAGS = 0x9115 :: GLenum
+
+pattern GL_SYNC_FLAGS_APPLE = 0x9115 :: GLenum
+
+pattern GL_SYNC_FLUSH_COMMANDS_BIT = 0x00000001 :: GLbitfield
+
+pattern GL_SYNC_FLUSH_COMMANDS_BIT_APPLE = 0x00000001 :: GLbitfield
+
+pattern GL_SYNC_GPU_COMMANDS_COMPLETE = 0x9117 :: GLenum
+
+pattern GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE = 0x9117 :: GLenum
+
+pattern GL_SYNC_OBJECT_APPLE = 0x8A53 :: GLenum
+
+pattern GL_SYNC_STATUS = 0x9114 :: GLenum
+
+pattern GL_SYNC_STATUS_APPLE = 0x9114 :: GLenum
+
+pattern GL_SYNC_X11_FENCE_EXT = 0x90E1 :: GLenum
+
+pattern GL_SYSTEM_FONT_NAME_NV = 0x9073 :: GLenum
+
+pattern GL_T = 0x2001 :: GLenum
+
+pattern GL_T2F_C3F_V3F = 0x2A2A :: GLenum
+
+pattern GL_T2F_C4F_N3F_V3F = 0x2A2C :: GLenum
+
+pattern GL_T2F_C4UB_V3F = 0x2A29 :: GLenum
+
+pattern GL_T2F_IUI_N3F_V2F_EXT = 0x81B3 :: GLenum
+
+pattern GL_T2F_IUI_N3F_V3F_EXT = 0x81B4 :: GLenum
+
+pattern GL_T2F_IUI_V2F_EXT = 0x81B1 :: GLenum
+
+pattern GL_T2F_IUI_V3F_EXT = 0x81B2 :: GLenum
+
+pattern GL_T2F_N3F_V3F = 0x2A2B :: GLenum
+
+pattern GL_T2F_V3F = 0x2A27 :: GLenum
+
+pattern GL_T4F_C4F_N3F_V4F = 0x2A2D :: GLenum
+
+pattern GL_T4F_V4F = 0x2A28 :: GLenum
+
+pattern GL_TABLE_TOO_LARGE = 0x8031 :: GLenum
+
+pattern GL_TABLE_TOO_LARGE_EXT = 0x8031 :: GLenum
+
+pattern GL_TANGENT_ARRAY_EXT = 0x8439 :: GLenum
+
+pattern GL_TANGENT_ARRAY_POINTER_EXT = 0x8442 :: GLenum
+
+pattern GL_TANGENT_ARRAY_STRIDE_EXT = 0x843F :: GLenum
+
+pattern GL_TANGENT_ARRAY_TYPE_EXT = 0x843E :: GLenum
+
+pattern GL_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000 :: GLenum
+
+pattern GL_TESSELLATION_FACTOR_AMD = 0x9005 :: GLenum
+
+pattern GL_TESSELLATION_MODE_AMD = 0x9004 :: GLenum
+
+pattern GL_TESS_CONTROL_OUTPUT_VERTICES = 0x8E75 :: GLenum
+
+pattern GL_TESS_CONTROL_OUTPUT_VERTICES_EXT = 0x8E75 :: GLenum
+
+pattern GL_TESS_CONTROL_OUTPUT_VERTICES_OES = 0x8E75 :: GLenum
+
+pattern GL_TESS_CONTROL_PROGRAM_NV = 0x891E :: GLenum
+
+pattern GL_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV = 0x8C74 :: GLenum
+
+pattern GL_TESS_CONTROL_SHADER = 0x8E88 :: GLenum
+
+pattern GL_TESS_CONTROL_SHADER_BIT = 0x00000008 :: GLbitfield
+
+pattern GL_TESS_CONTROL_SHADER_BIT_EXT = 0x00000008 :: GLbitfield
+
+pattern GL_TESS_CONTROL_SHADER_BIT_OES = 0x00000008 :: GLbitfield
+
+pattern GL_TESS_CONTROL_SHADER_EXT = 0x8E88 :: GLenum
+
+pattern GL_TESS_CONTROL_SHADER_OES = 0x8E88 :: GLenum
+
+pattern GL_TESS_CONTROL_SHADER_PATCHES_ARB = 0x82F1 :: GLenum
+
+pattern GL_TESS_CONTROL_SUBROUTINE = 0x92E9 :: GLenum
+
+pattern GL_TESS_CONTROL_SUBROUTINE_UNIFORM = 0x92EF :: GLenum
+
+pattern GL_TESS_CONTROL_TEXTURE = 0x829C :: GLenum
+
+pattern GL_TESS_EVALUATION_PROGRAM_NV = 0x891F :: GLenum
+
+pattern GL_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV = 0x8C75 :: GLenum
+
+pattern GL_TESS_EVALUATION_SHADER = 0x8E87 :: GLenum
+
+pattern GL_TESS_EVALUATION_SHADER_BIT = 0x00000010 :: GLbitfield
+
+pattern GL_TESS_EVALUATION_SHADER_BIT_EXT = 0x00000010 :: GLbitfield
+
+pattern GL_TESS_EVALUATION_SHADER_BIT_OES = 0x00000010 :: GLbitfield
+
+pattern GL_TESS_EVALUATION_SHADER_EXT = 0x8E87 :: GLenum
+
+pattern GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB = 0x82F2 :: GLenum
+
+pattern GL_TESS_EVALUATION_SHADER_OES = 0x8E87 :: GLenum
+
+pattern GL_TESS_EVALUATION_SUBROUTINE = 0x92EA :: GLenum
+
+pattern GL_TESS_EVALUATION_SUBROUTINE_UNIFORM = 0x92F0 :: GLenum
+
+pattern GL_TESS_EVALUATION_TEXTURE = 0x829D :: GLenum
+
+pattern GL_TESS_GEN_MODE = 0x8E76 :: GLenum
+
+pattern GL_TESS_GEN_MODE_EXT = 0x8E76 :: GLenum
+
+pattern GL_TESS_GEN_MODE_OES = 0x8E76 :: GLenum
+
+pattern GL_TESS_GEN_POINT_MODE = 0x8E79 :: GLenum
+
+pattern GL_TESS_GEN_POINT_MODE_EXT = 0x8E79 :: GLenum
+
+pattern GL_TESS_GEN_POINT_MODE_OES = 0x8E79 :: GLenum
+
+pattern GL_TESS_GEN_SPACING = 0x8E77 :: GLenum
+
+pattern GL_TESS_GEN_SPACING_EXT = 0x8E77 :: GLenum
+
+pattern GL_TESS_GEN_SPACING_OES = 0x8E77 :: GLenum
+
+pattern GL_TESS_GEN_VERTEX_ORDER = 0x8E78 :: GLenum
+
+pattern GL_TESS_GEN_VERTEX_ORDER_EXT = 0x8E78 :: GLenum
+
+pattern GL_TESS_GEN_VERTEX_ORDER_OES = 0x8E78 :: GLenum
+
+pattern GL_TEXCOORD1_BIT_PGI = 0x10000000 :: GLbitfield
+
+pattern GL_TEXCOORD2_BIT_PGI = 0x20000000 :: GLbitfield
+
+pattern GL_TEXCOORD3_BIT_PGI = 0x40000000 :: GLbitfield
+
+pattern GL_TEXCOORD4_BIT_PGI = 0x80000000 :: GLbitfield
+
+pattern GL_TEXTURE = 0x1702 :: GLenum
+
+pattern GL_TEXTURE0 = 0x84C0 :: GLenum
+
+pattern GL_TEXTURE0_ARB = 0x84C0 :: GLenum
+
+pattern GL_TEXTURE1 = 0x84C1 :: GLenum
+
+pattern GL_TEXTURE10 = 0x84CA :: GLenum
+
+pattern GL_TEXTURE10_ARB = 0x84CA :: GLenum
+
+pattern GL_TEXTURE11 = 0x84CB :: GLenum
+
+pattern GL_TEXTURE11_ARB = 0x84CB :: GLenum
+
+pattern GL_TEXTURE12 = 0x84CC :: GLenum
+
+pattern GL_TEXTURE12_ARB = 0x84CC :: GLenum
+
+pattern GL_TEXTURE13 = 0x84CD :: GLenum
+
+pattern GL_TEXTURE13_ARB = 0x84CD :: GLenum
+
+pattern GL_TEXTURE14 = 0x84CE :: GLenum
+
+pattern GL_TEXTURE14_ARB = 0x84CE :: GLenum
+
+pattern GL_TEXTURE15 = 0x84CF :: GLenum
+
+pattern GL_TEXTURE15_ARB = 0x84CF :: GLenum
+
+pattern GL_TEXTURE16 = 0x84D0 :: GLenum
+
+pattern GL_TEXTURE16_ARB = 0x84D0 :: GLenum
+
+pattern GL_TEXTURE17 = 0x84D1 :: GLenum
+
+pattern GL_TEXTURE17_ARB = 0x84D1 :: GLenum
+
+pattern GL_TEXTURE18 = 0x84D2 :: GLenum
+
+pattern GL_TEXTURE18_ARB = 0x84D2 :: GLenum
+
+pattern GL_TEXTURE19 = 0x84D3 :: GLenum
+
+pattern GL_TEXTURE19_ARB = 0x84D3 :: GLenum
+
+pattern GL_TEXTURE1_ARB = 0x84C1 :: GLenum
+
+pattern GL_TEXTURE2 = 0x84C2 :: GLenum
+
+pattern GL_TEXTURE20 = 0x84D4 :: GLenum
+
+pattern GL_TEXTURE20_ARB = 0x84D4 :: GLenum
+
+pattern GL_TEXTURE21 = 0x84D5 :: GLenum
+
+pattern GL_TEXTURE21_ARB = 0x84D5 :: GLenum
+
+pattern GL_TEXTURE22 = 0x84D6 :: GLenum
+
+pattern GL_TEXTURE22_ARB = 0x84D6 :: GLenum
+
+pattern GL_TEXTURE23 = 0x84D7 :: GLenum
+
+pattern GL_TEXTURE23_ARB = 0x84D7 :: GLenum
+
+pattern GL_TEXTURE24 = 0x84D8 :: GLenum
+
+pattern GL_TEXTURE24_ARB = 0x84D8 :: GLenum
+
+pattern GL_TEXTURE25 = 0x84D9 :: GLenum
+
+pattern GL_TEXTURE25_ARB = 0x84D9 :: GLenum
+
+pattern GL_TEXTURE26 = 0x84DA :: GLenum
+
+pattern GL_TEXTURE26_ARB = 0x84DA :: GLenum
+
+pattern GL_TEXTURE27 = 0x84DB :: GLenum
+
+pattern GL_TEXTURE27_ARB = 0x84DB :: GLenum
+
+pattern GL_TEXTURE28 = 0x84DC :: GLenum
+
+pattern GL_TEXTURE28_ARB = 0x84DC :: GLenum
+
+pattern GL_TEXTURE29 = 0x84DD :: GLenum
+
+pattern GL_TEXTURE29_ARB = 0x84DD :: GLenum
+
+pattern GL_TEXTURE2_ARB = 0x84C2 :: GLenum
+
+pattern GL_TEXTURE3 = 0x84C3 :: GLenum
+
+pattern GL_TEXTURE30 = 0x84DE :: GLenum
+
+pattern GL_TEXTURE30_ARB = 0x84DE :: GLenum
+
+pattern GL_TEXTURE31 = 0x84DF :: GLenum
+
+pattern GL_TEXTURE31_ARB = 0x84DF :: GLenum
+
+pattern GL_TEXTURE3_ARB = 0x84C3 :: GLenum
+
+pattern GL_TEXTURE4 = 0x84C4 :: GLenum
+
+pattern GL_TEXTURE4_ARB = 0x84C4 :: GLenum
+
+pattern GL_TEXTURE5 = 0x84C5 :: GLenum
+
+pattern GL_TEXTURE5_ARB = 0x84C5 :: GLenum
+
+pattern GL_TEXTURE6 = 0x84C6 :: GLenum
+
+pattern GL_TEXTURE6_ARB = 0x84C6 :: GLenum
+
+pattern GL_TEXTURE7 = 0x84C7 :: GLenum
+
+pattern GL_TEXTURE7_ARB = 0x84C7 :: GLenum
+
+pattern GL_TEXTURE8 = 0x84C8 :: GLenum
+
+pattern GL_TEXTURE8_ARB = 0x84C8 :: GLenum
+
+pattern GL_TEXTURE9 = 0x84C9 :: GLenum
+
+pattern GL_TEXTURE9_ARB = 0x84C9 :: GLenum
+
+pattern GL_TEXTURE_1D = 0x0DE0 :: GLenum
+
+pattern GL_TEXTURE_1D_ARRAY = 0x8C18 :: GLenum
+
+pattern GL_TEXTURE_1D_ARRAY_EXT = 0x8C18 :: GLenum
+
+pattern GL_TEXTURE_1D_BINDING_EXT = 0x8068 :: GLenum
+
+pattern GL_TEXTURE_1D_STACK_BINDING_MESAX = 0x875D :: GLenum
+
+pattern GL_TEXTURE_1D_STACK_MESAX = 0x8759 :: GLenum
+
+pattern GL_TEXTURE_2D = 0x0DE1 :: GLenum
+
+pattern GL_TEXTURE_2D_ARRAY = 0x8C1A :: GLenum
+
+pattern GL_TEXTURE_2D_ARRAY_EXT = 0x8C1A :: GLenum
+
+pattern GL_TEXTURE_2D_BINDING_EXT = 0x8069 :: GLenum
+
+pattern GL_TEXTURE_2D_MULTISAMPLE = 0x9100 :: GLenum
+
+pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY = 0x9102 :: GLenum
+
+pattern GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES = 0x9102 :: GLenum
+
+pattern GL_TEXTURE_2D_STACK_BINDING_MESAX = 0x875E :: GLenum
+
+pattern GL_TEXTURE_2D_STACK_MESAX = 0x875A :: GLenum
+
+pattern GL_TEXTURE_3D = 0x806F :: GLenum
+
+pattern GL_TEXTURE_3D_BINDING_EXT = 0x806A :: GLenum
+
+pattern GL_TEXTURE_3D_BINDING_OES = 0x806A :: GLenum
+
+pattern GL_TEXTURE_3D_EXT = 0x806F :: GLenum
+
+pattern GL_TEXTURE_3D_OES = 0x806F :: GLenum
+
+pattern GL_TEXTURE_4DSIZE_SGIS = 0x8136 :: GLenum
+
+pattern GL_TEXTURE_4D_BINDING_SGIS = 0x814F :: GLenum
+
+pattern GL_TEXTURE_4D_SGIS = 0x8134 :: GLenum
+
+pattern GL_TEXTURE_ALPHA_MODULATE_IMG = 0x8C06 :: GLenum
+
+pattern GL_TEXTURE_ALPHA_SIZE = 0x805F :: GLenum
+
+pattern GL_TEXTURE_ALPHA_SIZE_EXT = 0x805F :: GLenum
+
+pattern GL_TEXTURE_ALPHA_TYPE = 0x8C13 :: GLenum
+
+pattern GL_TEXTURE_ALPHA_TYPE_ARB = 0x8C13 :: GLenum
+
+pattern GL_TEXTURE_APPLICATION_MODE_EXT = 0x834F :: GLenum
+
+pattern GL_TEXTURE_BASE_LEVEL = 0x813C :: GLenum
+
+pattern GL_TEXTURE_BASE_LEVEL_SGIS = 0x813C :: GLenum
+
+pattern GL_TEXTURE_BINDING_1D = 0x8068 :: GLenum
+
+pattern GL_TEXTURE_BINDING_1D_ARRAY = 0x8C1C :: GLenum
+
+pattern GL_TEXTURE_BINDING_1D_ARRAY_EXT = 0x8C1C :: GLenum
+
+pattern GL_TEXTURE_BINDING_2D = 0x8069 :: GLenum
+
+pattern GL_TEXTURE_BINDING_2D_ARRAY = 0x8C1D :: GLenum
+
+pattern GL_TEXTURE_BINDING_2D_ARRAY_EXT = 0x8C1D :: GLenum
+
+pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE = 0x9104 :: GLenum
+
+pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY = 0x9105 :: GLenum
+
+pattern GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES = 0x9105 :: GLenum
+
+pattern GL_TEXTURE_BINDING_3D = 0x806A :: GLenum
+
+pattern GL_TEXTURE_BINDING_3D_OES = 0x806A :: GLenum
+
+pattern GL_TEXTURE_BINDING_BUFFER = 0x8C2C :: GLenum
+
+pattern GL_TEXTURE_BINDING_BUFFER_ARB = 0x8C2C :: GLenum
+
+pattern GL_TEXTURE_BINDING_BUFFER_EXT = 0x8C2C :: GLenum
+
+pattern GL_TEXTURE_BINDING_BUFFER_OES = 0x8C2C :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP = 0x8514 :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP_ARB = 0x8514 :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY = 0x900A :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB = 0x900A :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT = 0x900A :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES = 0x900A :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP_EXT = 0x8514 :: GLenum
+
+pattern GL_TEXTURE_BINDING_CUBE_MAP_OES = 0x8514 :: GLenum
+
+pattern GL_TEXTURE_BINDING_EXTERNAL_OES = 0x8D67 :: GLenum
+
+pattern GL_TEXTURE_BINDING_RECTANGLE = 0x84F6 :: GLenum
+
+pattern GL_TEXTURE_BINDING_RECTANGLE_ARB = 0x84F6 :: GLenum
+
+pattern GL_TEXTURE_BINDING_RECTANGLE_NV = 0x84F6 :: GLenum
+
+pattern GL_TEXTURE_BINDING_RENDERBUFFER_NV = 0x8E53 :: GLenum
+
+pattern GL_TEXTURE_BIT = 0x00040000 :: GLbitfield
+
+pattern GL_TEXTURE_BLUE_SIZE = 0x805E :: GLenum
+
+pattern GL_TEXTURE_BLUE_SIZE_EXT = 0x805E :: GLenum
+
+pattern GL_TEXTURE_BLUE_TYPE = 0x8C12 :: GLenum
+
+pattern GL_TEXTURE_BLUE_TYPE_ARB = 0x8C12 :: GLenum
+
+pattern GL_TEXTURE_BORDER = 0x1005 :: GLenum
+
+pattern GL_TEXTURE_BORDER_COLOR = 0x1004 :: GLenum
+
+pattern GL_TEXTURE_BORDER_COLOR_EXT = 0x1004 :: GLenum
+
+pattern GL_TEXTURE_BORDER_COLOR_NV = 0x1004 :: GLenum
+
+pattern GL_TEXTURE_BORDER_COLOR_OES = 0x1004 :: GLenum
+
+pattern GL_TEXTURE_BORDER_VALUES_NV = 0x871A :: GLenum
+
+pattern GL_TEXTURE_BUFFER = 0x8C2A :: GLenum
+
+pattern GL_TEXTURE_BUFFER_ARB = 0x8C2A :: GLenum
+
+pattern GL_TEXTURE_BUFFER_BINDING = 0x8C2A :: GLenum
+
+pattern GL_TEXTURE_BUFFER_BINDING_EXT = 0x8C2A :: GLenum
+
+pattern GL_TEXTURE_BUFFER_BINDING_OES = 0x8C2A :: GLenum
+
+pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING = 0x8C2D :: GLenum
+
+pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB = 0x8C2D :: GLenum
+
+pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT = 0x8C2D :: GLenum
+
+pattern GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES = 0x8C2D :: GLenum
+
+pattern GL_TEXTURE_BUFFER_EXT = 0x8C2A :: GLenum
+
+pattern GL_TEXTURE_BUFFER_FORMAT_ARB = 0x8C2E :: GLenum
+
+pattern GL_TEXTURE_BUFFER_FORMAT_EXT = 0x8C2E :: GLenum
+
+pattern GL_TEXTURE_BUFFER_OES = 0x8C2A :: GLenum
+
+pattern GL_TEXTURE_BUFFER_OFFSET = 0x919D :: GLenum
+
+pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT = 0x919F :: GLenum
+
+pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT = 0x919F :: GLenum
+
+pattern GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES = 0x919F :: GLenum
+
+pattern GL_TEXTURE_BUFFER_OFFSET_EXT = 0x919D :: GLenum
+
+pattern GL_TEXTURE_BUFFER_OFFSET_OES = 0x919D :: GLenum
+
+pattern GL_TEXTURE_BUFFER_SIZE = 0x919E :: GLenum
+
+pattern GL_TEXTURE_BUFFER_SIZE_EXT = 0x919E :: GLenum
+
+pattern GL_TEXTURE_BUFFER_SIZE_OES = 0x919E :: GLenum
+
+pattern GL_TEXTURE_CLIPMAP_CENTER_SGIX = 0x8171 :: GLenum
+
+pattern GL_TEXTURE_CLIPMAP_DEPTH_SGIX = 0x8176 :: GLenum
+
+pattern GL_TEXTURE_CLIPMAP_FRAME_SGIX = 0x8172 :: GLenum
+
+pattern GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX = 0x8175 :: GLenum
+
+pattern GL_TEXTURE_CLIPMAP_OFFSET_SGIX = 0x8173 :: GLenum
+
+pattern GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX = 0x8174 :: GLenum
+
+pattern GL_TEXTURE_COLOR_SAMPLES_NV = 0x9046 :: GLenum
+
+pattern GL_TEXTURE_COLOR_TABLE_SGI = 0x80BC :: GLenum
+
+pattern GL_TEXTURE_COLOR_WRITEMASK_SGIS = 0x81EF :: GLenum
+
+pattern GL_TEXTURE_COMPARE_FAIL_VALUE_ARB = 0x80BF :: GLenum
+
+pattern GL_TEXTURE_COMPARE_FUNC = 0x884D :: GLenum
+
+pattern GL_TEXTURE_COMPARE_FUNC_ARB = 0x884D :: GLenum
+
+pattern GL_TEXTURE_COMPARE_FUNC_EXT = 0x884D :: GLenum
+
+pattern GL_TEXTURE_COMPARE_MODE = 0x884C :: GLenum
+
+pattern GL_TEXTURE_COMPARE_MODE_ARB = 0x884C :: GLenum
+
+pattern GL_TEXTURE_COMPARE_MODE_EXT = 0x884C :: GLenum
+
+pattern GL_TEXTURE_COMPARE_OPERATOR_SGIX = 0x819B :: GLenum
+
+pattern GL_TEXTURE_COMPARE_SGIX = 0x819A :: GLenum
+
+pattern GL_TEXTURE_COMPONENTS = 0x1003 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSED = 0x86A1 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSED_ARB = 0x86A1 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSED_BLOCK_HEIGHT = 0x82B2 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSED_BLOCK_SIZE = 0x82B3 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSED_BLOCK_WIDTH = 0x82B1 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE = 0x86A0 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB = 0x86A0 :: GLenum
+
+pattern GL_TEXTURE_COMPRESSION_HINT = 0x84EF :: GLenum
+
+pattern GL_TEXTURE_COMPRESSION_HINT_ARB = 0x84EF :: GLenum
+
+pattern GL_TEXTURE_CONSTANT_DATA_SUNX = 0x81D6 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY = 0x8078 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_ADDRESS_NV = 0x8F25 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING = 0x889A :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB = 0x889A :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_COUNT_EXT = 0x808B :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_EXT = 0x8078 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_LENGTH_NV = 0x8F2F :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_LIST_IBM = 103074 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM = 103084 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F8 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_POINTER = 0x8092 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_POINTER_EXT = 0x8092 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_SIZE = 0x8088 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_SIZE_EXT = 0x8088 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_STRIDE = 0x808A :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_STRIDE_EXT = 0x808A :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_TYPE = 0x8089 :: GLenum
+
+pattern GL_TEXTURE_COORD_ARRAY_TYPE_EXT = 0x8089 :: GLenum
+
+pattern GL_TEXTURE_COORD_NV = 0x8C79 :: GLenum
+
+pattern GL_TEXTURE_COVERAGE_SAMPLES_NV = 0x9045 :: GLenum
+
+pattern GL_TEXTURE_CROP_RECT_OES = 0x8B9D :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP = 0x8513 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_ARB = 0x8513 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_ARRAY = 0x9009 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_ARRAY_ARB = 0x9009 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_ARRAY_EXT = 0x9009 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_ARRAY_OES = 0x9009 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_EXT = 0x8513 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB = 0x8516 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT = 0x8516 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES = 0x8516 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB = 0x8518 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT = 0x8518 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES = 0x8518 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851A :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB = 0x851A :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT = 0x851A :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES = 0x851A :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_OES = 0x8513 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB = 0x8515 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT = 0x8515 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES = 0x8515 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB = 0x8517 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT = 0x8517 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES = 0x8517 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB = 0x8519 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT = 0x8519 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES = 0x8519 :: GLenum
+
+pattern GL_TEXTURE_CUBE_MAP_SEAMLESS = 0x884F :: GLenum
+
+pattern GL_TEXTURE_DEFORMATION_BIT_SGIX = 0x00000001 :: GLbitfield
+
+pattern GL_TEXTURE_DEFORMATION_SGIX = 0x8195 :: GLenum
+
+pattern GL_TEXTURE_DEPTH = 0x8071 :: GLenum
+
+pattern GL_TEXTURE_DEPTH_EXT = 0x8071 :: GLenum
+
+pattern GL_TEXTURE_DEPTH_QCOM = 0x8BD4 :: GLenum
+
+pattern GL_TEXTURE_DEPTH_SIZE = 0x884A :: GLenum
+
+pattern GL_TEXTURE_DEPTH_SIZE_ARB = 0x884A :: GLenum
+
+pattern GL_TEXTURE_DEPTH_TYPE = 0x8C16 :: GLenum
+
+pattern GL_TEXTURE_DEPTH_TYPE_ARB = 0x8C16 :: GLenum
+
+pattern GL_TEXTURE_DS_SIZE_NV = 0x871D :: GLenum
+
+pattern GL_TEXTURE_DT_SIZE_NV = 0x871E :: GLenum
+
+pattern GL_TEXTURE_ENV = 0x2300 :: GLenum
+
+pattern GL_TEXTURE_ENV_BIAS_SGIX = 0x80BE :: GLenum
+
+pattern GL_TEXTURE_ENV_COLOR = 0x2201 :: GLenum
+
+pattern GL_TEXTURE_ENV_MODE = 0x2200 :: GLenum
+
+pattern GL_TEXTURE_EXTERNAL_OES = 0x8D65 :: GLenum
+
+pattern GL_TEXTURE_FETCH_BARRIER_BIT = 0x00000008 :: GLbitfield
+
+pattern GL_TEXTURE_FETCH_BARRIER_BIT_EXT = 0x00000008 :: GLbitfield
+
+pattern GL_TEXTURE_FILTER4_SIZE_SGIS = 0x8147 :: GLenum
+
+pattern GL_TEXTURE_FILTER_CONTROL = 0x8500 :: GLenum
+
+pattern GL_TEXTURE_FILTER_CONTROL_EXT = 0x8500 :: GLenum
+
+pattern GL_TEXTURE_FIXED_SAMPLE_LOCATIONS = 0x9107 :: GLenum
+
+pattern GL_TEXTURE_FLOAT_COMPONENTS_NV = 0x888C :: GLenum
+
+pattern GL_TEXTURE_FORMAT_QCOM = 0x8BD6 :: GLenum
+
+pattern GL_TEXTURE_FREE_MEMORY_ATI = 0x87FC :: GLenum
+
+pattern GL_TEXTURE_GATHER = 0x82A2 :: GLenum
+
+pattern GL_TEXTURE_GATHER_SHADOW = 0x82A3 :: GLenum
+
+pattern GL_TEXTURE_GEN_MODE = 0x2500 :: GLenum
+
+pattern GL_TEXTURE_GEN_MODE_OES = 0x2500 :: GLenum
+
+pattern GL_TEXTURE_GEN_Q = 0x0C63 :: GLenum
+
+pattern GL_TEXTURE_GEN_R = 0x0C62 :: GLenum
+
+pattern GL_TEXTURE_GEN_S = 0x0C60 :: GLenum
+
+pattern GL_TEXTURE_GEN_STR_OES = 0x8D60 :: GLenum
+
+pattern GL_TEXTURE_GEN_T = 0x0C61 :: GLenum
+
+pattern GL_TEXTURE_GEQUAL_R_SGIX = 0x819D :: GLenum
+
+pattern GL_TEXTURE_GREEN_SIZE = 0x805D :: GLenum
+
+pattern GL_TEXTURE_GREEN_SIZE_EXT = 0x805D :: GLenum
+
+pattern GL_TEXTURE_GREEN_TYPE = 0x8C11 :: GLenum
+
+pattern GL_TEXTURE_GREEN_TYPE_ARB = 0x8C11 :: GLenum
+
+pattern GL_TEXTURE_HEIGHT = 0x1001 :: GLenum
+
+pattern GL_TEXTURE_HEIGHT_QCOM = 0x8BD3 :: GLenum
+
+pattern GL_TEXTURE_HI_SIZE_NV = 0x871B :: GLenum
+
+pattern GL_TEXTURE_IMAGE_FORMAT = 0x828F :: GLenum
+
+pattern GL_TEXTURE_IMAGE_TYPE = 0x8290 :: GLenum
+
+pattern GL_TEXTURE_IMAGE_VALID_QCOM = 0x8BD8 :: GLenum
+
+pattern GL_TEXTURE_IMMUTABLE_FORMAT = 0x912F :: GLenum
+
+pattern GL_TEXTURE_IMMUTABLE_FORMAT_EXT = 0x912F :: GLenum
+
+pattern GL_TEXTURE_IMMUTABLE_LEVELS = 0x82DF :: GLenum
+
+pattern GL_TEXTURE_INDEX_SIZE_EXT = 0x80ED :: GLenum
+
+pattern GL_TEXTURE_INTENSITY_SIZE = 0x8061 :: GLenum
+
+pattern GL_TEXTURE_INTENSITY_SIZE_EXT = 0x8061 :: GLenum
+
+pattern GL_TEXTURE_INTENSITY_TYPE = 0x8C15 :: GLenum
+
+pattern GL_TEXTURE_INTENSITY_TYPE_ARB = 0x8C15 :: GLenum
+
+pattern GL_TEXTURE_INTERNAL_FORMAT = 0x1003 :: GLenum
+
+pattern GL_TEXTURE_INTERNAL_FORMAT_QCOM = 0x8BD5 :: GLenum
+
+pattern GL_TEXTURE_LEQUAL_R_SGIX = 0x819C :: GLenum
+
+pattern GL_TEXTURE_LIGHTING_MODE_HP = 0x8167 :: GLenum
+
+pattern GL_TEXTURE_LIGHT_EXT = 0x8350 :: GLenum
+
+pattern GL_TEXTURE_LOD_BIAS = 0x8501 :: GLenum
+
+pattern GL_TEXTURE_LOD_BIAS_EXT = 0x8501 :: GLenum
+
+pattern GL_TEXTURE_LOD_BIAS_R_SGIX = 0x8190 :: GLenum
+
+pattern GL_TEXTURE_LOD_BIAS_S_SGIX = 0x818E :: GLenum
+
+pattern GL_TEXTURE_LOD_BIAS_T_SGIX = 0x818F :: GLenum
+
+pattern GL_TEXTURE_LO_SIZE_NV = 0x871C :: GLenum
+
+pattern GL_TEXTURE_LUMINANCE_SIZE = 0x8060 :: GLenum
+
+pattern GL_TEXTURE_LUMINANCE_SIZE_EXT = 0x8060 :: GLenum
+
+pattern GL_TEXTURE_LUMINANCE_TYPE = 0x8C14 :: GLenum
+
+pattern GL_TEXTURE_LUMINANCE_TYPE_ARB = 0x8C14 :: GLenum
+
+pattern GL_TEXTURE_MAG_FILTER = 0x2800 :: GLenum
+
+pattern GL_TEXTURE_MAG_SIZE_NV = 0x871F :: GLenum
+
+pattern GL_TEXTURE_MATERIAL_FACE_EXT = 0x8351 :: GLenum
+
+pattern GL_TEXTURE_MATERIAL_PARAMETER_EXT = 0x8352 :: GLenum
+
+pattern GL_TEXTURE_MATRIX = 0x0BA8 :: GLenum
+
+pattern GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES = 0x898F :: GLenum
+
+pattern GL_TEXTURE_MAX_ANISOTROPY_EXT = 0x84FE :: GLenum
+
+pattern GL_TEXTURE_MAX_CLAMP_R_SGIX = 0x836B :: GLenum
+
+pattern GL_TEXTURE_MAX_CLAMP_S_SGIX = 0x8369 :: GLenum
+
+pattern GL_TEXTURE_MAX_CLAMP_T_SGIX = 0x836A :: GLenum
+
+pattern GL_TEXTURE_MAX_LEVEL = 0x813D :: GLenum
+
+pattern GL_TEXTURE_MAX_LEVEL_APPLE = 0x813D :: GLenum
+
+pattern GL_TEXTURE_MAX_LEVEL_SGIS = 0x813D :: GLenum
+
+pattern GL_TEXTURE_MAX_LOD = 0x813B :: GLenum
+
+pattern GL_TEXTURE_MAX_LOD_SGIS = 0x813B :: GLenum
+
+pattern GL_TEXTURE_MEMORY_LAYOUT_INTEL = 0x83FF :: GLenum
+
+pattern GL_TEXTURE_MIN_FILTER = 0x2801 :: GLenum
+
+pattern GL_TEXTURE_MIN_LOD = 0x813A :: GLenum
+
+pattern GL_TEXTURE_MIN_LOD_SGIS = 0x813A :: GLenum
+
+pattern GL_TEXTURE_MULTI_BUFFER_HINT_SGIX = 0x812E :: GLenum
+
+pattern GL_TEXTURE_NORMAL_EXT = 0x85AF :: GLenum
+
+pattern GL_TEXTURE_NUM_LEVELS_QCOM = 0x8BD9 :: GLenum
+
+pattern GL_TEXTURE_OBJECT_VALID_QCOM = 0x8BDB :: GLenum
+
+pattern GL_TEXTURE_POST_SPECULAR_HP = 0x8168 :: GLenum
+
+pattern GL_TEXTURE_PRE_SPECULAR_HP = 0x8169 :: GLenum
+
+pattern GL_TEXTURE_PRIORITY = 0x8066 :: GLenum
+
+pattern GL_TEXTURE_PRIORITY_EXT = 0x8066 :: GLenum
+
+pattern GL_TEXTURE_RANGE_LENGTH_APPLE = 0x85B7 :: GLenum
+
+pattern GL_TEXTURE_RANGE_POINTER_APPLE = 0x85B8 :: GLenum
+
+pattern GL_TEXTURE_RECTANGLE = 0x84F5 :: GLenum
+
+pattern GL_TEXTURE_RECTANGLE_ARB = 0x84F5 :: GLenum
+
+pattern GL_TEXTURE_RECTANGLE_NV = 0x84F5 :: GLenum
+
+pattern GL_TEXTURE_REDUCTION_MODE_ARB = 0x9366 :: GLenum
+
+pattern GL_TEXTURE_RED_SIZE = 0x805C :: GLenum
+
+pattern GL_TEXTURE_RED_SIZE_EXT = 0x805C :: GLenum
+
+pattern GL_TEXTURE_RED_TYPE = 0x8C10 :: GLenum
+
+pattern GL_TEXTURE_RED_TYPE_ARB = 0x8C10 :: GLenum
+
+pattern GL_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV = 0x8E54 :: GLenum
+
+pattern GL_TEXTURE_RENDERBUFFER_NV = 0x8E55 :: GLenum
+
+pattern GL_TEXTURE_RESIDENT = 0x8067 :: GLenum
+
+pattern GL_TEXTURE_RESIDENT_EXT = 0x8067 :: GLenum
+
+pattern GL_TEXTURE_SAMPLES = 0x9106 :: GLenum
+
+pattern GL_TEXTURE_SAMPLES_IMG = 0x9136 :: GLenum
+
+pattern GL_TEXTURE_SHADER_NV = 0x86DE :: GLenum
+
+pattern GL_TEXTURE_SHADOW = 0x82A1 :: GLenum
+
+pattern GL_TEXTURE_SHARED_SIZE = 0x8C3F :: GLenum
+
+pattern GL_TEXTURE_SHARED_SIZE_EXT = 0x8C3F :: GLenum
+
+pattern GL_TEXTURE_SPARSE_ARB = 0x91A6 :: GLenum
+
+pattern GL_TEXTURE_SPARSE_EXT = 0x91A6 :: GLenum
+
+pattern GL_TEXTURE_SRGB_DECODE_EXT = 0x8A48 :: GLenum
+
+pattern GL_TEXTURE_STACK_DEPTH = 0x0BA5 :: GLenum
+
+pattern GL_TEXTURE_STENCIL_SIZE = 0x88F1 :: GLenum
+
+pattern GL_TEXTURE_STENCIL_SIZE_EXT = 0x88F1 :: GLenum
+
+pattern GL_TEXTURE_STORAGE_HINT_APPLE = 0x85BC :: GLenum
+
+pattern GL_TEXTURE_STORAGE_SPARSE_BIT_AMD = 0x00000001 :: GLbitfield
+
+pattern GL_TEXTURE_SWIZZLE_A = 0x8E45 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_A_EXT = 0x8E45 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_B = 0x8E44 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_B_EXT = 0x8E44 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_G = 0x8E43 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_G_EXT = 0x8E43 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_R = 0x8E42 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_RGBA = 0x8E46 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_RGBA_EXT = 0x8E46 :: GLenum
+
+pattern GL_TEXTURE_SWIZZLE_R_EXT = 0x8E42 :: GLenum
+
+pattern GL_TEXTURE_TARGET = 0x1006 :: GLenum
+
+pattern GL_TEXTURE_TARGET_QCOM = 0x8BDA :: GLenum
+
+pattern GL_TEXTURE_TOO_LARGE_EXT = 0x8065 :: GLenum
+
+pattern GL_TEXTURE_TYPE_QCOM = 0x8BD7 :: GLenum
+
+pattern GL_TEXTURE_UNSIGNED_REMAP_MODE_NV = 0x888F :: GLenum
+
+pattern GL_TEXTURE_UPDATE_BARRIER_BIT = 0x00000100 :: GLbitfield
+
+pattern GL_TEXTURE_UPDATE_BARRIER_BIT_EXT = 0x00000100 :: GLbitfield
+
+pattern GL_TEXTURE_USAGE_ANGLE = 0x93A2 :: GLenum
+
+pattern GL_TEXTURE_VIEW = 0x82B5 :: GLenum
+
+pattern GL_TEXTURE_VIEW_MIN_LAYER = 0x82DD :: GLenum
+
+pattern GL_TEXTURE_VIEW_MIN_LAYER_EXT = 0x82DD :: GLenum
+
+pattern GL_TEXTURE_VIEW_MIN_LAYER_OES = 0x82DD :: GLenum
+
+pattern GL_TEXTURE_VIEW_MIN_LEVEL = 0x82DB :: GLenum
+
+pattern GL_TEXTURE_VIEW_MIN_LEVEL_EXT = 0x82DB :: GLenum
+
+pattern GL_TEXTURE_VIEW_MIN_LEVEL_OES = 0x82DB :: GLenum
+
+pattern GL_TEXTURE_VIEW_NUM_LAYERS = 0x82DE :: GLenum
+
+pattern GL_TEXTURE_VIEW_NUM_LAYERS_EXT = 0x82DE :: GLenum
+
+pattern GL_TEXTURE_VIEW_NUM_LAYERS_OES = 0x82DE :: GLenum
+
+pattern GL_TEXTURE_VIEW_NUM_LEVELS = 0x82DC :: GLenum
+
+pattern GL_TEXTURE_VIEW_NUM_LEVELS_EXT = 0x82DC :: GLenum
+
+pattern GL_TEXTURE_VIEW_NUM_LEVELS_OES = 0x82DC :: GLenum
+
+pattern GL_TEXTURE_WIDTH = 0x1000 :: GLenum
+
+pattern GL_TEXTURE_WIDTH_QCOM = 0x8BD2 :: GLenum
+
+pattern GL_TEXTURE_WRAP_Q_SGIS = 0x8137 :: GLenum
+
+pattern GL_TEXTURE_WRAP_R = 0x8072 :: GLenum
+
+pattern GL_TEXTURE_WRAP_R_EXT = 0x8072 :: GLenum
+
+pattern GL_TEXTURE_WRAP_R_OES = 0x8072 :: GLenum
+
+pattern GL_TEXTURE_WRAP_S = 0x2802 :: GLenum
+
+pattern GL_TEXTURE_WRAP_T = 0x2803 :: GLenum
+
+pattern GL_TEXT_FRAGMENT_SHADER_ATI = 0x8200 :: GLenum
+
+pattern GL_TIMEOUT_EXPIRED = 0x911B :: GLenum
+
+pattern GL_TIMEOUT_EXPIRED_APPLE = 0x911B :: GLenum
+
+pattern GL_TIMEOUT_IGNORED = 0xFFFFFFFFFFFFFFFF :: GLuint64
+
+pattern GL_TIMEOUT_IGNORED_APPLE = 0xFFFFFFFFFFFFFFFF :: GLuint64
+
+pattern GL_TIMESTAMP = 0x8E28 :: GLenum
+
+pattern GL_TIMESTAMP_EXT = 0x8E28 :: GLenum
+
+pattern GL_TIME_ELAPSED = 0x88BF :: GLenum
+
+pattern GL_TIME_ELAPSED_EXT = 0x88BF :: GLenum
+
+pattern GL_TOP_LEVEL_ARRAY_SIZE = 0x930C :: GLenum
+
+pattern GL_TOP_LEVEL_ARRAY_STRIDE = 0x930D :: GLenum
+
+pattern GL_TRACE_ALL_BITS_MESA = 0xFFFF :: GLbitfield
+
+pattern GL_TRACE_ARRAYS_BIT_MESA = 0x0004 :: GLbitfield
+
+pattern GL_TRACE_ERRORS_BIT_MESA = 0x0020 :: GLbitfield
+
+pattern GL_TRACE_MASK_MESA = 0x8755 :: GLenum
+
+pattern GL_TRACE_NAME_MESA = 0x8756 :: GLenum
+
+pattern GL_TRACE_OPERATIONS_BIT_MESA = 0x0001 :: GLbitfield
+
+pattern GL_TRACE_PIXELS_BIT_MESA = 0x0010 :: GLbitfield
+
+pattern GL_TRACE_PRIMITIVES_BIT_MESA = 0x0002 :: GLbitfield
+
+pattern GL_TRACE_TEXTURES_BIT_MESA = 0x0008 :: GLbitfield
+
+pattern GL_TRACK_MATRIX_NV = 0x8648 :: GLenum
+
+pattern GL_TRACK_MATRIX_TRANSFORM_NV = 0x8649 :: GLenum
+
+pattern GL_TRANSFORM_BIT = 0x00001000 :: GLbitfield
+
+pattern GL_TRANSFORM_FEEDBACK = 0x8E22 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_ACTIVE = 0x8E24 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_ATTRIBS_NV = 0x8C7E :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT = 0x00000800 :: GLbitfield
+
+pattern GL_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT = 0x00000800 :: GLbitfield
+
+pattern GL_TRANSFORM_FEEDBACK_BINDING = 0x8E25 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BINDING_NV = 0x8E25 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER = 0x8C8E :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE = 0x8E24 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV = 0x8E24 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING = 0x8C8F :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT = 0x8C8F :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV = 0x8C8F :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_EXT = 0x8C8E :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_INDEX = 0x934B :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE = 0x8C7F :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT = 0x8C7F :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_MODE_NV = 0x8C7F :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_NV = 0x8C8E :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED = 0x8E23 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV = 0x8E23 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE = 0x8C85 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT = 0x8C85 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV = 0x8C85 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_START = 0x8C84 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT = 0x8C84 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_START_NV = 0x8C84 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_BUFFER_STRIDE = 0x934C :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_NV = 0x8E22 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB = 0x82EC :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_PAUSED = 0x8E23 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 0x8C88 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT = 0x8C88 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV = 0x8C88 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_RECORD_NV = 0x8C86 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB = 0x82ED :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_VARYING = 0x92F4 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_VARYINGS = 0x8C83 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_VARYINGS_EXT = 0x8C83 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_VARYINGS_NV = 0x8C83 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH = 0x8C76 :: GLenum
+
+pattern GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT = 0x8C76 :: GLenum
+
+pattern GL_TRANSFORM_HINT_APPLE = 0x85B1 :: GLenum
+
+pattern GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE = 0x93A0 :: GLenum
+
+pattern GL_TRANSLATE_2D_NV = 0x9090 :: GLenum
+
+pattern GL_TRANSLATE_3D_NV = 0x9091 :: GLenum
+
+pattern GL_TRANSLATE_X_NV = 0x908E :: GLenum
+
+pattern GL_TRANSLATE_Y_NV = 0x908F :: GLenum
+
+pattern GL_TRANSPOSE_AFFINE_2D_NV = 0x9096 :: GLenum
+
+pattern GL_TRANSPOSE_AFFINE_3D_NV = 0x9098 :: GLenum
+
+pattern GL_TRANSPOSE_COLOR_MATRIX = 0x84E6 :: GLenum
+
+pattern GL_TRANSPOSE_COLOR_MATRIX_ARB = 0x84E6 :: GLenum
+
+pattern GL_TRANSPOSE_CURRENT_MATRIX_ARB = 0x88B7 :: GLenum
+
+pattern GL_TRANSPOSE_MODELVIEW_MATRIX = 0x84E3 :: GLenum
+
+pattern GL_TRANSPOSE_MODELVIEW_MATRIX_ARB = 0x84E3 :: GLenum
+
+pattern GL_TRANSPOSE_NV = 0x862C :: GLenum
+
+pattern GL_TRANSPOSE_PROGRAM_MATRIX_EXT = 0x8E2E :: GLenum
+
+pattern GL_TRANSPOSE_PROJECTION_MATRIX = 0x84E4 :: GLenum
+
+pattern GL_TRANSPOSE_PROJECTION_MATRIX_ARB = 0x84E4 :: GLenum
+
+pattern GL_TRANSPOSE_TEXTURE_MATRIX = 0x84E5 :: GLenum
+
+pattern GL_TRANSPOSE_TEXTURE_MATRIX_ARB = 0x84E5 :: GLenum
+
+pattern GL_TRIANGLES = 0x0004 :: GLenum
+
+pattern GL_TRIANGLES_ADJACENCY = 0x000C :: GLenum
+
+pattern GL_TRIANGLES_ADJACENCY_ARB = 0x000C :: GLenum
+
+pattern GL_TRIANGLES_ADJACENCY_EXT = 0x000C :: GLenum
+
+pattern GL_TRIANGLES_ADJACENCY_OES = 0x000C :: GLenum
+
+pattern GL_TRIANGLE_FAN = 0x0006 :: GLenum
+
+pattern GL_TRIANGLE_LIST_SUN = 0x81D7 :: GLenum
+
+pattern GL_TRIANGLE_MESH_SUN = 0x8615 :: GLenum
+
+pattern GL_TRIANGLE_STRIP = 0x0005 :: GLenum
+
+pattern GL_TRIANGLE_STRIP_ADJACENCY = 0x000D :: GLenum
+
+pattern GL_TRIANGLE_STRIP_ADJACENCY_ARB = 0x000D :: GLenum
+
+pattern GL_TRIANGLE_STRIP_ADJACENCY_EXT = 0x000D :: GLenum
+
+pattern GL_TRIANGLE_STRIP_ADJACENCY_OES = 0x000D :: GLenum
+
+pattern GL_TRIANGULAR_NV = 0x90A5 :: GLenum
+
+pattern GL_TRUE = 1 :: GLenum
+
+pattern GL_TYPE = 0x92FA :: GLenum
+
+pattern GL_UNCORRELATED_NV = 0x9282 :: GLenum
+
+pattern GL_UNDEFINED_APPLE = 0x8A1C :: GLenum
+
+pattern GL_UNDEFINED_VERTEX = 0x8260 :: GLenum
+
+pattern GL_UNDEFINED_VERTEX_EXT = 0x8260 :: GLenum
+
+pattern GL_UNDEFINED_VERTEX_OES = 0x8260 :: GLenum
+
+pattern GL_UNIFORM = 0x92E1 :: GLenum
+
+pattern GL_UNIFORM_ADDRESS_COMMAND_NV = 0x000A :: GLenum
+
+pattern GL_UNIFORM_ARRAY_STRIDE = 0x8A3C :: GLenum
+
+pattern GL_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX = 0x92DA :: GLenum
+
+pattern GL_UNIFORM_BARRIER_BIT = 0x00000004 :: GLbitfield
+
+pattern GL_UNIFORM_BARRIER_BIT_EXT = 0x00000004 :: GLbitfield
+
+pattern GL_UNIFORM_BLOCK = 0x92E2 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS = 0x8A42 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 0x8A43 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_BINDING = 0x8A3F :: GLenum
+
+pattern GL_UNIFORM_BLOCK_DATA_SIZE = 0x8A40 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_INDEX = 0x8A3A :: GLenum
+
+pattern GL_UNIFORM_BLOCK_NAME_LENGTH = 0x8A41 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER = 0x90EC :: GLenum
+
+pattern GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 0x8A46 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER = 0x8A45 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER = 0x84F0 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER = 0x84F1 :: GLenum
+
+pattern GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 0x8A44 :: GLenum
+
+pattern GL_UNIFORM_BUFFER = 0x8A11 :: GLenum
+
+pattern GL_UNIFORM_BUFFER_ADDRESS_NV = 0x936F :: GLenum
+
+pattern GL_UNIFORM_BUFFER_BINDING = 0x8A28 :: GLenum
+
+pattern GL_UNIFORM_BUFFER_BINDING_EXT = 0x8DEF :: GLenum
+
+pattern GL_UNIFORM_BUFFER_EXT = 0x8DEE :: GLenum
+
+pattern GL_UNIFORM_BUFFER_LENGTH_NV = 0x9370 :: GLenum
+
+pattern GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT = 0x8A34 :: GLenum
+
+pattern GL_UNIFORM_BUFFER_SIZE = 0x8A2A :: GLenum
+
+pattern GL_UNIFORM_BUFFER_START = 0x8A29 :: GLenum
+
+pattern GL_UNIFORM_BUFFER_UNIFIED_NV = 0x936E :: GLenum
+
+pattern GL_UNIFORM_IS_ROW_MAJOR = 0x8A3E :: GLenum
+
+pattern GL_UNIFORM_MATRIX_STRIDE = 0x8A3D :: GLenum
+
+pattern GL_UNIFORM_NAME_LENGTH = 0x8A39 :: GLenum
+
+pattern GL_UNIFORM_OFFSET = 0x8A3B :: GLenum
+
+pattern GL_UNIFORM_SIZE = 0x8A38 :: GLenum
+
+pattern GL_UNIFORM_TYPE = 0x8A37 :: GLenum
+
+pattern GL_UNKNOWN_CONTEXT_RESET = 0x8255 :: GLenum
+
+pattern GL_UNKNOWN_CONTEXT_RESET_ARB = 0x8255 :: GLenum
+
+pattern GL_UNKNOWN_CONTEXT_RESET_EXT = 0x8255 :: GLenum
+
+pattern GL_UNKNOWN_CONTEXT_RESET_KHR = 0x8255 :: GLenum
+
+pattern GL_UNPACK_ALIGNMENT = 0x0CF5 :: GLenum
+
+pattern GL_UNPACK_CLIENT_STORAGE_APPLE = 0x85B2 :: GLenum
+
+pattern GL_UNPACK_CMYK_HINT_EXT = 0x800F :: GLenum
+
+pattern GL_UNPACK_COLORSPACE_CONVERSION_WEBGL = 0x9243 :: GLenum
+
+pattern GL_UNPACK_COMPRESSED_BLOCK_DEPTH = 0x9129 :: GLenum
+
+pattern GL_UNPACK_COMPRESSED_BLOCK_HEIGHT = 0x9128 :: GLenum
+
+pattern GL_UNPACK_COMPRESSED_BLOCK_SIZE = 0x912A :: GLenum
+
+pattern GL_UNPACK_COMPRESSED_BLOCK_WIDTH = 0x9127 :: GLenum
+
+pattern GL_UNPACK_COMPRESSED_SIZE_SGIX = 0x831A :: GLenum
+
+pattern GL_UNPACK_CONSTANT_DATA_SUNX = 0x81D5 :: GLenum
+
+pattern GL_UNPACK_FLIP_Y_WEBGL = 0x9240 :: GLenum
+
+pattern GL_UNPACK_IMAGE_DEPTH_SGIS = 0x8133 :: GLenum
+
+pattern GL_UNPACK_IMAGE_HEIGHT = 0x806E :: GLenum
+
+pattern GL_UNPACK_IMAGE_HEIGHT_EXT = 0x806E :: GLenum
+
+pattern GL_UNPACK_LSB_FIRST = 0x0CF1 :: GLenum
+
+pattern GL_UNPACK_PREMULTIPLY_ALPHA_WEBGL = 0x9241 :: GLenum
+
+pattern GL_UNPACK_RESAMPLE_OML = 0x8985 :: GLenum
+
+pattern GL_UNPACK_RESAMPLE_SGIX = 0x842F :: GLenum
+
+pattern GL_UNPACK_ROW_BYTES_APPLE = 0x8A16 :: GLenum
+
+pattern GL_UNPACK_ROW_LENGTH = 0x0CF2 :: GLenum
+
+pattern GL_UNPACK_ROW_LENGTH_EXT = 0x0CF2 :: GLenum
+
+pattern GL_UNPACK_SKIP_IMAGES = 0x806D :: GLenum
+
+pattern GL_UNPACK_SKIP_IMAGES_EXT = 0x806D :: GLenum
+
+pattern GL_UNPACK_SKIP_PIXELS = 0x0CF4 :: GLenum
+
+pattern GL_UNPACK_SKIP_PIXELS_EXT = 0x0CF4 :: GLenum
+
+pattern GL_UNPACK_SKIP_ROWS = 0x0CF3 :: GLenum
+
+pattern GL_UNPACK_SKIP_ROWS_EXT = 0x0CF3 :: GLenum
+
+pattern GL_UNPACK_SKIP_VOLUMES_SGIS = 0x8132 :: GLenum
+
+pattern GL_UNPACK_SUBSAMPLE_RATE_SGIX = 0x85A1 :: GLenum
+
+pattern GL_UNPACK_SWAP_BYTES = 0x0CF0 :: GLenum
+
+pattern GL_UNSIGNALED = 0x9118 :: GLenum
+
+pattern GL_UNSIGNALED_APPLE = 0x9118 :: GLenum
+
+pattern GL_UNSIGNED_BYTE = 0x1401 :: GLenum
+
+pattern GL_UNSIGNED_BYTE_2_3_3_REV = 0x8362 :: GLenum
+
+pattern GL_UNSIGNED_BYTE_2_3_3_REV_EXT = 0x8362 :: GLenum
+
+pattern GL_UNSIGNED_BYTE_3_3_2 = 0x8032 :: GLenum
+
+pattern GL_UNSIGNED_BYTE_3_3_2_EXT = 0x8032 :: GLenum
+
+pattern GL_UNSIGNED_IDENTITY_NV = 0x8536 :: GLenum
+
+pattern GL_UNSIGNED_INT = 0x1405 :: GLenum
+
+pattern GL_UNSIGNED_INT16_NV = 0x8FF0 :: GLenum
+
+pattern GL_UNSIGNED_INT16_VEC2_NV = 0x8FF1 :: GLenum
+
+pattern GL_UNSIGNED_INT16_VEC3_NV = 0x8FF2 :: GLenum
+
+pattern GL_UNSIGNED_INT16_VEC4_NV = 0x8FF3 :: GLenum
+
+pattern GL_UNSIGNED_INT64_AMD = 0x8BC2 :: GLenum
+
+pattern GL_UNSIGNED_INT64_ARB = 0x140F :: GLenum
+
+pattern GL_UNSIGNED_INT64_NV = 0x140F :: GLenum
+
+pattern GL_UNSIGNED_INT64_VEC2_ARB = 0x8FF5 :: GLenum
+
+pattern GL_UNSIGNED_INT64_VEC2_NV = 0x8FF5 :: GLenum
+
+pattern GL_UNSIGNED_INT64_VEC3_ARB = 0x8FF6 :: GLenum
+
+pattern GL_UNSIGNED_INT64_VEC3_NV = 0x8FF6 :: GLenum
+
+pattern GL_UNSIGNED_INT64_VEC4_ARB = 0x8FF7 :: GLenum
+
+pattern GL_UNSIGNED_INT64_VEC4_NV = 0x8FF7 :: GLenum
+
+pattern GL_UNSIGNED_INT8_NV = 0x8FEC :: GLenum
+
+pattern GL_UNSIGNED_INT8_VEC2_NV = 0x8FED :: GLenum
+
+pattern GL_UNSIGNED_INT8_VEC3_NV = 0x8FEE :: GLenum
+
+pattern GL_UNSIGNED_INT8_VEC4_NV = 0x8FEF :: GLenum
+
+pattern GL_UNSIGNED_INT_10F_11F_11F_REV = 0x8C3B :: GLenum
+
+pattern GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE = 0x8C3B :: GLenum
+
+pattern GL_UNSIGNED_INT_10F_11F_11F_REV_EXT = 0x8C3B :: GLenum
+
+pattern GL_UNSIGNED_INT_10_10_10_2 = 0x8036 :: GLenum
+
+pattern GL_UNSIGNED_INT_10_10_10_2_EXT = 0x8036 :: GLenum
+
+pattern GL_UNSIGNED_INT_10_10_10_2_OES = 0x8DF6 :: GLenum
+
+pattern GL_UNSIGNED_INT_24_8 = 0x84FA :: GLenum
+
+pattern GL_UNSIGNED_INT_24_8_EXT = 0x84FA :: GLenum
+
+pattern GL_UNSIGNED_INT_24_8_MESA = 0x8751 :: GLenum
+
+pattern GL_UNSIGNED_INT_24_8_NV = 0x84FA :: GLenum
+
+pattern GL_UNSIGNED_INT_24_8_OES = 0x84FA :: GLenum
+
+pattern GL_UNSIGNED_INT_2_10_10_10_REV = 0x8368 :: GLenum
+
+pattern GL_UNSIGNED_INT_2_10_10_10_REV_EXT = 0x8368 :: GLenum
+
+pattern GL_UNSIGNED_INT_5_9_9_9_REV = 0x8C3E :: GLenum
+
+pattern GL_UNSIGNED_INT_5_9_9_9_REV_APPLE = 0x8C3E :: GLenum
+
+pattern GL_UNSIGNED_INT_5_9_9_9_REV_EXT = 0x8C3E :: GLenum
+
+pattern GL_UNSIGNED_INT_8_24_REV_MESA = 0x8752 :: GLenum
+
+pattern GL_UNSIGNED_INT_8_8_8_8 = 0x8035 :: GLenum
+
+pattern GL_UNSIGNED_INT_8_8_8_8_EXT = 0x8035 :: GLenum
+
+pattern GL_UNSIGNED_INT_8_8_8_8_REV = 0x8367 :: GLenum
+
+pattern GL_UNSIGNED_INT_8_8_8_8_REV_EXT = 0x8367 :: GLenum
+
+pattern GL_UNSIGNED_INT_8_8_S8_S8_REV_NV = 0x86DB :: GLenum
+
+pattern GL_UNSIGNED_INT_ATOMIC_COUNTER = 0x92DB :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_1D = 0x9062 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY = 0x9068 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT = 0x9068 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_1D_EXT = 0x9062 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D = 0x9063 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY = 0x9069 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT = 0x9069 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_EXT = 0x9063 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE = 0x906B :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY = 0x906C :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT = 0x906C :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT = 0x906B :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_RECT = 0x9065 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_2D_RECT_EXT = 0x9065 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_3D = 0x9064 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_3D_EXT = 0x9064 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_BUFFER = 0x9067 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_BUFFER_EXT = 0x9067 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_BUFFER_OES = 0x9067 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_CUBE = 0x9066 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_CUBE_EXT = 0x9066 :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY = 0x906A :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT = 0x906A :: GLenum
+
+pattern GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES = 0x906A :: GLenum
+
+pattern GL_UNSIGNED_INT_S8_S8_8_8_NV = 0x86DA :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_1D = 0x8DD1 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY = 0x8DD6 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT = 0x8DD6 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_1D_EXT = 0x8DD1 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D = 0x8DD2 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY = 0x8DD7 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT = 0x8DD7 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_EXT = 0x8DD2 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE = 0x910A :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY = 0x910D :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES = 0x910D :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT = 0x8DD5 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT = 0x8DD5 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_3D = 0x8DD3 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_3D_EXT = 0x8DD3 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_BUFFER = 0x8DD8 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_AMD = 0x9003 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT = 0x8DD8 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_BUFFER_OES = 0x8DD8 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_CUBE = 0x8DD4 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_CUBE_EXT = 0x8DD4 :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY = 0x900F :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB = 0x900F :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT = 0x900F :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES = 0x900F :: GLenum
+
+pattern GL_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV = 0x8E58 :: GLenum
+
+pattern GL_UNSIGNED_INT_VEC2 = 0x8DC6 :: GLenum
+
+pattern GL_UNSIGNED_INT_VEC2_EXT = 0x8DC6 :: GLenum
+
+pattern GL_UNSIGNED_INT_VEC3 = 0x8DC7 :: GLenum
+
+pattern GL_UNSIGNED_INT_VEC3_EXT = 0x8DC7 :: GLenum
+
+pattern GL_UNSIGNED_INT_VEC4 = 0x8DC8 :: GLenum
+
+pattern GL_UNSIGNED_INT_VEC4_EXT = 0x8DC8 :: GLenum
+
+pattern GL_UNSIGNED_INVERT_NV = 0x8537 :: GLenum
+
+pattern GL_UNSIGNED_NORMALIZED = 0x8C17 :: GLenum
+
+pattern GL_UNSIGNED_NORMALIZED_ARB = 0x8C17 :: GLenum
+
+pattern GL_UNSIGNED_NORMALIZED_EXT = 0x8C17 :: GLenum
+
+pattern GL_UNSIGNED_SHORT = 0x1403 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_15_1_MESA = 0x8753 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_1_15_REV_MESA = 0x8754 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_1_5_5_5_REV = 0x8366 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT = 0x8366 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_4_4_4_4 = 0x8033 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_4_4_4_4_EXT = 0x8033 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_4_4_4_4_REV = 0x8365 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT = 0x8365 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG = 0x8365 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_5_5_5_1 = 0x8034 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_5_5_5_1_EXT = 0x8034 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_5_6_5 = 0x8363 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_5_6_5_EXT = 0x8363 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_5_6_5_REV = 0x8364 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_5_6_5_REV_EXT = 0x8364 :: GLenum
+
+pattern GL_UNSIGNED_SHORT_8_8_APPLE = 0x85BA :: GLenum
+
+pattern GL_UNSIGNED_SHORT_8_8_MESA = 0x85BA :: GLenum
+
+pattern GL_UNSIGNED_SHORT_8_8_REV_APPLE = 0x85BB :: GLenum
+
+pattern GL_UNSIGNED_SHORT_8_8_REV_MESA = 0x85BB :: GLenum
+
+pattern GL_UPPER_LEFT = 0x8CA2 :: GLenum
+
+pattern GL_USE_MISSING_GLYPH_NV = 0x90AA :: GLenum
+
+pattern GL_UTF16_NV = 0x909B :: GLenum
+
+pattern GL_UTF8_NV = 0x909A :: GLenum
+
+pattern GL_V2F = 0x2A20 :: GLenum
+
+pattern GL_V3F = 0x2A21 :: GLenum
+
+pattern GL_VALIDATE_STATUS = 0x8B83 :: GLenum
+
+pattern GL_VARIABLE_A_NV = 0x8523 :: GLenum
+
+pattern GL_VARIABLE_B_NV = 0x8524 :: GLenum
+
+pattern GL_VARIABLE_C_NV = 0x8525 :: GLenum
+
+pattern GL_VARIABLE_D_NV = 0x8526 :: GLenum
+
+pattern GL_VARIABLE_E_NV = 0x8527 :: GLenum
+
+pattern GL_VARIABLE_F_NV = 0x8528 :: GLenum
+
+pattern GL_VARIABLE_G_NV = 0x8529 :: GLenum
+
+pattern GL_VARIANT_ARRAY_EXT = 0x87E8 :: GLenum
+
+pattern GL_VARIANT_ARRAY_POINTER_EXT = 0x87E9 :: GLenum
+
+pattern GL_VARIANT_ARRAY_STRIDE_EXT = 0x87E6 :: GLenum
+
+pattern GL_VARIANT_ARRAY_TYPE_EXT = 0x87E7 :: GLenum
+
+pattern GL_VARIANT_DATATYPE_EXT = 0x87E5 :: GLenum
+
+pattern GL_VARIANT_EXT = 0x87C1 :: GLenum
+
+pattern GL_VARIANT_VALUE_EXT = 0x87E4 :: GLenum
+
+pattern GL_VBO_FREE_MEMORY_ATI = 0x87FB :: GLenum
+
+pattern GL_VECTOR_EXT = 0x87BF :: GLenum
+
+pattern GL_VENDOR = 0x1F00 :: GLenum
+
+pattern GL_VERSION = 0x1F02 :: GLenum
+
+pattern GL_VERSION_ES_CL_1_0 = 1 :: GLenum
+
+pattern GL_VERSION_ES_CL_1_1 = 1 :: GLenum
+
+pattern GL_VERSION_ES_CM_1_1 = 1 :: GLenum
+
+pattern GL_VERTEX23_BIT_PGI = 0x00000004 :: GLbitfield
+
+pattern GL_VERTEX4_BIT_PGI = 0x00000008 :: GLbitfield
+
+pattern GL_VERTEX_ARRAY = 0x8074 :: GLenum
+
+pattern GL_VERTEX_ARRAY_ADDRESS_NV = 0x8F21 :: GLenum
+
+pattern GL_VERTEX_ARRAY_BINDING = 0x85B5 :: GLenum
+
+pattern GL_VERTEX_ARRAY_BINDING_APPLE = 0x85B5 :: GLenum
+
+pattern GL_VERTEX_ARRAY_BINDING_OES = 0x85B5 :: GLenum
+
+pattern GL_VERTEX_ARRAY_BUFFER_BINDING = 0x8896 :: GLenum
+
+pattern GL_VERTEX_ARRAY_BUFFER_BINDING_ARB = 0x8896 :: GLenum
+
+pattern GL_VERTEX_ARRAY_COUNT_EXT = 0x807D :: GLenum
+
+pattern GL_VERTEX_ARRAY_EXT = 0x8074 :: GLenum
+
+pattern GL_VERTEX_ARRAY_KHR = 0x8074 :: GLenum
+
+pattern GL_VERTEX_ARRAY_LENGTH_NV = 0x8F2B :: GLenum
+
+pattern GL_VERTEX_ARRAY_LIST_IBM = 103070 :: GLenum
+
+pattern GL_VERTEX_ARRAY_LIST_STRIDE_IBM = 103080 :: GLenum
+
+pattern GL_VERTEX_ARRAY_OBJECT_AMD = 0x9154 :: GLenum
+
+pattern GL_VERTEX_ARRAY_OBJECT_EXT = 0x9154 :: GLenum
+
+pattern GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL = 0x83F5 :: GLenum
+
+pattern GL_VERTEX_ARRAY_POINTER = 0x808E :: GLenum
+
+pattern GL_VERTEX_ARRAY_POINTER_EXT = 0x808E :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_APPLE = 0x851D :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE = 0x851E :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_LENGTH_NV = 0x851E :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_NV = 0x851D :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_POINTER_APPLE = 0x8521 :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_POINTER_NV = 0x8521 :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_VALID_NV = 0x851F :: GLenum
+
+pattern GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV = 0x8533 :: GLenum
+
+pattern GL_VERTEX_ARRAY_SIZE = 0x807A :: GLenum
+
+pattern GL_VERTEX_ARRAY_SIZE_EXT = 0x807A :: GLenum
+
+pattern GL_VERTEX_ARRAY_STORAGE_HINT_APPLE = 0x851F :: GLenum
+
+pattern GL_VERTEX_ARRAY_STRIDE = 0x807C :: GLenum
+
+pattern GL_VERTEX_ARRAY_STRIDE_EXT = 0x807C :: GLenum
+
+pattern GL_VERTEX_ARRAY_TYPE = 0x807B :: GLenum
+
+pattern GL_VERTEX_ARRAY_TYPE_EXT = 0x807B :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY0_NV = 0x8650 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY10_NV = 0x865A :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY11_NV = 0x865B :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY12_NV = 0x865C :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY13_NV = 0x865D :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY14_NV = 0x865E :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY15_NV = 0x865F :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY1_NV = 0x8651 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY2_NV = 0x8652 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY3_NV = 0x8653 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY4_NV = 0x8654 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY5_NV = 0x8655 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY6_NV = 0x8656 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY7_NV = 0x8657 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY8_NV = 0x8658 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY9_NV = 0x8659 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_ADDRESS_NV = 0x8F20 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT = 0x00000001 :: GLbitfield
+
+pattern GL_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT = 0x00000001 :: GLbitfield
+
+pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 0x889F :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB = 0x889F :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR = 0x88FE :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE = 0x88FE :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB = 0x88FE :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT = 0x88FE :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV = 0x88FE :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED = 0x8622 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB = 0x8622 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER = 0x88FD :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT = 0x88FD :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV = 0x88FD :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_LENGTH_NV = 0x8F2A :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_LONG = 0x874E :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED = 0x886A :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB = 0x886A :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_POINTER = 0x8645 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB = 0x8645 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_SIZE = 0x8623 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB = 0x8623 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE = 0x8624 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB = 0x8624 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_TYPE = 0x8625 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB = 0x8625 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_ARRAY_UNIFIED_NV = 0x8F1E :: GLenum
+
+pattern GL_VERTEX_ATTRIB_BINDING = 0x82D4 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP1_APPLE = 0x8A00 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP1_COEFF_APPLE = 0x8A03 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE = 0x8A05 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP1_ORDER_APPLE = 0x8A04 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP1_SIZE_APPLE = 0x8A02 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP2_APPLE = 0x8A01 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP2_COEFF_APPLE = 0x8A07 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE = 0x8A09 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP2_ORDER_APPLE = 0x8A08 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_MAP2_SIZE_APPLE = 0x8A06 :: GLenum
+
+pattern GL_VERTEX_ATTRIB_RELATIVE_OFFSET = 0x82D5 :: GLenum
+
+pattern GL_VERTEX_BINDING_BUFFER = 0x8F4F :: GLenum
+
+pattern GL_VERTEX_BINDING_DIVISOR = 0x82D6 :: GLenum
+
+pattern GL_VERTEX_BINDING_OFFSET = 0x82D7 :: GLenum
+
+pattern GL_VERTEX_BINDING_STRIDE = 0x82D8 :: GLenum
+
+pattern GL_VERTEX_BLEND_ARB = 0x86A7 :: GLenum
+
+pattern GL_VERTEX_CONSISTENT_HINT_PGI = 0x1A22B :: GLenum
+
+pattern GL_VERTEX_DATA_HINT_PGI = 0x1A22A :: GLenum
+
+pattern GL_VERTEX_ELEMENT_SWIZZLE_AMD = 0x91A4 :: GLenum
+
+pattern GL_VERTEX_ID_NV = 0x8C7B :: GLenum
+
+pattern GL_VERTEX_ID_SWIZZLE_AMD = 0x91A5 :: GLenum
+
+pattern GL_VERTEX_PRECLIP_HINT_SGIX = 0x83EF :: GLenum
+
+pattern GL_VERTEX_PRECLIP_SGIX = 0x83EE :: GLenum
+
+pattern GL_VERTEX_PROGRAM_ARB = 0x8620 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_BINDING_NV = 0x864A :: GLenum
+
+pattern GL_VERTEX_PROGRAM_CALLBACK_DATA_MESA = 0x8BB7 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_CALLBACK_FUNC_MESA = 0x8BB6 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_CALLBACK_MESA = 0x8BB5 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_NV = 0x8620 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV = 0x8DA2 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_POINT_SIZE = 0x8642 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_POINT_SIZE_ARB = 0x8642 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_POINT_SIZE_NV = 0x8642 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_POSITION_MESA = 0x8BB4 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_TWO_SIDE = 0x8643 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_TWO_SIDE_ARB = 0x8643 :: GLenum
+
+pattern GL_VERTEX_PROGRAM_TWO_SIDE_NV = 0x8643 :: GLenum
+
+pattern GL_VERTEX_SHADER = 0x8B31 :: GLenum
+
+pattern GL_VERTEX_SHADER_ARB = 0x8B31 :: GLenum
+
+pattern GL_VERTEX_SHADER_BINDING_EXT = 0x8781 :: GLenum
+
+pattern GL_VERTEX_SHADER_BIT = 0x00000001 :: GLbitfield
+
+pattern GL_VERTEX_SHADER_BIT_EXT = 0x00000001 :: GLbitfield
+
+pattern GL_VERTEX_SHADER_EXT = 0x8780 :: GLenum
+
+pattern GL_VERTEX_SHADER_INSTRUCTIONS_EXT = 0x87CF :: GLenum
+
+pattern GL_VERTEX_SHADER_INVARIANTS_EXT = 0x87D1 :: GLenum
+
+pattern GL_VERTEX_SHADER_INVOCATIONS_ARB = 0x82F0 :: GLenum
+
+pattern GL_VERTEX_SHADER_LOCALS_EXT = 0x87D3 :: GLenum
+
+pattern GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT = 0x87D2 :: GLenum
+
+pattern GL_VERTEX_SHADER_OPTIMIZED_EXT = 0x87D4 :: GLenum
+
+pattern GL_VERTEX_SHADER_VARIANTS_EXT = 0x87D0 :: GLenum
+
+pattern GL_VERTEX_SOURCE_ATI = 0x8774 :: GLenum
+
+pattern GL_VERTEX_STATE_PROGRAM_NV = 0x8621 :: GLenum
+
+pattern GL_VERTEX_STREAM0_ATI = 0x876C :: GLenum
+
+pattern GL_VERTEX_STREAM1_ATI = 0x876D :: GLenum
+
+pattern GL_VERTEX_STREAM2_ATI = 0x876E :: GLenum
+
+pattern GL_VERTEX_STREAM3_ATI = 0x876F :: GLenum
+
+pattern GL_VERTEX_STREAM4_ATI = 0x8770 :: GLenum
+
+pattern GL_VERTEX_STREAM5_ATI = 0x8771 :: GLenum
+
+pattern GL_VERTEX_STREAM6_ATI = 0x8772 :: GLenum
+
+pattern GL_VERTEX_STREAM7_ATI = 0x8773 :: GLenum
+
+pattern GL_VERTEX_SUBROUTINE = 0x92E8 :: GLenum
+
+pattern GL_VERTEX_SUBROUTINE_UNIFORM = 0x92EE :: GLenum
+
+pattern GL_VERTEX_TEXTURE = 0x829B :: GLenum
+
+pattern GL_VERTEX_WEIGHTING_EXT = 0x8509 :: GLenum
+
+pattern GL_VERTEX_WEIGHT_ARRAY_EXT = 0x850C :: GLenum
+
+pattern GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT = 0x8510 :: GLenum
+
+pattern GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT = 0x850D :: GLenum
+
+pattern GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT = 0x850F :: GLenum
+
+pattern GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT = 0x850E :: GLenum
+
+pattern GL_VERTICAL_LINE_TO_NV = 0x08 :: GLubyte
+
+pattern GL_VERTICES_SUBMITTED_ARB = 0x82EE :: GLenum
+
+pattern GL_VIBRANCE_BIAS_NV = 0x8719 :: GLenum
+
+pattern GL_VIBRANCE_SCALE_NV = 0x8713 :: GLenum
+
+pattern GL_VIDEO_BUFFER_BINDING_NV = 0x9021 :: GLenum
+
+pattern GL_VIDEO_BUFFER_INTERNAL_FORMAT_NV = 0x902D :: GLenum
+
+pattern GL_VIDEO_BUFFER_NV = 0x9020 :: GLenum
+
+pattern GL_VIDEO_BUFFER_PITCH_NV = 0x9028 :: GLenum
+
+pattern GL_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV = 0x903B :: GLenum
+
+pattern GL_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV = 0x903A :: GLenum
+
+pattern GL_VIDEO_CAPTURE_FRAME_HEIGHT_NV = 0x9039 :: GLenum
+
+pattern GL_VIDEO_CAPTURE_FRAME_WIDTH_NV = 0x9038 :: GLenum
+
+pattern GL_VIDEO_CAPTURE_SURFACE_ORIGIN_NV = 0x903C :: GLenum
+
+pattern GL_VIDEO_CAPTURE_TO_422_SUPPORTED_NV = 0x9026 :: GLenum
+
+pattern GL_VIDEO_COLOR_CONVERSION_MATRIX_NV = 0x9029 :: GLenum
+
+pattern GL_VIDEO_COLOR_CONVERSION_MAX_NV = 0x902A :: GLenum
+
+pattern GL_VIDEO_COLOR_CONVERSION_MIN_NV = 0x902B :: GLenum
+
+pattern GL_VIDEO_COLOR_CONVERSION_OFFSET_NV = 0x902C :: GLenum
+
+pattern GL_VIEWPORT = 0x0BA2 :: GLenum
+
+pattern GL_VIEWPORT_BIT = 0x00000800 :: GLbitfield
+
+pattern GL_VIEWPORT_BOUNDS_RANGE = 0x825D :: GLenum
+
+pattern GL_VIEWPORT_BOUNDS_RANGE_EXT = 0x825D :: GLenum
+
+pattern GL_VIEWPORT_BOUNDS_RANGE_NV = 0x825D :: GLenum
+
+pattern GL_VIEWPORT_COMMAND_NV = 0x0010 :: GLenum
+
+pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX = 0x825F :: GLenum
+
+pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX_EXT = 0x825F :: GLenum
+
+pattern GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV = 0x825F :: GLenum
+
+pattern GL_VIEWPORT_SUBPIXEL_BITS = 0x825C :: GLenum
+
+pattern GL_VIEWPORT_SUBPIXEL_BITS_EXT = 0x825C :: GLenum
+
+pattern GL_VIEWPORT_SUBPIXEL_BITS_NV = 0x825C :: GLenum
+
+pattern GL_VIEW_CLASS_128_BITS = 0x82C4 :: GLenum
+
+pattern GL_VIEW_CLASS_16_BITS = 0x82CA :: GLenum
+
+pattern GL_VIEW_CLASS_24_BITS = 0x82C9 :: GLenum
+
+pattern GL_VIEW_CLASS_32_BITS = 0x82C8 :: GLenum
+
+pattern GL_VIEW_CLASS_48_BITS = 0x82C7 :: GLenum
+
+pattern GL_VIEW_CLASS_64_BITS = 0x82C6 :: GLenum
+
+pattern GL_VIEW_CLASS_8_BITS = 0x82CB :: GLenum
+
+pattern GL_VIEW_CLASS_96_BITS = 0x82C5 :: GLenum
+
+pattern GL_VIEW_CLASS_BPTC_FLOAT = 0x82D3 :: GLenum
+
+pattern GL_VIEW_CLASS_BPTC_UNORM = 0x82D2 :: GLenum
+
+pattern GL_VIEW_CLASS_RGTC1_RED = 0x82D0 :: GLenum
+
+pattern GL_VIEW_CLASS_RGTC2_RG = 0x82D1 :: GLenum
+
+pattern GL_VIEW_CLASS_S3TC_DXT1_RGB = 0x82CC :: GLenum
+
+pattern GL_VIEW_CLASS_S3TC_DXT1_RGBA = 0x82CD :: GLenum
+
+pattern GL_VIEW_CLASS_S3TC_DXT3_RGBA = 0x82CE :: GLenum
+
+pattern GL_VIEW_CLASS_S3TC_DXT5_RGBA = 0x82CF :: GLenum
+
+pattern GL_VIEW_COMPATIBILITY_CLASS = 0x82B6 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_INDEX_ARB = 0x91A7 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_INDEX_EXT = 0x91A7 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_X_AMD = 0x9195 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_X_ARB = 0x9195 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_X_EXT = 0x9195 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_Y_AMD = 0x9196 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_Y_ARB = 0x9196 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_Y_EXT = 0x9196 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_Z_AMD = 0x9197 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_Z_ARB = 0x9197 :: GLenum
+
+pattern GL_VIRTUAL_PAGE_SIZE_Z_EXT = 0x9197 :: GLenum
+
+pattern GL_VIVIDLIGHT_NV = 0x92A6 :: GLenum
+
+pattern GL_VOLATILE_APPLE = 0x8A1A :: GLenum
+
+pattern GL_WAIT_FAILED = 0x911D :: GLenum
+
+pattern GL_WAIT_FAILED_APPLE = 0x911D :: GLenum
+
+pattern GL_WARPS_PER_SM_NV = 0x933A :: GLenum
+
+pattern GL_WARP_SIZE_NV = 0x9339 :: GLenum
+
+pattern GL_WEIGHTED_AVERAGE_ARB = 0x9367 :: GLenum
+
+pattern GL_WEIGHT_ARRAY_ARB = 0x86AD :: GLenum
+
+pattern GL_WEIGHT_ARRAY_BUFFER_BINDING = 0x889E :: GLenum
+
+pattern GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB = 0x889E :: GLenum
+
+pattern GL_WEIGHT_ARRAY_BUFFER_BINDING_OES = 0x889E :: GLenum
+
+pattern GL_WEIGHT_ARRAY_OES = 0x86AD :: GLenum
+
+pattern GL_WEIGHT_ARRAY_POINTER_ARB = 0x86AC :: GLenum
+
+pattern GL_WEIGHT_ARRAY_POINTER_OES = 0x86AC :: GLenum
+
+pattern GL_WEIGHT_ARRAY_SIZE_ARB = 0x86AB :: GLenum
+
+pattern GL_WEIGHT_ARRAY_SIZE_OES = 0x86AB :: GLenum
+
+pattern GL_WEIGHT_ARRAY_STRIDE_ARB = 0x86AA :: GLenum
+
+pattern GL_WEIGHT_ARRAY_STRIDE_OES = 0x86AA :: GLenum
+
+pattern GL_WEIGHT_ARRAY_TYPE_ARB = 0x86A9 :: GLenum
+
+pattern GL_WEIGHT_ARRAY_TYPE_OES = 0x86A9 :: GLenum
+
+pattern GL_WEIGHT_SUM_UNITY_ARB = 0x86A6 :: GLenum
+
+pattern GL_WIDE_LINE_HINT_PGI = 0x1A222 :: GLenum
+
+pattern GL_WRAP_BORDER_SUN = 0x81D4 :: GLenum
+
+pattern GL_WRITEONLY_RENDERING_QCOM = 0x8823 :: GLenum
+
+pattern GL_WRITE_DISCARD_NV = 0x88BE :: GLenum
+
+pattern GL_WRITE_ONLY = 0x88B9 :: GLenum
+
+pattern GL_WRITE_ONLY_ARB = 0x88B9 :: GLenum
+
+pattern GL_WRITE_ONLY_OES = 0x88B9 :: GLenum
+
+pattern GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV = 0x887A :: GLenum
+
+pattern GL_WRITE_PIXEL_DATA_RANGE_NV = 0x8878 :: GLenum
+
+pattern GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV = 0x887C :: GLenum
+
+pattern GL_W_EXT = 0x87D8 :: GLenum
+
+pattern GL_XOR = 0x1506 :: GLenum
+
+pattern GL_XOR_NV = 0x1506 :: GLenum
+
+pattern GL_X_EXT = 0x87D5 :: GLenum
+
+pattern GL_YCBAYCR8A_4224_NV = 0x9032 :: GLenum
+
+pattern GL_YCBCR_422_APPLE = 0x85B9 :: GLenum
+
+pattern GL_YCBCR_MESA = 0x8757 :: GLenum
+
+pattern GL_YCBYCR8_422_NV = 0x9031 :: GLenum
+
+pattern GL_YCRCBA_SGIX = 0x8319 :: GLenum
+
+pattern GL_YCRCB_422_SGIX = 0x81BB :: GLenum
+
+pattern GL_YCRCB_444_SGIX = 0x81BC :: GLenum
+
+pattern GL_YCRCB_SGIX = 0x8318 :: GLenum
+
+pattern GL_Y_EXT = 0x87D6 :: GLenum
+
+pattern GL_Z400_BINARY_AMD = 0x8740 :: GLenum
+
+pattern GL_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV = 0x9036 :: GLenum
+
+pattern GL_Z4Y12Z4CB12Z4CR12_444_NV = 0x9037 :: GLenum
+
+pattern GL_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV = 0x9035 :: GLenum
+
+pattern GL_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV = 0x9034 :: GLenum
+
+pattern GL_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV = 0x9033 :: GLenum
+
+pattern GL_ZERO = 0 :: GLenum
+
+pattern GL_ZERO_EXT = 0x87DD :: GLenum
+
+pattern GL_ZERO_TO_ONE = 0x935F :: GLenum
+
+pattern GL_ZOOM_X = 0x0D16 :: GLenum
+
+pattern GL_ZOOM_Y = 0x0D17 :: GLenum
+
+pattern GL_Z_EXT = 0x87D7 :: GLenum
+
diff --git a/src/Graphics/GL/Types.hs b/src/Graphics/GL/Types.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Types.hs
@@ -0,0 +1,216 @@
+{-# LANGUAGE CPP #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Types
+-- Copyright   :  (c) Sven Panne 2009-2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- All types from the whole OpenGL registry.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.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, GLDEBUGPROCFunc, makeGLDEBUGPROC,
+  GLvoid,
+
+  -- * Pre-standard OpenGL types.
+  GLcharARB,
+  GLint64EXT,
+  GLuint64EXT,
+  GLintptrARB,
+  GLsizeiptrARB,
+  GLhalfARB,
+  GLhalfNV,
+  GLDEBUGPROCAMD, GLDEBUGPROCAMDFunc, makeGLDEBUGPROCAMD,
+  GLDEBUGPROCARB, GLDEBUGPROCARBFunc, makeGLDEBUGPROCARB,
+  GLDEBUGPROCKHR, GLDEBUGPROCKHRFunc, makeGLDEBUGPROCKHR,
+
+  -- * Types from various extensions.
+  GLclampx,
+  GLhandleARB,
+  GLvdpauSurfaceNV,
+  GLeglImageOES
+) where
+
+import Data.Int
+import Data.Word
+import Foreign.C.Types
+import Foreign.Ptr
+import Numeric.Fixed
+import Numeric.Half
+
+--------------------------------------------------------------------------------
+
+-- | 8bit boolean.
+type GLboolean = Word8
+
+-- | 8bit signed two\'s complement binary integer.
+type GLbyte = Int8
+
+-- | 8bit unsigned binary integer.
+type GLubyte = Word8
+
+-- | 8bit characters making up strings.
+type GLchar = CChar
+
+-- | 16bit signed two\'s complement binary integer.
+type GLshort = Int16
+
+-- | 16bit unsigned binary integer.
+type GLushort = Word16
+
+-- | 32bit signed two\'s complement binary integer.
+type GLint = Int32
+
+-- | 32bit unsigned binary integer.
+type GLuint = Word32
+
+-- | 32bit signed two\'s complement 16.16 scaled integer.
+type GLfixed = Fixed
+
+-- | 64bit signed two\'s complement binary integer.
+type GLint64 = Int64
+
+-- | 64bit unsigned binary integer.
+type GLuint64 = Word64
+
+-- | 32bit non-negative binary integer size.
+type GLsizei = Int32
+
+-- | 32bit enumerated binary integer value.
+type GLenum = Word32
+
+-- | 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.
+type GLsync = Ptr ()
+
+-- | 32bit bit field.
+type GLbitfield = Word32
+
+-- | 16bit half-precision floating-point value encoded in an unsigned scalar.
+type GLhalf = Half
+
+-- | 32bit floating-point value.
+type GLfloat = Float
+
+-- | 32bit floating-point value clamped to [0, 1].
+type GLclampf = Float
+
+-- | 64bit floating-point value.
+type GLdouble = Double
+
+-- | 64bit floating-point value clamped to [0, 1].
+type GLclampd = Double
+
+-- | A pointer to a debug callback.
+type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc
+
+-- | Debug callback.
+type GLDEBUGPROCFunc
+  =  GLenum -- ^ @source@.
+  -> GLenum -- ^ @type@.
+  -> GLuint -- ^ @id@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @message@.
+  -> Ptr () -- ^ @userParam@.
+  -> IO ()
+
+-- | The storage associated with the resulting 'FunPtr' has to be released with
+-- 'freeHaskellFunPtr' when it is no longer required.
+foreign import CALLCONV "wrapper"
+   makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
+
+-- | 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 = Half
+
+type GLhalfNV = Half
+
+type GLDEBUGPROCAMD = FunPtr GLDEBUGPROCAMDFunc
+
+-- | Debug callback.
+type GLDEBUGPROCAMDFunc
+  =  GLuint -- ^ @id@.
+  -> GLenum -- ^ @category@.
+  -> GLenum -- ^ @severity@.
+  -> GLsizei -- ^ @length@.
+  -> Ptr GLchar -- ^ @message@.
+  -> Ptr () -- ^ @userParam@.
+  -> IO ()
+
+-- | The storage associated with the resulting 'FunPtr' has to be released with
+-- 'freeHaskellFunPtr' when it is no longer required.
+foreign import CALLCONV "wrapper"
+  makeGLDEBUGPROCAMD :: GLDEBUGPROCAMDFunc -> IO (FunPtr GLDEBUGPROCAMDFunc)
+
+type GLDEBUGPROCARB = GLDEBUGPROC
+
+type GLDEBUGPROCARBFunc = GLDEBUGPROCFunc
+
+makeGLDEBUGPROCARB :: GLDEBUGPROCARBFunc -> IO (FunPtr GLDEBUGPROCARBFunc)
+makeGLDEBUGPROCARB = makeGLDEBUGPROC
+
+type GLDEBUGPROCKHR = GLDEBUGPROC
+
+type GLDEBUGPROCKHRFunc = GLDEBUGPROCFunc
+
+makeGLDEBUGPROCKHR :: GLDEBUGPROCKHRFunc -> IO (FunPtr GLDEBUGPROCKHRFunc)
+makeGLDEBUGPROCKHR = makeGLDEBUGPROC
+
+type GLclampx = Fixed
+
+#if HANDLE_IS_POINTER
+type GLhandleARB = Ptr ()
+#else
+type GLhandleARB = Word32
+#endif
+
+type GLvdpauSurfaceNV = GLintptr
+
+type GLeglImageOES = Ptr ()
diff --git a/src/Graphics/GL/Version10.hs b/src/Graphics/GL/Version10.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version10.hs
@@ -0,0 +1,869 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version10
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version10 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ADD,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SET,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SMOOTH,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Version11.hs b/src/Graphics/GL/Version11.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version11.hs
@@ -0,0 +1,901 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version11
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version11 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ADD,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SET,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SMOOTH,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Version12.hs b/src/Graphics/GL/Version12.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version12.hs
@@ -0,0 +1,946 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version12
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version12 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ADD,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Version13.hs b/src/Graphics/GL/Version13.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version13.hs
@@ -0,0 +1,1088 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version13
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version13 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERPOLATE,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_SCALE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Version14.hs b/src/Graphics/GL/Version14.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version14.hs
@@ -0,0 +1,1183 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version14
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version14 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLshort,
+  GLsizei,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERPOLATE,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_SCALE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Version15.hs b/src/Graphics/GL/Version15.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version15.hs
@@ -0,0 +1,1254 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version15
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version15 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERPOLATE,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_SCALE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Version20.hs b/src/Graphics/GL/Version20.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version20.hs
@@ -0,0 +1,1432 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version20
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version20 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_SCALE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/Version21.hs b/src/Graphics/GL/Version21.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/Version21.hs
@@ -0,0 +1,1461 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.Version21
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.Version21 (
+  -- * Types
+  GLbitfield,
+  GLboolean,
+  GLbyte,
+  GLchar,
+  GLclampd,
+  GLclampf,
+  GLdouble,
+  GLenum,
+  GLfloat,
+  GLint,
+  GLintptr,
+  GLshort,
+  GLsizei,
+  GLsizeiptr,
+  GLubyte,
+  GLuint,
+  GLushort,
+  GLvoid,
+  -- * Enums
+  pattern GL_2D,
+  pattern GL_2_BYTES,
+  pattern GL_3D,
+  pattern GL_3D_COLOR,
+  pattern GL_3D_COLOR_TEXTURE,
+  pattern GL_3_BYTES,
+  pattern GL_4D_COLOR_TEXTURE,
+  pattern GL_4_BYTES,
+  pattern GL_ACCUM,
+  pattern GL_ACCUM_ALPHA_BITS,
+  pattern GL_ACCUM_BLUE_BITS,
+  pattern GL_ACCUM_BUFFER_BIT,
+  pattern GL_ACCUM_CLEAR_VALUE,
+  pattern GL_ACCUM_GREEN_BITS,
+  pattern GL_ACCUM_RED_BITS,
+  pattern GL_ACTIVE_ATTRIBUTES,
+  pattern GL_ACTIVE_ATTRIBUTE_MAX_LENGTH,
+  pattern GL_ACTIVE_TEXTURE,
+  pattern GL_ACTIVE_UNIFORMS,
+  pattern GL_ACTIVE_UNIFORM_MAX_LENGTH,
+  pattern GL_ADD,
+  pattern GL_ADD_SIGNED,
+  pattern GL_ALIASED_LINE_WIDTH_RANGE,
+  pattern GL_ALIASED_POINT_SIZE_RANGE,
+  pattern GL_ALL_ATTRIB_BITS,
+  pattern GL_ALPHA,
+  pattern GL_ALPHA12,
+  pattern GL_ALPHA16,
+  pattern GL_ALPHA4,
+  pattern GL_ALPHA8,
+  pattern GL_ALPHA_BIAS,
+  pattern GL_ALPHA_BITS,
+  pattern GL_ALPHA_SCALE,
+  pattern GL_ALPHA_TEST,
+  pattern GL_ALPHA_TEST_FUNC,
+  pattern GL_ALPHA_TEST_REF,
+  pattern GL_ALWAYS,
+  pattern GL_AMBIENT,
+  pattern GL_AMBIENT_AND_DIFFUSE,
+  pattern GL_AND,
+  pattern GL_AND_INVERTED,
+  pattern GL_AND_REVERSE,
+  pattern GL_ARRAY_BUFFER,
+  pattern GL_ARRAY_BUFFER_BINDING,
+  pattern GL_ATTACHED_SHADERS,
+  pattern GL_ATTRIB_STACK_DEPTH,
+  pattern GL_AUTO_NORMAL,
+  pattern GL_AUX0,
+  pattern GL_AUX1,
+  pattern GL_AUX2,
+  pattern GL_AUX3,
+  pattern GL_AUX_BUFFERS,
+  pattern GL_BACK,
+  pattern GL_BACK_LEFT,
+  pattern GL_BACK_RIGHT,
+  pattern GL_BGR,
+  pattern GL_BGRA,
+  pattern GL_BITMAP,
+  pattern GL_BITMAP_TOKEN,
+  pattern GL_BLEND,
+  pattern GL_BLEND_DST,
+  pattern GL_BLEND_DST_ALPHA,
+  pattern GL_BLEND_DST_RGB,
+  pattern GL_BLEND_EQUATION_ALPHA,
+  pattern GL_BLEND_EQUATION_RGB,
+  pattern GL_BLEND_SRC,
+  pattern GL_BLEND_SRC_ALPHA,
+  pattern GL_BLEND_SRC_RGB,
+  pattern GL_BLUE,
+  pattern GL_BLUE_BIAS,
+  pattern GL_BLUE_BITS,
+  pattern GL_BLUE_SCALE,
+  pattern GL_BOOL,
+  pattern GL_BOOL_VEC2,
+  pattern GL_BOOL_VEC3,
+  pattern GL_BOOL_VEC4,
+  pattern GL_BUFFER_ACCESS,
+  pattern GL_BUFFER_MAPPED,
+  pattern GL_BUFFER_MAP_POINTER,
+  pattern GL_BUFFER_SIZE,
+  pattern GL_BUFFER_USAGE,
+  pattern GL_BYTE,
+  pattern GL_C3F_V3F,
+  pattern GL_C4F_N3F_V3F,
+  pattern GL_C4UB_V2F,
+  pattern GL_C4UB_V3F,
+  pattern GL_CCW,
+  pattern GL_CLAMP,
+  pattern GL_CLAMP_TO_BORDER,
+  pattern GL_CLAMP_TO_EDGE,
+  pattern GL_CLEAR,
+  pattern GL_CLIENT_ACTIVE_TEXTURE,
+  pattern GL_CLIENT_ALL_ATTRIB_BITS,
+  pattern GL_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_CLIENT_PIXEL_STORE_BIT,
+  pattern GL_CLIENT_VERTEX_ARRAY_BIT,
+  pattern GL_CLIP_PLANE0,
+  pattern GL_CLIP_PLANE1,
+  pattern GL_CLIP_PLANE2,
+  pattern GL_CLIP_PLANE3,
+  pattern GL_CLIP_PLANE4,
+  pattern GL_CLIP_PLANE5,
+  pattern GL_COEFF,
+  pattern GL_COLOR,
+  pattern GL_COLOR_ARRAY,
+  pattern GL_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_COLOR_ARRAY_POINTER,
+  pattern GL_COLOR_ARRAY_SIZE,
+  pattern GL_COLOR_ARRAY_STRIDE,
+  pattern GL_COLOR_ARRAY_TYPE,
+  pattern GL_COLOR_BUFFER_BIT,
+  pattern GL_COLOR_CLEAR_VALUE,
+  pattern GL_COLOR_INDEX,
+  pattern GL_COLOR_INDEXES,
+  pattern GL_COLOR_LOGIC_OP,
+  pattern GL_COLOR_MATERIAL,
+  pattern GL_COLOR_MATERIAL_FACE,
+  pattern GL_COLOR_MATERIAL_PARAMETER,
+  pattern GL_COLOR_SUM,
+  pattern GL_COLOR_WRITEMASK,
+  pattern GL_COMBINE,
+  pattern GL_COMBINE_ALPHA,
+  pattern GL_COMBINE_RGB,
+  pattern GL_COMPARE_R_TO_TEXTURE,
+  pattern GL_COMPILE,
+  pattern GL_COMPILE_AND_EXECUTE,
+  pattern GL_COMPILE_STATUS,
+  pattern GL_COMPRESSED_ALPHA,
+  pattern GL_COMPRESSED_INTENSITY,
+  pattern GL_COMPRESSED_LUMINANCE,
+  pattern GL_COMPRESSED_LUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_RGB,
+  pattern GL_COMPRESSED_RGBA,
+  pattern GL_COMPRESSED_SLUMINANCE,
+  pattern GL_COMPRESSED_SLUMINANCE_ALPHA,
+  pattern GL_COMPRESSED_SRGB,
+  pattern GL_COMPRESSED_SRGB_ALPHA,
+  pattern GL_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_CONSTANT,
+  pattern GL_CONSTANT_ALPHA,
+  pattern GL_CONSTANT_ATTENUATION,
+  pattern GL_CONSTANT_COLOR,
+  pattern GL_COORD_REPLACE,
+  pattern GL_COPY,
+  pattern GL_COPY_INVERTED,
+  pattern GL_COPY_PIXEL_TOKEN,
+  pattern GL_CULL_FACE,
+  pattern GL_CULL_FACE_MODE,
+  pattern GL_CURRENT_BIT,
+  pattern GL_CURRENT_COLOR,
+  pattern GL_CURRENT_FOG_COORD,
+  pattern GL_CURRENT_FOG_COORDINATE,
+  pattern GL_CURRENT_INDEX,
+  pattern GL_CURRENT_NORMAL,
+  pattern GL_CURRENT_PROGRAM,
+  pattern GL_CURRENT_QUERY,
+  pattern GL_CURRENT_RASTER_COLOR,
+  pattern GL_CURRENT_RASTER_DISTANCE,
+  pattern GL_CURRENT_RASTER_INDEX,
+  pattern GL_CURRENT_RASTER_POSITION,
+  pattern GL_CURRENT_RASTER_POSITION_VALID,
+  pattern GL_CURRENT_RASTER_SECONDARY_COLOR,
+  pattern GL_CURRENT_RASTER_TEXTURE_COORDS,
+  pattern GL_CURRENT_SECONDARY_COLOR,
+  pattern GL_CURRENT_TEXTURE_COORDS,
+  pattern GL_CURRENT_VERTEX_ATTRIB,
+  pattern GL_CW,
+  pattern GL_DECAL,
+  pattern GL_DECR,
+  pattern GL_DECR_WRAP,
+  pattern GL_DELETE_STATUS,
+  pattern GL_DEPTH,
+  pattern GL_DEPTH_BIAS,
+  pattern GL_DEPTH_BITS,
+  pattern GL_DEPTH_BUFFER_BIT,
+  pattern GL_DEPTH_CLEAR_VALUE,
+  pattern GL_DEPTH_COMPONENT,
+  pattern GL_DEPTH_COMPONENT16,
+  pattern GL_DEPTH_COMPONENT24,
+  pattern GL_DEPTH_COMPONENT32,
+  pattern GL_DEPTH_FUNC,
+  pattern GL_DEPTH_RANGE,
+  pattern GL_DEPTH_SCALE,
+  pattern GL_DEPTH_TEST,
+  pattern GL_DEPTH_TEXTURE_MODE,
+  pattern GL_DEPTH_WRITEMASK,
+  pattern GL_DIFFUSE,
+  pattern GL_DITHER,
+  pattern GL_DOMAIN,
+  pattern GL_DONT_CARE,
+  pattern GL_DOT3_RGB,
+  pattern GL_DOT3_RGBA,
+  pattern GL_DOUBLE,
+  pattern GL_DOUBLEBUFFER,
+  pattern GL_DRAW_BUFFER,
+  pattern GL_DRAW_BUFFER0,
+  pattern GL_DRAW_BUFFER1,
+  pattern GL_DRAW_BUFFER10,
+  pattern GL_DRAW_BUFFER11,
+  pattern GL_DRAW_BUFFER12,
+  pattern GL_DRAW_BUFFER13,
+  pattern GL_DRAW_BUFFER14,
+  pattern GL_DRAW_BUFFER15,
+  pattern GL_DRAW_BUFFER2,
+  pattern GL_DRAW_BUFFER3,
+  pattern GL_DRAW_BUFFER4,
+  pattern GL_DRAW_BUFFER5,
+  pattern GL_DRAW_BUFFER6,
+  pattern GL_DRAW_BUFFER7,
+  pattern GL_DRAW_BUFFER8,
+  pattern GL_DRAW_BUFFER9,
+  pattern GL_DRAW_PIXEL_TOKEN,
+  pattern GL_DST_ALPHA,
+  pattern GL_DST_COLOR,
+  pattern GL_DYNAMIC_COPY,
+  pattern GL_DYNAMIC_DRAW,
+  pattern GL_DYNAMIC_READ,
+  pattern GL_EDGE_FLAG,
+  pattern GL_EDGE_FLAG_ARRAY,
+  pattern GL_EDGE_FLAG_ARRAY_BUFFER_BINDING,
+  pattern GL_EDGE_FLAG_ARRAY_POINTER,
+  pattern GL_EDGE_FLAG_ARRAY_STRIDE,
+  pattern GL_ELEMENT_ARRAY_BUFFER,
+  pattern GL_ELEMENT_ARRAY_BUFFER_BINDING,
+  pattern GL_EMISSION,
+  pattern GL_ENABLE_BIT,
+  pattern GL_EQUAL,
+  pattern GL_EQUIV,
+  pattern GL_EVAL_BIT,
+  pattern GL_EXP,
+  pattern GL_EXP2,
+  pattern GL_EXTENSIONS,
+  pattern GL_EYE_LINEAR,
+  pattern GL_EYE_PLANE,
+  pattern GL_FALSE,
+  pattern GL_FASTEST,
+  pattern GL_FEEDBACK,
+  pattern GL_FEEDBACK_BUFFER_POINTER,
+  pattern GL_FEEDBACK_BUFFER_SIZE,
+  pattern GL_FEEDBACK_BUFFER_TYPE,
+  pattern GL_FILL,
+  pattern GL_FLAT,
+  pattern GL_FLOAT,
+  pattern GL_FLOAT_MAT2,
+  pattern GL_FLOAT_MAT2x3,
+  pattern GL_FLOAT_MAT2x4,
+  pattern GL_FLOAT_MAT3,
+  pattern GL_FLOAT_MAT3x2,
+  pattern GL_FLOAT_MAT3x4,
+  pattern GL_FLOAT_MAT4,
+  pattern GL_FLOAT_MAT4x2,
+  pattern GL_FLOAT_MAT4x3,
+  pattern GL_FLOAT_VEC2,
+  pattern GL_FLOAT_VEC3,
+  pattern GL_FLOAT_VEC4,
+  pattern GL_FOG,
+  pattern GL_FOG_BIT,
+  pattern GL_FOG_COLOR,
+  pattern GL_FOG_COORD,
+  pattern GL_FOG_COORDINATE,
+  pattern GL_FOG_COORDINATE_ARRAY,
+  pattern GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORDINATE_ARRAY_POINTER,
+  pattern GL_FOG_COORDINATE_ARRAY_STRIDE,
+  pattern GL_FOG_COORDINATE_ARRAY_TYPE,
+  pattern GL_FOG_COORDINATE_SOURCE,
+  pattern GL_FOG_COORD_ARRAY,
+  pattern GL_FOG_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_FOG_COORD_ARRAY_POINTER,
+  pattern GL_FOG_COORD_ARRAY_STRIDE,
+  pattern GL_FOG_COORD_ARRAY_TYPE,
+  pattern GL_FOG_COORD_SRC,
+  pattern GL_FOG_DENSITY,
+  pattern GL_FOG_END,
+  pattern GL_FOG_HINT,
+  pattern GL_FOG_INDEX,
+  pattern GL_FOG_MODE,
+  pattern GL_FOG_START,
+  pattern GL_FRAGMENT_DEPTH,
+  pattern GL_FRAGMENT_SHADER,
+  pattern GL_FRAGMENT_SHADER_DERIVATIVE_HINT,
+  pattern GL_FRONT,
+  pattern GL_FRONT_AND_BACK,
+  pattern GL_FRONT_FACE,
+  pattern GL_FRONT_LEFT,
+  pattern GL_FRONT_RIGHT,
+  pattern GL_FUNC_ADD,
+  pattern GL_FUNC_REVERSE_SUBTRACT,
+  pattern GL_FUNC_SUBTRACT,
+  pattern GL_GENERATE_MIPMAP,
+  pattern GL_GENERATE_MIPMAP_HINT,
+  pattern GL_GEQUAL,
+  pattern GL_GREATER,
+  pattern GL_GREEN,
+  pattern GL_GREEN_BIAS,
+  pattern GL_GREEN_BITS,
+  pattern GL_GREEN_SCALE,
+  pattern GL_HINT_BIT,
+  pattern GL_INCR,
+  pattern GL_INCR_WRAP,
+  pattern GL_INDEX_ARRAY,
+  pattern GL_INDEX_ARRAY_BUFFER_BINDING,
+  pattern GL_INDEX_ARRAY_POINTER,
+  pattern GL_INDEX_ARRAY_STRIDE,
+  pattern GL_INDEX_ARRAY_TYPE,
+  pattern GL_INDEX_BITS,
+  pattern GL_INDEX_CLEAR_VALUE,
+  pattern GL_INDEX_LOGIC_OP,
+  pattern GL_INDEX_MODE,
+  pattern GL_INDEX_OFFSET,
+  pattern GL_INDEX_SHIFT,
+  pattern GL_INDEX_WRITEMASK,
+  pattern GL_INFO_LOG_LENGTH,
+  pattern GL_INT,
+  pattern GL_INTENSITY,
+  pattern GL_INTENSITY12,
+  pattern GL_INTENSITY16,
+  pattern GL_INTENSITY4,
+  pattern GL_INTENSITY8,
+  pattern GL_INTERPOLATE,
+  pattern GL_INT_VEC2,
+  pattern GL_INT_VEC3,
+  pattern GL_INT_VEC4,
+  pattern GL_INVALID_ENUM,
+  pattern GL_INVALID_OPERATION,
+  pattern GL_INVALID_VALUE,
+  pattern GL_INVERT,
+  pattern GL_KEEP,
+  pattern GL_LEFT,
+  pattern GL_LEQUAL,
+  pattern GL_LESS,
+  pattern GL_LIGHT0,
+  pattern GL_LIGHT1,
+  pattern GL_LIGHT2,
+  pattern GL_LIGHT3,
+  pattern GL_LIGHT4,
+  pattern GL_LIGHT5,
+  pattern GL_LIGHT6,
+  pattern GL_LIGHT7,
+  pattern GL_LIGHTING,
+  pattern GL_LIGHTING_BIT,
+  pattern GL_LIGHT_MODEL_AMBIENT,
+  pattern GL_LIGHT_MODEL_COLOR_CONTROL,
+  pattern GL_LIGHT_MODEL_LOCAL_VIEWER,
+  pattern GL_LIGHT_MODEL_TWO_SIDE,
+  pattern GL_LINE,
+  pattern GL_LINEAR,
+  pattern GL_LINEAR_ATTENUATION,
+  pattern GL_LINEAR_MIPMAP_LINEAR,
+  pattern GL_LINEAR_MIPMAP_NEAREST,
+  pattern GL_LINES,
+  pattern GL_LINE_BIT,
+  pattern GL_LINE_LOOP,
+  pattern GL_LINE_RESET_TOKEN,
+  pattern GL_LINE_SMOOTH,
+  pattern GL_LINE_SMOOTH_HINT,
+  pattern GL_LINE_STIPPLE,
+  pattern GL_LINE_STIPPLE_PATTERN,
+  pattern GL_LINE_STIPPLE_REPEAT,
+  pattern GL_LINE_STRIP,
+  pattern GL_LINE_TOKEN,
+  pattern GL_LINE_WIDTH,
+  pattern GL_LINE_WIDTH_GRANULARITY,
+  pattern GL_LINE_WIDTH_RANGE,
+  pattern GL_LINK_STATUS,
+  pattern GL_LIST_BASE,
+  pattern GL_LIST_BIT,
+  pattern GL_LIST_INDEX,
+  pattern GL_LIST_MODE,
+  pattern GL_LOAD,
+  pattern GL_LOGIC_OP,
+  pattern GL_LOGIC_OP_MODE,
+  pattern GL_LOWER_LEFT,
+  pattern GL_LUMINANCE,
+  pattern GL_LUMINANCE12,
+  pattern GL_LUMINANCE12_ALPHA12,
+  pattern GL_LUMINANCE12_ALPHA4,
+  pattern GL_LUMINANCE16,
+  pattern GL_LUMINANCE16_ALPHA16,
+  pattern GL_LUMINANCE4,
+  pattern GL_LUMINANCE4_ALPHA4,
+  pattern GL_LUMINANCE6_ALPHA2,
+  pattern GL_LUMINANCE8,
+  pattern GL_LUMINANCE8_ALPHA8,
+  pattern GL_LUMINANCE_ALPHA,
+  pattern GL_MAP1_COLOR_4,
+  pattern GL_MAP1_GRID_DOMAIN,
+  pattern GL_MAP1_GRID_SEGMENTS,
+  pattern GL_MAP1_INDEX,
+  pattern GL_MAP1_NORMAL,
+  pattern GL_MAP1_TEXTURE_COORD_1,
+  pattern GL_MAP1_TEXTURE_COORD_2,
+  pattern GL_MAP1_TEXTURE_COORD_3,
+  pattern GL_MAP1_TEXTURE_COORD_4,
+  pattern GL_MAP1_VERTEX_3,
+  pattern GL_MAP1_VERTEX_4,
+  pattern GL_MAP2_COLOR_4,
+  pattern GL_MAP2_GRID_DOMAIN,
+  pattern GL_MAP2_GRID_SEGMENTS,
+  pattern GL_MAP2_INDEX,
+  pattern GL_MAP2_NORMAL,
+  pattern GL_MAP2_TEXTURE_COORD_1,
+  pattern GL_MAP2_TEXTURE_COORD_2,
+  pattern GL_MAP2_TEXTURE_COORD_3,
+  pattern GL_MAP2_TEXTURE_COORD_4,
+  pattern GL_MAP2_VERTEX_3,
+  pattern GL_MAP2_VERTEX_4,
+  pattern GL_MAP_COLOR,
+  pattern GL_MAP_STENCIL,
+  pattern GL_MATRIX_MODE,
+  pattern GL_MAX,
+  pattern GL_MAX_3D_TEXTURE_SIZE,
+  pattern GL_MAX_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIENT_ATTRIB_STACK_DEPTH,
+  pattern GL_MAX_CLIP_PLANES,
+  pattern GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_CUBE_MAP_TEXTURE_SIZE,
+  pattern GL_MAX_DRAW_BUFFERS,
+  pattern GL_MAX_ELEMENTS_INDICES,
+  pattern GL_MAX_ELEMENTS_VERTICES,
+  pattern GL_MAX_EVAL_ORDER,
+  pattern GL_MAX_FRAGMENT_UNIFORM_COMPONENTS,
+  pattern GL_MAX_LIGHTS,
+  pattern GL_MAX_LIST_NESTING,
+  pattern GL_MAX_MODELVIEW_STACK_DEPTH,
+  pattern GL_MAX_NAME_STACK_DEPTH,
+  pattern GL_MAX_PIXEL_MAP_TABLE,
+  pattern GL_MAX_PROJECTION_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_COORDS,
+  pattern GL_MAX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_TEXTURE_LOD_BIAS,
+  pattern GL_MAX_TEXTURE_SIZE,
+  pattern GL_MAX_TEXTURE_STACK_DEPTH,
+  pattern GL_MAX_TEXTURE_UNITS,
+  pattern GL_MAX_VARYING_FLOATS,
+  pattern GL_MAX_VERTEX_ATTRIBS,
+  pattern GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS,
+  pattern GL_MAX_VERTEX_UNIFORM_COMPONENTS,
+  pattern GL_MAX_VIEWPORT_DIMS,
+  pattern GL_MIN,
+  pattern GL_MIRRORED_REPEAT,
+  pattern GL_MODELVIEW,
+  pattern GL_MODELVIEW_MATRIX,
+  pattern GL_MODELVIEW_STACK_DEPTH,
+  pattern GL_MODULATE,
+  pattern GL_MULT,
+  pattern GL_MULTISAMPLE,
+  pattern GL_MULTISAMPLE_BIT,
+  pattern GL_N3F_V3F,
+  pattern GL_NAME_STACK_DEPTH,
+  pattern GL_NAND,
+  pattern GL_NEAREST,
+  pattern GL_NEAREST_MIPMAP_LINEAR,
+  pattern GL_NEAREST_MIPMAP_NEAREST,
+  pattern GL_NEVER,
+  pattern GL_NICEST,
+  pattern GL_NONE,
+  pattern GL_NOOP,
+  pattern GL_NOR,
+  pattern GL_NORMALIZE,
+  pattern GL_NORMAL_ARRAY,
+  pattern GL_NORMAL_ARRAY_BUFFER_BINDING,
+  pattern GL_NORMAL_ARRAY_POINTER,
+  pattern GL_NORMAL_ARRAY_STRIDE,
+  pattern GL_NORMAL_ARRAY_TYPE,
+  pattern GL_NORMAL_MAP,
+  pattern GL_NOTEQUAL,
+  pattern GL_NO_ERROR,
+  pattern GL_NUM_COMPRESSED_TEXTURE_FORMATS,
+  pattern GL_OBJECT_LINEAR,
+  pattern GL_OBJECT_PLANE,
+  pattern GL_ONE,
+  pattern GL_ONE_MINUS_CONSTANT_ALPHA,
+  pattern GL_ONE_MINUS_CONSTANT_COLOR,
+  pattern GL_ONE_MINUS_DST_ALPHA,
+  pattern GL_ONE_MINUS_DST_COLOR,
+  pattern GL_ONE_MINUS_SRC_ALPHA,
+  pattern GL_ONE_MINUS_SRC_COLOR,
+  pattern GL_OPERAND0_ALPHA,
+  pattern GL_OPERAND0_RGB,
+  pattern GL_OPERAND1_ALPHA,
+  pattern GL_OPERAND1_RGB,
+  pattern GL_OPERAND2_ALPHA,
+  pattern GL_OPERAND2_RGB,
+  pattern GL_OR,
+  pattern GL_ORDER,
+  pattern GL_OR_INVERTED,
+  pattern GL_OR_REVERSE,
+  pattern GL_OUT_OF_MEMORY,
+  pattern GL_PACK_ALIGNMENT,
+  pattern GL_PACK_IMAGE_HEIGHT,
+  pattern GL_PACK_LSB_FIRST,
+  pattern GL_PACK_ROW_LENGTH,
+  pattern GL_PACK_SKIP_IMAGES,
+  pattern GL_PACK_SKIP_PIXELS,
+  pattern GL_PACK_SKIP_ROWS,
+  pattern GL_PACK_SWAP_BYTES,
+  pattern GL_PASS_THROUGH_TOKEN,
+  pattern GL_PERSPECTIVE_CORRECTION_HINT,
+  pattern GL_PIXEL_MAP_A_TO_A,
+  pattern GL_PIXEL_MAP_A_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_B_TO_B,
+  pattern GL_PIXEL_MAP_B_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_G_TO_G,
+  pattern GL_PIXEL_MAP_G_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_A,
+  pattern GL_PIXEL_MAP_I_TO_A_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_B,
+  pattern GL_PIXEL_MAP_I_TO_B_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_G,
+  pattern GL_PIXEL_MAP_I_TO_G_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_I,
+  pattern GL_PIXEL_MAP_I_TO_I_SIZE,
+  pattern GL_PIXEL_MAP_I_TO_R,
+  pattern GL_PIXEL_MAP_I_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_R_TO_R,
+  pattern GL_PIXEL_MAP_R_TO_R_SIZE,
+  pattern GL_PIXEL_MAP_S_TO_S,
+  pattern GL_PIXEL_MAP_S_TO_S_SIZE,
+  pattern GL_PIXEL_MODE_BIT,
+  pattern GL_PIXEL_PACK_BUFFER,
+  pattern GL_PIXEL_PACK_BUFFER_BINDING,
+  pattern GL_PIXEL_UNPACK_BUFFER,
+  pattern GL_PIXEL_UNPACK_BUFFER_BINDING,
+  pattern GL_POINT,
+  pattern GL_POINTS,
+  pattern GL_POINT_BIT,
+  pattern GL_POINT_DISTANCE_ATTENUATION,
+  pattern GL_POINT_FADE_THRESHOLD_SIZE,
+  pattern GL_POINT_SIZE,
+  pattern GL_POINT_SIZE_GRANULARITY,
+  pattern GL_POINT_SIZE_MAX,
+  pattern GL_POINT_SIZE_MIN,
+  pattern GL_POINT_SIZE_RANGE,
+  pattern GL_POINT_SMOOTH,
+  pattern GL_POINT_SMOOTH_HINT,
+  pattern GL_POINT_SPRITE,
+  pattern GL_POINT_SPRITE_COORD_ORIGIN,
+  pattern GL_POINT_TOKEN,
+  pattern GL_POLYGON,
+  pattern GL_POLYGON_BIT,
+  pattern GL_POLYGON_MODE,
+  pattern GL_POLYGON_OFFSET_FACTOR,
+  pattern GL_POLYGON_OFFSET_FILL,
+  pattern GL_POLYGON_OFFSET_LINE,
+  pattern GL_POLYGON_OFFSET_POINT,
+  pattern GL_POLYGON_OFFSET_UNITS,
+  pattern GL_POLYGON_SMOOTH,
+  pattern GL_POLYGON_SMOOTH_HINT,
+  pattern GL_POLYGON_STIPPLE,
+  pattern GL_POLYGON_STIPPLE_BIT,
+  pattern GL_POLYGON_TOKEN,
+  pattern GL_POSITION,
+  pattern GL_PREVIOUS,
+  pattern GL_PRIMARY_COLOR,
+  pattern GL_PROJECTION,
+  pattern GL_PROJECTION_MATRIX,
+  pattern GL_PROJECTION_STACK_DEPTH,
+  pattern GL_PROXY_TEXTURE_1D,
+  pattern GL_PROXY_TEXTURE_2D,
+  pattern GL_PROXY_TEXTURE_3D,
+  pattern GL_PROXY_TEXTURE_CUBE_MAP,
+  pattern GL_Q,
+  pattern GL_QUADRATIC_ATTENUATION,
+  pattern GL_QUADS,
+  pattern GL_QUAD_STRIP,
+  pattern GL_QUERY_COUNTER_BITS,
+  pattern GL_QUERY_RESULT,
+  pattern GL_QUERY_RESULT_AVAILABLE,
+  pattern GL_R,
+  pattern GL_R3_G3_B2,
+  pattern GL_READ_BUFFER,
+  pattern GL_READ_ONLY,
+  pattern GL_READ_WRITE,
+  pattern GL_RED,
+  pattern GL_RED_BIAS,
+  pattern GL_RED_BITS,
+  pattern GL_RED_SCALE,
+  pattern GL_REFLECTION_MAP,
+  pattern GL_RENDER,
+  pattern GL_RENDERER,
+  pattern GL_RENDER_MODE,
+  pattern GL_REPEAT,
+  pattern GL_REPLACE,
+  pattern GL_RESCALE_NORMAL,
+  pattern GL_RETURN,
+  pattern GL_RGB,
+  pattern GL_RGB10,
+  pattern GL_RGB10_A2,
+  pattern GL_RGB12,
+  pattern GL_RGB16,
+  pattern GL_RGB4,
+  pattern GL_RGB5,
+  pattern GL_RGB5_A1,
+  pattern GL_RGB8,
+  pattern GL_RGBA,
+  pattern GL_RGBA12,
+  pattern GL_RGBA16,
+  pattern GL_RGBA2,
+  pattern GL_RGBA4,
+  pattern GL_RGBA8,
+  pattern GL_RGBA_MODE,
+  pattern GL_RGB_SCALE,
+  pattern GL_RIGHT,
+  pattern GL_S,
+  pattern GL_SAMPLER_1D,
+  pattern GL_SAMPLER_1D_SHADOW,
+  pattern GL_SAMPLER_2D,
+  pattern GL_SAMPLER_2D_SHADOW,
+  pattern GL_SAMPLER_3D,
+  pattern GL_SAMPLER_CUBE,
+  pattern GL_SAMPLES,
+  pattern GL_SAMPLES_PASSED,
+  pattern GL_SAMPLE_ALPHA_TO_COVERAGE,
+  pattern GL_SAMPLE_ALPHA_TO_ONE,
+  pattern GL_SAMPLE_BUFFERS,
+  pattern GL_SAMPLE_COVERAGE,
+  pattern GL_SAMPLE_COVERAGE_INVERT,
+  pattern GL_SAMPLE_COVERAGE_VALUE,
+  pattern GL_SCISSOR_BIT,
+  pattern GL_SCISSOR_BOX,
+  pattern GL_SCISSOR_TEST,
+  pattern GL_SECONDARY_COLOR_ARRAY,
+  pattern GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING,
+  pattern GL_SECONDARY_COLOR_ARRAY_POINTER,
+  pattern GL_SECONDARY_COLOR_ARRAY_SIZE,
+  pattern GL_SECONDARY_COLOR_ARRAY_STRIDE,
+  pattern GL_SECONDARY_COLOR_ARRAY_TYPE,
+  pattern GL_SELECT,
+  pattern GL_SELECTION_BUFFER_POINTER,
+  pattern GL_SELECTION_BUFFER_SIZE,
+  pattern GL_SEPARATE_SPECULAR_COLOR,
+  pattern GL_SET,
+  pattern GL_SHADER_SOURCE_LENGTH,
+  pattern GL_SHADER_TYPE,
+  pattern GL_SHADE_MODEL,
+  pattern GL_SHADING_LANGUAGE_VERSION,
+  pattern GL_SHININESS,
+  pattern GL_SHORT,
+  pattern GL_SINGLE_COLOR,
+  pattern GL_SLUMINANCE,
+  pattern GL_SLUMINANCE8,
+  pattern GL_SLUMINANCE8_ALPHA8,
+  pattern GL_SLUMINANCE_ALPHA,
+  pattern GL_SMOOTH,
+  pattern GL_SMOOTH_LINE_WIDTH_GRANULARITY,
+  pattern GL_SMOOTH_LINE_WIDTH_RANGE,
+  pattern GL_SMOOTH_POINT_SIZE_GRANULARITY,
+  pattern GL_SMOOTH_POINT_SIZE_RANGE,
+  pattern GL_SOURCE0_ALPHA,
+  pattern GL_SOURCE0_RGB,
+  pattern GL_SOURCE1_ALPHA,
+  pattern GL_SOURCE1_RGB,
+  pattern GL_SOURCE2_ALPHA,
+  pattern GL_SOURCE2_RGB,
+  pattern GL_SPECULAR,
+  pattern GL_SPHERE_MAP,
+  pattern GL_SPOT_CUTOFF,
+  pattern GL_SPOT_DIRECTION,
+  pattern GL_SPOT_EXPONENT,
+  pattern GL_SRC0_ALPHA,
+  pattern GL_SRC0_RGB,
+  pattern GL_SRC1_ALPHA,
+  pattern GL_SRC1_RGB,
+  pattern GL_SRC2_ALPHA,
+  pattern GL_SRC2_RGB,
+  pattern GL_SRC_ALPHA,
+  pattern GL_SRC_ALPHA_SATURATE,
+  pattern GL_SRC_COLOR,
+  pattern GL_SRGB,
+  pattern GL_SRGB8,
+  pattern GL_SRGB8_ALPHA8,
+  pattern GL_SRGB_ALPHA,
+  pattern GL_STACK_OVERFLOW,
+  pattern GL_STACK_UNDERFLOW,
+  pattern GL_STATIC_COPY,
+  pattern GL_STATIC_DRAW,
+  pattern GL_STATIC_READ,
+  pattern GL_STENCIL,
+  pattern GL_STENCIL_BACK_FAIL,
+  pattern GL_STENCIL_BACK_FUNC,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_BACK_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_BACK_REF,
+  pattern GL_STENCIL_BACK_VALUE_MASK,
+  pattern GL_STENCIL_BACK_WRITEMASK,
+  pattern GL_STENCIL_BITS,
+  pattern GL_STENCIL_BUFFER_BIT,
+  pattern GL_STENCIL_CLEAR_VALUE,
+  pattern GL_STENCIL_FAIL,
+  pattern GL_STENCIL_FUNC,
+  pattern GL_STENCIL_INDEX,
+  pattern GL_STENCIL_PASS_DEPTH_FAIL,
+  pattern GL_STENCIL_PASS_DEPTH_PASS,
+  pattern GL_STENCIL_REF,
+  pattern GL_STENCIL_TEST,
+  pattern GL_STENCIL_VALUE_MASK,
+  pattern GL_STENCIL_WRITEMASK,
+  pattern GL_STEREO,
+  pattern GL_STREAM_COPY,
+  pattern GL_STREAM_DRAW,
+  pattern GL_STREAM_READ,
+  pattern GL_SUBPIXEL_BITS,
+  pattern GL_SUBTRACT,
+  pattern GL_T,
+  pattern GL_T2F_C3F_V3F,
+  pattern GL_T2F_C4F_N3F_V3F,
+  pattern GL_T2F_C4UB_V3F,
+  pattern GL_T2F_N3F_V3F,
+  pattern GL_T2F_V3F,
+  pattern GL_T4F_C4F_N3F_V4F,
+  pattern GL_T4F_V4F,
+  pattern GL_TEXTURE,
+  pattern GL_TEXTURE0,
+  pattern GL_TEXTURE1,
+  pattern GL_TEXTURE10,
+  pattern GL_TEXTURE11,
+  pattern GL_TEXTURE12,
+  pattern GL_TEXTURE13,
+  pattern GL_TEXTURE14,
+  pattern GL_TEXTURE15,
+  pattern GL_TEXTURE16,
+  pattern GL_TEXTURE17,
+  pattern GL_TEXTURE18,
+  pattern GL_TEXTURE19,
+  pattern GL_TEXTURE2,
+  pattern GL_TEXTURE20,
+  pattern GL_TEXTURE21,
+  pattern GL_TEXTURE22,
+  pattern GL_TEXTURE23,
+  pattern GL_TEXTURE24,
+  pattern GL_TEXTURE25,
+  pattern GL_TEXTURE26,
+  pattern GL_TEXTURE27,
+  pattern GL_TEXTURE28,
+  pattern GL_TEXTURE29,
+  pattern GL_TEXTURE3,
+  pattern GL_TEXTURE30,
+  pattern GL_TEXTURE31,
+  pattern GL_TEXTURE4,
+  pattern GL_TEXTURE5,
+  pattern GL_TEXTURE6,
+  pattern GL_TEXTURE7,
+  pattern GL_TEXTURE8,
+  pattern GL_TEXTURE9,
+  pattern GL_TEXTURE_1D,
+  pattern GL_TEXTURE_2D,
+  pattern GL_TEXTURE_3D,
+  pattern GL_TEXTURE_ALPHA_SIZE,
+  pattern GL_TEXTURE_BASE_LEVEL,
+  pattern GL_TEXTURE_BINDING_1D,
+  pattern GL_TEXTURE_BINDING_2D,
+  pattern GL_TEXTURE_BINDING_3D,
+  pattern GL_TEXTURE_BINDING_CUBE_MAP,
+  pattern GL_TEXTURE_BIT,
+  pattern GL_TEXTURE_BLUE_SIZE,
+  pattern GL_TEXTURE_BORDER,
+  pattern GL_TEXTURE_BORDER_COLOR,
+  pattern GL_TEXTURE_COMPARE_FUNC,
+  pattern GL_TEXTURE_COMPARE_MODE,
+  pattern GL_TEXTURE_COMPONENTS,
+  pattern GL_TEXTURE_COMPRESSED,
+  pattern GL_TEXTURE_COMPRESSED_IMAGE_SIZE,
+  pattern GL_TEXTURE_COMPRESSION_HINT,
+  pattern GL_TEXTURE_COORD_ARRAY,
+  pattern GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING,
+  pattern GL_TEXTURE_COORD_ARRAY_POINTER,
+  pattern GL_TEXTURE_COORD_ARRAY_SIZE,
+  pattern GL_TEXTURE_COORD_ARRAY_STRIDE,
+  pattern GL_TEXTURE_COORD_ARRAY_TYPE,
+  pattern GL_TEXTURE_CUBE_MAP,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_X,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
+  pattern GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
+  pattern GL_TEXTURE_DEPTH,
+  pattern GL_TEXTURE_DEPTH_SIZE,
+  pattern GL_TEXTURE_ENV,
+  pattern GL_TEXTURE_ENV_COLOR,
+  pattern GL_TEXTURE_ENV_MODE,
+  pattern GL_TEXTURE_FILTER_CONTROL,
+  pattern GL_TEXTURE_GEN_MODE,
+  pattern GL_TEXTURE_GEN_Q,
+  pattern GL_TEXTURE_GEN_R,
+  pattern GL_TEXTURE_GEN_S,
+  pattern GL_TEXTURE_GEN_T,
+  pattern GL_TEXTURE_GREEN_SIZE,
+  pattern GL_TEXTURE_HEIGHT,
+  pattern GL_TEXTURE_INTENSITY_SIZE,
+  pattern GL_TEXTURE_INTERNAL_FORMAT,
+  pattern GL_TEXTURE_LOD_BIAS,
+  pattern GL_TEXTURE_LUMINANCE_SIZE,
+  pattern GL_TEXTURE_MAG_FILTER,
+  pattern GL_TEXTURE_MATRIX,
+  pattern GL_TEXTURE_MAX_LEVEL,
+  pattern GL_TEXTURE_MAX_LOD,
+  pattern GL_TEXTURE_MIN_FILTER,
+  pattern GL_TEXTURE_MIN_LOD,
+  pattern GL_TEXTURE_PRIORITY,
+  pattern GL_TEXTURE_RED_SIZE,
+  pattern GL_TEXTURE_RESIDENT,
+  pattern GL_TEXTURE_STACK_DEPTH,
+  pattern GL_TEXTURE_WIDTH,
+  pattern GL_TEXTURE_WRAP_R,
+  pattern GL_TEXTURE_WRAP_S,
+  pattern GL_TEXTURE_WRAP_T,
+  pattern GL_TRANSFORM_BIT,
+  pattern GL_TRANSPOSE_COLOR_MATRIX,
+  pattern GL_TRANSPOSE_MODELVIEW_MATRIX,
+  pattern GL_TRANSPOSE_PROJECTION_MATRIX,
+  pattern GL_TRANSPOSE_TEXTURE_MATRIX,
+  pattern GL_TRIANGLES,
+  pattern GL_TRIANGLE_FAN,
+  pattern GL_TRIANGLE_STRIP,
+  pattern GL_TRUE,
+  pattern GL_UNPACK_ALIGNMENT,
+  pattern GL_UNPACK_IMAGE_HEIGHT,
+  pattern GL_UNPACK_LSB_FIRST,
+  pattern GL_UNPACK_ROW_LENGTH,
+  pattern GL_UNPACK_SKIP_IMAGES,
+  pattern GL_UNPACK_SKIP_PIXELS,
+  pattern GL_UNPACK_SKIP_ROWS,
+  pattern GL_UNPACK_SWAP_BYTES,
+  pattern GL_UNSIGNED_BYTE,
+  pattern GL_UNSIGNED_BYTE_2_3_3_REV,
+  pattern GL_UNSIGNED_BYTE_3_3_2,
+  pattern GL_UNSIGNED_INT,
+  pattern GL_UNSIGNED_INT_10_10_10_2,
+  pattern GL_UNSIGNED_INT_2_10_10_10_REV,
+  pattern GL_UNSIGNED_INT_8_8_8_8,
+  pattern GL_UNSIGNED_INT_8_8_8_8_REV,
+  pattern GL_UNSIGNED_SHORT,
+  pattern GL_UNSIGNED_SHORT_1_5_5_5_REV,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4,
+  pattern GL_UNSIGNED_SHORT_4_4_4_4_REV,
+  pattern GL_UNSIGNED_SHORT_5_5_5_1,
+  pattern GL_UNSIGNED_SHORT_5_6_5,
+  pattern GL_UNSIGNED_SHORT_5_6_5_REV,
+  pattern GL_UPPER_LEFT,
+  pattern GL_V2F,
+  pattern GL_V3F,
+  pattern GL_VALIDATE_STATUS,
+  pattern GL_VENDOR,
+  pattern GL_VERSION,
+  pattern GL_VERTEX_ARRAY,
+  pattern GL_VERTEX_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ARRAY_POINTER,
+  pattern GL_VERTEX_ARRAY_SIZE,
+  pattern GL_VERTEX_ARRAY_STRIDE,
+  pattern GL_VERTEX_ARRAY_TYPE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING,
+  pattern GL_VERTEX_ATTRIB_ARRAY_ENABLED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_NORMALIZED,
+  pattern GL_VERTEX_ATTRIB_ARRAY_POINTER,
+  pattern GL_VERTEX_ATTRIB_ARRAY_SIZE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_STRIDE,
+  pattern GL_VERTEX_ATTRIB_ARRAY_TYPE,
+  pattern GL_VERTEX_PROGRAM_POINT_SIZE,
+  pattern GL_VERTEX_PROGRAM_TWO_SIDE,
+  pattern GL_VERTEX_SHADER,
+  pattern GL_VIEWPORT,
+  pattern GL_VIEWPORT_BIT,
+  pattern GL_WEIGHT_ARRAY_BUFFER_BINDING,
+  pattern GL_WRITE_ONLY,
+  pattern GL_XOR,
+  pattern GL_ZERO,
+  pattern GL_ZOOM_X,
+  pattern 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.GL.Types
+import Graphics.GL.Tokens
+import Graphics.GL.Functions
diff --git a/src/Graphics/GL/WIN.hs b/src/Graphics/GL/WIN.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/WIN.hs
@@ -0,0 +1,21 @@
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.WIN
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+-- A convenience module, combining all raw modules containing WIN extensions.
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.WIN (
+  module Graphics.GL.WIN.PhongShading,
+  module Graphics.GL.WIN.SpecularFog
+) where
+
+import Graphics.GL.WIN.PhongShading
+import Graphics.GL.WIN.SpecularFog
diff --git a/src/Graphics/GL/WIN/PhongShading.hs b/src/Graphics/GL/WIN/PhongShading.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/WIN/PhongShading.hs
@@ -0,0 +1,24 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.WIN.PhongShading
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.WIN.PhongShading (
+  -- * Extension Support
+  glGetWINPhongShading,
+  gl_WIN_phong_shading,
+  -- * Enums
+  pattern GL_PHONG_HINT_WIN,
+  pattern GL_PHONG_WIN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/GL/WIN/SpecularFog.hs b/src/Graphics/GL/WIN/SpecularFog.hs
new file mode 100644
--- /dev/null
+++ b/src/Graphics/GL/WIN/SpecularFog.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE PatternSynonyms #-}
+--------------------------------------------------------------------------------
+-- |
+-- Module      :  Graphics.GL.WIN.SpecularFog
+-- Copyright   :  (c) Sven Panne 2016
+-- License     :  BSD3
+--
+-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
+-- Stability   :  stable
+-- Portability :  portable
+--
+--------------------------------------------------------------------------------
+
+module Graphics.GL.WIN.SpecularFog (
+  -- * Extension Support
+  glGetWINSpecularFog,
+  gl_WIN_specular_fog,
+  -- * Enums
+  pattern GL_FOG_SPECULAR_TEXTURE_WIN
+) where
+
+import Graphics.GL.ExtensionPredicates
+import Graphics.GL.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw.hs b/src/Graphics/Rendering/OpenGL/Raw.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw.hs
+++ /dev/null
@@ -1,78 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining the latest OpenGL compatibility profile plus
--- all extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw (
-  module Graphics.Rendering.OpenGL.Raw.Compatibility45,
-  module Graphics.Rendering.OpenGL.Raw.GetProcAddress,
-  module Graphics.Rendering.OpenGL.Raw.AMD,
-  module Graphics.Rendering.OpenGL.Raw.APPLE,
-  module Graphics.Rendering.OpenGL.Raw.ARB,
-  module Graphics.Rendering.OpenGL.Raw.ATI,
-  module Graphics.Rendering.OpenGL.Raw.EXT,
-  module Graphics.Rendering.OpenGL.Raw.GREMEDY,
-  module Graphics.Rendering.OpenGL.Raw.HP,
-  module Graphics.Rendering.OpenGL.Raw.IBM,
-  module Graphics.Rendering.OpenGL.Raw.INGR,
-  module Graphics.Rendering.OpenGL.Raw.INTEL,
-  module Graphics.Rendering.OpenGL.Raw.KHR,
-  module Graphics.Rendering.OpenGL.Raw.MESA,
-  module Graphics.Rendering.OpenGL.Raw.MESAX,
-  module Graphics.Rendering.OpenGL.Raw.NV,
-  module Graphics.Rendering.OpenGL.Raw.NVX,
-  module Graphics.Rendering.OpenGL.Raw.OES,
-  module Graphics.Rendering.OpenGL.Raw.OML,
-  module Graphics.Rendering.OpenGL.Raw.OVR,
-  module Graphics.Rendering.OpenGL.Raw.PGI,
-  module Graphics.Rendering.OpenGL.Raw.REND,
-  module Graphics.Rendering.OpenGL.Raw.S3,
-  module Graphics.Rendering.OpenGL.Raw.SGI,
-  module Graphics.Rendering.OpenGL.Raw.SGIS,
-  module Graphics.Rendering.OpenGL.Raw.SGIX,
-  module Graphics.Rendering.OpenGL.Raw.SUN,
-  module Graphics.Rendering.OpenGL.Raw.SUNX,
-  module Graphics.Rendering.OpenGL.Raw.ThreeDFX,
-  module Graphics.Rendering.OpenGL.Raw.WIN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.Compatibility45
-import Graphics.Rendering.OpenGL.Raw.GetProcAddress
-import Graphics.Rendering.OpenGL.Raw.AMD
-import Graphics.Rendering.OpenGL.Raw.APPLE
-import Graphics.Rendering.OpenGL.Raw.ARB
-import Graphics.Rendering.OpenGL.Raw.ATI
-import Graphics.Rendering.OpenGL.Raw.EXT
-import Graphics.Rendering.OpenGL.Raw.GREMEDY
-import Graphics.Rendering.OpenGL.Raw.HP
-import Graphics.Rendering.OpenGL.Raw.IBM
-import Graphics.Rendering.OpenGL.Raw.INGR
-import Graphics.Rendering.OpenGL.Raw.INTEL
-import Graphics.Rendering.OpenGL.Raw.KHR
-import Graphics.Rendering.OpenGL.Raw.MESA
-import Graphics.Rendering.OpenGL.Raw.MESAX
-import Graphics.Rendering.OpenGL.Raw.NV
-import Graphics.Rendering.OpenGL.Raw.NVX
-import Graphics.Rendering.OpenGL.Raw.OES
-import Graphics.Rendering.OpenGL.Raw.OML
-import Graphics.Rendering.OpenGL.Raw.OVR
-import Graphics.Rendering.OpenGL.Raw.PGI
-import Graphics.Rendering.OpenGL.Raw.REND
-import Graphics.Rendering.OpenGL.Raw.S3
-import Graphics.Rendering.OpenGL.Raw.SGI
-import Graphics.Rendering.OpenGL.Raw.SGIS
-import Graphics.Rendering.OpenGL.Raw.SGIX
-import Graphics.Rendering.OpenGL.Raw.SUN
-import Graphics.Rendering.OpenGL.Raw.SUNX
-import Graphics.Rendering.OpenGL.Raw.ThreeDFX
-import Graphics.Rendering.OpenGL.Raw.WIN
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD.hs
+++ /dev/null
@@ -1,53 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing AMD extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD (
-  module Graphics.Rendering.OpenGL.Raw.AMD.BlendMinmaxFactor,
-  module Graphics.Rendering.OpenGL.Raw.AMD.DebugOutput,
-  module Graphics.Rendering.OpenGL.Raw.AMD.DepthClampSeparate,
-  module Graphics.Rendering.OpenGL.Raw.AMD.DrawBuffersBlend,
-  module Graphics.Rendering.OpenGL.Raw.AMD.GPUShaderInt64,
-  module Graphics.Rendering.OpenGL.Raw.AMD.InterleavedElements,
-  module Graphics.Rendering.OpenGL.Raw.AMD.MultiDrawIndirect,
-  module Graphics.Rendering.OpenGL.Raw.AMD.NameGenDelete,
-  module Graphics.Rendering.OpenGL.Raw.AMD.OcclusionQueryEvent,
-  module Graphics.Rendering.OpenGL.Raw.AMD.PerformanceMonitor,
-  module Graphics.Rendering.OpenGL.Raw.AMD.PinnedMemory,
-  module Graphics.Rendering.OpenGL.Raw.AMD.QueryBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.AMD.SamplePositions,
-  module Graphics.Rendering.OpenGL.Raw.AMD.SeamlessCubemapPerTexture,
-  module Graphics.Rendering.OpenGL.Raw.AMD.SparseTexture,
-  module Graphics.Rendering.OpenGL.Raw.AMD.StencilOperationExtended,
-  module Graphics.Rendering.OpenGL.Raw.AMD.TransformFeedback4,
-  module Graphics.Rendering.OpenGL.Raw.AMD.VertexShaderTessellator
-) where
-
-import Graphics.Rendering.OpenGL.Raw.AMD.BlendMinmaxFactor
-import Graphics.Rendering.OpenGL.Raw.AMD.DebugOutput
-import Graphics.Rendering.OpenGL.Raw.AMD.DepthClampSeparate
-import Graphics.Rendering.OpenGL.Raw.AMD.DrawBuffersBlend
-import Graphics.Rendering.OpenGL.Raw.AMD.GPUShaderInt64
-import Graphics.Rendering.OpenGL.Raw.AMD.InterleavedElements
-import Graphics.Rendering.OpenGL.Raw.AMD.MultiDrawIndirect
-import Graphics.Rendering.OpenGL.Raw.AMD.NameGenDelete
-import Graphics.Rendering.OpenGL.Raw.AMD.OcclusionQueryEvent
-import Graphics.Rendering.OpenGL.Raw.AMD.PerformanceMonitor
-import Graphics.Rendering.OpenGL.Raw.AMD.PinnedMemory
-import Graphics.Rendering.OpenGL.Raw.AMD.QueryBufferObject
-import Graphics.Rendering.OpenGL.Raw.AMD.SamplePositions
-import Graphics.Rendering.OpenGL.Raw.AMD.SeamlessCubemapPerTexture
-import Graphics.Rendering.OpenGL.Raw.AMD.SparseTexture
-import Graphics.Rendering.OpenGL.Raw.AMD.StencilOperationExtended
-import Graphics.Rendering.OpenGL.Raw.AMD.TransformFeedback4
-import Graphics.Rendering.OpenGL.Raw.AMD.VertexShaderTessellator
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/BlendMinmaxFactor.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/BlendMinmaxFactor.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/BlendMinmaxFactor.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.BlendMinmaxFactor
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.BlendMinmaxFactor (
-  -- * Extension Support
-  glGetAMDBlendMinmaxFactor,
-  gl_AMD_blend_minmax_factor,
-  -- * Enums
-  gl_FACTOR_MAX_AMD,
-  gl_FACTOR_MIN_AMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/DebugOutput.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/DebugOutput.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/DebugOutput.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.DebugOutput
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.DebugOutput (
-  -- * Extension Support
-  glGetAMDDebugOutput,
-  gl_AMD_debug_output,
-  -- * Enums
-  gl_DEBUG_CATEGORY_API_ERROR_AMD,
-  gl_DEBUG_CATEGORY_APPLICATION_AMD,
-  gl_DEBUG_CATEGORY_DEPRECATION_AMD,
-  gl_DEBUG_CATEGORY_OTHER_AMD,
-  gl_DEBUG_CATEGORY_PERFORMANCE_AMD,
-  gl_DEBUG_CATEGORY_SHADER_COMPILER_AMD,
-  gl_DEBUG_CATEGORY_UNDEFINED_BEHAVIOR_AMD,
-  gl_DEBUG_CATEGORY_WINDOW_SYSTEM_AMD,
-  gl_DEBUG_LOGGED_MESSAGES_AMD,
-  gl_DEBUG_SEVERITY_HIGH_AMD,
-  gl_DEBUG_SEVERITY_LOW_AMD,
-  gl_DEBUG_SEVERITY_MEDIUM_AMD,
-  gl_MAX_DEBUG_LOGGED_MESSAGES_AMD,
-  gl_MAX_DEBUG_MESSAGE_LENGTH_AMD,
-  -- * Functions
-  glDebugMessageCallbackAMD,
-  glDebugMessageEnableAMD,
-  glDebugMessageInsertAMD,
-  glGetDebugMessageLogAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/DepthClampSeparate.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/DepthClampSeparate.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/DepthClampSeparate.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.DepthClampSeparate
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.DepthClampSeparate (
-  -- * Extension Support
-  glGetAMDDepthClampSeparate,
-  gl_AMD_depth_clamp_separate,
-  -- * Enums
-  gl_DEPTH_CLAMP_FAR_AMD,
-  gl_DEPTH_CLAMP_NEAR_AMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/DrawBuffersBlend.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/DrawBuffersBlend.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/DrawBuffersBlend.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.DrawBuffersBlend
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.DrawBuffersBlend (
-  -- * Extension Support
-  glGetAMDDrawBuffersBlend,
-  gl_AMD_draw_buffers_blend,
-  -- * Functions
-  glBlendEquationIndexedAMD,
-  glBlendEquationSeparateIndexedAMD,
-  glBlendFuncIndexedAMD,
-  glBlendFuncSeparateIndexedAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/GPUShaderInt64.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/GPUShaderInt64.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/GPUShaderInt64.hs
+++ /dev/null
@@ -1,85 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.GPUShaderInt64
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.GPUShaderInt64 (
-  -- * Extension Support
-  glGetAMDGPUShaderInt64,
-  gl_AMD_gpu_shader_int64,
-  -- * Enums
-  gl_FLOAT16_NV,
-  gl_FLOAT16_VEC2_NV,
-  gl_FLOAT16_VEC3_NV,
-  gl_FLOAT16_VEC4_NV,
-  gl_INT16_NV,
-  gl_INT16_VEC2_NV,
-  gl_INT16_VEC3_NV,
-  gl_INT16_VEC4_NV,
-  gl_INT64_NV,
-  gl_INT64_VEC2_NV,
-  gl_INT64_VEC3_NV,
-  gl_INT64_VEC4_NV,
-  gl_INT8_NV,
-  gl_INT8_VEC2_NV,
-  gl_INT8_VEC3_NV,
-  gl_INT8_VEC4_NV,
-  gl_UNSIGNED_INT16_NV,
-  gl_UNSIGNED_INT16_VEC2_NV,
-  gl_UNSIGNED_INT16_VEC3_NV,
-  gl_UNSIGNED_INT16_VEC4_NV,
-  gl_UNSIGNED_INT64_NV,
-  gl_UNSIGNED_INT64_VEC2_NV,
-  gl_UNSIGNED_INT64_VEC3_NV,
-  gl_UNSIGNED_INT64_VEC4_NV,
-  gl_UNSIGNED_INT8_NV,
-  gl_UNSIGNED_INT8_VEC2_NV,
-  gl_UNSIGNED_INT8_VEC3_NV,
-  gl_UNSIGNED_INT8_VEC4_NV,
-  -- * Functions
-  glGetUniformi64vNV,
-  glGetUniformui64vNV,
-  glProgramUniform1i64NV,
-  glProgramUniform1i64vNV,
-  glProgramUniform1ui64NV,
-  glProgramUniform1ui64vNV,
-  glProgramUniform2i64NV,
-  glProgramUniform2i64vNV,
-  glProgramUniform2ui64NV,
-  glProgramUniform2ui64vNV,
-  glProgramUniform3i64NV,
-  glProgramUniform3i64vNV,
-  glProgramUniform3ui64NV,
-  glProgramUniform3ui64vNV,
-  glProgramUniform4i64NV,
-  glProgramUniform4i64vNV,
-  glProgramUniform4ui64NV,
-  glProgramUniform4ui64vNV,
-  glUniform1i64NV,
-  glUniform1i64vNV,
-  glUniform1ui64NV,
-  glUniform1ui64vNV,
-  glUniform2i64NV,
-  glUniform2i64vNV,
-  glUniform2ui64NV,
-  glUniform2ui64vNV,
-  glUniform3i64NV,
-  glUniform3i64vNV,
-  glUniform3ui64NV,
-  glUniform3ui64vNV,
-  glUniform4i64NV,
-  glUniform4i64vNV,
-  glUniform4ui64NV,
-  glUniform4ui64vNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/InterleavedElements.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/InterleavedElements.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/InterleavedElements.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.InterleavedElements
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.InterleavedElements (
-  -- * Extension Support
-  glGetAMDInterleavedElements,
-  gl_AMD_interleaved_elements,
-  -- * Enums
-  gl_ALPHA,
-  gl_BLUE,
-  gl_GREEN,
-  gl_RED,
-  gl_RG16UI,
-  gl_RG8UI,
-  gl_RGBA8UI,
-  gl_VERTEX_ELEMENT_SWIZZLE_AMD,
-  gl_VERTEX_ID_SWIZZLE_AMD,
-  -- * Functions
-  glVertexAttribParameteriAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/MultiDrawIndirect.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/MultiDrawIndirect.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/MultiDrawIndirect.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.MultiDrawIndirect
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.MultiDrawIndirect (
-  -- * Extension Support
-  glGetAMDMultiDrawIndirect,
-  gl_AMD_multi_draw_indirect,
-  -- * Functions
-  glMultiDrawArraysIndirectAMD,
-  glMultiDrawElementsIndirectAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/NameGenDelete.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/NameGenDelete.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/NameGenDelete.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.NameGenDelete
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.NameGenDelete (
-  -- * Extension Support
-  glGetAMDNameGenDelete,
-  gl_AMD_name_gen_delete,
-  -- * Enums
-  gl_DATA_BUFFER_AMD,
-  gl_PERFORMANCE_MONITOR_AMD,
-  gl_QUERY_OBJECT_AMD,
-  gl_SAMPLER_OBJECT_AMD,
-  gl_VERTEX_ARRAY_OBJECT_AMD,
-  -- * Functions
-  glDeleteNamesAMD,
-  glGenNamesAMD,
-  glIsNameAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/OcclusionQueryEvent.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/OcclusionQueryEvent.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/OcclusionQueryEvent.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.OcclusionQueryEvent
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.OcclusionQueryEvent (
-  -- * Extension Support
-  glGetAMDOcclusionQueryEvent,
-  gl_AMD_occlusion_query_event,
-  -- * Enums
-  gl_OCCLUSION_QUERY_EVENT_MASK_AMD,
-  gl_QUERY_ALL_EVENT_BITS_AMD,
-  gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD,
-  gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMD,
-  gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD,
-  gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD,
-  -- * Functions
-  glQueryObjectParameteruiAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/PerformanceMonitor.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/PerformanceMonitor.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/PerformanceMonitor.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.PerformanceMonitor
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.PerformanceMonitor (
-  -- * Extension Support
-  glGetAMDPerformanceMonitor,
-  gl_AMD_performance_monitor,
-  -- * Enums
-  gl_COUNTER_RANGE_AMD,
-  gl_COUNTER_TYPE_AMD,
-  gl_PERCENTAGE_AMD,
-  gl_PERFMON_RESULT_AMD,
-  gl_PERFMON_RESULT_AVAILABLE_AMD,
-  gl_PERFMON_RESULT_SIZE_AMD,
-  gl_UNSIGNED_INT64_AMD,
-  -- * Functions
-  glBeginPerfMonitorAMD,
-  glDeletePerfMonitorsAMD,
-  glEndPerfMonitorAMD,
-  glGenPerfMonitorsAMD,
-  glGetPerfMonitorCounterDataAMD,
-  glGetPerfMonitorCounterInfoAMD,
-  glGetPerfMonitorCounterStringAMD,
-  glGetPerfMonitorCountersAMD,
-  glGetPerfMonitorGroupStringAMD,
-  glGetPerfMonitorGroupsAMD,
-  glSelectPerfMonitorCountersAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/PinnedMemory.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/PinnedMemory.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/PinnedMemory.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.PinnedMemory
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.PinnedMemory (
-  -- * Extension Support
-  glGetAMDPinnedMemory,
-  gl_AMD_pinned_memory,
-  -- * Enums
-  gl_EXTERNAL_VIRTUAL_MEMORY_BUFFER_AMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/QueryBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/QueryBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/QueryBufferObject.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.QueryBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.QueryBufferObject (
-  -- * Extension Support
-  glGetAMDQueryBufferObject,
-  gl_AMD_query_buffer_object,
-  -- * Enums
-  gl_QUERY_BUFFER_AMD,
-  gl_QUERY_BUFFER_BINDING_AMD,
-  gl_QUERY_RESULT_NO_WAIT_AMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/SamplePositions.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/SamplePositions.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/SamplePositions.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.SamplePositions
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.SamplePositions (
-  -- * Extension Support
-  glGetAMDSamplePositions,
-  gl_AMD_sample_positions,
-  -- * Enums
-  gl_SUBSAMPLE_DISTANCE_AMD,
-  -- * Functions
-  glSetMultisamplefvAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/SeamlessCubemapPerTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/SeamlessCubemapPerTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/SeamlessCubemapPerTexture.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.SeamlessCubemapPerTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.SeamlessCubemapPerTexture (
-  -- * Extension Support
-  glGetAMDSeamlessCubemapPerTexture,
-  gl_AMD_seamless_cubemap_per_texture,
-  -- * Enums
-  gl_TEXTURE_CUBE_MAP_SEAMLESS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/SparseTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/SparseTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/SparseTexture.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.SparseTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.SparseTexture (
-  -- * Extension Support
-  glGetAMDSparseTexture,
-  gl_AMD_sparse_texture,
-  -- * Enums
-  gl_MAX_SPARSE_3D_TEXTURE_SIZE_AMD,
-  gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS,
-  gl_MAX_SPARSE_TEXTURE_SIZE_AMD,
-  gl_MIN_LOD_WARNING_AMD,
-  gl_MIN_SPARSE_LEVEL_AMD,
-  gl_TEXTURE_STORAGE_SPARSE_BIT_AMD,
-  gl_VIRTUAL_PAGE_SIZE_X_AMD,
-  gl_VIRTUAL_PAGE_SIZE_Y_AMD,
-  gl_VIRTUAL_PAGE_SIZE_Z_AMD,
-  -- * Functions
-  glTexStorageSparseAMD,
-  glTextureStorageSparseAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/StencilOperationExtended.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/StencilOperationExtended.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/StencilOperationExtended.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.StencilOperationExtended
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.StencilOperationExtended (
-  -- * Extension Support
-  glGetAMDStencilOperationExtended,
-  gl_AMD_stencil_operation_extended,
-  -- * Enums
-  gl_REPLACE_VALUE_AMD,
-  gl_SET_AMD,
-  gl_STENCIL_BACK_OP_VALUE_AMD,
-  gl_STENCIL_OP_VALUE_AMD,
-  -- * Functions
-  glStencilOpValueAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/TransformFeedback4.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/TransformFeedback4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/TransformFeedback4.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.TransformFeedback4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.TransformFeedback4 (
-  -- * Extension Support
-  glGetAMDTransformFeedback4,
-  gl_AMD_transform_feedback4,
-  -- * Enums
-  gl_STREAM_RASTERIZATION_AMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/AMD/VertexShaderTessellator.hs b/src/Graphics/Rendering/OpenGL/Raw/AMD/VertexShaderTessellator.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/AMD/VertexShaderTessellator.hs
+++ /dev/null
@@ -1,32 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.AMD.VertexShaderTessellator
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.AMD.VertexShaderTessellator (
-  -- * Extension Support
-  glGetAMDVertexShaderTessellator,
-  gl_AMD_vertex_shader_tessellator,
-  -- * Enums
-  gl_CONTINUOUS_AMD,
-  gl_DISCRETE_AMD,
-  gl_INT_SAMPLER_BUFFER_AMD,
-  gl_SAMPLER_BUFFER_AMD,
-  gl_TESSELLATION_FACTOR_AMD,
-  gl_TESSELLATION_MODE_AMD,
-  gl_UNSIGNED_INT_SAMPLER_BUFFER_AMD,
-  -- * Functions
-  glTessellationFactorAMD,
-  glTessellationModeAMD
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE.hs
+++ /dev/null
@@ -1,49 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing APPLE extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE (
-  module Graphics.Rendering.OpenGL.Raw.APPLE.AuxDepthStencil,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.ClientStorage,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.ElementArray,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.Fence,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.FloatPixels,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.ObjectPurgeable,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.RGB422,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.RowBytes,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.SpecularVector,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.TransformHint,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayRange,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.VertexProgramEvaluators,
-  module Graphics.Rendering.OpenGL.Raw.APPLE.YCbCr422
-) where
-
-import Graphics.Rendering.OpenGL.Raw.APPLE.AuxDepthStencil
-import Graphics.Rendering.OpenGL.Raw.APPLE.ClientStorage
-import Graphics.Rendering.OpenGL.Raw.APPLE.ElementArray
-import Graphics.Rendering.OpenGL.Raw.APPLE.Fence
-import Graphics.Rendering.OpenGL.Raw.APPLE.FloatPixels
-import Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange
-import Graphics.Rendering.OpenGL.Raw.APPLE.ObjectPurgeable
-import Graphics.Rendering.OpenGL.Raw.APPLE.RGB422
-import Graphics.Rendering.OpenGL.Raw.APPLE.RowBytes
-import Graphics.Rendering.OpenGL.Raw.APPLE.SpecularVector
-import Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange
-import Graphics.Rendering.OpenGL.Raw.APPLE.TransformHint
-import Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject
-import Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayRange
-import Graphics.Rendering.OpenGL.Raw.APPLE.VertexProgramEvaluators
-import Graphics.Rendering.OpenGL.Raw.APPLE.YCbCr422
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/AuxDepthStencil.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/AuxDepthStencil.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/AuxDepthStencil.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.AuxDepthStencil
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.AuxDepthStencil (
-  -- * Extension Support
-  glGetAPPLEAuxDepthStencil,
-  gl_APPLE_aux_depth_stencil,
-  -- * Enums
-  gl_AUX_DEPTH_STENCIL_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/ClientStorage.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/ClientStorage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/ClientStorage.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.ClientStorage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.ClientStorage (
-  -- * Extension Support
-  glGetAPPLEClientStorage,
-  gl_APPLE_client_storage,
-  -- * Enums
-  gl_UNPACK_CLIENT_STORAGE_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/ElementArray.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/ElementArray.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/ElementArray.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.ElementArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.ElementArray (
-  -- * Extension Support
-  glGetAPPLEElementArray,
-  gl_APPLE_element_array,
-  -- * Enums
-  gl_ELEMENT_ARRAY_APPLE,
-  gl_ELEMENT_ARRAY_POINTER_APPLE,
-  gl_ELEMENT_ARRAY_TYPE_APPLE,
-  -- * Functions
-  glDrawElementArrayAPPLE,
-  glDrawRangeElementArrayAPPLE,
-  glElementPointerAPPLE,
-  glMultiDrawElementArrayAPPLE,
-  glMultiDrawRangeElementArrayAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/Fence.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/Fence.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/Fence.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.Fence
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.Fence (
-  -- * Extension Support
-  glGetAPPLEFence,
-  gl_APPLE_fence,
-  -- * Enums
-  gl_DRAW_PIXELS_APPLE,
-  gl_FENCE_APPLE,
-  -- * Functions
-  glDeleteFencesAPPLE,
-  glFinishFenceAPPLE,
-  glFinishObjectAPPLE,
-  glGenFencesAPPLE,
-  glIsFenceAPPLE,
-  glSetFenceAPPLE,
-  glTestFenceAPPLE,
-  glTestObjectAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FloatPixels.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FloatPixels.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FloatPixels.hs
+++ /dev/null
@@ -1,35 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.FloatPixels
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.FloatPixels (
-  -- * Extension Support
-  glGetAPPLEFloatPixels,
-  gl_APPLE_float_pixels,
-  -- * Enums
-  gl_ALPHA_FLOAT16_APPLE,
-  gl_ALPHA_FLOAT32_APPLE,
-  gl_COLOR_FLOAT_APPLE,
-  gl_HALF_APPLE,
-  gl_INTENSITY_FLOAT16_APPLE,
-  gl_INTENSITY_FLOAT32_APPLE,
-  gl_LUMINANCE_ALPHA_FLOAT16_APPLE,
-  gl_LUMINANCE_ALPHA_FLOAT32_APPLE,
-  gl_LUMINANCE_FLOAT16_APPLE,
-  gl_LUMINANCE_FLOAT32_APPLE,
-  gl_RGBA_FLOAT16_APPLE,
-  gl_RGBA_FLOAT32_APPLE,
-  gl_RGB_FLOAT16_APPLE,
-  gl_RGB_FLOAT32_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/FlushBufferRange.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.FlushBufferRange (
-  -- * Extension Support
-  glGetAPPLEFlushBufferRange,
-  gl_APPLE_flush_buffer_range,
-  -- * Enums
-  gl_BUFFER_FLUSHING_UNMAP_APPLE,
-  gl_BUFFER_SERIALIZED_MODIFY_APPLE,
-  -- * Functions
-  glBufferParameteriAPPLE,
-  glFlushMappedBufferRangeAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/ObjectPurgeable.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/ObjectPurgeable.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/ObjectPurgeable.hs
+++ /dev/null
@@ -1,32 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.ObjectPurgeable
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.ObjectPurgeable (
-  -- * Extension Support
-  glGetAPPLEObjectPurgeable,
-  gl_APPLE_object_purgeable,
-  -- * Enums
-  gl_BUFFER_OBJECT_APPLE,
-  gl_PURGEABLE_APPLE,
-  gl_RELEASED_APPLE,
-  gl_RETAINED_APPLE,
-  gl_UNDEFINED_APPLE,
-  gl_VOLATILE_APPLE,
-  -- * Functions
-  glGetObjectParameterivAPPLE,
-  glObjectPurgeableAPPLE,
-  glObjectUnpurgeableAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/RGB422.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/RGB422.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/RGB422.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.RGB422
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.RGB422 (
-  -- * Extension Support
-  glGetAPPLERGB422,
-  gl_APPLE_rgb_422,
-  -- * Enums
-  gl_RGB_422_APPLE,
-  gl_RGB_RAW_422_APPLE,
-  gl_UNSIGNED_SHORT_8_8_APPLE,
-  gl_UNSIGNED_SHORT_8_8_REV_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/RowBytes.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/RowBytes.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/RowBytes.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.RowBytes
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.RowBytes (
-  -- * Extension Support
-  glGetAPPLERowBytes,
-  gl_APPLE_row_bytes,
-  -- * Enums
-  gl_PACK_ROW_BYTES_APPLE,
-  gl_UNPACK_ROW_BYTES_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/SpecularVector.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/SpecularVector.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/SpecularVector.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.SpecularVector
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.SpecularVector (
-  -- * Extension Support
-  glGetAPPLESpecularVector,
-  gl_APPLE_specular_vector,
-  -- * Enums
-  gl_LIGHT_MODEL_SPECULAR_VECTOR_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/TextureRange.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/TextureRange.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/TextureRange.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.TextureRange (
-  -- * Extension Support
-  glGetAPPLETextureRange,
-  gl_APPLE_texture_range,
-  -- * Enums
-  gl_STORAGE_CACHED_APPLE,
-  gl_STORAGE_PRIVATE_APPLE,
-  gl_STORAGE_SHARED_APPLE,
-  gl_TEXTURE_RANGE_LENGTH_APPLE,
-  gl_TEXTURE_RANGE_POINTER_APPLE,
-  gl_TEXTURE_STORAGE_HINT_APPLE,
-  -- * Functions
-  glGetTexParameterPointervAPPLE,
-  glTextureRangeAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/TransformHint.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/TransformHint.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/TransformHint.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.TransformHint
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.TransformHint (
-  -- * Extension Support
-  glGetAPPLETransformHint,
-  gl_APPLE_transform_hint,
-  -- * Enums
-  gl_TRANSFORM_HINT_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayObject.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayObject (
-  -- * Extension Support
-  glGetAPPLEVertexArrayObject,
-  gl_APPLE_vertex_array_object,
-  -- * Enums
-  gl_VERTEX_ARRAY_BINDING_APPLE,
-  -- * Functions
-  glBindVertexArrayAPPLE,
-  glDeleteVertexArraysAPPLE,
-  glGenVertexArraysAPPLE,
-  glIsVertexArrayAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayRange.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayRange.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexArrayRange.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayRange
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.VertexArrayRange (
-  -- * Extension Support
-  glGetAPPLEVertexArrayRange,
-  gl_APPLE_vertex_array_range,
-  -- * Enums
-  gl_STORAGE_CACHED_APPLE,
-  gl_STORAGE_CLIENT_APPLE,
-  gl_STORAGE_SHARED_APPLE,
-  gl_VERTEX_ARRAY_RANGE_APPLE,
-  gl_VERTEX_ARRAY_RANGE_LENGTH_APPLE,
-  gl_VERTEX_ARRAY_RANGE_POINTER_APPLE,
-  gl_VERTEX_ARRAY_STORAGE_HINT_APPLE,
-  -- * Functions
-  glFlushVertexArrayRangeAPPLE,
-  glVertexArrayParameteriAPPLE,
-  glVertexArrayRangeAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexProgramEvaluators.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexProgramEvaluators.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/VertexProgramEvaluators.hs
+++ /dev/null
@@ -1,40 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.VertexProgramEvaluators
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.VertexProgramEvaluators (
-  -- * Extension Support
-  glGetAPPLEVertexProgramEvaluators,
-  gl_APPLE_vertex_program_evaluators,
-  -- * Enums
-  gl_VERTEX_ATTRIB_MAP1_APPLE,
-  gl_VERTEX_ATTRIB_MAP1_COEFF_APPLE,
-  gl_VERTEX_ATTRIB_MAP1_DOMAIN_APPLE,
-  gl_VERTEX_ATTRIB_MAP1_ORDER_APPLE,
-  gl_VERTEX_ATTRIB_MAP1_SIZE_APPLE,
-  gl_VERTEX_ATTRIB_MAP2_APPLE,
-  gl_VERTEX_ATTRIB_MAP2_COEFF_APPLE,
-  gl_VERTEX_ATTRIB_MAP2_DOMAIN_APPLE,
-  gl_VERTEX_ATTRIB_MAP2_ORDER_APPLE,
-  gl_VERTEX_ATTRIB_MAP2_SIZE_APPLE,
-  -- * Functions
-  glDisableVertexAttribAPPLE,
-  glEnableVertexAttribAPPLE,
-  glIsVertexAttribEnabledAPPLE,
-  glMapVertexAttrib1dAPPLE,
-  glMapVertexAttrib1fAPPLE,
-  glMapVertexAttrib2dAPPLE,
-  glMapVertexAttrib2fAPPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/APPLE/YCbCr422.hs b/src/Graphics/Rendering/OpenGL/Raw/APPLE/YCbCr422.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/APPLE/YCbCr422.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.APPLE.YCbCr422
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.APPLE.YCbCr422 (
-  -- * Extension Support
-  glGetAPPLEYCbCr422,
-  gl_APPLE_ycbcr_422,
-  -- * Enums
-  gl_UNSIGNED_SHORT_8_8_APPLE,
-  gl_UNSIGNED_SHORT_8_8_REV_APPLE,
-  gl_YCBCR_422_APPLE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB.hs
+++ /dev/null
@@ -1,293 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing ARB extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB (
-  module Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance,
-  module Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture,
-  module Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended,
-  module Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage,
-  module Graphics.Rendering.OpenGL.Raw.ARB.CLEvent,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ClipControl,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat,
-  module Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ConditionalRenderInverted,
-  module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer,
-  module Graphics.Rendering.OpenGL.Raw.ARB.CopyImage,
-  module Graphics.Rendering.OpenGL.Raw.ARB.CullDistance,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DebugOutput,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DirectStateAccess,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect,
-  module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ES31Compatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ES32Compatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation,
-  module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram,
-  module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader,
-  module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments,
-  module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCompatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCore,
-  module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB,
-  module Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5,
-  module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64,
-  module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderInt64,
-  module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4,
-  module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary,
-  module Graphics.Rendering.OpenGL.Raw.ARB.GetTextureSubImage,
-  module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel,
-  module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ImagingCompatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ImagingCore,
-  module Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters,
-  module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays,
-  module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery,
-  module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2,
-  module Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata,
-  module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment,
-  module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange,
-  module Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette,
-  module Graphics.Rendering.OpenGL.Raw.ARB.MultiBind,
-  module Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect,
-  module Graphics.Rendering.OpenGL.Raw.ARB.Multisample,
-  module Graphics.Rendering.OpenGL.Raw.ARB.Multitexture,
-  module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery,
-  module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ParallelShaderCompile,
-  module Graphics.Rendering.OpenGL.Raw.ARB.PipelineStatisticsQuery,
-  module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters,
-  module Graphics.Rendering.OpenGL.Raw.ARB.PointSprite,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ProgramInterfaceQuery,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex,
-  module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCompatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCore,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SampleLocations,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageLoadStore,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude,
-  module Graphics.Rendering.OpenGL.Raw.ARB.Shadow,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SparseBuffer,
-  module Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture,
-  module Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing,
-  module Graphics.Rendering.OpenGL.Raw.ARB.Sync,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureBarrier,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureFilterMinmax,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TextureView,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackInstanced,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackOverflowQuery,
-  module Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix,
-  module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBGRA,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexAttribBinding,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexShader,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexType10f11f11fRev,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCompatibility,
-  module Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCore,
-  module Graphics.Rendering.OpenGL.Raw.ARB.ViewportArray,
-  module Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance
-import Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture
-import Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
-import Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage
-import Graphics.Rendering.OpenGL.Raw.ARB.CLEvent
-import Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture
-import Graphics.Rendering.OpenGL.Raw.ARB.ClipControl
-import Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
-import Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage
-import Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
-import Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize
-import Graphics.Rendering.OpenGL.Raw.ARB.ConditionalRenderInverted
-import Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
-import Graphics.Rendering.OpenGL.Raw.ARB.CopyImage
-import Graphics.Rendering.OpenGL.Raw.ARB.CullDistance
-import Graphics.Rendering.OpenGL.Raw.ARB.DebugOutput
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
-import Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
-import Graphics.Rendering.OpenGL.Raw.ARB.DirectStateAccess
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
-import Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
-import Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.ES31Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.ES32Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts
-import Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation
-import Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
-import Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCompatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCore
-import Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
-import Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
-import Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
-import Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderInt64
-import Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
-import Graphics.Rendering.OpenGL.Raw.ARB.GetTextureSubImage
-import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
-import Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.ImagingCompatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.ImagingCore
-import Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters
-import Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
-import Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2
-import Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata
-import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment
-import Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
-import Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
-import Graphics.Rendering.OpenGL.Raw.ARB.MultiBind
-import Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect
-import Graphics.Rendering.OpenGL.Raw.ARB.Multisample
-import Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
-import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
-import Graphics.Rendering.OpenGL.Raw.ARB.ParallelShaderCompile
-import Graphics.Rendering.OpenGL.Raw.ARB.PipelineStatisticsQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
-import Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
-import Graphics.Rendering.OpenGL.Raw.ARB.ProgramInterfaceQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
-import Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCompatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCore
-import Graphics.Rendering.OpenGL.Raw.ARB.SampleLocations
-import Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
-import Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
-import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
-import Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture
-import Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageLoadStore
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
-import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
-import Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
-import Graphics.Rendering.OpenGL.Raw.ARB.Shadow
-import Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
-import Graphics.Rendering.OpenGL.Raw.ARB.SparseBuffer
-import Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture
-import Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing
-import Graphics.Rendering.OpenGL.Raw.ARB.Sync
-import Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBarrier
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureFilterMinmax
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle
-import Graphics.Rendering.OpenGL.Raw.ARB.TextureView
-import Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
-import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
-import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackInstanced
-import Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackOverflowQuery
-import Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
-import Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBGRA
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexAttribBinding
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexType10f11f11fRev
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCompatibility
-import Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCore
-import Graphics.Rendering.OpenGL.Raw.ARB.ViewportArray
-import Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/BaseInstance.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/BaseInstance.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/BaseInstance.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.BaseInstance (
-  -- * Extension Support
-  glGetARBBaseInstance,
-  gl_ARB_base_instance,
-  -- * Functions
-  glDrawArraysInstancedBaseInstance,
-  glDrawElementsInstancedBaseInstance,
-  glDrawElementsInstancedBaseVertexBaseInstance
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/BindlessTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/BindlessTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/BindlessTexture.hs
+++ /dev/null
@@ -1,40 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.BindlessTexture (
-  -- * Extension Support
-  glGetARBBindlessTexture,
-  gl_ARB_bindless_texture,
-  -- * Enums
-  gl_UNSIGNED_INT64_ARB,
-  -- * Functions
-  glGetImageHandleARB,
-  glGetTextureHandleARB,
-  glGetTextureSamplerHandleARB,
-  glGetVertexAttribLui64vARB,
-  glIsImageHandleResidentARB,
-  glIsTextureHandleResidentARB,
-  glMakeImageHandleNonResidentARB,
-  glMakeImageHandleResidentARB,
-  glMakeTextureHandleNonResidentARB,
-  glMakeTextureHandleResidentARB,
-  glProgramUniformHandleui64ARB,
-  glProgramUniformHandleui64vARB,
-  glUniformHandleui64ARB,
-  glUniformHandleui64vARB,
-  glVertexAttribL1ui64ARB,
-  glVertexAttribL1ui64vARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/BlendFuncExtended.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.BlendFuncExtended (
-  -- * Extension Support
-  glGetARBBlendFuncExtended,
-  gl_ARB_blend_func_extended,
-  -- * Enums
-  gl_MAX_DUAL_SOURCE_DRAW_BUFFERS,
-  gl_ONE_MINUS_SRC1_ALPHA,
-  gl_ONE_MINUS_SRC1_COLOR,
-  gl_SRC1_ALPHA,
-  gl_SRC1_COLOR,
-  -- * Functions
-  glBindFragDataLocationIndexed,
-  glGetFragDataIndex
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/BufferStorage.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/BufferStorage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/BufferStorage.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.BufferStorage (
-  -- * Extension Support
-  glGetARBBufferStorage,
-  gl_ARB_buffer_storage,
-  -- * Enums
-  gl_BUFFER_IMMUTABLE_STORAGE,
-  gl_BUFFER_STORAGE_FLAGS,
-  gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT,
-  gl_CLIENT_STORAGE_BIT,
-  gl_DYNAMIC_STORAGE_BIT,
-  gl_MAP_COHERENT_BIT,
-  gl_MAP_PERSISTENT_BIT,
-  gl_MAP_READ_BIT,
-  gl_MAP_WRITE_BIT,
-  -- * Functions
-  glBufferStorage
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CLEvent.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CLEvent.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CLEvent.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CLEvent
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.CLEvent (
-  -- * Extension Support
-  glGetARBCLEvent,
-  gl_ARB_cl_event,
-  -- * Enums
-  gl_SYNC_CL_EVENT_ARB,
-  gl_SYNC_CL_EVENT_COMPLETE_ARB,
-  -- * Functions
-  glCreateSyncFromCLeventARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ClearBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ClearBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ClearBufferObject.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ClearBufferObject (
-  -- * Extension Support
-  glGetARBClearBufferObject,
-  gl_ARB_clear_buffer_object,
-  -- * Functions
-  glClearBufferData,
-  glClearBufferSubData
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ClearTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ClearTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ClearTexture.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ClearTexture (
-  -- * Extension Support
-  glGetARBClearTexture,
-  gl_ARB_clear_texture,
-  -- * Enums
-  gl_CLEAR_TEXTURE,
-  -- * Functions
-  glClearTexImage,
-  glClearTexSubImage
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ClipControl.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ClipControl.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ClipControl.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ClipControl
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ClipControl (
-  -- * Extension Support
-  glGetARBClipControl,
-  gl_ARB_clip_control,
-  -- * Enums
-  gl_CLIP_DEPTH_MODE,
-  gl_CLIP_ORIGIN,
-  gl_LOWER_LEFT,
-  gl_NEGATIVE_ONE_TO_ONE,
-  gl_UPPER_LEFT,
-  gl_ZERO_TO_ONE,
-  -- * Functions
-  glClipControl
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ColorBufferFloat.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ColorBufferFloat (
-  -- * Extension Support
-  glGetARBColorBufferFloat,
-  gl_ARB_color_buffer_float,
-  -- * Enums
-  gl_CLAMP_FRAGMENT_COLOR_ARB,
-  gl_CLAMP_READ_COLOR_ARB,
-  gl_CLAMP_VERTEX_COLOR_ARB,
-  gl_FIXED_ONLY_ARB,
-  gl_RGBA_FLOAT_MODE_ARB,
-  -- * Functions
-  glClampColorARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CompressedTexturePixelStorage.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CompressedTexturePixelStorage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CompressedTexturePixelStorage.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.CompressedTexturePixelStorage (
-  -- * Extension Support
-  glGetARBCompressedTexturePixelStorage,
-  gl_ARB_compressed_texture_pixel_storage,
-  -- * Enums
-  gl_PACK_COMPRESSED_BLOCK_DEPTH,
-  gl_PACK_COMPRESSED_BLOCK_HEIGHT,
-  gl_PACK_COMPRESSED_BLOCK_SIZE,
-  gl_PACK_COMPRESSED_BLOCK_WIDTH,
-  gl_UNPACK_COMPRESSED_BLOCK_DEPTH,
-  gl_UNPACK_COMPRESSED_BLOCK_HEIGHT,
-  gl_UNPACK_COMPRESSED_BLOCK_SIZE,
-  gl_UNPACK_COMPRESSED_BLOCK_WIDTH
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeShader.hs
+++ /dev/null
@@ -1,43 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ComputeShader (
-  -- * Extension Support
-  glGetARBComputeShader,
-  gl_ARB_compute_shader,
-  -- * Enums
-  gl_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER,
-  gl_COMPUTE_SHADER,
-  gl_COMPUTE_SHADER_BIT,
-  gl_COMPUTE_WORK_GROUP_SIZE,
-  gl_DISPATCH_INDIRECT_BUFFER,
-  gl_DISPATCH_INDIRECT_BUFFER_BINDING,
-  gl_MAX_COMBINED_COMPUTE_UNIFORM_COMPONENTS,
-  gl_MAX_COMPUTE_ATOMIC_COUNTERS,
-  gl_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS,
-  gl_MAX_COMPUTE_IMAGE_UNIFORMS,
-  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_UNIFORM_BLOCK_REFERENCED_BY_COMPUTE_SHADER,
-  -- * Functions
-  glDispatchCompute,
-  glDispatchComputeIndirect
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeVariableGroupSize.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeVariableGroupSize.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ComputeVariableGroupSize.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ComputeVariableGroupSize (
-  -- * Extension Support
-  glGetARBComputeVariableGroupSize,
-  gl_ARB_compute_variable_group_size,
-  -- * Enums
-  gl_MAX_COMPUTE_FIXED_GROUP_INVOCATIONS_ARB,
-  gl_MAX_COMPUTE_FIXED_GROUP_SIZE_ARB,
-  gl_MAX_COMPUTE_VARIABLE_GROUP_INVOCATIONS_ARB,
-  gl_MAX_COMPUTE_VARIABLE_GROUP_SIZE_ARB,
-  -- * Functions
-  glDispatchComputeGroupSizeARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ConditionalRenderInverted.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ConditionalRenderInverted.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ConditionalRenderInverted.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ConditionalRenderInverted
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ConditionalRenderInverted (
-  -- * Extension Support
-  glGetARBConditionalRenderInverted,
-  gl_ARB_conditional_render_inverted,
-  -- * Enums
-  gl_QUERY_BY_REGION_NO_WAIT_INVERTED,
-  gl_QUERY_BY_REGION_WAIT_INVERTED,
-  gl_QUERY_NO_WAIT_INVERTED,
-  gl_QUERY_WAIT_INVERTED
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyBuffer.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.CopyBuffer (
-  -- * Extension Support
-  glGetARBCopyBuffer,
-  gl_ARB_copy_buffer,
-  -- * Enums
-  gl_COPY_READ_BUFFER,
-  gl_COPY_WRITE_BUFFER,
-  -- * Functions
-  glCopyBufferSubData
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyImage.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyImage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CopyImage.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CopyImage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.CopyImage (
-  -- * Extension Support
-  glGetARBCopyImage,
-  gl_ARB_copy_image,
-  -- * Functions
-  glCopyImageSubData
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/CullDistance.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/CullDistance.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/CullDistance.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.CullDistance
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.CullDistance (
-  -- * Extension Support
-  glGetARBCullDistance,
-  gl_ARB_cull_distance,
-  -- * Enums
-  gl_MAX_COMBINED_CLIP_AND_CULL_DISTANCES,
-  gl_MAX_CULL_DISTANCES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DebugOutput.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DebugOutput.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DebugOutput.hs
+++ /dev/null
@@ -1,49 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DebugOutput
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DebugOutput (
-  -- * Extension Support
-  glGetARBDebugOutput,
-  gl_ARB_debug_output,
-  -- * Enums
-  gl_DEBUG_CALLBACK_FUNCTION_ARB,
-  gl_DEBUG_CALLBACK_USER_PARAM_ARB,
-  gl_DEBUG_LOGGED_MESSAGES_ARB,
-  gl_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_ARB,
-  gl_DEBUG_OUTPUT_SYNCHRONOUS_ARB,
-  gl_DEBUG_SEVERITY_HIGH_ARB,
-  gl_DEBUG_SEVERITY_LOW_ARB,
-  gl_DEBUG_SEVERITY_MEDIUM_ARB,
-  gl_DEBUG_SOURCE_API_ARB,
-  gl_DEBUG_SOURCE_APPLICATION_ARB,
-  gl_DEBUG_SOURCE_OTHER_ARB,
-  gl_DEBUG_SOURCE_SHADER_COMPILER_ARB,
-  gl_DEBUG_SOURCE_THIRD_PARTY_ARB,
-  gl_DEBUG_SOURCE_WINDOW_SYSTEM_ARB,
-  gl_DEBUG_TYPE_DEPRECATED_BEHAVIOR_ARB,
-  gl_DEBUG_TYPE_ERROR_ARB,
-  gl_DEBUG_TYPE_OTHER_ARB,
-  gl_DEBUG_TYPE_PERFORMANCE_ARB,
-  gl_DEBUG_TYPE_PORTABILITY_ARB,
-  gl_DEBUG_TYPE_UNDEFINED_BEHAVIOR_ARB,
-  gl_MAX_DEBUG_LOGGED_MESSAGES_ARB,
-  gl_MAX_DEBUG_MESSAGE_LENGTH_ARB,
-  -- * Functions
-  glDebugMessageCallbackARB,
-  glDebugMessageControlARB,
-  glDebugMessageInsertARB,
-  glGetDebugMessageLogARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthBufferFloat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthBufferFloat.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DepthBufferFloat (
-  -- * Extension Support
-  glGetARBDepthBufferFloat,
-  gl_ARB_depth_buffer_float,
-  -- * Enums
-  gl_DEPTH32F_STENCIL8,
-  gl_DEPTH_COMPONENT32F,
-  gl_FLOAT_32_UNSIGNED_INT_24_8_REV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthClamp.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DepthClamp (
-  -- * Extension Support
-  glGetARBDepthClamp,
-  gl_ARB_depth_clamp,
-  -- * Enums
-  gl_DEPTH_CLAMP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DepthTexture.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DepthTexture (
-  -- * Extension Support
-  glGetARBDepthTexture,
-  gl_ARB_depth_texture,
-  -- * Enums
-  gl_DEPTH_COMPONENT16_ARB,
-  gl_DEPTH_COMPONENT24_ARB,
-  gl_DEPTH_COMPONENT32_ARB,
-  gl_DEPTH_TEXTURE_MODE_ARB,
-  gl_TEXTURE_DEPTH_SIZE_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DirectStateAccess.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DirectStateAccess.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DirectStateAccess.hs
+++ /dev/null
@@ -1,133 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DirectStateAccess
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DirectStateAccess (
-  -- * Extension Support
-  glGetARBDirectStateAccess,
-  gl_ARB_direct_state_access,
-  -- * Enums
-  gl_QUERY_TARGET,
-  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_TARGET,
-  -- * Functions
-  glBindTextureUnit,
-  glBlitNamedFramebuffer,
-  glCheckNamedFramebufferStatus,
-  glClearNamedBufferData,
-  glClearNamedBufferSubData,
-  glClearNamedFramebufferfi,
-  glClearNamedFramebufferfv,
-  glClearNamedFramebufferiv,
-  glClearNamedFramebufferuiv,
-  glCompressedTextureSubImage1D,
-  glCompressedTextureSubImage2D,
-  glCompressedTextureSubImage3D,
-  glCopyNamedBufferSubData,
-  glCopyTextureSubImage1D,
-  glCopyTextureSubImage2D,
-  glCopyTextureSubImage3D,
-  glCreateBuffers,
-  glCreateFramebuffers,
-  glCreateProgramPipelines,
-  glCreateQueries,
-  glCreateRenderbuffers,
-  glCreateSamplers,
-  glCreateTextures,
-  glCreateTransformFeedbacks,
-  glCreateVertexArrays,
-  glDisableVertexArrayAttrib,
-  glEnableVertexArrayAttrib,
-  glFlushMappedNamedBufferRange,
-  glGenerateTextureMipmap,
-  glGetCompressedTextureImage,
-  glGetNamedBufferParameteri64v,
-  glGetNamedBufferParameteriv,
-  glGetNamedBufferPointerv,
-  glGetNamedBufferSubData,
-  glGetNamedFramebufferAttachmentParameteriv,
-  glGetNamedFramebufferParameteriv,
-  glGetNamedRenderbufferParameteriv,
-  glGetQueryBufferObjecti64v,
-  glGetQueryBufferObjectiv,
-  glGetQueryBufferObjectui64v,
-  glGetQueryBufferObjectuiv,
-  glGetTextureImage,
-  glGetTextureLevelParameterfv,
-  glGetTextureLevelParameteriv,
-  glGetTextureParameterIiv,
-  glGetTextureParameterIuiv,
-  glGetTextureParameterfv,
-  glGetTextureParameteriv,
-  glGetTransformFeedbacki64_v,
-  glGetTransformFeedbacki_v,
-  glGetTransformFeedbackiv,
-  glGetVertexArrayIndexed64iv,
-  glGetVertexArrayIndexediv,
-  glGetVertexArrayiv,
-  glInvalidateNamedFramebufferData,
-  glInvalidateNamedFramebufferSubData,
-  glMapNamedBuffer,
-  glMapNamedBufferRange,
-  glNamedBufferData,
-  glNamedBufferStorage,
-  glNamedBufferSubData,
-  glNamedFramebufferDrawBuffer,
-  glNamedFramebufferDrawBuffers,
-  glNamedFramebufferParameteri,
-  glNamedFramebufferReadBuffer,
-  glNamedFramebufferRenderbuffer,
-  glNamedFramebufferTexture,
-  glNamedFramebufferTextureLayer,
-  glNamedRenderbufferStorage,
-  glNamedRenderbufferStorageMultisample,
-  glTextureBuffer,
-  glTextureBufferRange,
-  glTextureParameterIiv,
-  glTextureParameterIuiv,
-  glTextureParameterf,
-  glTextureParameterfv,
-  glTextureParameteri,
-  glTextureParameteriv,
-  glTextureStorage1D,
-  glTextureStorage2D,
-  glTextureStorage2DMultisample,
-  glTextureStorage3D,
-  glTextureStorage3DMultisample,
-  glTextureSubImage1D,
-  glTextureSubImage2D,
-  glTextureSubImage3D,
-  glTransformFeedbackBufferBase,
-  glTransformFeedbackBufferRange,
-  glUnmapNamedBuffer,
-  glVertexArrayAttribBinding,
-  glVertexArrayAttribFormat,
-  glVertexArrayAttribIFormat,
-  glVertexArrayAttribLFormat,
-  glVertexArrayBindingDivisor,
-  glVertexArrayElementBuffer,
-  glVertexArrayVertexBuffer,
-  glVertexArrayVertexBuffers
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffers.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffers.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffers.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffers (
-  -- * Extension Support
-  glGetARBDrawBuffers,
-  gl_ARB_draw_buffers,
-  -- * Enums
-  gl_DRAW_BUFFER0_ARB,
-  gl_DRAW_BUFFER10_ARB,
-  gl_DRAW_BUFFER11_ARB,
-  gl_DRAW_BUFFER12_ARB,
-  gl_DRAW_BUFFER13_ARB,
-  gl_DRAW_BUFFER14_ARB,
-  gl_DRAW_BUFFER15_ARB,
-  gl_DRAW_BUFFER1_ARB,
-  gl_DRAW_BUFFER2_ARB,
-  gl_DRAW_BUFFER3_ARB,
-  gl_DRAW_BUFFER4_ARB,
-  gl_DRAW_BUFFER5_ARB,
-  gl_DRAW_BUFFER6_ARB,
-  gl_DRAW_BUFFER7_ARB,
-  gl_DRAW_BUFFER8_ARB,
-  gl_DRAW_BUFFER9_ARB,
-  gl_MAX_DRAW_BUFFERS_ARB,
-  -- * Functions
-  glDrawBuffersARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawBuffersBlend.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawBuffersBlend (
-  -- * Extension Support
-  glGetARBDrawBuffersBlend,
-  gl_ARB_draw_buffers_blend,
-  -- * Functions
-  glBlendEquationSeparateiARB,
-  glBlendEquationiARB,
-  glBlendFuncSeparateiARB,
-  glBlendFunciARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawElementsBaseVertex.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawElementsBaseVertex (
-  -- * Extension Support
-  glGetARBDrawElementsBaseVertex,
-  gl_ARB_draw_elements_base_vertex,
-  -- * Functions
-  glDrawElementsBaseVertex,
-  glDrawElementsInstancedBaseVertex,
-  glDrawRangeElementsBaseVertex,
-  glMultiDrawElementsBaseVertex
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawIndirect.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawIndirect (
-  -- * Extension Support
-  glGetARBDrawIndirect,
-  gl_ARB_draw_indirect,
-  -- * Enums
-  gl_DRAW_INDIRECT_BUFFER,
-  gl_DRAW_INDIRECT_BUFFER_BINDING,
-  -- * Functions
-  glDrawArraysIndirect,
-  glDrawElementsIndirect
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/DrawInstanced.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.DrawInstanced (
-  -- * Extension Support
-  glGetARBDrawInstanced,
-  gl_ARB_draw_instanced,
-  -- * Functions
-  glDrawArraysInstancedARB,
-  glDrawElementsInstancedARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES2Compatibility.hs
+++ /dev/null
@@ -1,44 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ES2Compatibility (
-  -- * Extension Support
-  glGetARBES2Compatibility,
-  gl_ARB_ES2_compatibility,
-  -- * Enums
-  gl_FIXED,
-  gl_HIGH_FLOAT,
-  gl_HIGH_INT,
-  gl_IMPLEMENTATION_COLOR_READ_FORMAT,
-  gl_IMPLEMENTATION_COLOR_READ_TYPE,
-  gl_LOW_FLOAT,
-  gl_LOW_INT,
-  gl_MAX_FRAGMENT_UNIFORM_VECTORS,
-  gl_MAX_VARYING_VECTORS,
-  gl_MAX_VERTEX_UNIFORM_VECTORS,
-  gl_MEDIUM_FLOAT,
-  gl_MEDIUM_INT,
-  gl_NUM_SHADER_BINARY_FORMATS,
-  gl_RGB565,
-  gl_SHADER_BINARY_FORMATS,
-  gl_SHADER_COMPILER,
-  -- * Functions
-  glClearDepthf,
-  glDepthRangef,
-  glGetShaderPrecisionFormat,
-  glReleaseShaderCompiler,
-  glShaderBinary
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES31Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES31Compatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES31Compatibility.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES31Compatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ES31Compatibility (
-  -- * Extension Support
-  glGetARBES31Compatibility,
-  gl_ARB_ES3_1_compatibility,
-  -- * Enums
-  gl_BACK,
-  -- * Functions
-  glMemoryBarrierByRegion
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES32Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES32Compatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES32Compatibility.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES32Compatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ES32Compatibility (
-  -- * Extension Support
-  glGetARBES32Compatibility,
-  gl_ARB_ES3_2_compatibility,
-  -- * Enums
-  gl_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB,
-  gl_MULTISAMPLE_LINE_WIDTH_RANGE_ARB,
-  gl_PRIMITIVE_BOUNDING_BOX_ARB,
-  -- * Functions
-  glPrimitiveBoundingBoxARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ES3Compatibility.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ES3Compatibility (
-  -- * Extension Support
-  glGetARBES3Compatibility,
-  gl_ARB_ES3_compatibility,
-  -- * Enums
-  gl_ANY_SAMPLES_PASSED_CONSERVATIVE,
-  gl_COMPRESSED_R11_EAC,
-  gl_COMPRESSED_RG11_EAC,
-  gl_COMPRESSED_RGB8_ETC2,
-  gl_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
-  gl_COMPRESSED_RGBA8_ETC2_EAC,
-  gl_COMPRESSED_SIGNED_R11_EAC,
-  gl_COMPRESSED_SIGNED_RG11_EAC,
-  gl_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
-  gl_COMPRESSED_SRGB8_ETC2,
-  gl_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
-  gl_MAX_ELEMENT_INDEX,
-  gl_PRIMITIVE_RESTART_FIXED_INDEX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/EnhancedLayouts.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/EnhancedLayouts.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/EnhancedLayouts.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.EnhancedLayouts (
-  -- * Extension Support
-  glGetARBEnhancedLayouts,
-  gl_ARB_enhanced_layouts,
-  -- * Enums
-  gl_LOCATION_COMPONENT,
-  gl_TRANSFORM_FEEDBACK_BUFFER,
-  gl_TRANSFORM_FEEDBACK_BUFFER_INDEX,
-  gl_TRANSFORM_FEEDBACK_BUFFER_STRIDE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ExplicitUniformLocation.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ExplicitUniformLocation.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ExplicitUniformLocation.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ExplicitUniformLocation (
-  -- * Extension Support
-  glGetARBExplicitUniformLocation,
-  gl_ARB_explicit_uniform_location,
-  -- * Enums
-  gl_MAX_UNIFORM_LOCATIONS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentProgram.hs
+++ /dev/null
@@ -1,120 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FragmentProgram (
-  -- * Extension Support
-  glGetARBFragmentProgram,
-  gl_ARB_fragment_program,
-  -- * Enums
-  gl_CURRENT_MATRIX_ARB,
-  gl_CURRENT_MATRIX_STACK_DEPTH_ARB,
-  gl_FRAGMENT_PROGRAM_ARB,
-  gl_MATRIX0_ARB,
-  gl_MATRIX10_ARB,
-  gl_MATRIX11_ARB,
-  gl_MATRIX12_ARB,
-  gl_MATRIX13_ARB,
-  gl_MATRIX14_ARB,
-  gl_MATRIX15_ARB,
-  gl_MATRIX16_ARB,
-  gl_MATRIX17_ARB,
-  gl_MATRIX18_ARB,
-  gl_MATRIX19_ARB,
-  gl_MATRIX1_ARB,
-  gl_MATRIX20_ARB,
-  gl_MATRIX21_ARB,
-  gl_MATRIX22_ARB,
-  gl_MATRIX23_ARB,
-  gl_MATRIX24_ARB,
-  gl_MATRIX25_ARB,
-  gl_MATRIX26_ARB,
-  gl_MATRIX27_ARB,
-  gl_MATRIX28_ARB,
-  gl_MATRIX29_ARB,
-  gl_MATRIX2_ARB,
-  gl_MATRIX30_ARB,
-  gl_MATRIX31_ARB,
-  gl_MATRIX3_ARB,
-  gl_MATRIX4_ARB,
-  gl_MATRIX5_ARB,
-  gl_MATRIX6_ARB,
-  gl_MATRIX7_ARB,
-  gl_MATRIX8_ARB,
-  gl_MATRIX9_ARB,
-  gl_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB,
-  gl_MAX_PROGRAM_ATTRIBS_ARB,
-  gl_MAX_PROGRAM_ENV_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_INSTRUCTIONS_ARB,
-  gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_MATRICES_ARB,
-  gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB,
-  gl_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
-  gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB,
-  gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
-  gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB,
-  gl_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB,
-  gl_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
-  gl_MAX_PROGRAM_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_TEMPORARIES_ARB,
-  gl_MAX_PROGRAM_TEX_INDIRECTIONS_ARB,
-  gl_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB,
-  gl_MAX_TEXTURE_COORDS_ARB,
-  gl_MAX_TEXTURE_IMAGE_UNITS_ARB,
-  gl_PROGRAM_ALU_INSTRUCTIONS_ARB,
-  gl_PROGRAM_ATTRIBS_ARB,
-  gl_PROGRAM_BINDING_ARB,
-  gl_PROGRAM_ERROR_POSITION_ARB,
-  gl_PROGRAM_ERROR_STRING_ARB,
-  gl_PROGRAM_FORMAT_ARB,
-  gl_PROGRAM_FORMAT_ASCII_ARB,
-  gl_PROGRAM_INSTRUCTIONS_ARB,
-  gl_PROGRAM_LENGTH_ARB,
-  gl_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB,
-  gl_PROGRAM_NATIVE_ATTRIBS_ARB,
-  gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
-  gl_PROGRAM_NATIVE_PARAMETERS_ARB,
-  gl_PROGRAM_NATIVE_TEMPORARIES_ARB,
-  gl_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB,
-  gl_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB,
-  gl_PROGRAM_PARAMETERS_ARB,
-  gl_PROGRAM_STRING_ARB,
-  gl_PROGRAM_TEMPORARIES_ARB,
-  gl_PROGRAM_TEX_INDIRECTIONS_ARB,
-  gl_PROGRAM_TEX_INSTRUCTIONS_ARB,
-  gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB,
-  gl_TRANSPOSE_CURRENT_MATRIX_ARB,
-  -- * Functions
-  glBindProgramARB,
-  glDeleteProgramsARB,
-  glGenProgramsARB,
-  glGetProgramEnvParameterdvARB,
-  glGetProgramEnvParameterfvARB,
-  glGetProgramLocalParameterdvARB,
-  glGetProgramLocalParameterfvARB,
-  glGetProgramStringARB,
-  glGetProgramivARB,
-  glIsProgramARB,
-  glProgramEnvParameter4dARB,
-  glProgramEnvParameter4dvARB,
-  glProgramEnvParameter4fARB,
-  glProgramEnvParameter4fvARB,
-  glProgramLocalParameter4dARB,
-  glProgramLocalParameter4dvARB,
-  glProgramLocalParameter4fARB,
-  glProgramLocalParameter4fvARB,
-  glProgramStringARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FragmentShader.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FragmentShader (
-  -- * Extension Support
-  glGetARBFragmentShader,
-  gl_ARB_fragment_shader,
-  -- * Enums
-  gl_FRAGMENT_SHADER_ARB,
-  gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB,
-  gl_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferNoAttachments.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferNoAttachments (
-  -- * Extension Support
-  glGetARBFramebufferNoAttachments,
-  gl_ARB_framebuffer_no_attachments,
-  -- * Enums
-  gl_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS,
-  gl_FRAMEBUFFER_DEFAULT_HEIGHT,
-  gl_FRAMEBUFFER_DEFAULT_LAYERS,
-  gl_FRAMEBUFFER_DEFAULT_SAMPLES,
-  gl_FRAMEBUFFER_DEFAULT_WIDTH,
-  gl_MAX_FRAMEBUFFER_HEIGHT,
-  gl_MAX_FRAMEBUFFER_LAYERS,
-  gl_MAX_FRAMEBUFFER_SAMPLES,
-  gl_MAX_FRAMEBUFFER_WIDTH,
-  -- * Functions
-  glFramebufferParameteri,
-  glGetFramebufferParameteriv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObjectCompatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObjectCompatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObjectCompatibility.hs
+++ /dev/null
@@ -1,116 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCompatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCompatibility (
-  -- * Extension Support
-  glGetARBFramebufferObject,
-  gl_ARB_framebuffer_object,
-  -- * Enums
-  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_DEPTH24_STENCIL8,
-  gl_DEPTH_ATTACHMENT,
-  gl_DEPTH_STENCIL,
-  gl_DEPTH_STENCIL_ATTACHMENT,
-  gl_DRAW_FRAMEBUFFER,
-  gl_DRAW_FRAMEBUFFER_BINDING,
-  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_UNDEFINED,
-  gl_FRAMEBUFFER_UNSUPPORTED,
-  gl_INDEX,
-  gl_INVALID_FRAMEBUFFER_OPERATION,
-  gl_MAX_COLOR_ATTACHMENTS,
-  gl_MAX_RENDERBUFFER_SIZE,
-  gl_MAX_SAMPLES,
-  gl_READ_FRAMEBUFFER,
-  gl_READ_FRAMEBUFFER_BINDING,
-  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_STENCIL_ATTACHMENT,
-  gl_STENCIL_INDEX1,
-  gl_STENCIL_INDEX16,
-  gl_STENCIL_INDEX4,
-  gl_STENCIL_INDEX8,
-  gl_TEXTURE_STENCIL_SIZE,
-  gl_UNSIGNED_INT_24_8,
-  gl_UNSIGNED_NORMALIZED,
-  -- * Functions
-  glBindFramebuffer,
-  glBindRenderbuffer,
-  glBlitFramebuffer,
-  glCheckFramebufferStatus,
-  glDeleteFramebuffers,
-  glDeleteRenderbuffers,
-  glFramebufferRenderbuffer,
-  glFramebufferTexture1D,
-  glFramebufferTexture2D,
-  glFramebufferTexture3D,
-  glFramebufferTextureLayer,
-  glGenFramebuffers,
-  glGenRenderbuffers,
-  glGenerateMipmap,
-  glGetFramebufferAttachmentParameteriv,
-  glGetRenderbufferParameteriv,
-  glIsFramebuffer,
-  glIsRenderbuffer,
-  glRenderbufferStorage,
-  glRenderbufferStorageMultisample
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObjectCore.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObjectCore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferObjectCore.hs
+++ /dev/null
@@ -1,115 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferObjectCore (
-  -- * Extension Support
-  glGetARBFramebufferObject,
-  gl_ARB_framebuffer_object,
-  -- * Enums
-  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_DEPTH24_STENCIL8,
-  gl_DEPTH_ATTACHMENT,
-  gl_DEPTH_STENCIL,
-  gl_DEPTH_STENCIL_ATTACHMENT,
-  gl_DRAW_FRAMEBUFFER,
-  gl_DRAW_FRAMEBUFFER_BINDING,
-  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_UNDEFINED,
-  gl_FRAMEBUFFER_UNSUPPORTED,
-  gl_INVALID_FRAMEBUFFER_OPERATION,
-  gl_MAX_COLOR_ATTACHMENTS,
-  gl_MAX_RENDERBUFFER_SIZE,
-  gl_MAX_SAMPLES,
-  gl_READ_FRAMEBUFFER,
-  gl_READ_FRAMEBUFFER_BINDING,
-  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_STENCIL_ATTACHMENT,
-  gl_STENCIL_INDEX1,
-  gl_STENCIL_INDEX16,
-  gl_STENCIL_INDEX4,
-  gl_STENCIL_INDEX8,
-  gl_TEXTURE_STENCIL_SIZE,
-  gl_UNSIGNED_INT_24_8,
-  gl_UNSIGNED_NORMALIZED,
-  -- * Functions
-  glBindFramebuffer,
-  glBindRenderbuffer,
-  glBlitFramebuffer,
-  glCheckFramebufferStatus,
-  glDeleteFramebuffers,
-  glDeleteRenderbuffers,
-  glFramebufferRenderbuffer,
-  glFramebufferTexture1D,
-  glFramebufferTexture2D,
-  glFramebufferTexture3D,
-  glFramebufferTextureLayer,
-  glGenFramebuffers,
-  glGenRenderbuffers,
-  glGenerateMipmap,
-  glGetFramebufferAttachmentParameteriv,
-  glGetRenderbufferParameteriv,
-  glIsFramebuffer,
-  glIsRenderbuffer,
-  glRenderbufferStorage,
-  glRenderbufferStorageMultisample
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferSRGB.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferSRGB.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/FramebufferSRGB.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.FramebufferSRGB (
-  -- * Extension Support
-  glGetARBFramebufferSRGB,
-  gl_ARB_framebuffer_sRGB,
-  -- * Enums
-  gl_FRAMEBUFFER_SRGB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShader5.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GPUShader5 (
-  -- * Extension Support
-  glGetARBGPUShader5,
-  gl_ARB_gpu_shader5,
-  -- * Enums
-  gl_FRAGMENT_INTERPOLATION_OFFSET_BITS,
-  gl_GEOMETRY_SHADER_INVOCATIONS,
-  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET,
-  gl_MAX_GEOMETRY_SHADER_INVOCATIONS,
-  gl_MAX_VERTEX_STREAMS,
-  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderFP64.hs
+++ /dev/null
@@ -1,54 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderFP64 (
-  -- * Extension Support
-  glGetARBGPUShaderFP64,
-  gl_ARB_gpu_shader_fp64,
-  -- * Enums
-  gl_DOUBLE,
-  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,
-  -- * Functions
-  glGetUniformdv,
-  glUniform1d,
-  glUniform1dv,
-  glUniform2d,
-  glUniform2dv,
-  glUniform3d,
-  glUniform3dv,
-  glUniform4d,
-  glUniform4dv,
-  glUniformMatrix2dv,
-  glUniformMatrix2x3dv,
-  glUniformMatrix2x4dv,
-  glUniformMatrix3dv,
-  glUniformMatrix3x2dv,
-  glUniformMatrix3x4dv,
-  glUniformMatrix4dv,
-  glUniformMatrix4x2dv,
-  glUniformMatrix4x3dv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderInt64.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderInt64.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GPUShaderInt64.hs
+++ /dev/null
@@ -1,67 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderInt64
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GPUShaderInt64 (
-  -- * Extension Support
-  glGetARBGPUShaderInt64,
-  gl_ARB_gpu_shader_int64,
-  -- * Enums
-  gl_INT64_ARB,
-  gl_INT64_VEC2_ARB,
-  gl_INT64_VEC3_ARB,
-  gl_INT64_VEC4_ARB,
-  gl_UNSIGNED_INT64_ARB,
-  gl_UNSIGNED_INT64_VEC2_ARB,
-  gl_UNSIGNED_INT64_VEC3_ARB,
-  gl_UNSIGNED_INT64_VEC4_ARB,
-  -- * Functions
-  glGetUniformi64vARB,
-  glGetUniformui64vARB,
-  glGetnUniformi64vARB,
-  glGetnUniformui64vARB,
-  glProgramUniform1i64ARB,
-  glProgramUniform1i64vARB,
-  glProgramUniform1ui64ARB,
-  glProgramUniform1ui64vARB,
-  glProgramUniform2i64ARB,
-  glProgramUniform2i64vARB,
-  glProgramUniform2ui64ARB,
-  glProgramUniform2ui64vARB,
-  glProgramUniform3i64ARB,
-  glProgramUniform3i64vARB,
-  glProgramUniform3ui64ARB,
-  glProgramUniform3ui64vARB,
-  glProgramUniform4i64ARB,
-  glProgramUniform4i64vARB,
-  glProgramUniform4ui64ARB,
-  glProgramUniform4ui64vARB,
-  glUniform1i64ARB,
-  glUniform1i64vARB,
-  glUniform1ui64ARB,
-  glUniform1ui64vARB,
-  glUniform2i64ARB,
-  glUniform2i64vARB,
-  glUniform2ui64ARB,
-  glUniform2ui64vARB,
-  glUniform3i64ARB,
-  glUniform3i64vARB,
-  glUniform3ui64ARB,
-  glUniform3ui64vARB,
-  glUniform4i64ARB,
-  glUniform4i64vARB,
-  glUniform4ui64ARB,
-  glUniform4ui64vARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GeometryShader4.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GeometryShader4 (
-  -- * Extension Support
-  glGetARBGeometryShader4,
-  gl_ARB_geometry_shader4,
-  -- * Enums
-  gl_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER,
-  gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB,
-  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB,
-  gl_GEOMETRY_INPUT_TYPE_ARB,
-  gl_GEOMETRY_OUTPUT_TYPE_ARB,
-  gl_GEOMETRY_SHADER_ARB,
-  gl_GEOMETRY_VERTICES_OUT_ARB,
-  gl_LINES_ADJACENCY_ARB,
-  gl_LINE_STRIP_ADJACENCY_ARB,
-  gl_MAX_GEOMETRY_OUTPUT_VERTICES_ARB,
-  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB,
-  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB,
-  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB,
-  gl_MAX_GEOMETRY_VARYING_COMPONENTS_ARB,
-  gl_MAX_VARYING_COMPONENTS,
-  gl_MAX_VERTEX_VARYING_COMPONENTS_ARB,
-  gl_PROGRAM_POINT_SIZE_ARB,
-  gl_TRIANGLES_ADJACENCY_ARB,
-  gl_TRIANGLE_STRIP_ADJACENCY_ARB,
-  -- * Functions
-  glFramebufferTextureARB,
-  glFramebufferTextureFaceARB,
-  glFramebufferTextureLayerARB,
-  glProgramParameteriARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetProgramBinary.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GetProgramBinary (
-  -- * Extension Support
-  glGetARBGetProgramBinary,
-  gl_ARB_get_program_binary,
-  -- * Enums
-  gl_NUM_PROGRAM_BINARY_FORMATS,
-  gl_PROGRAM_BINARY_FORMATS,
-  gl_PROGRAM_BINARY_LENGTH,
-  gl_PROGRAM_BINARY_RETRIEVABLE_HINT,
-  -- * Functions
-  glGetProgramBinary,
-  glProgramBinary,
-  glProgramParameteri
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetTextureSubImage.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/GetTextureSubImage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/GetTextureSubImage.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.GetTextureSubImage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.GetTextureSubImage (
-  -- * Extension Support
-  glGetARBGetTextureSubImage,
-  gl_ARB_get_texture_sub_image,
-  -- * Functions
-  glGetCompressedTextureSubImage,
-  glGetTextureSubImage
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatPixel.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatPixel.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatPixel.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatPixel (
-  -- * Extension Support
-  glGetARBHalfFloatPixel,
-  gl_ARB_half_float_pixel,
-  -- * Types
-  GLhalfARB,
-  -- * Enums
-  gl_HALF_FLOAT_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Types
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatVertex.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/HalfFloatVertex.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.HalfFloatVertex (
-  -- * Extension Support
-  glGetARBHalfFloatVertex,
-  gl_ARB_half_float_vertex,
-  -- * Types
-  GLhalf,
-  -- * Enums
-  gl_HALF_FLOAT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Types
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ImagingCompatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ImagingCompatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ImagingCompatibility.hs
+++ /dev/null
@@ -1,132 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ImagingCompatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ImagingCompatibility (
-  -- * Extension Support
-  glGetARBImaging,
-  gl_ARB_imaging,
-  -- * Enums
-  gl_BLEND_COLOR,
-  gl_BLEND_EQUATION,
-  gl_COLOR_MATRIX,
-  gl_COLOR_MATRIX_STACK_DEPTH,
-  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_CONSTANT_ALPHA,
-  gl_CONSTANT_BORDER,
-  gl_CONSTANT_COLOR,
-  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_FUNC_ADD,
-  gl_FUNC_REVERSE_SUBTRACT,
-  gl_FUNC_SUBTRACT,
-  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_MAX,
-  gl_MAX_COLOR_MATRIX_STACK_DEPTH,
-  gl_MAX_CONVOLUTION_HEIGHT,
-  gl_MAX_CONVOLUTION_WIDTH,
-  gl_MIN,
-  gl_MINMAX,
-  gl_MINMAX_FORMAT,
-  gl_MINMAX_SINK,
-  gl_ONE_MINUS_CONSTANT_ALPHA,
-  gl_ONE_MINUS_CONSTANT_COLOR,
-  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_PROXY_COLOR_TABLE,
-  gl_PROXY_HISTOGRAM,
-  gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE,
-  gl_PROXY_POST_CONVOLUTION_COLOR_TABLE,
-  gl_REDUCE,
-  gl_REPLICATE_BORDER,
-  gl_SEPARABLE_2D,
-  gl_TABLE_TOO_LARGE,
-  -- * Functions
-  glBlendColor,
-  glBlendEquation,
-  glColorSubTable,
-  glColorTable,
-  glColorTableParameterfv,
-  glColorTableParameteriv,
-  glConvolutionFilter1D,
-  glConvolutionFilter2D,
-  glConvolutionParameterf,
-  glConvolutionParameterfv,
-  glConvolutionParameteri,
-  glConvolutionParameteriv,
-  glCopyColorSubTable,
-  glCopyColorTable,
-  glCopyConvolutionFilter1D,
-  glCopyConvolutionFilter2D,
-  glGetColorTable,
-  glGetColorTableParameterfv,
-  glGetColorTableParameteriv,
-  glGetConvolutionFilter,
-  glGetConvolutionParameterfv,
-  glGetConvolutionParameteriv,
-  glGetHistogram,
-  glGetHistogramParameterfv,
-  glGetHistogramParameteriv,
-  glGetMinmax,
-  glGetMinmaxParameterfv,
-  glGetMinmaxParameteriv,
-  glGetSeparableFilter,
-  glHistogram,
-  glMinmax,
-  glResetHistogram,
-  glResetMinmax,
-  glSeparableFilter2D
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ImagingCore.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ImagingCore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ImagingCore.hs
+++ /dev/null
@@ -1,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ImagingCore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ImagingCore (
-  -- * Extension Support
-  glGetARBImaging,
-  gl_ARB_imaging,
-  -- * Enums
-  gl_BLEND_COLOR,
-  gl_BLEND_EQUATION,
-  gl_CONSTANT_ALPHA,
-  gl_CONSTANT_COLOR,
-  gl_FUNC_ADD,
-  gl_FUNC_REVERSE_SUBTRACT,
-  gl_FUNC_SUBTRACT,
-  gl_MAX,
-  gl_MIN,
-  gl_ONE_MINUS_CONSTANT_ALPHA,
-  gl_ONE_MINUS_CONSTANT_COLOR,
-  -- * Functions
-  glBlendColor,
-  glBlendEquation
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/IndirectParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/IndirectParameters.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/IndirectParameters.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.IndirectParameters (
-  -- * Extension Support
-  glGetARBIndirectParameters,
-  gl_ARB_indirect_parameters,
-  -- * Enums
-  gl_PARAMETER_BUFFER_ARB,
-  gl_PARAMETER_BUFFER_BINDING_ARB,
-  -- * Functions
-  glMultiDrawArraysIndirectCountARB,
-  glMultiDrawElementsIndirectCountARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/InstancedArrays.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.InstancedArrays (
-  -- * Extension Support
-  glGetARBInstancedArrays,
-  gl_ARB_instanced_arrays,
-  -- * Enums
-  gl_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB,
-  -- * Functions
-  glVertexAttribDivisorARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/InternalformatQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/InternalformatQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/InternalformatQuery.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery (
-  -- * Extension Support
-  glGetARBInternalformatQuery,
-  gl_ARB_internalformat_query,
-  -- * Enums
-  gl_NUM_SAMPLE_COUNTS,
-  -- * Functions
-  glGetInternalformativ
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/InternalformatQuery2.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/InternalformatQuery2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/InternalformatQuery2.hs
+++ /dev/null
@@ -1,139 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.InternalformatQuery2 (
-  -- * Extension Support
-  glGetARBInternalformatQuery2,
-  gl_ARB_internalformat_query2,
-  -- * Enums
-  gl_AUTO_GENERATE_MIPMAP,
-  gl_CAVEAT_SUPPORT,
-  gl_CLEAR_BUFFER,
-  gl_COLOR_COMPONENTS,
-  gl_COLOR_ENCODING,
-  gl_COLOR_RENDERABLE,
-  gl_COMPUTE_TEXTURE,
-  gl_DEPTH_COMPONENTS,
-  gl_DEPTH_RENDERABLE,
-  gl_FILTER,
-  gl_FRAGMENT_TEXTURE,
-  gl_FRAMEBUFFER_BLEND,
-  gl_FRAMEBUFFER_RENDERABLE,
-  gl_FRAMEBUFFER_RENDERABLE_LAYERED,
-  gl_FULL_SUPPORT,
-  gl_GEOMETRY_TEXTURE,
-  gl_GET_TEXTURE_IMAGE_FORMAT,
-  gl_GET_TEXTURE_IMAGE_TYPE,
-  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_FORMAT_COMPATIBILITY_TYPE,
-  gl_IMAGE_PIXEL_FORMAT,
-  gl_IMAGE_PIXEL_TYPE,
-  gl_IMAGE_TEXEL_SIZE,
-  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_MANUAL_GENERATE_MIPMAP,
-  gl_MAX_COMBINED_DIMENSIONS,
-  gl_MAX_DEPTH,
-  gl_MAX_HEIGHT,
-  gl_MAX_LAYERS,
-  gl_MAX_WIDTH,
-  gl_MIPMAP,
-  gl_NUM_SAMPLE_COUNTS,
-  gl_READ_PIXELS,
-  gl_READ_PIXELS_FORMAT,
-  gl_READ_PIXELS_TYPE,
-  gl_RENDERBUFFER,
-  gl_SAMPLES,
-  gl_SHADER_IMAGE_ATOMIC,
-  gl_SHADER_IMAGE_LOAD,
-  gl_SHADER_IMAGE_STORE,
-  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_SRGB_DECODE_ARB,
-  gl_SRGB_READ,
-  gl_SRGB_WRITE,
-  gl_STENCIL_COMPONENTS,
-  gl_STENCIL_RENDERABLE,
-  gl_TESS_CONTROL_TEXTURE,
-  gl_TESS_EVALUATION_TEXTURE,
-  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_BUFFER,
-  gl_TEXTURE_COMPRESSED,
-  gl_TEXTURE_COMPRESSED_BLOCK_HEIGHT,
-  gl_TEXTURE_COMPRESSED_BLOCK_SIZE,
-  gl_TEXTURE_COMPRESSED_BLOCK_WIDTH,
-  gl_TEXTURE_CUBE_MAP,
-  gl_TEXTURE_CUBE_MAP_ARRAY,
-  gl_TEXTURE_GATHER,
-  gl_TEXTURE_GATHER_SHADOW,
-  gl_TEXTURE_IMAGE_FORMAT,
-  gl_TEXTURE_IMAGE_TYPE,
-  gl_TEXTURE_RECTANGLE,
-  gl_TEXTURE_SHADOW,
-  gl_TEXTURE_VIEW,
-  gl_VERTEX_TEXTURE,
-  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,
-  -- * Functions
-  glGetInternalformati64v
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/InvalidateSubdata.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/InvalidateSubdata.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/InvalidateSubdata.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.InvalidateSubdata (
-  -- * Extension Support
-  glGetARBInvalidateSubdata,
-  gl_ARB_invalidate_subdata,
-  -- * Functions
-  glInvalidateBufferData,
-  glInvalidateBufferSubData,
-  glInvalidateFramebuffer,
-  glInvalidateSubFramebuffer,
-  glInvalidateTexImage,
-  glInvalidateTexSubImage
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferAlignment.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferAlignment.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferAlignment.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferAlignment (
-  -- * Extension Support
-  glGetARBMapBufferAlignment,
-  gl_ARB_map_buffer_alignment,
-  -- * Enums
-  gl_MIN_MAP_BUFFER_ALIGNMENT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferRange.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferRange.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MapBufferRange.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.MapBufferRange (
-  -- * Extension Support
-  glGetARBMapBufferRange,
-  gl_ARB_map_buffer_range,
-  -- * Enums
-  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,
-  -- * Functions
-  glFlushMappedBufferRange,
-  glMapBufferRange
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MatrixPalette.hs
+++ /dev/null
@@ -1,38 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.MatrixPalette (
-  -- * Extension Support
-  glGetARBMatrixPalette,
-  gl_ARB_matrix_palette,
-  -- * Enums
-  gl_CURRENT_MATRIX_INDEX_ARB,
-  gl_CURRENT_PALETTE_MATRIX_ARB,
-  gl_MATRIX_INDEX_ARRAY_ARB,
-  gl_MATRIX_INDEX_ARRAY_POINTER_ARB,
-  gl_MATRIX_INDEX_ARRAY_SIZE_ARB,
-  gl_MATRIX_INDEX_ARRAY_STRIDE_ARB,
-  gl_MATRIX_INDEX_ARRAY_TYPE_ARB,
-  gl_MATRIX_PALETTE_ARB,
-  gl_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB,
-  gl_MAX_PALETTE_MATRICES_ARB,
-  -- * Functions
-  glCurrentPaletteMatrixARB,
-  glMatrixIndexPointerARB,
-  glMatrixIndexubvARB,
-  glMatrixIndexuivARB,
-  glMatrixIndexusvARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MultiBind.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MultiBind.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MultiBind.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MultiBind
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.MultiBind (
-  -- * Extension Support
-  glGetARBMultiBind,
-  gl_ARB_multi_bind,
-  -- * Functions
-  glBindBuffersBase,
-  glBindBuffersRange,
-  glBindImageTextures,
-  glBindSamplers,
-  glBindTextures,
-  glBindVertexBuffers
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/MultiDrawIndirect.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/MultiDrawIndirect.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/MultiDrawIndirect.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.MultiDrawIndirect (
-  -- * Extension Support
-  glGetARBMultiDrawIndirect,
-  gl_ARB_multi_draw_indirect,
-  -- * Functions
-  glMultiDrawArraysIndirect,
-  glMultiDrawElementsIndirect
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multisample.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Multisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multisample.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Multisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Multisample (
-  -- * Extension Support
-  glGetARBMultisample,
-  gl_ARB_multisample,
-  -- * Enums
-  gl_MULTISAMPLE_ARB,
-  gl_MULTISAMPLE_BIT_ARB,
-  gl_SAMPLES_ARB,
-  gl_SAMPLE_ALPHA_TO_COVERAGE_ARB,
-  gl_SAMPLE_ALPHA_TO_ONE_ARB,
-  gl_SAMPLE_BUFFERS_ARB,
-  gl_SAMPLE_COVERAGE_ARB,
-  gl_SAMPLE_COVERAGE_INVERT_ARB,
-  gl_SAMPLE_COVERAGE_VALUE_ARB,
-  -- * Functions
-  glSampleCoverageARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multitexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Multitexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Multitexture.hs
+++ /dev/null
@@ -1,92 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Multitexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Multitexture (
-  -- * Extension Support
-  glGetARBMultitexture,
-  gl_ARB_multitexture,
-  -- * Enums
-  gl_ACTIVE_TEXTURE_ARB,
-  gl_CLIENT_ACTIVE_TEXTURE_ARB,
-  gl_MAX_TEXTURE_UNITS_ARB,
-  gl_TEXTURE0_ARB,
-  gl_TEXTURE10_ARB,
-  gl_TEXTURE11_ARB,
-  gl_TEXTURE12_ARB,
-  gl_TEXTURE13_ARB,
-  gl_TEXTURE14_ARB,
-  gl_TEXTURE15_ARB,
-  gl_TEXTURE16_ARB,
-  gl_TEXTURE17_ARB,
-  gl_TEXTURE18_ARB,
-  gl_TEXTURE19_ARB,
-  gl_TEXTURE1_ARB,
-  gl_TEXTURE20_ARB,
-  gl_TEXTURE21_ARB,
-  gl_TEXTURE22_ARB,
-  gl_TEXTURE23_ARB,
-  gl_TEXTURE24_ARB,
-  gl_TEXTURE25_ARB,
-  gl_TEXTURE26_ARB,
-  gl_TEXTURE27_ARB,
-  gl_TEXTURE28_ARB,
-  gl_TEXTURE29_ARB,
-  gl_TEXTURE2_ARB,
-  gl_TEXTURE30_ARB,
-  gl_TEXTURE31_ARB,
-  gl_TEXTURE3_ARB,
-  gl_TEXTURE4_ARB,
-  gl_TEXTURE5_ARB,
-  gl_TEXTURE6_ARB,
-  gl_TEXTURE7_ARB,
-  gl_TEXTURE8_ARB,
-  gl_TEXTURE9_ARB,
-  -- * Functions
-  glActiveTextureARB,
-  glClientActiveTextureARB,
-  glMultiTexCoord1dARB,
-  glMultiTexCoord1dvARB,
-  glMultiTexCoord1fARB,
-  glMultiTexCoord1fvARB,
-  glMultiTexCoord1iARB,
-  glMultiTexCoord1ivARB,
-  glMultiTexCoord1sARB,
-  glMultiTexCoord1svARB,
-  glMultiTexCoord2dARB,
-  glMultiTexCoord2dvARB,
-  glMultiTexCoord2fARB,
-  glMultiTexCoord2fvARB,
-  glMultiTexCoord2iARB,
-  glMultiTexCoord2ivARB,
-  glMultiTexCoord2sARB,
-  glMultiTexCoord2svARB,
-  glMultiTexCoord3dARB,
-  glMultiTexCoord3dvARB,
-  glMultiTexCoord3fARB,
-  glMultiTexCoord3fvARB,
-  glMultiTexCoord3iARB,
-  glMultiTexCoord3ivARB,
-  glMultiTexCoord3sARB,
-  glMultiTexCoord3svARB,
-  glMultiTexCoord4dARB,
-  glMultiTexCoord4dvARB,
-  glMultiTexCoord4fARB,
-  glMultiTexCoord4fvARB,
-  glMultiTexCoord4iARB,
-  glMultiTexCoord4ivARB,
-  glMultiTexCoord4sARB,
-  glMultiTexCoord4svARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery.hs
+++ /dev/null
@@ -1,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery (
-  -- * Extension Support
-  glGetARBOcclusionQuery,
-  gl_ARB_occlusion_query,
-  -- * Enums
-  gl_CURRENT_QUERY_ARB,
-  gl_QUERY_COUNTER_BITS_ARB,
-  gl_QUERY_RESULT_ARB,
-  gl_QUERY_RESULT_AVAILABLE_ARB,
-  gl_SAMPLES_PASSED_ARB,
-  -- * Functions
-  glBeginQueryARB,
-  glDeleteQueriesARB,
-  glEndQueryARB,
-  glGenQueriesARB,
-  glGetQueryObjectivARB,
-  glGetQueryObjectuivARB,
-  glGetQueryivARB,
-  glIsQueryARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/OcclusionQuery2.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.OcclusionQuery2 (
-  -- * Extension Support
-  glGetARBOcclusionQuery2,
-  gl_ARB_occlusion_query2,
-  -- * Enums
-  gl_ANY_SAMPLES_PASSED
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ParallelShaderCompile.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ParallelShaderCompile.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ParallelShaderCompile.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ParallelShaderCompile
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ParallelShaderCompile (
-  -- * Extension Support
-  glGetARBParallelShaderCompile,
-  gl_ARB_parallel_shader_compile,
-  -- * Enums
-  gl_COMPLETION_STATUS_ARB,
-  gl_MAX_SHADER_COMPILER_THREADS_ARB,
-  -- * Functions
-  glMaxShaderCompilerThreadsARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/PipelineStatisticsQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/PipelineStatisticsQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/PipelineStatisticsQuery.hs
+++ /dev/null
@@ -1,32 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PipelineStatisticsQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.PipelineStatisticsQuery (
-  -- * Extension Support
-  glGetARBPipelineStatisticsQuery,
-  gl_ARB_pipeline_statistics_query,
-  -- * Enums
-  gl_CLIPPING_INPUT_PRIMITIVES_ARB,
-  gl_CLIPPING_OUTPUT_PRIMITIVES_ARB,
-  gl_COMPUTE_SHADER_INVOCATIONS_ARB,
-  gl_FRAGMENT_SHADER_INVOCATIONS_ARB,
-  gl_GEOMETRY_SHADER_INVOCATIONS,
-  gl_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB,
-  gl_PRIMITIVES_SUBMITTED_ARB,
-  gl_TESS_CONTROL_SHADER_PATCHES_ARB,
-  gl_TESS_EVALUATION_SHADER_INVOCATIONS_ARB,
-  gl_VERTEX_SHADER_INVOCATIONS_ARB,
-  gl_VERTICES_SUBMITTED_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/PixelBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/PixelBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/PixelBufferObject.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.PixelBufferObject (
-  -- * Extension Support
-  glGetARBPixelBufferObject,
-  gl_ARB_pixel_buffer_object,
-  -- * Enums
-  gl_PIXEL_PACK_BUFFER_ARB,
-  gl_PIXEL_PACK_BUFFER_BINDING_ARB,
-  gl_PIXEL_UNPACK_BUFFER_ARB,
-  gl_PIXEL_UNPACK_BUFFER_BINDING_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/PointParameters.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointParameters.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PointParameters
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.PointParameters (
-  -- * Extension Support
-  glGetARBPointParameters,
-  gl_ARB_point_parameters,
-  -- * Enums
-  gl_POINT_DISTANCE_ATTENUATION_ARB,
-  gl_POINT_FADE_THRESHOLD_SIZE_ARB,
-  gl_POINT_SIZE_MAX_ARB,
-  gl_POINT_SIZE_MIN_ARB,
-  -- * Functions
-  glPointParameterfARB,
-  glPointParameterfvARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointSprite.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/PointSprite.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/PointSprite.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.PointSprite
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.PointSprite (
-  -- * Extension Support
-  glGetARBPointSprite,
-  gl_ARB_point_sprite,
-  -- * Enums
-  gl_COORD_REPLACE_ARB,
-  gl_POINT_SPRITE_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProgramInterfaceQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProgramInterfaceQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProgramInterfaceQuery.hs
+++ /dev/null
@@ -1,79 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ProgramInterfaceQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ProgramInterfaceQuery (
-  -- * Extension Support
-  glGetARBProgramInterfaceQuery,
-  gl_ARB_program_interface_query,
-  -- * Enums
-  gl_ACTIVE_RESOURCES,
-  gl_ACTIVE_VARIABLES,
-  gl_ARRAY_SIZE,
-  gl_ARRAY_STRIDE,
-  gl_ATOMIC_COUNTER_BUFFER,
-  gl_ATOMIC_COUNTER_BUFFER_INDEX,
-  gl_BLOCK_INDEX,
-  gl_BUFFER_BINDING,
-  gl_BUFFER_DATA_SIZE,
-  gl_BUFFER_VARIABLE,
-  gl_COMPATIBLE_SUBROUTINES,
-  gl_COMPUTE_SUBROUTINE,
-  gl_COMPUTE_SUBROUTINE_UNIFORM,
-  gl_FRAGMENT_SUBROUTINE,
-  gl_FRAGMENT_SUBROUTINE_UNIFORM,
-  gl_GEOMETRY_SUBROUTINE,
-  gl_GEOMETRY_SUBROUTINE_UNIFORM,
-  gl_IS_PER_PATCH,
-  gl_IS_ROW_MAJOR,
-  gl_LOCATION,
-  gl_LOCATION_INDEX,
-  gl_MATRIX_STRIDE,
-  gl_MAX_NAME_LENGTH,
-  gl_MAX_NUM_ACTIVE_VARIABLES,
-  gl_MAX_NUM_COMPATIBLE_SUBROUTINES,
-  gl_NAME_LENGTH,
-  gl_NUM_ACTIVE_VARIABLES,
-  gl_NUM_COMPATIBLE_SUBROUTINES,
-  gl_OFFSET,
-  gl_PROGRAM_INPUT,
-  gl_PROGRAM_OUTPUT,
-  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_SHADER_STORAGE_BLOCK,
-  gl_TESS_CONTROL_SUBROUTINE,
-  gl_TESS_CONTROL_SUBROUTINE_UNIFORM,
-  gl_TESS_EVALUATION_SUBROUTINE,
-  gl_TESS_EVALUATION_SUBROUTINE_UNIFORM,
-  gl_TOP_LEVEL_ARRAY_SIZE,
-  gl_TOP_LEVEL_ARRAY_STRIDE,
-  gl_TRANSFORM_FEEDBACK_VARYING,
-  gl_TYPE,
-  gl_UNIFORM,
-  gl_UNIFORM_BLOCK,
-  gl_VERTEX_SUBROUTINE,
-  gl_VERTEX_SUBROUTINE_UNIFORM,
-  -- * Functions
-  glGetProgramInterfaceiv,
-  glGetProgramResourceIndex,
-  glGetProgramResourceLocation,
-  glGetProgramResourceLocationIndex,
-  glGetProgramResourceName,
-  glGetProgramResourceiv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ProvokingVertex.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ProvokingVertex (
-  -- * Extension Support
-  glGetARBProvokingVertex,
-  gl_ARB_provoking_vertex,
-  -- * Enums
-  gl_FIRST_VERTEX_CONVENTION,
-  gl_LAST_VERTEX_CONVENTION,
-  gl_PROVOKING_VERTEX,
-  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION,
-  -- * Functions
-  glProvokingVertex
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/QueryBufferObject.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.QueryBufferObject (
-  -- * Extension Support
-  glGetARBQueryBufferObject,
-  gl_ARB_query_buffer_object,
-  -- * Enums
-  gl_QUERY_BUFFER,
-  gl_QUERY_BUFFER_BARRIER_BIT,
-  gl_QUERY_BUFFER_BINDING,
-  gl_QUERY_RESULT_NO_WAIT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/RobustnessCompatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/RobustnessCompatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/RobustnessCompatibility.hs
+++ /dev/null
@@ -1,51 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCompatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCompatibility (
-  -- * Extension Support
-  glGetARBRobustness,
-  gl_ARB_robustness,
-  -- * Enums
-  gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB,
-  gl_GUILTY_CONTEXT_RESET_ARB,
-  gl_INNOCENT_CONTEXT_RESET_ARB,
-  gl_LOSE_CONTEXT_ON_RESET_ARB,
-  gl_NO_ERROR,
-  gl_NO_RESET_NOTIFICATION_ARB,
-  gl_RESET_NOTIFICATION_STRATEGY_ARB,
-  gl_UNKNOWN_CONTEXT_RESET_ARB,
-  -- * Functions
-  glGetGraphicsResetStatusARB,
-  glGetnColorTableARB,
-  glGetnCompressedTexImageARB,
-  glGetnConvolutionFilterARB,
-  glGetnHistogramARB,
-  glGetnMapdvARB,
-  glGetnMapfvARB,
-  glGetnMapivARB,
-  glGetnMinmaxARB,
-  glGetnPixelMapfvARB,
-  glGetnPixelMapuivARB,
-  glGetnPixelMapusvARB,
-  glGetnPolygonStippleARB,
-  glGetnSeparableFilterARB,
-  glGetnTexImageARB,
-  glGetnUniformdvARB,
-  glGetnUniformfvARB,
-  glGetnUniformivARB,
-  glGetnUniformuivARB,
-  glReadnPixelsARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/RobustnessCore.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/RobustnessCore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/RobustnessCore.hs
+++ /dev/null
@@ -1,39 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.RobustnessCore (
-  -- * Extension Support
-  glGetARBRobustness,
-  gl_ARB_robustness,
-  -- * Enums
-  gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB,
-  gl_GUILTY_CONTEXT_RESET_ARB,
-  gl_INNOCENT_CONTEXT_RESET_ARB,
-  gl_LOSE_CONTEXT_ON_RESET_ARB,
-  gl_NO_ERROR,
-  gl_NO_RESET_NOTIFICATION_ARB,
-  gl_RESET_NOTIFICATION_STRATEGY_ARB,
-  gl_UNKNOWN_CONTEXT_RESET_ARB,
-  -- * Functions
-  glGetGraphicsResetStatusARB,
-  glGetnCompressedTexImageARB,
-  glGetnTexImageARB,
-  glGetnUniformdvARB,
-  glGetnUniformfvARB,
-  glGetnUniformivARB,
-  glGetnUniformuivARB,
-  glReadnPixelsARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleLocations.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleLocations.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleLocations.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SampleLocations
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SampleLocations (
-  -- * Extension Support
-  glGetARBSampleLocations,
-  gl_ARB_sample_locations,
-  -- * Enums
-  gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB,
-  gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB,
-  gl_PROGRAMMABLE_SAMPLE_LOCATION_ARB,
-  gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB,
-  gl_SAMPLE_LOCATION_ARB,
-  gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB,
-  gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB,
-  gl_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB,
-  -- * Functions
-  glEvaluateDepthValuesARB,
-  glFramebufferSampleLocationsfvARB,
-  glNamedFramebufferSampleLocationsfvARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SampleShading.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SampleShading
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SampleShading (
-  -- * Extension Support
-  glGetARBSampleShading,
-  gl_ARB_sample_shading,
-  -- * Enums
-  gl_MIN_SAMPLE_SHADING_VALUE_ARB,
-  gl_SAMPLE_SHADING_ARB,
-  -- * Functions
-  glMinSampleShadingARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SamplerObjects.hs
+++ /dev/null
@@ -1,38 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SamplerObjects (
-  -- * Extension Support
-  glGetARBSamplerObjects,
-  gl_ARB_sampler_objects,
-  -- * Enums
-  gl_SAMPLER_BINDING,
-  -- * Functions
-  glBindSampler,
-  glDeleteSamplers,
-  glGenSamplers,
-  glGetSamplerParameterIiv,
-  glGetSamplerParameterIuiv,
-  glGetSamplerParameterfv,
-  glGetSamplerParameteriv,
-  glIsSampler,
-  glSamplerParameterIiv,
-  glSamplerParameterIuiv,
-  glSamplerParameterf,
-  glSamplerParameterfv,
-  glSamplerParameteri,
-  glSamplerParameteriv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubeMap.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubeMap (
-  -- * Extension Support
-  glGetARBSeamlessCubeMap,
-  gl_ARB_seamless_cube_map,
-  -- * Enums
-  gl_TEXTURE_CUBE_MAP_SEAMLESS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubemapPerTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubemapPerTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeamlessCubemapPerTexture.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SeamlessCubemapPerTexture (
-  -- * Extension Support
-  glGetARBSeamlessCubemapPerTexture,
-  gl_ARB_seamless_cubemap_per_texture,
-  -- * Enums
-  gl_TEXTURE_CUBE_MAP_SEAMLESS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SeparateShaderObjects.hs
+++ /dev/null
@@ -1,92 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SeparateShaderObjects (
-  -- * Extension Support
-  glGetARBSeparateShaderObjects,
-  gl_ARB_separate_shader_objects,
-  -- * Enums
-  gl_ACTIVE_PROGRAM,
-  gl_ALL_SHADER_BITS,
-  gl_FRAGMENT_SHADER_BIT,
-  gl_GEOMETRY_SHADER_BIT,
-  gl_PROGRAM_PIPELINE_BINDING,
-  gl_PROGRAM_SEPARABLE,
-  gl_TESS_CONTROL_SHADER_BIT,
-  gl_TESS_EVALUATION_SHADER_BIT,
-  gl_VERTEX_SHADER_BIT,
-  -- * Functions
-  glActiveShaderProgram,
-  glBindProgramPipeline,
-  glCreateShaderProgramv,
-  glDeleteProgramPipelines,
-  glGenProgramPipelines,
-  glGetProgramPipelineInfoLog,
-  glGetProgramPipelineiv,
-  glIsProgramPipeline,
-  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,
-  glUseProgramStages,
-  glValidateProgramPipeline
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderAtomicCounters.hs
+++ /dev/null
@@ -1,53 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderAtomicCounters (
-  -- * Extension Support
-  glGetARBShaderAtomicCounters,
-  gl_ARB_shader_atomic_counters,
-  -- * Enums
-  gl_ACTIVE_ATOMIC_COUNTER_BUFFERS,
-  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_MAX_ATOMIC_COUNTER_BUFFER_BINDINGS,
-  gl_MAX_ATOMIC_COUNTER_BUFFER_SIZE,
-  gl_MAX_COMBINED_ATOMIC_COUNTERS,
-  gl_MAX_COMBINED_ATOMIC_COUNTER_BUFFERS,
-  gl_MAX_FRAGMENT_ATOMIC_COUNTERS,
-  gl_MAX_FRAGMENT_ATOMIC_COUNTER_BUFFERS,
-  gl_MAX_GEOMETRY_ATOMIC_COUNTERS,
-  gl_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS,
-  gl_MAX_TESS_CONTROL_ATOMIC_COUNTERS,
-  gl_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS,
-  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTERS,
-  gl_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS,
-  gl_MAX_VERTEX_ATOMIC_COUNTERS,
-  gl_MAX_VERTEX_ATOMIC_COUNTER_BUFFERS,
-  gl_UNIFORM_ATOMIC_COUNTER_BUFFER_INDEX,
-  gl_UNSIGNED_INT_ATOMIC_COUNTER,
-  -- * Functions
-  glGetActiveAtomicCounterBufferiv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderImageLoadStore.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderImageLoadStore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderImageLoadStore.hs
+++ /dev/null
@@ -1,89 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageLoadStore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderImageLoadStore (
-  -- * Extension Support
-  glGetARBShaderImageLoadStore,
-  gl_ARB_shader_image_load_store,
-  -- * Enums
-  gl_ALL_BARRIER_BITS,
-  gl_ATOMIC_COUNTER_BARRIER_BIT,
-  gl_BUFFER_UPDATE_BARRIER_BIT,
-  gl_COMMAND_BARRIER_BIT,
-  gl_ELEMENT_ARRAY_BARRIER_BIT,
-  gl_FRAMEBUFFER_BARRIER_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_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_MAX_COMBINED_IMAGE_UNIFORMS,
-  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
-  gl_MAX_FRAGMENT_IMAGE_UNIFORMS,
-  gl_MAX_GEOMETRY_IMAGE_UNIFORMS,
-  gl_MAX_IMAGE_SAMPLES,
-  gl_MAX_IMAGE_UNITS,
-  gl_MAX_TESS_CONTROL_IMAGE_UNIFORMS,
-  gl_MAX_TESS_EVALUATION_IMAGE_UNIFORMS,
-  gl_MAX_VERTEX_IMAGE_UNIFORMS,
-  gl_PIXEL_BUFFER_BARRIER_BIT,
-  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT,
-  gl_TEXTURE_FETCH_BARRIER_BIT,
-  gl_TEXTURE_UPDATE_BARRIER_BIT,
-  gl_TRANSFORM_FEEDBACK_BARRIER_BIT,
-  gl_UNIFORM_BARRIER_BIT,
-  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_VERTEX_ATTRIB_ARRAY_BARRIER_BIT,
-  -- * Functions
-  glBindImageTexture,
-  glMemoryBarrier
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderObjects.hs
+++ /dev/null
@@ -1,96 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderObjects (
-  -- * Extension Support
-  glGetARBShaderObjects,
-  gl_ARB_shader_objects,
-  -- * Enums
-  gl_BOOL_ARB,
-  gl_BOOL_VEC2_ARB,
-  gl_BOOL_VEC3_ARB,
-  gl_BOOL_VEC4_ARB,
-  gl_FLOAT_MAT2_ARB,
-  gl_FLOAT_MAT3_ARB,
-  gl_FLOAT_MAT4_ARB,
-  gl_FLOAT_VEC2_ARB,
-  gl_FLOAT_VEC3_ARB,
-  gl_FLOAT_VEC4_ARB,
-  gl_INT_VEC2_ARB,
-  gl_INT_VEC3_ARB,
-  gl_INT_VEC4_ARB,
-  gl_OBJECT_ACTIVE_UNIFORMS_ARB,
-  gl_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB,
-  gl_OBJECT_ATTACHED_OBJECTS_ARB,
-  gl_OBJECT_COMPILE_STATUS_ARB,
-  gl_OBJECT_DELETE_STATUS_ARB,
-  gl_OBJECT_INFO_LOG_LENGTH_ARB,
-  gl_OBJECT_LINK_STATUS_ARB,
-  gl_OBJECT_SHADER_SOURCE_LENGTH_ARB,
-  gl_OBJECT_SUBTYPE_ARB,
-  gl_OBJECT_TYPE_ARB,
-  gl_OBJECT_VALIDATE_STATUS_ARB,
-  gl_PROGRAM_OBJECT_ARB,
-  gl_SAMPLER_1D_ARB,
-  gl_SAMPLER_1D_SHADOW_ARB,
-  gl_SAMPLER_2D_ARB,
-  gl_SAMPLER_2D_RECT_ARB,
-  gl_SAMPLER_2D_RECT_SHADOW_ARB,
-  gl_SAMPLER_2D_SHADOW_ARB,
-  gl_SAMPLER_3D_ARB,
-  gl_SAMPLER_CUBE_ARB,
-  gl_SHADER_OBJECT_ARB,
-  -- * Functions
-  glAttachObjectARB,
-  glCompileShaderARB,
-  glCreateProgramObjectARB,
-  glCreateShaderObjectARB,
-  glDeleteObjectARB,
-  glDetachObjectARB,
-  glGetActiveUniformARB,
-  glGetAttachedObjectsARB,
-  glGetHandleARB,
-  glGetInfoLogARB,
-  glGetObjectParameterfvARB,
-  glGetObjectParameterivARB,
-  glGetShaderSourceARB,
-  glGetUniformLocationARB,
-  glGetUniformfvARB,
-  glGetUniformivARB,
-  glLinkProgramARB,
-  glShaderSourceARB,
-  glUniform1fARB,
-  glUniform1fvARB,
-  glUniform1iARB,
-  glUniform1ivARB,
-  glUniform2fARB,
-  glUniform2fvARB,
-  glUniform2iARB,
-  glUniform2ivARB,
-  glUniform3fARB,
-  glUniform3fvARB,
-  glUniform3iARB,
-  glUniform3ivARB,
-  glUniform4fARB,
-  glUniform4fvARB,
-  glUniform4iARB,
-  glUniform4ivARB,
-  glUniformMatrix2fvARB,
-  glUniformMatrix3fvARB,
-  glUniformMatrix4fvARB,
-  glUseProgramObjectARB,
-  glValidateProgramARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderStorageBufferObject.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderStorageBufferObject (
-  -- * Extension Support
-  glGetARBShaderStorageBufferObject,
-  gl_ARB_shader_storage_buffer_object,
-  -- * Enums
-  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS,
-  gl_MAX_COMBINED_SHADER_OUTPUT_RESOURCES,
-  gl_MAX_COMBINED_SHADER_STORAGE_BLOCKS,
-  gl_MAX_COMPUTE_SHADER_STORAGE_BLOCKS,
-  gl_MAX_FRAGMENT_SHADER_STORAGE_BLOCKS,
-  gl_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS,
-  gl_MAX_SHADER_STORAGE_BLOCK_SIZE,
-  gl_MAX_SHADER_STORAGE_BUFFER_BINDINGS,
-  gl_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS,
-  gl_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS,
-  gl_MAX_VERTEX_SHADER_STORAGE_BLOCKS,
-  gl_SHADER_STORAGE_BARRIER_BIT,
-  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,
-  -- * Functions
-  glShaderStorageBlockBinding
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShaderSubroutine.hs
+++ /dev/null
@@ -1,42 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShaderSubroutine (
-  -- * Extension Support
-  glGetARBShaderSubroutine,
-  gl_ARB_shader_subroutine,
-  -- * Enums
-  gl_ACTIVE_SUBROUTINES,
-  gl_ACTIVE_SUBROUTINE_MAX_LENGTH,
-  gl_ACTIVE_SUBROUTINE_UNIFORMS,
-  gl_ACTIVE_SUBROUTINE_UNIFORM_LOCATIONS,
-  gl_ACTIVE_SUBROUTINE_UNIFORM_MAX_LENGTH,
-  gl_COMPATIBLE_SUBROUTINES,
-  gl_MAX_SUBROUTINES,
-  gl_MAX_SUBROUTINE_UNIFORM_LOCATIONS,
-  gl_NUM_COMPATIBLE_SUBROUTINES,
-  gl_UNIFORM_NAME_LENGTH,
-  gl_UNIFORM_SIZE,
-  -- * Functions
-  glGetActiveSubroutineName,
-  glGetActiveSubroutineUniformName,
-  glGetActiveSubroutineUniformiv,
-  glGetProgramStageiv,
-  glGetSubroutineIndex,
-  glGetSubroutineUniformLocation,
-  glGetUniformSubroutineuiv,
-  glUniformSubroutinesuiv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguage100.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguage100.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguage100.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguage100 (
-  -- * Extension Support
-  glGetARBShadingLanguage100,
-  gl_ARB_shading_language_100,
-  -- * Enums
-  gl_SHADING_LANGUAGE_VERSION_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadingLanguageInclude.hs
+++ /dev/null
@@ -1,32 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShadingLanguageInclude (
-  -- * Extension Support
-  glGetARBShadingLanguageInclude,
-  gl_ARB_shading_language_include,
-  -- * Enums
-  gl_NAMED_STRING_LENGTH_ARB,
-  gl_NAMED_STRING_TYPE_ARB,
-  gl_SHADER_INCLUDE_ARB,
-  -- * Functions
-  glCompileShaderIncludeARB,
-  glDeleteNamedStringARB,
-  glGetNamedStringARB,
-  glGetNamedStringivARB,
-  glIsNamedStringARB,
-  glNamedStringARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Shadow.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Shadow.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Shadow.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Shadow
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Shadow (
-  -- * Extension Support
-  glGetARBShadow,
-  gl_ARB_shadow,
-  -- * Enums
-  gl_COMPARE_R_TO_TEXTURE_ARB,
-  gl_TEXTURE_COMPARE_FUNC_ARB,
-  gl_TEXTURE_COMPARE_MODE_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ShadowAmbient.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ShadowAmbient (
-  -- * Extension Support
-  glGetARBShadowAmbient,
-  gl_ARB_shadow_ambient,
-  -- * Enums
-  gl_TEXTURE_COMPARE_FAIL_VALUE_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SparseBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SparseBuffer.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SparseBuffer.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SparseBuffer
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SparseBuffer (
-  -- * Extension Support
-  glGetARBSparseBuffer,
-  gl_ARB_sparse_buffer,
-  -- * Enums
-  gl_SPARSE_BUFFER_PAGE_SIZE_ARB,
-  gl_SPARSE_STORAGE_BIT_ARB,
-  -- * Functions
-  glBufferPageCommitmentARB,
-  glNamedBufferPageCommitmentARB,
-  glNamedBufferPageCommitmentEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/SparseTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/SparseTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/SparseTexture.hs
+++ /dev/null
@@ -1,35 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.SparseTexture (
-  -- * Extension Support
-  glGetARBSparseTexture,
-  gl_ARB_sparse_texture,
-  -- * Enums
-  gl_MAX_SPARSE_3D_TEXTURE_SIZE_ARB,
-  gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB,
-  gl_MAX_SPARSE_TEXTURE_SIZE_ARB,
-  gl_NUM_SPARSE_LEVELS_ARB,
-  gl_NUM_VIRTUAL_PAGE_SIZES_ARB,
-  gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB,
-  gl_TEXTURE_SPARSE_ARB,
-  gl_VIRTUAL_PAGE_SIZE_INDEX_ARB,
-  gl_VIRTUAL_PAGE_SIZE_X_ARB,
-  gl_VIRTUAL_PAGE_SIZE_Y_ARB,
-  gl_VIRTUAL_PAGE_SIZE_Z_ARB,
-  -- * Functions
-  glTexPageCommitmentARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/StencilTexturing.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/StencilTexturing.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/StencilTexturing.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.StencilTexturing (
-  -- * Extension Support
-  glGetARBStencilTexturing,
-  gl_ARB_stencil_texturing,
-  -- * Enums
-  gl_DEPTH_STENCIL_TEXTURE_MODE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/Sync.hs
+++ /dev/null
@@ -1,45 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.Sync
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.Sync (
-  -- * Extension Support
-  glGetARBSync,
-  gl_ARB_sync,
-  -- * Enums
-  gl_ALREADY_SIGNALED,
-  gl_CONDITION_SATISFIED,
-  gl_MAX_SERVER_WAIT_TIMEOUT,
-  gl_OBJECT_TYPE,
-  gl_SIGNALED,
-  gl_SYNC_CONDITION,
-  gl_SYNC_FENCE,
-  gl_SYNC_FLAGS,
-  gl_SYNC_FLUSH_COMMANDS_BIT,
-  gl_SYNC_GPU_COMMANDS_COMPLETE,
-  gl_SYNC_STATUS,
-  gl_TIMEOUT_EXPIRED,
-  gl_TIMEOUT_IGNORED,
-  gl_UNSIGNALED,
-  gl_WAIT_FAILED,
-  -- * Functions
-  glClientWaitSync,
-  glDeleteSync,
-  glFenceSync,
-  glGetInteger64v,
-  glGetSynciv,
-  glIsSync,
-  glWaitSync
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TessellationShader.hs
+++ /dev/null
@@ -1,62 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TessellationShader (
-  -- * Extension Support
-  glGetARBTessellationShader,
-  gl_ARB_tessellation_shader,
-  -- * Enums
-  gl_CCW,
-  gl_CW,
-  gl_EQUAL,
-  gl_FRACTIONAL_EVEN,
-  gl_FRACTIONAL_ODD,
-  gl_ISOLINES,
-  gl_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS,
-  gl_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS,
-  gl_MAX_PATCH_VERTICES,
-  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_PATCHES,
-  gl_PATCH_DEFAULT_INNER_LEVEL,
-  gl_PATCH_DEFAULT_OUTER_LEVEL,
-  gl_PATCH_VERTICES,
-  gl_QUADS,
-  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_TRIANGLES,
-  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_CONTROL_SHADER,
-  gl_UNIFORM_BLOCK_REFERENCED_BY_TESS_EVALUATION_SHADER,
-  -- * Functions
-  glPatchParameterfv,
-  glPatchParameteri
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBarrier.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBarrier.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBarrier.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBarrier
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureBarrier (
-  -- * Extension Support
-  glGetARBTextureBarrier,
-  gl_ARB_texture_barrier,
-  -- * Functions
-  glTextureBarrier
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBorderClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBorderClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBorderClamp.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureBorderClamp (
-  -- * Extension Support
-  glGetARBTextureBorderClamp,
-  gl_ARB_texture_border_clamp,
-  -- * Enums
-  gl_CLAMP_TO_BORDER_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObject.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObject (
-  -- * Extension Support
-  glGetARBTextureBufferObject,
-  gl_ARB_texture_buffer_object,
-  -- * Enums
-  gl_MAX_TEXTURE_BUFFER_SIZE_ARB,
-  gl_TEXTURE_BINDING_BUFFER_ARB,
-  gl_TEXTURE_BUFFER_ARB,
-  gl_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB,
-  gl_TEXTURE_BUFFER_FORMAT_ARB,
-  -- * Functions
-  glTexBufferARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObjectRGB32.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObjectRGB32.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferObjectRGB32.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferObjectRGB32 (
-  -- * Extension Support
-  glGetARBTextureBufferObjectRGB32,
-  gl_ARB_texture_buffer_object_rgb32,
-  -- * Enums
-  gl_RGB32F,
-  gl_RGB32I,
-  gl_RGB32UI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferRange.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferRange.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureBufferRange.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureBufferRange (
-  -- * Extension Support
-  glGetARBTextureBufferRange,
-  gl_ARB_texture_buffer_range,
-  -- * Enums
-  gl_TEXTURE_BUFFER_OFFSET,
-  gl_TEXTURE_BUFFER_OFFSET_ALIGNMENT,
-  gl_TEXTURE_BUFFER_SIZE,
-  -- * Functions
-  glTexBufferRange
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompression.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompression.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompression.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompression (
-  -- * Extension Support
-  glGetARBTextureCompression,
-  gl_ARB_texture_compression,
-  -- * Enums
-  gl_COMPRESSED_ALPHA_ARB,
-  gl_COMPRESSED_INTENSITY_ARB,
-  gl_COMPRESSED_LUMINANCE_ALPHA_ARB,
-  gl_COMPRESSED_LUMINANCE_ARB,
-  gl_COMPRESSED_RGBA_ARB,
-  gl_COMPRESSED_RGB_ARB,
-  gl_COMPRESSED_TEXTURE_FORMATS_ARB,
-  gl_NUM_COMPRESSED_TEXTURE_FORMATS_ARB,
-  gl_TEXTURE_COMPRESSED_ARB,
-  gl_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB,
-  gl_TEXTURE_COMPRESSION_HINT_ARB,
-  -- * Functions
-  glCompressedTexImage1DARB,
-  glCompressedTexImage2DARB,
-  glCompressedTexImage3DARB,
-  glCompressedTexSubImage1DARB,
-  glCompressedTexSubImage2DARB,
-  glCompressedTexSubImage3DARB,
-  glGetCompressedTexImageARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionBPTC.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionBPTC (
-  -- * Extension Support
-  glGetARBTextureCompressionBPTC,
-  gl_ARB_texture_compression_bptc,
-  -- * Enums
-  gl_COMPRESSED_RGBA_BPTC_UNORM_ARB,
-  gl_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_ARB,
-  gl_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_ARB,
-  gl_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionRGTC.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionRGTC.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCompressionRGTC.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCompressionRGTC (
-  -- * Extension Support
-  glGetARBTextureCompressionRGTC,
-  gl_ARB_texture_compression_rgtc,
-  -- * Enums
-  gl_COMPRESSED_RED_RGTC1,
-  gl_COMPRESSED_RG_RGTC2,
-  gl_COMPRESSED_SIGNED_RED_RGTC1,
-  gl_COMPRESSED_SIGNED_RG_RGTC2
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMap.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMap.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMap.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMap (
-  -- * Extension Support
-  glGetARBTextureCubeMap,
-  gl_ARB_texture_cube_map,
-  -- * Enums
-  gl_MAX_CUBE_MAP_TEXTURE_SIZE_ARB,
-  gl_NORMAL_MAP_ARB,
-  gl_PROXY_TEXTURE_CUBE_MAP_ARB,
-  gl_REFLECTION_MAP_ARB,
-  gl_TEXTURE_BINDING_CUBE_MAP_ARB,
-  gl_TEXTURE_CUBE_MAP_ARB,
-  gl_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB,
-  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB,
-  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB,
-  gl_TEXTURE_CUBE_MAP_POSITIVE_X_ARB,
-  gl_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB,
-  gl_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureCubeMapArray.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureCubeMapArray (
-  -- * Extension Support
-  glGetARBTextureCubeMapArray,
-  gl_ARB_texture_cube_map_array,
-  -- * Enums
-  gl_INT_SAMPLER_CUBE_MAP_ARRAY_ARB,
-  gl_PROXY_TEXTURE_CUBE_MAP_ARRAY_ARB,
-  gl_SAMPLER_CUBE_MAP_ARRAY_ARB,
-  gl_SAMPLER_CUBE_MAP_ARRAY_SHADOW_ARB,
-  gl_TEXTURE_BINDING_CUBE_MAP_ARRAY_ARB,
-  gl_TEXTURE_CUBE_MAP_ARRAY_ARB,
-  gl_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCombine.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCombine.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvCombine.hs
+++ /dev/null
@@ -1,43 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvCombine (
-  -- * Extension Support
-  glGetARBTextureEnvCombine,
-  gl_ARB_texture_env_combine,
-  -- * Enums
-  gl_ADD_SIGNED_ARB,
-  gl_COMBINE_ALPHA_ARB,
-  gl_COMBINE_ARB,
-  gl_COMBINE_RGB_ARB,
-  gl_CONSTANT_ARB,
-  gl_INTERPOLATE_ARB,
-  gl_OPERAND0_ALPHA_ARB,
-  gl_OPERAND0_RGB_ARB,
-  gl_OPERAND1_ALPHA_ARB,
-  gl_OPERAND1_RGB_ARB,
-  gl_OPERAND2_ALPHA_ARB,
-  gl_OPERAND2_RGB_ARB,
-  gl_PREVIOUS_ARB,
-  gl_PRIMARY_COLOR_ARB,
-  gl_RGB_SCALE_ARB,
-  gl_SOURCE0_ALPHA_ARB,
-  gl_SOURCE0_RGB_ARB,
-  gl_SOURCE1_ALPHA_ARB,
-  gl_SOURCE1_RGB_ARB,
-  gl_SOURCE2_ALPHA_ARB,
-  gl_SOURCE2_RGB_ARB,
-  gl_SUBTRACT_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvDot3.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvDot3.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureEnvDot3.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureEnvDot3 (
-  -- * Extension Support
-  glGetARBTextureEnvDot3,
-  gl_ARB_texture_env_dot3,
-  -- * Enums
-  gl_DOT3_RGBA_ARB,
-  gl_DOT3_RGB_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFilterMinmax.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFilterMinmax.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFilterMinmax.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureFilterMinmax
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureFilterMinmax (
-  -- * Extension Support
-  glGetARBTextureFilterMinmax,
-  gl_ARB_texture_filter_minmax,
-  -- * Enums
-  gl_TEXTURE_REDUCTION_MODE_ARB,
-  gl_WEIGHTED_AVERAGE_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureFloat.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureFloat (
-  -- * Extension Support
-  glGetARBTextureFloat,
-  gl_ARB_texture_float,
-  -- * Enums
-  gl_ALPHA16F_ARB,
-  gl_ALPHA32F_ARB,
-  gl_INTENSITY16F_ARB,
-  gl_INTENSITY32F_ARB,
-  gl_LUMINANCE16F_ARB,
-  gl_LUMINANCE32F_ARB,
-  gl_LUMINANCE_ALPHA16F_ARB,
-  gl_LUMINANCE_ALPHA32F_ARB,
-  gl_RGB16F_ARB,
-  gl_RGB32F_ARB,
-  gl_RGBA16F_ARB,
-  gl_RGBA32F_ARB,
-  gl_TEXTURE_ALPHA_TYPE_ARB,
-  gl_TEXTURE_BLUE_TYPE_ARB,
-  gl_TEXTURE_DEPTH_TYPE_ARB,
-  gl_TEXTURE_GREEN_TYPE_ARB,
-  gl_TEXTURE_INTENSITY_TYPE_ARB,
-  gl_TEXTURE_LUMINANCE_TYPE_ARB,
-  gl_TEXTURE_RED_TYPE_ARB,
-  gl_UNSIGNED_NORMALIZED_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureGather.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureGather
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureGather (
-  -- * Extension Support
-  glGetARBTextureGather,
-  gl_ARB_texture_gather,
-  -- * Enums
-  gl_MAX_PROGRAM_TEXTURE_GATHER_COMPONENTS_ARB,
-  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_ARB,
-  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirrorClampToEdge.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirrorClampToEdge.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirrorClampToEdge.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirrorClampToEdge (
-  -- * Extension Support
-  glGetARBTextureMirrorClampToEdge,
-  gl_ARB_texture_mirror_clamp_to_edge,
-  -- * Enums
-  gl_MIRROR_CLAMP_TO_EDGE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirroredRepeat.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirroredRepeat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMirroredRepeat.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureMirroredRepeat (
-  -- * Extension Support
-  glGetARBTextureMirroredRepeat,
-  gl_ARB_texture_mirrored_repeat,
-  -- * Enums
-  gl_MIRRORED_REPEAT_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureMultisample.hs
+++ /dev/null
@@ -1,48 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureMultisample (
-  -- * Extension Support
-  glGetARBTextureMultisample,
-  gl_ARB_texture_multisample,
-  -- * Enums
-  gl_INT_SAMPLER_2D_MULTISAMPLE,
-  gl_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
-  gl_MAX_COLOR_TEXTURE_SAMPLES,
-  gl_MAX_DEPTH_TEXTURE_SAMPLES,
-  gl_MAX_INTEGER_SAMPLES,
-  gl_MAX_SAMPLE_MASK_WORDS,
-  gl_PROXY_TEXTURE_2D_MULTISAMPLE,
-  gl_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY,
-  gl_SAMPLER_2D_MULTISAMPLE,
-  gl_SAMPLER_2D_MULTISAMPLE_ARRAY,
-  gl_SAMPLE_MASK,
-  gl_SAMPLE_MASK_VALUE,
-  gl_SAMPLE_POSITION,
-  gl_TEXTURE_2D_MULTISAMPLE,
-  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
-  gl_TEXTURE_BINDING_2D_MULTISAMPLE,
-  gl_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY,
-  gl_TEXTURE_FIXED_SAMPLE_LOCATIONS,
-  gl_TEXTURE_SAMPLES,
-  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE,
-  gl_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY,
-  -- * Functions
-  glGetMultisamplefv,
-  glSampleMaski,
-  glTexImage2DMultisample,
-  glTexImage3DMultisample
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRG.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRG.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRG.hs
+++ /dev/null
@@ -1,43 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRG
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureRG (
-  -- * Extension Support
-  glGetARBTextureRG,
-  gl_ARB_texture_rg,
-  -- * Enums
-  gl_R16,
-  gl_R16F,
-  gl_R16I,
-  gl_R16UI,
-  gl_R32F,
-  gl_R32I,
-  gl_R32UI,
-  gl_R8,
-  gl_R8I,
-  gl_R8UI,
-  gl_RG,
-  gl_RG16,
-  gl_RG16F,
-  gl_RG16I,
-  gl_RG16UI,
-  gl_RG32F,
-  gl_RG32I,
-  gl_RG32UI,
-  gl_RG8,
-  gl_RG8I,
-  gl_RG8UI,
-  gl_RG_INTEGER
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRGB10A2UI.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureRGB10A2UI (
-  -- * Extension Support
-  glGetARBTextureRGB10A2UI,
-  gl_ARB_texture_rgb10_a2ui,
-  -- * Enums
-  gl_RGB10_A2UI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureRectangle.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureRectangle (
-  -- * Extension Support
-  glGetARBTextureRectangle,
-  gl_ARB_texture_rectangle,
-  -- * Enums
-  gl_MAX_RECTANGLE_TEXTURE_SIZE_ARB,
-  gl_PROXY_TEXTURE_RECTANGLE_ARB,
-  gl_TEXTURE_BINDING_RECTANGLE_ARB,
-  gl_TEXTURE_RECTANGLE_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStencil8.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStencil8.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStencil8.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureStencil8 (
-  -- * Extension Support
-  glGetARBTextureStencil8,
-  gl_ARB_texture_stencil8,
-  -- * Enums
-  gl_STENCIL_INDEX,
-  gl_STENCIL_INDEX8
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStorage.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStorage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStorage.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorage (
-  -- * Extension Support
-  glGetARBTextureStorage,
-  gl_ARB_texture_storage,
-  -- * Enums
-  gl_TEXTURE_IMMUTABLE_FORMAT,
-  -- * Functions
-  glTexStorage1D,
-  glTexStorage2D,
-  glTexStorage3D
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStorageMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStorageMultisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureStorageMultisample.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureStorageMultisample (
-  -- * Extension Support
-  glGetARBTextureStorageMultisample,
-  gl_ARB_texture_storage_multisample,
-  -- * Functions
-  glTexStorage2DMultisample,
-  glTexStorage3DMultisample
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureSwizzle.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureSwizzle (
-  -- * Extension Support
-  glGetARBTextureSwizzle,
-  gl_ARB_texture_swizzle,
-  -- * Enums
-  gl_TEXTURE_SWIZZLE_A,
-  gl_TEXTURE_SWIZZLE_B,
-  gl_TEXTURE_SWIZZLE_G,
-  gl_TEXTURE_SWIZZLE_R,
-  gl_TEXTURE_SWIZZLE_RGBA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureView.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureView.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TextureView.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TextureView
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TextureView (
-  -- * Extension Support
-  glGetARBTextureView,
-  gl_ARB_texture_view,
-  -- * Enums
-  gl_TEXTURE_IMMUTABLE_LEVELS,
-  gl_TEXTURE_VIEW_MIN_LAYER,
-  gl_TEXTURE_VIEW_MIN_LEVEL,
-  gl_TEXTURE_VIEW_NUM_LAYERS,
-  gl_TEXTURE_VIEW_NUM_LEVELS,
-  -- * Functions
-  glTextureView
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TimerQuery.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TimerQuery (
-  -- * Extension Support
-  glGetARBTimerQuery,
-  gl_ARB_timer_query,
-  -- * Enums
-  gl_TIMESTAMP,
-  gl_TIME_ELAPSED,
-  -- * Functions
-  glGetQueryObjecti64v,
-  glGetQueryObjectui64v,
-  glQueryCounter
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback2.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback2 (
-  -- * Extension Support
-  glGetARBTransformFeedback2,
-  gl_ARB_transform_feedback2,
-  -- * Enums
-  gl_TRANSFORM_FEEDBACK,
-  gl_TRANSFORM_FEEDBACK_BINDING,
-  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE,
-  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED,
-  -- * Functions
-  glBindTransformFeedback,
-  glDeleteTransformFeedbacks,
-  glDrawTransformFeedback,
-  glGenTransformFeedbacks,
-  glIsTransformFeedback,
-  glPauseTransformFeedback,
-  glResumeTransformFeedback
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedback3.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedback3 (
-  -- * Extension Support
-  glGetARBTransformFeedback3,
-  gl_ARB_transform_feedback3,
-  -- * Enums
-  gl_MAX_TRANSFORM_FEEDBACK_BUFFERS,
-  gl_MAX_VERTEX_STREAMS,
-  -- * Functions
-  glBeginQueryIndexed,
-  glDrawTransformFeedbackStream,
-  glEndQueryIndexed,
-  glGetQueryIndexediv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedbackInstanced.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedbackInstanced.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedbackInstanced.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackInstanced
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackInstanced (
-  -- * Extension Support
-  glGetARBTransformFeedbackInstanced,
-  gl_ARB_transform_feedback_instanced,
-  -- * Functions
-  glDrawTransformFeedbackInstanced,
-  glDrawTransformFeedbackStreamInstanced
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedbackOverflowQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedbackOverflowQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransformFeedbackOverflowQuery.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackOverflowQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TransformFeedbackOverflowQuery (
-  -- * Extension Support
-  glGetARBTransformFeedbackOverflowQuery,
-  gl_ARB_transform_feedback_overflow_query,
-  -- * Enums
-  gl_TRANSFORM_FEEDBACK_OVERFLOW_ARB,
-  gl_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransposeMatrix.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/TransposeMatrix.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/TransposeMatrix.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.TransposeMatrix (
-  -- * Extension Support
-  glGetARBTransposeMatrix,
-  gl_ARB_transpose_matrix,
-  -- * Enums
-  gl_TRANSPOSE_COLOR_MATRIX_ARB,
-  gl_TRANSPOSE_MODELVIEW_MATRIX_ARB,
-  gl_TRANSPOSE_PROJECTION_MATRIX_ARB,
-  gl_TRANSPOSE_TEXTURE_MATRIX_ARB,
-  -- * Functions
-  glLoadTransposeMatrixdARB,
-  glLoadTransposeMatrixfARB,
-  glMultTransposeMatrixdARB,
-  glMultTransposeMatrixfARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/UniformBufferObject.hs
+++ /dev/null
@@ -1,66 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.UniformBufferObject (
-  -- * Extension Support
-  glGetARBUniformBufferObject,
-  gl_ARB_uniform_buffer_object,
-  -- * Enums
-  gl_ACTIVE_UNIFORM_BLOCKS,
-  gl_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH,
-  gl_INVALID_INDEX,
-  gl_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS,
-  gl_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS,
-  gl_MAX_COMBINED_UNIFORM_BLOCKS,
-  gl_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS,
-  gl_MAX_FRAGMENT_UNIFORM_BLOCKS,
-  gl_MAX_GEOMETRY_UNIFORM_BLOCKS,
-  gl_MAX_UNIFORM_BLOCK_SIZE,
-  gl_MAX_UNIFORM_BUFFER_BINDINGS,
-  gl_MAX_VERTEX_UNIFORM_BLOCKS,
-  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,
-  -- * Functions
-  glBindBufferBase,
-  glBindBufferRange,
-  glGetActiveUniformBlockName,
-  glGetActiveUniformBlockiv,
-  glGetActiveUniformName,
-  glGetActiveUniformsiv,
-  glGetIntegeri_v,
-  glGetUniformBlockIndex,
-  glGetUniformIndices,
-  glUniformBlockBinding
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayBGRA.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayBGRA.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayBGRA.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBGRA
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayBGRA (
-  -- * Extension Support
-  glGetARBVertexArrayBGRA,
-  gl_ARB_vertex_array_bgra,
-  -- * Enums
-  gl_BGRA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexArrayObject.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexArrayObject (
-  -- * Extension Support
-  glGetARBVertexArrayObject,
-  gl_ARB_vertex_array_object,
-  -- * Enums
-  gl_VERTEX_ARRAY_BINDING,
-  -- * Functions
-  glBindVertexArray,
-  glDeleteVertexArrays,
-  glGenVertexArrays,
-  glIsVertexArray
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttrib64Bit.hs
+++ /dev/null
@@ -1,46 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexAttrib64Bit (
-  -- * Extension Support
-  glGetARBVertexAttrib64Bit,
-  gl_ARB_vertex_attrib_64bit,
-  -- * Enums
-  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_RGB32I,
-  -- * Functions
-  glGetVertexAttribLdv,
-  glVertexAttribL1d,
-  glVertexAttribL1dv,
-  glVertexAttribL2d,
-  glVertexAttribL2dv,
-  glVertexAttribL3d,
-  glVertexAttribL3dv,
-  glVertexAttribL4d,
-  glVertexAttribL4dv,
-  glVertexAttribLPointer
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttribBinding.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttribBinding.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexAttribBinding.hs
+++ /dev/null
@@ -1,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexAttribBinding
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexAttribBinding (
-  -- * Extension Support
-  glGetARBVertexAttribBinding,
-  gl_ARB_vertex_attrib_binding,
-  -- * Enums
-  gl_MAX_VERTEX_ATTRIB_BINDINGS,
-  gl_MAX_VERTEX_ATTRIB_RELATIVE_OFFSET,
-  gl_VERTEX_ATTRIB_BINDING,
-  gl_VERTEX_ATTRIB_RELATIVE_OFFSET,
-  gl_VERTEX_BINDING_DIVISOR,
-  gl_VERTEX_BINDING_OFFSET,
-  gl_VERTEX_BINDING_STRIDE,
-  -- * Functions
-  glBindVertexBuffer,
-  glVertexAttribBinding,
-  glVertexAttribFormat,
-  glVertexAttribIFormat,
-  glVertexAttribLFormat,
-  glVertexBindingDivisor
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBlend.hs
+++ /dev/null
@@ -1,75 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexBlend (
-  -- * Extension Support
-  glGetARBVertexBlend,
-  gl_ARB_vertex_blend,
-  -- * Enums
-  gl_ACTIVE_VERTEX_UNITS_ARB,
-  gl_CURRENT_WEIGHT_ARB,
-  gl_MAX_VERTEX_UNITS_ARB,
-  gl_MODELVIEW0_ARB,
-  gl_MODELVIEW10_ARB,
-  gl_MODELVIEW11_ARB,
-  gl_MODELVIEW12_ARB,
-  gl_MODELVIEW13_ARB,
-  gl_MODELVIEW14_ARB,
-  gl_MODELVIEW15_ARB,
-  gl_MODELVIEW16_ARB,
-  gl_MODELVIEW17_ARB,
-  gl_MODELVIEW18_ARB,
-  gl_MODELVIEW19_ARB,
-  gl_MODELVIEW1_ARB,
-  gl_MODELVIEW20_ARB,
-  gl_MODELVIEW21_ARB,
-  gl_MODELVIEW22_ARB,
-  gl_MODELVIEW23_ARB,
-  gl_MODELVIEW24_ARB,
-  gl_MODELVIEW25_ARB,
-  gl_MODELVIEW26_ARB,
-  gl_MODELVIEW27_ARB,
-  gl_MODELVIEW28_ARB,
-  gl_MODELVIEW29_ARB,
-  gl_MODELVIEW2_ARB,
-  gl_MODELVIEW30_ARB,
-  gl_MODELVIEW31_ARB,
-  gl_MODELVIEW3_ARB,
-  gl_MODELVIEW4_ARB,
-  gl_MODELVIEW5_ARB,
-  gl_MODELVIEW6_ARB,
-  gl_MODELVIEW7_ARB,
-  gl_MODELVIEW8_ARB,
-  gl_MODELVIEW9_ARB,
-  gl_VERTEX_BLEND_ARB,
-  gl_WEIGHT_ARRAY_ARB,
-  gl_WEIGHT_ARRAY_POINTER_ARB,
-  gl_WEIGHT_ARRAY_SIZE_ARB,
-  gl_WEIGHT_ARRAY_STRIDE_ARB,
-  gl_WEIGHT_ARRAY_TYPE_ARB,
-  gl_WEIGHT_SUM_UNITY_ARB,
-  -- * Functions
-  glVertexBlendARB,
-  glWeightPointerARB,
-  glWeightbvARB,
-  glWeightdvARB,
-  glWeightfvARB,
-  glWeightivARB,
-  glWeightsvARB,
-  glWeightubvARB,
-  glWeightuivARB,
-  glWeightusvARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexBufferObject.hs
+++ /dev/null
@@ -1,65 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexBufferObject (
-  -- * Extension Support
-  glGetARBVertexBufferObject,
-  gl_ARB_vertex_buffer_object,
-  -- * Enums
-  gl_ARRAY_BUFFER_ARB,
-  gl_ARRAY_BUFFER_BINDING_ARB,
-  gl_BUFFER_ACCESS_ARB,
-  gl_BUFFER_MAPPED_ARB,
-  gl_BUFFER_MAP_POINTER_ARB,
-  gl_BUFFER_SIZE_ARB,
-  gl_BUFFER_USAGE_ARB,
-  gl_COLOR_ARRAY_BUFFER_BINDING_ARB,
-  gl_DYNAMIC_COPY_ARB,
-  gl_DYNAMIC_DRAW_ARB,
-  gl_DYNAMIC_READ_ARB,
-  gl_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB,
-  gl_ELEMENT_ARRAY_BUFFER_ARB,
-  gl_ELEMENT_ARRAY_BUFFER_BINDING_ARB,
-  gl_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB,
-  gl_INDEX_ARRAY_BUFFER_BINDING_ARB,
-  gl_NORMAL_ARRAY_BUFFER_BINDING_ARB,
-  gl_READ_ONLY_ARB,
-  gl_READ_WRITE_ARB,
-  gl_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB,
-  gl_STATIC_COPY_ARB,
-  gl_STATIC_DRAW_ARB,
-  gl_STATIC_READ_ARB,
-  gl_STREAM_COPY_ARB,
-  gl_STREAM_DRAW_ARB,
-  gl_STREAM_READ_ARB,
-  gl_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB,
-  gl_VERTEX_ARRAY_BUFFER_BINDING_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB,
-  gl_WEIGHT_ARRAY_BUFFER_BINDING_ARB,
-  gl_WRITE_ONLY_ARB,
-  -- * Functions
-  glBindBufferARB,
-  glBufferDataARB,
-  glBufferSubDataARB,
-  glDeleteBuffersARB,
-  glGenBuffersARB,
-  glGetBufferParameterivARB,
-  glGetBufferPointervARB,
-  glGetBufferSubDataARB,
-  glIsBufferARB,
-  glMapBufferARB,
-  glUnmapBufferARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexProgram.hs
+++ /dev/null
@@ -1,164 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexProgram (
-  -- * Extension Support
-  glGetARBVertexProgram,
-  gl_ARB_vertex_program,
-  -- * Enums
-  gl_COLOR_SUM_ARB,
-  gl_CURRENT_MATRIX_ARB,
-  gl_CURRENT_MATRIX_STACK_DEPTH_ARB,
-  gl_CURRENT_VERTEX_ATTRIB_ARB,
-  gl_MATRIX0_ARB,
-  gl_MATRIX10_ARB,
-  gl_MATRIX11_ARB,
-  gl_MATRIX12_ARB,
-  gl_MATRIX13_ARB,
-  gl_MATRIX14_ARB,
-  gl_MATRIX15_ARB,
-  gl_MATRIX16_ARB,
-  gl_MATRIX17_ARB,
-  gl_MATRIX18_ARB,
-  gl_MATRIX19_ARB,
-  gl_MATRIX1_ARB,
-  gl_MATRIX20_ARB,
-  gl_MATRIX21_ARB,
-  gl_MATRIX22_ARB,
-  gl_MATRIX23_ARB,
-  gl_MATRIX24_ARB,
-  gl_MATRIX25_ARB,
-  gl_MATRIX26_ARB,
-  gl_MATRIX27_ARB,
-  gl_MATRIX28_ARB,
-  gl_MATRIX29_ARB,
-  gl_MATRIX2_ARB,
-  gl_MATRIX30_ARB,
-  gl_MATRIX31_ARB,
-  gl_MATRIX3_ARB,
-  gl_MATRIX4_ARB,
-  gl_MATRIX5_ARB,
-  gl_MATRIX6_ARB,
-  gl_MATRIX7_ARB,
-  gl_MATRIX8_ARB,
-  gl_MATRIX9_ARB,
-  gl_MAX_PROGRAM_ADDRESS_REGISTERS_ARB,
-  gl_MAX_PROGRAM_ATTRIBS_ARB,
-  gl_MAX_PROGRAM_ENV_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_INSTRUCTIONS_ARB,
-  gl_MAX_PROGRAM_LOCAL_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_MATRICES_ARB,
-  gl_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB,
-  gl_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB,
-  gl_MAX_PROGRAM_NATIVE_ATTRIBS_ARB,
-  gl_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
-  gl_MAX_PROGRAM_NATIVE_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB,
-  gl_MAX_PROGRAM_PARAMETERS_ARB,
-  gl_MAX_PROGRAM_TEMPORARIES_ARB,
-  gl_MAX_VERTEX_ATTRIBS_ARB,
-  gl_PROGRAM_ADDRESS_REGISTERS_ARB,
-  gl_PROGRAM_ATTRIBS_ARB,
-  gl_PROGRAM_BINDING_ARB,
-  gl_PROGRAM_ERROR_POSITION_ARB,
-  gl_PROGRAM_ERROR_STRING_ARB,
-  gl_PROGRAM_FORMAT_ARB,
-  gl_PROGRAM_FORMAT_ASCII_ARB,
-  gl_PROGRAM_INSTRUCTIONS_ARB,
-  gl_PROGRAM_LENGTH_ARB,
-  gl_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB,
-  gl_PROGRAM_NATIVE_ATTRIBS_ARB,
-  gl_PROGRAM_NATIVE_INSTRUCTIONS_ARB,
-  gl_PROGRAM_NATIVE_PARAMETERS_ARB,
-  gl_PROGRAM_NATIVE_TEMPORARIES_ARB,
-  gl_PROGRAM_PARAMETERS_ARB,
-  gl_PROGRAM_STRING_ARB,
-  gl_PROGRAM_TEMPORARIES_ARB,
-  gl_PROGRAM_UNDER_NATIVE_LIMITS_ARB,
-  gl_TRANSPOSE_CURRENT_MATRIX_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_SIZE_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_TYPE_ARB,
-  gl_VERTEX_PROGRAM_ARB,
-  gl_VERTEX_PROGRAM_POINT_SIZE_ARB,
-  gl_VERTEX_PROGRAM_TWO_SIDE_ARB,
-  -- * Functions
-  glBindProgramARB,
-  glDeleteProgramsARB,
-  glDisableVertexAttribArrayARB,
-  glEnableVertexAttribArrayARB,
-  glGenProgramsARB,
-  glGetProgramEnvParameterdvARB,
-  glGetProgramEnvParameterfvARB,
-  glGetProgramLocalParameterdvARB,
-  glGetProgramLocalParameterfvARB,
-  glGetProgramStringARB,
-  glGetProgramivARB,
-  glGetVertexAttribPointervARB,
-  glGetVertexAttribdvARB,
-  glGetVertexAttribfvARB,
-  glGetVertexAttribivARB,
-  glIsProgramARB,
-  glProgramEnvParameter4dARB,
-  glProgramEnvParameter4dvARB,
-  glProgramEnvParameter4fARB,
-  glProgramEnvParameter4fvARB,
-  glProgramLocalParameter4dARB,
-  glProgramLocalParameter4dvARB,
-  glProgramLocalParameter4fARB,
-  glProgramLocalParameter4fvARB,
-  glProgramStringARB,
-  glVertexAttrib1dARB,
-  glVertexAttrib1dvARB,
-  glVertexAttrib1fARB,
-  glVertexAttrib1fvARB,
-  glVertexAttrib1sARB,
-  glVertexAttrib1svARB,
-  glVertexAttrib2dARB,
-  glVertexAttrib2dvARB,
-  glVertexAttrib2fARB,
-  glVertexAttrib2fvARB,
-  glVertexAttrib2sARB,
-  glVertexAttrib2svARB,
-  glVertexAttrib3dARB,
-  glVertexAttrib3dvARB,
-  glVertexAttrib3fARB,
-  glVertexAttrib3fvARB,
-  glVertexAttrib3sARB,
-  glVertexAttrib3svARB,
-  glVertexAttrib4NbvARB,
-  glVertexAttrib4NivARB,
-  glVertexAttrib4NsvARB,
-  glVertexAttrib4NubARB,
-  glVertexAttrib4NubvARB,
-  glVertexAttrib4NuivARB,
-  glVertexAttrib4NusvARB,
-  glVertexAttrib4bvARB,
-  glVertexAttrib4dARB,
-  glVertexAttrib4dvARB,
-  glVertexAttrib4fARB,
-  glVertexAttrib4fvARB,
-  glVertexAttrib4ivARB,
-  glVertexAttrib4sARB,
-  glVertexAttrib4svARB,
-  glVertexAttrib4ubvARB,
-  glVertexAttrib4uivARB,
-  glVertexAttrib4usvARB,
-  glVertexAttribPointerARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexShader.hs
+++ /dev/null
@@ -1,95 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexShader (
-  -- * Extension Support
-  glGetARBVertexShader,
-  gl_ARB_vertex_shader,
-  -- * Enums
-  gl_CURRENT_VERTEX_ATTRIB_ARB,
-  gl_FLOAT,
-  gl_FLOAT_MAT2_ARB,
-  gl_FLOAT_MAT3_ARB,
-  gl_FLOAT_MAT4_ARB,
-  gl_FLOAT_VEC2_ARB,
-  gl_FLOAT_VEC3_ARB,
-  gl_FLOAT_VEC4_ARB,
-  gl_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB,
-  gl_MAX_TEXTURE_COORDS_ARB,
-  gl_MAX_TEXTURE_IMAGE_UNITS_ARB,
-  gl_MAX_VARYING_FLOATS_ARB,
-  gl_MAX_VERTEX_ATTRIBS_ARB,
-  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB,
-  gl_MAX_VERTEX_UNIFORM_COMPONENTS_ARB,
-  gl_OBJECT_ACTIVE_ATTRIBUTES_ARB,
-  gl_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_ENABLED_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_POINTER_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_SIZE_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_STRIDE_ARB,
-  gl_VERTEX_ATTRIB_ARRAY_TYPE_ARB,
-  gl_VERTEX_PROGRAM_POINT_SIZE_ARB,
-  gl_VERTEX_PROGRAM_TWO_SIDE_ARB,
-  gl_VERTEX_SHADER_ARB,
-  -- * Functions
-  glBindAttribLocationARB,
-  glDisableVertexAttribArrayARB,
-  glEnableVertexAttribArrayARB,
-  glGetActiveAttribARB,
-  glGetAttribLocationARB,
-  glGetVertexAttribPointervARB,
-  glGetVertexAttribdvARB,
-  glGetVertexAttribfvARB,
-  glGetVertexAttribivARB,
-  glVertexAttrib1dARB,
-  glVertexAttrib1dvARB,
-  glVertexAttrib1fARB,
-  glVertexAttrib1fvARB,
-  glVertexAttrib1sARB,
-  glVertexAttrib1svARB,
-  glVertexAttrib2dARB,
-  glVertexAttrib2dvARB,
-  glVertexAttrib2fARB,
-  glVertexAttrib2fvARB,
-  glVertexAttrib2sARB,
-  glVertexAttrib2svARB,
-  glVertexAttrib3dARB,
-  glVertexAttrib3dvARB,
-  glVertexAttrib3fARB,
-  glVertexAttrib3fvARB,
-  glVertexAttrib3sARB,
-  glVertexAttrib3svARB,
-  glVertexAttrib4NbvARB,
-  glVertexAttrib4NivARB,
-  glVertexAttrib4NsvARB,
-  glVertexAttrib4NubARB,
-  glVertexAttrib4NubvARB,
-  glVertexAttrib4NuivARB,
-  glVertexAttrib4NusvARB,
-  glVertexAttrib4bvARB,
-  glVertexAttrib4dARB,
-  glVertexAttrib4dvARB,
-  glVertexAttrib4fARB,
-  glVertexAttrib4fvARB,
-  glVertexAttrib4ivARB,
-  glVertexAttrib4sARB,
-  glVertexAttrib4svARB,
-  glVertexAttrib4ubvARB,
-  glVertexAttrib4uivARB,
-  glVertexAttrib4usvARB,
-  glVertexAttribPointerARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType10f11f11fRev.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType10f11f11fRev.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType10f11f11fRev.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexType10f11f11fRev
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexType10f11f11fRev (
-  -- * Extension Support
-  glGetARBVertexType10f11f11fRev,
-  gl_ARB_vertex_type_10f_11f_11f_rev,
-  -- * Enums
-  gl_UNSIGNED_INT_10F_11F_11F_REV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010RevCompatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010RevCompatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010RevCompatibility.hs
+++ /dev/null
@@ -1,63 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCompatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCompatibility (
-  -- * Extension Support
-  glGetARBVertexType2101010Rev,
-  gl_ARB_vertex_type_2_10_10_10_rev,
-  -- * Enums
-  gl_INT_2_10_10_10_REV,
-  gl_UNSIGNED_INT_2_10_10_10_REV,
-  -- * Functions
-  glColorP3ui,
-  glColorP3uiv,
-  glColorP4ui,
-  glColorP4uiv,
-  glMultiTexCoordP1ui,
-  glMultiTexCoordP1uiv,
-  glMultiTexCoordP2ui,
-  glMultiTexCoordP2uiv,
-  glMultiTexCoordP3ui,
-  glMultiTexCoordP3uiv,
-  glMultiTexCoordP4ui,
-  glMultiTexCoordP4uiv,
-  glNormalP3ui,
-  glNormalP3uiv,
-  glSecondaryColorP3ui,
-  glSecondaryColorP3uiv,
-  glTexCoordP1ui,
-  glTexCoordP1uiv,
-  glTexCoordP2ui,
-  glTexCoordP2uiv,
-  glTexCoordP3ui,
-  glTexCoordP3uiv,
-  glTexCoordP4ui,
-  glTexCoordP4uiv,
-  glVertexAttribP1ui,
-  glVertexAttribP1uiv,
-  glVertexAttribP2ui,
-  glVertexAttribP2uiv,
-  glVertexAttribP3ui,
-  glVertexAttribP3uiv,
-  glVertexAttribP4ui,
-  glVertexAttribP4uiv,
-  glVertexP2ui,
-  glVertexP2uiv,
-  glVertexP3ui,
-  glVertexP3uiv,
-  glVertexP4ui,
-  glVertexP4uiv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010RevCore.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010RevCore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/VertexType2101010RevCore.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.VertexType2101010RevCore (
-  -- * Extension Support
-  glGetARBVertexType2101010Rev,
-  gl_ARB_vertex_type_2_10_10_10_rev,
-  -- * Enums
-  gl_INT_2_10_10_10_REV,
-  gl_UNSIGNED_INT_2_10_10_10_REV,
-  -- * Functions
-  glVertexAttribP1ui,
-  glVertexAttribP1uiv,
-  glVertexAttribP2ui,
-  glVertexAttribP2uiv,
-  glVertexAttribP3ui,
-  glVertexAttribP3uiv,
-  glVertexAttribP4ui,
-  glVertexAttribP4uiv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/ViewportArray.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/ViewportArray.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/ViewportArray.hs
+++ /dev/null
@@ -1,46 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.ViewportArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.ViewportArray (
-  -- * Extension Support
-  glGetARBViewportArray,
-  gl_ARB_viewport_array,
-  -- * Enums
-  gl_DEPTH_RANGE,
-  gl_FIRST_VERTEX_CONVENTION,
-  gl_LAST_VERTEX_CONVENTION,
-  gl_LAYER_PROVOKING_VERTEX,
-  gl_MAX_VIEWPORTS,
-  gl_PROVOKING_VERTEX,
-  gl_SCISSOR_BOX,
-  gl_SCISSOR_TEST,
-  gl_UNDEFINED_VERTEX,
-  gl_VIEWPORT,
-  gl_VIEWPORT_BOUNDS_RANGE,
-  gl_VIEWPORT_INDEX_PROVOKING_VERTEX,
-  gl_VIEWPORT_SUBPIXEL_BITS,
-  -- * Functions
-  glDepthRangeArrayv,
-  glDepthRangeIndexed,
-  glGetDoublei_v,
-  glGetFloati_v,
-  glScissorArrayv,
-  glScissorIndexed,
-  glScissorIndexedv,
-  glViewportArrayv,
-  glViewportIndexedf,
-  glViewportIndexedfv
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ARB/WindowPos.hs b/src/Graphics/Rendering/OpenGL/Raw/ARB/WindowPos.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ARB/WindowPos.hs
+++ /dev/null
@@ -1,37 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ARB.WindowPos
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ARB.WindowPos (
-  -- * Extension Support
-  glGetARBWindowPos,
-  gl_ARB_window_pos,
-  -- * Functions
-  glWindowPos2dARB,
-  glWindowPos2dvARB,
-  glWindowPos2fARB,
-  glWindowPos2fvARB,
-  glWindowPos2iARB,
-  glWindowPos2ivARB,
-  glWindowPos2sARB,
-  glWindowPos2svARB,
-  glWindowPos3dARB,
-  glWindowPos3dvARB,
-  glWindowPos3fARB,
-  glWindowPos3fvARB,
-  glWindowPos3iARB,
-  glWindowPos3ivARB,
-  glWindowPos3sARB,
-  glWindowPos3svARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI.hs
+++ /dev/null
@@ -1,49 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing ATI extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI (
-  module Graphics.Rendering.OpenGL.Raw.ATI.DrawBuffers,
-  module Graphics.Rendering.OpenGL.Raw.ATI.ElementArray,
-  module Graphics.Rendering.OpenGL.Raw.ATI.EnvmapBumpmap,
-  module Graphics.Rendering.OpenGL.Raw.ATI.FragmentShader,
-  module Graphics.Rendering.OpenGL.Raw.ATI.MapObjectBuffer,
-  module Graphics.Rendering.OpenGL.Raw.ATI.Meminfo,
-  module Graphics.Rendering.OpenGL.Raw.ATI.PNTriangles,
-  module Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat,
-  module Graphics.Rendering.OpenGL.Raw.ATI.SeparateStencil,
-  module Graphics.Rendering.OpenGL.Raw.ATI.TextFragmentShader,
-  module Graphics.Rendering.OpenGL.Raw.ATI.TextureEnvCombine3,
-  module Graphics.Rendering.OpenGL.Raw.ATI.TextureFloat,
-  module Graphics.Rendering.OpenGL.Raw.ATI.TextureMirrorOnce,
-  module Graphics.Rendering.OpenGL.Raw.ATI.VertexArrayObject,
-  module Graphics.Rendering.OpenGL.Raw.ATI.VertexAttribArrayObject,
-  module Graphics.Rendering.OpenGL.Raw.ATI.VertexStreams
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ATI.DrawBuffers
-import Graphics.Rendering.OpenGL.Raw.ATI.ElementArray
-import Graphics.Rendering.OpenGL.Raw.ATI.EnvmapBumpmap
-import Graphics.Rendering.OpenGL.Raw.ATI.FragmentShader
-import Graphics.Rendering.OpenGL.Raw.ATI.MapObjectBuffer
-import Graphics.Rendering.OpenGL.Raw.ATI.Meminfo
-import Graphics.Rendering.OpenGL.Raw.ATI.PNTriangles
-import Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat
-import Graphics.Rendering.OpenGL.Raw.ATI.SeparateStencil
-import Graphics.Rendering.OpenGL.Raw.ATI.TextFragmentShader
-import Graphics.Rendering.OpenGL.Raw.ATI.TextureEnvCombine3
-import Graphics.Rendering.OpenGL.Raw.ATI.TextureFloat
-import Graphics.Rendering.OpenGL.Raw.ATI.TextureMirrorOnce
-import Graphics.Rendering.OpenGL.Raw.ATI.VertexArrayObject
-import Graphics.Rendering.OpenGL.Raw.ATI.VertexAttribArrayObject
-import Graphics.Rendering.OpenGL.Raw.ATI.VertexStreams
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/DrawBuffers.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/DrawBuffers.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/DrawBuffers.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.DrawBuffers
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.DrawBuffers (
-  -- * Extension Support
-  glGetATIDrawBuffers,
-  gl_ATI_draw_buffers,
-  -- * Enums
-  gl_DRAW_BUFFER0_ATI,
-  gl_DRAW_BUFFER10_ATI,
-  gl_DRAW_BUFFER11_ATI,
-  gl_DRAW_BUFFER12_ATI,
-  gl_DRAW_BUFFER13_ATI,
-  gl_DRAW_BUFFER14_ATI,
-  gl_DRAW_BUFFER15_ATI,
-  gl_DRAW_BUFFER1_ATI,
-  gl_DRAW_BUFFER2_ATI,
-  gl_DRAW_BUFFER3_ATI,
-  gl_DRAW_BUFFER4_ATI,
-  gl_DRAW_BUFFER5_ATI,
-  gl_DRAW_BUFFER6_ATI,
-  gl_DRAW_BUFFER7_ATI,
-  gl_DRAW_BUFFER8_ATI,
-  gl_DRAW_BUFFER9_ATI,
-  gl_MAX_DRAW_BUFFERS_ATI,
-  -- * Functions
-  glDrawBuffersATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/ElementArray.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/ElementArray.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/ElementArray.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.ElementArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.ElementArray (
-  -- * Extension Support
-  glGetATIElementArray,
-  gl_ATI_element_array,
-  -- * Enums
-  gl_ELEMENT_ARRAY_ATI,
-  gl_ELEMENT_ARRAY_POINTER_ATI,
-  gl_ELEMENT_ARRAY_TYPE_ATI,
-  -- * Functions
-  glDrawElementArrayATI,
-  glDrawRangeElementArrayATI,
-  glElementPointerATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/EnvmapBumpmap.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/EnvmapBumpmap.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/EnvmapBumpmap.hs
+++ /dev/null
@@ -1,35 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.EnvmapBumpmap
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.EnvmapBumpmap (
-  -- * Extension Support
-  glGetATIEnvmapBumpmap,
-  gl_ATI_envmap_bumpmap,
-  -- * Enums
-  gl_BUMP_ENVMAP_ATI,
-  gl_BUMP_NUM_TEX_UNITS_ATI,
-  gl_BUMP_ROT_MATRIX_ATI,
-  gl_BUMP_ROT_MATRIX_SIZE_ATI,
-  gl_BUMP_TARGET_ATI,
-  gl_BUMP_TEX_UNITS_ATI,
-  gl_DU8DV8_ATI,
-  gl_DUDV_ATI,
-  -- * Functions
-  glGetTexBumpParameterfvATI,
-  glGetTexBumpParameterivATI,
-  glTexBumpParameterfvATI,
-  glTexBumpParameterivATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/FragmentShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/FragmentShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/FragmentShader.hs
+++ /dev/null
@@ -1,141 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.FragmentShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.FragmentShader (
-  -- * Extension Support
-  glGetATIFragmentShader,
-  gl_ATI_fragment_shader,
-  -- * Enums
-  gl_2X_BIT_ATI,
-  gl_4X_BIT_ATI,
-  gl_8X_BIT_ATI,
-  gl_ADD_ATI,
-  gl_BIAS_BIT_ATI,
-  gl_BLUE_BIT_ATI,
-  gl_CND0_ATI,
-  gl_CND_ATI,
-  gl_COLOR_ALPHA_PAIRING_ATI,
-  gl_COMP_BIT_ATI,
-  gl_CON_0_ATI,
-  gl_CON_10_ATI,
-  gl_CON_11_ATI,
-  gl_CON_12_ATI,
-  gl_CON_13_ATI,
-  gl_CON_14_ATI,
-  gl_CON_15_ATI,
-  gl_CON_16_ATI,
-  gl_CON_17_ATI,
-  gl_CON_18_ATI,
-  gl_CON_19_ATI,
-  gl_CON_1_ATI,
-  gl_CON_20_ATI,
-  gl_CON_21_ATI,
-  gl_CON_22_ATI,
-  gl_CON_23_ATI,
-  gl_CON_24_ATI,
-  gl_CON_25_ATI,
-  gl_CON_26_ATI,
-  gl_CON_27_ATI,
-  gl_CON_28_ATI,
-  gl_CON_29_ATI,
-  gl_CON_2_ATI,
-  gl_CON_30_ATI,
-  gl_CON_31_ATI,
-  gl_CON_3_ATI,
-  gl_CON_4_ATI,
-  gl_CON_5_ATI,
-  gl_CON_6_ATI,
-  gl_CON_7_ATI,
-  gl_CON_8_ATI,
-  gl_CON_9_ATI,
-  gl_DOT2_ADD_ATI,
-  gl_DOT3_ATI,
-  gl_DOT4_ATI,
-  gl_EIGHTH_BIT_ATI,
-  gl_FRAGMENT_SHADER_ATI,
-  gl_GREEN_BIT_ATI,
-  gl_HALF_BIT_ATI,
-  gl_LERP_ATI,
-  gl_MAD_ATI,
-  gl_MOV_ATI,
-  gl_MUL_ATI,
-  gl_NEGATE_BIT_ATI,
-  gl_NUM_FRAGMENT_CONSTANTS_ATI,
-  gl_NUM_FRAGMENT_REGISTERS_ATI,
-  gl_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI,
-  gl_NUM_INSTRUCTIONS_PER_PASS_ATI,
-  gl_NUM_INSTRUCTIONS_TOTAL_ATI,
-  gl_NUM_LOOPBACK_COMPONENTS_ATI,
-  gl_NUM_PASSES_ATI,
-  gl_QUARTER_BIT_ATI,
-  gl_RED_BIT_ATI,
-  gl_REG_0_ATI,
-  gl_REG_10_ATI,
-  gl_REG_11_ATI,
-  gl_REG_12_ATI,
-  gl_REG_13_ATI,
-  gl_REG_14_ATI,
-  gl_REG_15_ATI,
-  gl_REG_16_ATI,
-  gl_REG_17_ATI,
-  gl_REG_18_ATI,
-  gl_REG_19_ATI,
-  gl_REG_1_ATI,
-  gl_REG_20_ATI,
-  gl_REG_21_ATI,
-  gl_REG_22_ATI,
-  gl_REG_23_ATI,
-  gl_REG_24_ATI,
-  gl_REG_25_ATI,
-  gl_REG_26_ATI,
-  gl_REG_27_ATI,
-  gl_REG_28_ATI,
-  gl_REG_29_ATI,
-  gl_REG_2_ATI,
-  gl_REG_30_ATI,
-  gl_REG_31_ATI,
-  gl_REG_3_ATI,
-  gl_REG_4_ATI,
-  gl_REG_5_ATI,
-  gl_REG_6_ATI,
-  gl_REG_7_ATI,
-  gl_REG_8_ATI,
-  gl_REG_9_ATI,
-  gl_SATURATE_BIT_ATI,
-  gl_SECONDARY_INTERPOLATOR_ATI,
-  gl_SUB_ATI,
-  gl_SWIZZLE_STQ_ATI,
-  gl_SWIZZLE_STQ_DQ_ATI,
-  gl_SWIZZLE_STRQ_ATI,
-  gl_SWIZZLE_STRQ_DQ_ATI,
-  gl_SWIZZLE_STR_ATI,
-  gl_SWIZZLE_STR_DR_ATI,
-  -- * Functions
-  glAlphaFragmentOp1ATI,
-  glAlphaFragmentOp2ATI,
-  glAlphaFragmentOp3ATI,
-  glBeginFragmentShaderATI,
-  glBindFragmentShaderATI,
-  glColorFragmentOp1ATI,
-  glColorFragmentOp2ATI,
-  glColorFragmentOp3ATI,
-  glDeleteFragmentShaderATI,
-  glEndFragmentShaderATI,
-  glGenFragmentShadersATI,
-  glPassTexCoordATI,
-  glSampleMapATI,
-  glSetFragmentShaderConstantATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/MapObjectBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/MapObjectBuffer.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/MapObjectBuffer.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.MapObjectBuffer
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.MapObjectBuffer (
-  -- * Extension Support
-  glGetATIMapObjectBuffer,
-  gl_ATI_map_object_buffer,
-  -- * Functions
-  glMapObjectBufferATI,
-  glUnmapObjectBufferATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/Meminfo.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/Meminfo.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/Meminfo.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.Meminfo
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.Meminfo (
-  -- * Extension Support
-  glGetATIMeminfo,
-  gl_ATI_meminfo,
-  -- * Enums
-  gl_RENDERBUFFER_FREE_MEMORY_ATI,
-  gl_TEXTURE_FREE_MEMORY_ATI,
-  gl_VBO_FREE_MEMORY_ATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/PNTriangles.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/PNTriangles.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/PNTriangles.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.PNTriangles
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.PNTriangles (
-  -- * Extension Support
-  glGetATIPNTriangles,
-  gl_ATI_pn_triangles,
-  -- * Enums
-  gl_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI,
-  gl_PN_TRIANGLES_ATI,
-  gl_PN_TRIANGLES_NORMAL_MODE_ATI,
-  gl_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI,
-  gl_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI,
-  gl_PN_TRIANGLES_POINT_MODE_ATI,
-  gl_PN_TRIANGLES_POINT_MODE_CUBIC_ATI,
-  gl_PN_TRIANGLES_POINT_MODE_LINEAR_ATI,
-  gl_PN_TRIANGLES_TESSELATION_LEVEL_ATI,
-  -- * Functions
-  glPNTrianglesfATI,
-  glPNTrianglesiATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/PixelFormatFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/PixelFormatFloat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/PixelFormatFloat.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.PixelFormatFloat (
-  -- * Extension Support
-  glGetATIPixelFormatFloat,
-  gl_ATI_pixel_format_float,
-  -- * Enums
-  gl_COLOR_CLEAR_UNCLAMPED_VALUE_ATI,
-  gl_RGBA_FLOAT_MODE_ATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/SeparateStencil.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/SeparateStencil.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/SeparateStencil.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.SeparateStencil
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.SeparateStencil (
-  -- * Extension Support
-  glGetATISeparateStencil,
-  gl_ATI_separate_stencil,
-  -- * Enums
-  gl_STENCIL_BACK_FAIL_ATI,
-  gl_STENCIL_BACK_FUNC_ATI,
-  gl_STENCIL_BACK_PASS_DEPTH_FAIL_ATI,
-  gl_STENCIL_BACK_PASS_DEPTH_PASS_ATI,
-  -- * Functions
-  glStencilFuncSeparateATI,
-  glStencilOpSeparateATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextFragmentShader.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/TextFragmentShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextFragmentShader.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.TextFragmentShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.TextFragmentShader (
-  -- * Extension Support
-  glGetATITextFragmentShader,
-  gl_ATI_text_fragment_shader,
-  -- * Enums
-  gl_TEXT_FRAGMENT_SHADER_ATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureEnvCombine3.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureEnvCombine3.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureEnvCombine3.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.TextureEnvCombine3
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.TextureEnvCombine3 (
-  -- * Extension Support
-  glGetATITextureEnvCombine3,
-  gl_ATI_texture_env_combine3,
-  -- * Enums
-  gl_MODULATE_ADD_ATI,
-  gl_MODULATE_SIGNED_ADD_ATI,
-  gl_MODULATE_SUBTRACT_ATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureFloat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureFloat.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.TextureFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.TextureFloat (
-  -- * Extension Support
-  glGetATITextureFloat,
-  gl_ATI_texture_float,
-  -- * Enums
-  gl_ALPHA_FLOAT16_ATI,
-  gl_ALPHA_FLOAT32_ATI,
-  gl_INTENSITY_FLOAT16_ATI,
-  gl_INTENSITY_FLOAT32_ATI,
-  gl_LUMINANCE_ALPHA_FLOAT16_ATI,
-  gl_LUMINANCE_ALPHA_FLOAT32_ATI,
-  gl_LUMINANCE_FLOAT16_ATI,
-  gl_LUMINANCE_FLOAT32_ATI,
-  gl_RGBA_FLOAT16_ATI,
-  gl_RGBA_FLOAT32_ATI,
-  gl_RGB_FLOAT16_ATI,
-  gl_RGB_FLOAT32_ATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureMirrorOnce.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureMirrorOnce.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/TextureMirrorOnce.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.TextureMirrorOnce
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.TextureMirrorOnce (
-  -- * Extension Support
-  glGetATITextureMirrorOnce,
-  gl_ATI_texture_mirror_once,
-  -- * Enums
-  gl_MIRROR_CLAMP_ATI,
-  gl_MIRROR_CLAMP_TO_EDGE_ATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexArrayObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexArrayObject.hs
+++ /dev/null
@@ -1,43 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.VertexArrayObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.VertexArrayObject (
-  -- * Extension Support
-  glGetATIVertexArrayObject,
-  gl_ATI_vertex_array_object,
-  -- * Enums
-  gl_ARRAY_OBJECT_BUFFER_ATI,
-  gl_ARRAY_OBJECT_OFFSET_ATI,
-  gl_DISCARD_ATI,
-  gl_DYNAMIC_ATI,
-  gl_OBJECT_BUFFER_SIZE_ATI,
-  gl_OBJECT_BUFFER_USAGE_ATI,
-  gl_PRESERVE_ATI,
-  gl_STATIC_ATI,
-  -- * Functions
-  glArrayObjectATI,
-  glFreeObjectBufferATI,
-  glGetArrayObjectfvATI,
-  glGetArrayObjectivATI,
-  glGetObjectBufferfvATI,
-  glGetObjectBufferivATI,
-  glGetVariantArrayObjectfvATI,
-  glGetVariantArrayObjectivATI,
-  glIsObjectBufferATI,
-  glNewObjectBufferATI,
-  glUpdateObjectBufferATI,
-  glVariantArrayObjectATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexAttribArrayObject.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexAttribArrayObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexAttribArrayObject.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.VertexAttribArrayObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.VertexAttribArrayObject (
-  -- * Extension Support
-  glGetATIVertexAttribArrayObject,
-  gl_ATI_vertex_attrib_array_object,
-  -- * Functions
-  glGetVertexAttribArrayObjectfvATI,
-  glGetVertexAttribArrayObjectivATI,
-  glVertexAttribArrayObjectATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexStreams.hs b/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexStreams.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ATI/VertexStreams.hs
+++ /dev/null
@@ -1,78 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ATI.VertexStreams
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ATI.VertexStreams (
-  -- * Extension Support
-  glGetATIVertexStreams,
-  gl_ATI_vertex_streams,
-  -- * Enums
-  gl_MAX_VERTEX_STREAMS_ATI,
-  gl_VERTEX_SOURCE_ATI,
-  gl_VERTEX_STREAM0_ATI,
-  gl_VERTEX_STREAM1_ATI,
-  gl_VERTEX_STREAM2_ATI,
-  gl_VERTEX_STREAM3_ATI,
-  gl_VERTEX_STREAM4_ATI,
-  gl_VERTEX_STREAM5_ATI,
-  gl_VERTEX_STREAM6_ATI,
-  gl_VERTEX_STREAM7_ATI,
-  -- * Functions
-  glClientActiveVertexStreamATI,
-  glNormalStream3bATI,
-  glNormalStream3bvATI,
-  glNormalStream3dATI,
-  glNormalStream3dvATI,
-  glNormalStream3fATI,
-  glNormalStream3fvATI,
-  glNormalStream3iATI,
-  glNormalStream3ivATI,
-  glNormalStream3sATI,
-  glNormalStream3svATI,
-  glVertexBlendEnvfATI,
-  glVertexBlendEnviATI,
-  glVertexStream1dATI,
-  glVertexStream1dvATI,
-  glVertexStream1fATI,
-  glVertexStream1fvATI,
-  glVertexStream1iATI,
-  glVertexStream1ivATI,
-  glVertexStream1sATI,
-  glVertexStream1svATI,
-  glVertexStream2dATI,
-  glVertexStream2dvATI,
-  glVertexStream2fATI,
-  glVertexStream2fvATI,
-  glVertexStream2iATI,
-  glVertexStream2ivATI,
-  glVertexStream2sATI,
-  glVertexStream2svATI,
-  glVertexStream3dATI,
-  glVertexStream3dvATI,
-  glVertexStream3fATI,
-  glVertexStream3fvATI,
-  glVertexStream3iATI,
-  glVertexStream3ivATI,
-  glVertexStream3sATI,
-  glVertexStream3svATI,
-  glVertexStream4dATI,
-  glVertexStream4dvATI,
-  glVertexStream4fATI,
-  glVertexStream4fvATI,
-  glVertexStream4iATI,
-  glVertexStream4ivATI,
-  glVertexStream4sATI,
-  glVertexStream4svATI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Compatibility30.hs b/src/Graphics/Rendering/OpenGL/Raw/Compatibility30.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility30.hs
+++ /dev/null
@@ -1,1782 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility31.hs
+++ /dev/null
@@ -1,1855 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility32.hs
+++ /dev/null
@@ -1,1941 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility33.hs
+++ /dev/null
@@ -1,2015 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility40.hs
+++ /dev/null
@@ -1,2138 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility41.hs
+++ /dev/null
@@ -1,2261 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility42.hs
+++ /dev/null
@@ -1,2385 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility43.hs
+++ /dev/null
@@ -1,2690 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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,
-  GLDEBUGPROCFunc,
-  GLbitfield,
-  GLboolean,
-  GLbyte,
-  GLchar,
-  GLclampd,
-  GLclampf,
-  GLdouble,
-  GLenum,
-  GLfloat,
-  GLhalf,
-  GLint,
-  GLint64,
-  GLintptr,
-  GLshort,
-  GLsizei,
-  GLsizeiptr,
-  GLsync,
-  GLubyte,
-  GLuint,
-  GLuint64,
-  GLushort,
-  GLvoid,
-  makeGLDEBUGPROC,
-  -- * 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility44.hs
+++ /dev/null
@@ -1,2718 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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,
-  GLDEBUGPROCFunc,
-  GLbitfield,
-  GLboolean,
-  GLbyte,
-  GLchar,
-  GLclampd,
-  GLclampf,
-  GLdouble,
-  GLenum,
-  GLfloat,
-  GLhalf,
-  GLint,
-  GLint64,
-  GLintptr,
-  GLshort,
-  GLsizei,
-  GLsizeiptr,
-  GLsync,
-  GLubyte,
-  GLuint,
-  GLuint64,
-  GLushort,
-  GLvoid,
-  makeGLDEBUGPROC,
-  -- * 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Compatibility45.hs
+++ /dev/null
@@ -1,2862 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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,
-  GLDEBUGPROCFunc,
-  GLbitfield,
-  GLboolean,
-  GLbyte,
-  GLchar,
-  GLclampd,
-  GLclampf,
-  GLdouble,
-  GLenum,
-  GLfloat,
-  GLhalf,
-  GLint,
-  GLint64,
-  GLintptr,
-  GLshort,
-  GLsizei,
-  GLsizeiptr,
-  GLsync,
-  GLubyte,
-  GLuint,
-  GLuint64,
-  GLushort,
-  GLvoid,
-  makeGLDEBUGPROC,
-  -- * 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core30.hs
+++ /dev/null
@@ -1,1779 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core31.hs
+++ /dev/null
@@ -1,1852 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Core31
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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/Core32.hs b/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core32.hs
+++ /dev/null
@@ -1,1159 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core33.hs
+++ /dev/null
@@ -1,1203 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core40.hs
+++ /dev/null
@@ -1,1327 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core41.hs
+++ /dev/null
@@ -1,1450 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core42.hs
+++ /dev/null
@@ -1,1574 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core43.hs
+++ /dev/null
@@ -1,1882 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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,
-  GLDEBUGPROCFunc,
-  GLbitfield,
-  GLboolean,
-  GLbyte,
-  GLchar,
-  GLclampd,
-  GLclampf,
-  GLdouble,
-  GLenum,
-  GLfloat,
-  GLhalf,
-  GLint,
-  GLint64,
-  GLintptr,
-  GLshort,
-  GLsizei,
-  GLsizeiptr,
-  GLsync,
-  GLubyte,
-  GLuint,
-  GLuint64,
-  GLushort,
-  GLvoid,
-  makeGLDEBUGPROC,
-  -- * 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core44.hs
+++ /dev/null
@@ -1,1910 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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,
-  GLDEBUGPROCFunc,
-  GLbitfield,
-  GLboolean,
-  GLbyte,
-  GLchar,
-  GLclampd,
-  GLclampf,
-  GLdouble,
-  GLenum,
-  GLfloat,
-  GLhalf,
-  GLint,
-  GLint64,
-  GLintptr,
-  GLshort,
-  GLsizei,
-  GLsizeiptr,
-  GLsync,
-  GLubyte,
-  GLuint,
-  GLuint64,
-  GLushort,
-  GLvoid,
-  makeGLDEBUGPROC,
-  -- * 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Core45.hs
+++ /dev/null
@@ -1,2042 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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,
-  GLDEBUGPROCFunc,
-  GLbitfield,
-  GLboolean,
-  GLbyte,
-  GLchar,
-  GLclampd,
-  GLclampf,
-  GLdouble,
-  GLenum,
-  GLfloat,
-  GLhalf,
-  GLint,
-  GLint64,
-  GLintptr,
-  GLshort,
-  GLsizei,
-  GLsizeiptr,
-  GLsync,
-  GLubyte,
-  GLuint,
-  GLuint64,
-  GLushort,
-  GLvoid,
-  makeGLDEBUGPROC,
-  -- * 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_ATTACHMENT16,
-  gl_COLOR_ATTACHMENT17,
-  gl_COLOR_ATTACHMENT18,
-  gl_COLOR_ATTACHMENT19,
-  gl_COLOR_ATTACHMENT2,
-  gl_COLOR_ATTACHMENT20,
-  gl_COLOR_ATTACHMENT21,
-  gl_COLOR_ATTACHMENT22,
-  gl_COLOR_ATTACHMENT23,
-  gl_COLOR_ATTACHMENT24,
-  gl_COLOR_ATTACHMENT25,
-  gl_COLOR_ATTACHMENT26,
-  gl_COLOR_ATTACHMENT27,
-  gl_COLOR_ATTACHMENT28,
-  gl_COLOR_ATTACHMENT29,
-  gl_COLOR_ATTACHMENT3,
-  gl_COLOR_ATTACHMENT30,
-  gl_COLOR_ATTACHMENT31,
-  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.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT.hs
+++ /dev/null
@@ -1,199 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing EXT extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT (
-  module Graphics.Rendering.OpenGL.Raw.EXT.ABGR,
-  module Graphics.Rendering.OpenGL.Raw.EXT.BGRA,
-  module Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform,
-  module Graphics.Rendering.OpenGL.Raw.EXT.BlendColor,
-  module Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate,
-  module Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate,
-  module Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax,
-  module Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract,
-  module Graphics.Rendering.OpenGL.Raw.EXT.CMYKA,
-  module Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint,
-  module Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable,
-  module Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray,
-  module Graphics.Rendering.OpenGL.Raw.EXT.Convolution,
-  module Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame,
-  module Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture,
-  module Graphics.Rendering.OpenGL.Raw.EXT.CullVertex,
-  module Graphics.Rendering.OpenGL.Raw.EXT.DebugLabel,
-  module Graphics.Rendering.OpenGL.Raw.EXT.DebugMarker,
-  module Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest,
-  module Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess,
-  module Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2,
-  module Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced,
-  module Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements,
-  module Graphics.Rendering.OpenGL.Raw.EXT.FogCoord,
-  module Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels,
-  module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit,
-  module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample,
-  module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisampleBlitScaled,
-  module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject,
-  module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB,
-  module Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters,
-  module Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4,
-  module Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4,
-  module Graphics.Rendering.OpenGL.Raw.EXT.Histogram,
-  module Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats,
-  module Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc,
-  module Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial,
-  module Graphics.Rendering.OpenGL.Raw.EXT.LightTexture,
-  module Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays,
-  module Graphics.Rendering.OpenGL.Raw.EXT.Multisample,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PointParameters,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset,
-  module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffsetClamp,
-  module Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex,
-  module Graphics.Rendering.OpenGL.Raw.EXT.RasterMultisample,
-  module Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal,
-  module Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor,
-  module Graphics.Rendering.OpenGL.Raw.EXT.SeparateShaderObjects,
-  module Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor,
-  module Graphics.Rendering.OpenGL.Raw.EXT.ShaderImageLoadStore,
-  module Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette,
-  module Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag,
-  module Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide,
-  module Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap,
-  module Graphics.Rendering.OpenGL.Raw.EXT.Subtexture,
-  module Graphics.Rendering.OpenGL.Raw.EXT.Texture,
-  module Graphics.Rendering.OpenGL.Raw.EXT.Texture3D,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureArray,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureCubeMap,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterMinmax,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureObject,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureSNorm,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGBDecode,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery,
-  module Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback,
-  module Graphics.Rendering.OpenGL.Raw.EXT.VertexArray,
-  module Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBGRA,
-  module Graphics.Rendering.OpenGL.Raw.EXT.VertexAttrib64Bit,
-  module Graphics.Rendering.OpenGL.Raw.EXT.VertexShader,
-  module Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting,
-  module Graphics.Rendering.OpenGL.Raw.EXT.X11SyncObject
-) where
-
-import Graphics.Rendering.OpenGL.Raw.EXT.ABGR
-import Graphics.Rendering.OpenGL.Raw.EXT.BGRA
-import Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
-import Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
-import Graphics.Rendering.OpenGL.Raw.EXT.CMYKA
-import Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
-import Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
-import Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
-import Graphics.Rendering.OpenGL.Raw.EXT.Convolution
-import Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
-import Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
-import Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
-import Graphics.Rendering.OpenGL.Raw.EXT.DebugLabel
-import Graphics.Rendering.OpenGL.Raw.EXT.DebugMarker
-import Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
-import Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
-import Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2
-import Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced
-import Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
-import Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
-import Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
-import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit
-import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample
-import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisampleBlitScaled
-import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
-import Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
-import Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters
-import Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4
-import Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
-import Graphics.Rendering.OpenGL.Raw.EXT.Histogram
-import Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
-import Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
-import Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
-import Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
-import Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
-import Graphics.Rendering.OpenGL.Raw.EXT.Multisample
-import Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil
-import Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
-import Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
-import Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
-import Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject
-import Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
-import Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
-import Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
-import Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffsetClamp
-import Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
-import Graphics.Rendering.OpenGL.Raw.EXT.RasterMultisample
-import Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
-import Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
-import Graphics.Rendering.OpenGL.Raw.EXT.SeparateShaderObjects
-import Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
-import Graphics.Rendering.OpenGL.Raw.EXT.ShaderImageLoadStore
-import Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
-import Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
-import Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
-import Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
-import Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
-import Graphics.Rendering.OpenGL.Raw.EXT.Texture
-import Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureArray
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureBufferObject
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureCubeMap
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterMinmax
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
-import Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureSNorm
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGBDecode
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent
-import Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
-import Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
-import Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBGRA
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexAttrib64Bit
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
-import Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
-import Graphics.Rendering.OpenGL.Raw.EXT.X11SyncObject
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ABGR.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ABGR.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ABGR.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ABGR
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ABGR (
-  -- * Extension Support
-  glGetEXTABGR,
-  gl_EXT_abgr,
-  -- * Enums
-  gl_ABGR_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BGRA.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BGRA.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BGRA.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BGRA
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BGRA (
-  -- * Extension Support
-  glGetEXTBGRA,
-  gl_EXT_bgra,
-  -- * Enums
-  gl_BGRA_EXT,
-  gl_BGR_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BindableUniform.hs
+++ /dev/null
@@ -1,32 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BindableUniform (
-  -- * Extension Support
-  glGetEXTBindableUniform,
-  gl_EXT_bindable_uniform,
-  -- * Enums
-  gl_MAX_BINDABLE_UNIFORM_SIZE_EXT,
-  gl_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT,
-  gl_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT,
-  gl_MAX_VERTEX_BINDABLE_UNIFORMS_EXT,
-  gl_UNIFORM_BUFFER_BINDING_EXT,
-  gl_UNIFORM_BUFFER_EXT,
-  -- * Functions
-  glGetUniformBufferSizeEXT,
-  glGetUniformOffsetEXT,
-  glUniformBufferEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendColor.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendColor
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendColor (
-  -- * Extension Support
-  glGetEXTBlendColor,
-  gl_EXT_blend_color,
-  -- * Enums
-  gl_BLEND_COLOR_EXT,
-  gl_CONSTANT_ALPHA_EXT,
-  gl_CONSTANT_COLOR_EXT,
-  gl_ONE_MINUS_CONSTANT_ALPHA_EXT,
-  gl_ONE_MINUS_CONSTANT_COLOR_EXT,
-  -- * Functions
-  glBlendColorEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendEquationSeparate.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendEquationSeparate.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendEquationSeparate.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendEquationSeparate (
-  -- * Extension Support
-  glGetEXTBlendEquationSeparate,
-  gl_EXT_blend_equation_separate,
-  -- * Enums
-  gl_BLEND_EQUATION_ALPHA_EXT,
-  gl_BLEND_EQUATION_RGB_EXT,
-  -- * Functions
-  glBlendEquationSeparateEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendFuncSeparate.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendFuncSeparate.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendFuncSeparate.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendFuncSeparate (
-  -- * Extension Support
-  glGetEXTBlendFuncSeparate,
-  gl_EXT_blend_func_separate,
-  -- * Enums
-  gl_BLEND_DST_ALPHA_EXT,
-  gl_BLEND_DST_RGB_EXT,
-  gl_BLEND_SRC_ALPHA_EXT,
-  gl_BLEND_SRC_RGB_EXT,
-  -- * Functions
-  glBlendFuncSeparateEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendMinmax.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendMinmax (
-  -- * Extension Support
-  glGetEXTBlendMinmax,
-  gl_EXT_blend_minmax,
-  -- * Enums
-  gl_BLEND_EQUATION_EXT,
-  gl_FUNC_ADD_EXT,
-  gl_MAX_EXT,
-  gl_MIN_EXT,
-  -- * Functions
-  glBlendEquationEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendSubtract.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendSubtract.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/BlendSubtract.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.BlendSubtract (
-  -- * Extension Support
-  glGetEXTBlendSubtract,
-  gl_EXT_blend_subtract,
-  -- * Enums
-  gl_FUNC_REVERSE_SUBTRACT_EXT,
-  gl_FUNC_SUBTRACT_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CMYKA.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CMYKA.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CMYKA.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CMYKA
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CMYKA (
-  -- * Extension Support
-  glGetEXTCMYKA,
-  gl_EXT_cmyka,
-  -- * Enums
-  gl_CMYKA_EXT,
-  gl_CMYK_EXT,
-  gl_PACK_CMYK_HINT_EXT,
-  gl_UNPACK_CMYK_HINT_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ClipVolumeHint.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ClipVolumeHint.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ClipVolumeHint.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ClipVolumeHint (
-  -- * Extension Support
-  glGetEXTClipVolumeHint,
-  gl_EXT_clip_volume_hint,
-  -- * Enums
-  gl_CLIP_VOLUME_CLIPPING_HINT_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ColorSubtable.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ColorSubtable.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ColorSubtable.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ColorSubtable (
-  -- * Extension Support
-  glGetEXTColorSubtable,
-  gl_EXT_color_subtable,
-  -- * Functions
-  glColorSubTableEXT,
-  glCopyColorSubTableEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CompiledVertexArray.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CompiledVertexArray (
-  -- * Extension Support
-  glGetEXTCompiledVertexArray,
-  gl_EXT_compiled_vertex_array,
-  -- * Enums
-  gl_ARRAY_ELEMENT_LOCK_COUNT_EXT,
-  gl_ARRAY_ELEMENT_LOCK_FIRST_EXT,
-  -- * Functions
-  glLockArraysEXT,
-  glUnlockArraysEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Convolution.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Convolution.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Convolution.hs
+++ /dev/null
@@ -1,56 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Convolution
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Convolution (
-  -- * Extension Support
-  glGetEXTConvolution,
-  gl_EXT_convolution,
-  -- * Enums
-  gl_CONVOLUTION_1D_EXT,
-  gl_CONVOLUTION_2D_EXT,
-  gl_CONVOLUTION_BORDER_MODE_EXT,
-  gl_CONVOLUTION_FILTER_BIAS_EXT,
-  gl_CONVOLUTION_FILTER_SCALE_EXT,
-  gl_CONVOLUTION_FORMAT_EXT,
-  gl_CONVOLUTION_HEIGHT_EXT,
-  gl_CONVOLUTION_WIDTH_EXT,
-  gl_MAX_CONVOLUTION_HEIGHT_EXT,
-  gl_MAX_CONVOLUTION_WIDTH_EXT,
-  gl_POST_CONVOLUTION_ALPHA_BIAS_EXT,
-  gl_POST_CONVOLUTION_ALPHA_SCALE_EXT,
-  gl_POST_CONVOLUTION_BLUE_BIAS_EXT,
-  gl_POST_CONVOLUTION_BLUE_SCALE_EXT,
-  gl_POST_CONVOLUTION_GREEN_BIAS_EXT,
-  gl_POST_CONVOLUTION_GREEN_SCALE_EXT,
-  gl_POST_CONVOLUTION_RED_BIAS_EXT,
-  gl_POST_CONVOLUTION_RED_SCALE_EXT,
-  gl_REDUCE_EXT,
-  gl_SEPARABLE_2D_EXT,
-  -- * Functions
-  glConvolutionFilter1DEXT,
-  glConvolutionFilter2DEXT,
-  glConvolutionParameterfEXT,
-  glConvolutionParameterfvEXT,
-  glConvolutionParameteriEXT,
-  glConvolutionParameterivEXT,
-  glCopyConvolutionFilter1DEXT,
-  glCopyConvolutionFilter2DEXT,
-  glGetConvolutionFilterEXT,
-  glGetConvolutionParameterfvEXT,
-  glGetConvolutionParameterivEXT,
-  glGetSeparableFilterEXT,
-  glSeparableFilter2DEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CoordinateFrame.hs
+++ /dev/null
@@ -1,59 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CoordinateFrame (
-  -- * Extension Support
-  glGetEXTCoordinateFrame,
-  gl_EXT_coordinate_frame,
-  -- * Enums
-  gl_BINORMAL_ARRAY_EXT,
-  gl_BINORMAL_ARRAY_POINTER_EXT,
-  gl_BINORMAL_ARRAY_STRIDE_EXT,
-  gl_BINORMAL_ARRAY_TYPE_EXT,
-  gl_CURRENT_BINORMAL_EXT,
-  gl_CURRENT_TANGENT_EXT,
-  gl_MAP1_BINORMAL_EXT,
-  gl_MAP1_TANGENT_EXT,
-  gl_MAP2_BINORMAL_EXT,
-  gl_MAP2_TANGENT_EXT,
-  gl_TANGENT_ARRAY_EXT,
-  gl_TANGENT_ARRAY_POINTER_EXT,
-  gl_TANGENT_ARRAY_STRIDE_EXT,
-  gl_TANGENT_ARRAY_TYPE_EXT,
-  -- * Functions
-  glBinormal3bEXT,
-  glBinormal3bvEXT,
-  glBinormal3dEXT,
-  glBinormal3dvEXT,
-  glBinormal3fEXT,
-  glBinormal3fvEXT,
-  glBinormal3iEXT,
-  glBinormal3ivEXT,
-  glBinormal3sEXT,
-  glBinormal3svEXT,
-  glBinormalPointerEXT,
-  glTangent3bEXT,
-  glTangent3bvEXT,
-  glTangent3dEXT,
-  glTangent3dvEXT,
-  glTangent3fEXT,
-  glTangent3fvEXT,
-  glTangent3iEXT,
-  glTangent3ivEXT,
-  glTangent3sEXT,
-  glTangent3svEXT,
-  glTangentPointerEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CopyTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CopyTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CopyTexture.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CopyTexture (
-  -- * Extension Support
-  glGetEXTCopyTexture,
-  gl_EXT_copy_texture,
-  -- * Functions
-  glCopyTexImage1DEXT,
-  glCopyTexImage2DEXT,
-  glCopyTexSubImage1DEXT,
-  glCopyTexSubImage2DEXT,
-  glCopyTexSubImage3DEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/CullVertex.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.CullVertex
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.CullVertex (
-  -- * Extension Support
-  glGetEXTCullVertex,
-  gl_EXT_cull_vertex,
-  -- * Enums
-  gl_CULL_VERTEX_EXT,
-  gl_CULL_VERTEX_EYE_POSITION_EXT,
-  gl_CULL_VERTEX_OBJECT_POSITION_EXT,
-  -- * Functions
-  glCullParameterdvEXT,
-  glCullParameterfvEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DebugLabel.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DebugLabel.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DebugLabel.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DebugLabel
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DebugLabel (
-  -- * Extension Support
-  glGetEXTDebugLabel,
-  gl_EXT_debug_label,
-  -- * Enums
-  gl_BUFFER_OBJECT_EXT,
-  gl_PROGRAM_OBJECT_EXT,
-  gl_PROGRAM_PIPELINE_OBJECT_EXT,
-  gl_QUERY_OBJECT_EXT,
-  gl_SAMPLER,
-  gl_SHADER_OBJECT_EXT,
-  gl_TRANSFORM_FEEDBACK,
-  gl_VERTEX_ARRAY_OBJECT_EXT,
-  -- * Functions
-  glGetObjectLabelEXT,
-  glLabelObjectEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DebugMarker.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DebugMarker.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DebugMarker.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DebugMarker
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DebugMarker (
-  -- * Extension Support
-  glGetEXTDebugMarker,
-  gl_EXT_debug_marker,
-  -- * Functions
-  glInsertEventMarkerEXT,
-  glPopGroupMarkerEXT,
-  glPushGroupMarkerEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DepthBoundsTest.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DepthBoundsTest (
-  -- * Extension Support
-  glGetEXTDepthBoundsTest,
-  gl_EXT_depth_bounds_test,
-  -- * Enums
-  gl_DEPTH_BOUNDS_EXT,
-  gl_DEPTH_BOUNDS_TEST_EXT,
-  -- * Functions
-  glDepthBoundsEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DirectStateAccess.hs
+++ /dev/null
@@ -1,281 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DirectStateAccess (
-  -- * Extension Support
-  glGetEXTDirectStateAccess,
-  gl_EXT_direct_state_access,
-  -- * Enums
-  gl_PROGRAM_MATRIX_EXT,
-  gl_PROGRAM_MATRIX_STACK_DEPTH_EXT,
-  gl_TRANSPOSE_PROGRAM_MATRIX_EXT,
-  -- * Functions
-  glBindMultiTextureEXT,
-  glCheckNamedFramebufferStatusEXT,
-  glClearNamedBufferDataEXT,
-  glClearNamedBufferSubDataEXT,
-  glClientAttribDefaultEXT,
-  glCompressedMultiTexImage1DEXT,
-  glCompressedMultiTexImage2DEXT,
-  glCompressedMultiTexImage3DEXT,
-  glCompressedMultiTexSubImage1DEXT,
-  glCompressedMultiTexSubImage2DEXT,
-  glCompressedMultiTexSubImage3DEXT,
-  glCompressedTextureImage1DEXT,
-  glCompressedTextureImage2DEXT,
-  glCompressedTextureImage3DEXT,
-  glCompressedTextureSubImage1DEXT,
-  glCompressedTextureSubImage2DEXT,
-  glCompressedTextureSubImage3DEXT,
-  glCopyMultiTexImage1DEXT,
-  glCopyMultiTexImage2DEXT,
-  glCopyMultiTexSubImage1DEXT,
-  glCopyMultiTexSubImage2DEXT,
-  glCopyMultiTexSubImage3DEXT,
-  glCopyTextureImage1DEXT,
-  glCopyTextureImage2DEXT,
-  glCopyTextureSubImage1DEXT,
-  glCopyTextureSubImage2DEXT,
-  glCopyTextureSubImage3DEXT,
-  glDisableClientStateIndexedEXT,
-  glDisableClientStateiEXT,
-  glDisableIndexedEXT,
-  glDisableVertexArrayAttribEXT,
-  glDisableVertexArrayEXT,
-  glEnableClientStateIndexedEXT,
-  glEnableClientStateiEXT,
-  glEnableIndexedEXT,
-  glEnableVertexArrayAttribEXT,
-  glEnableVertexArrayEXT,
-  glFlushMappedNamedBufferRangeEXT,
-  glFramebufferDrawBufferEXT,
-  glFramebufferDrawBuffersEXT,
-  glFramebufferReadBufferEXT,
-  glGenerateMultiTexMipmapEXT,
-  glGenerateTextureMipmapEXT,
-  glGetBooleanIndexedvEXT,
-  glGetCompressedMultiTexImageEXT,
-  glGetCompressedTextureImageEXT,
-  glGetDoubleIndexedvEXT,
-  glGetDoublei_vEXT,
-  glGetFloatIndexedvEXT,
-  glGetFloati_vEXT,
-  glGetFramebufferParameterivEXT,
-  glGetIntegerIndexedvEXT,
-  glGetMultiTexEnvfvEXT,
-  glGetMultiTexEnvivEXT,
-  glGetMultiTexGendvEXT,
-  glGetMultiTexGenfvEXT,
-  glGetMultiTexGenivEXT,
-  glGetMultiTexImageEXT,
-  glGetMultiTexLevelParameterfvEXT,
-  glGetMultiTexLevelParameterivEXT,
-  glGetMultiTexParameterIivEXT,
-  glGetMultiTexParameterIuivEXT,
-  glGetMultiTexParameterfvEXT,
-  glGetMultiTexParameterivEXT,
-  glGetNamedBufferParameterivEXT,
-  glGetNamedBufferPointervEXT,
-  glGetNamedBufferSubDataEXT,
-  glGetNamedFramebufferAttachmentParameterivEXT,
-  glGetNamedFramebufferParameterivEXT,
-  glGetNamedProgramLocalParameterIivEXT,
-  glGetNamedProgramLocalParameterIuivEXT,
-  glGetNamedProgramLocalParameterdvEXT,
-  glGetNamedProgramLocalParameterfvEXT,
-  glGetNamedProgramStringEXT,
-  glGetNamedProgramivEXT,
-  glGetNamedRenderbufferParameterivEXT,
-  glGetPointerIndexedvEXT,
-  glGetPointeri_vEXT,
-  glGetTextureImageEXT,
-  glGetTextureLevelParameterfvEXT,
-  glGetTextureLevelParameterivEXT,
-  glGetTextureParameterIivEXT,
-  glGetTextureParameterIuivEXT,
-  glGetTextureParameterfvEXT,
-  glGetTextureParameterivEXT,
-  glGetVertexArrayIntegeri_vEXT,
-  glGetVertexArrayIntegervEXT,
-  glGetVertexArrayPointeri_vEXT,
-  glGetVertexArrayPointervEXT,
-  glIsEnabledIndexedEXT,
-  glMapNamedBufferEXT,
-  glMapNamedBufferRangeEXT,
-  glMatrixFrustumEXT,
-  glMatrixLoadIdentityEXT,
-  glMatrixLoadTransposedEXT,
-  glMatrixLoadTransposefEXT,
-  glMatrixLoaddEXT,
-  glMatrixLoadfEXT,
-  glMatrixMultTransposedEXT,
-  glMatrixMultTransposefEXT,
-  glMatrixMultdEXT,
-  glMatrixMultfEXT,
-  glMatrixOrthoEXT,
-  glMatrixPopEXT,
-  glMatrixPushEXT,
-  glMatrixRotatedEXT,
-  glMatrixRotatefEXT,
-  glMatrixScaledEXT,
-  glMatrixScalefEXT,
-  glMatrixTranslatedEXT,
-  glMatrixTranslatefEXT,
-  glMultiTexBufferEXT,
-  glMultiTexCoordPointerEXT,
-  glMultiTexEnvfEXT,
-  glMultiTexEnvfvEXT,
-  glMultiTexEnviEXT,
-  glMultiTexEnvivEXT,
-  glMultiTexGendEXT,
-  glMultiTexGendvEXT,
-  glMultiTexGenfEXT,
-  glMultiTexGenfvEXT,
-  glMultiTexGeniEXT,
-  glMultiTexGenivEXT,
-  glMultiTexImage1DEXT,
-  glMultiTexImage2DEXT,
-  glMultiTexImage3DEXT,
-  glMultiTexParameterIivEXT,
-  glMultiTexParameterIuivEXT,
-  glMultiTexParameterfEXT,
-  glMultiTexParameterfvEXT,
-  glMultiTexParameteriEXT,
-  glMultiTexParameterivEXT,
-  glMultiTexRenderbufferEXT,
-  glMultiTexSubImage1DEXT,
-  glMultiTexSubImage2DEXT,
-  glMultiTexSubImage3DEXT,
-  glNamedBufferDataEXT,
-  glNamedBufferStorageEXT,
-  glNamedBufferSubDataEXT,
-  glNamedCopyBufferSubDataEXT,
-  glNamedFramebufferParameteriEXT,
-  glNamedFramebufferRenderbufferEXT,
-  glNamedFramebufferTexture1DEXT,
-  glNamedFramebufferTexture2DEXT,
-  glNamedFramebufferTexture3DEXT,
-  glNamedFramebufferTextureEXT,
-  glNamedFramebufferTextureFaceEXT,
-  glNamedFramebufferTextureLayerEXT,
-  glNamedProgramLocalParameter4dEXT,
-  glNamedProgramLocalParameter4dvEXT,
-  glNamedProgramLocalParameter4fEXT,
-  glNamedProgramLocalParameter4fvEXT,
-  glNamedProgramLocalParameterI4iEXT,
-  glNamedProgramLocalParameterI4ivEXT,
-  glNamedProgramLocalParameterI4uiEXT,
-  glNamedProgramLocalParameterI4uivEXT,
-  glNamedProgramLocalParameters4fvEXT,
-  glNamedProgramLocalParametersI4ivEXT,
-  glNamedProgramLocalParametersI4uivEXT,
-  glNamedProgramStringEXT,
-  glNamedRenderbufferStorageEXT,
-  glNamedRenderbufferStorageMultisampleCoverageEXT,
-  glNamedRenderbufferStorageMultisampleEXT,
-  glProgramUniform1dEXT,
-  glProgramUniform1dvEXT,
-  glProgramUniform1fEXT,
-  glProgramUniform1fvEXT,
-  glProgramUniform1iEXT,
-  glProgramUniform1ivEXT,
-  glProgramUniform1uiEXT,
-  glProgramUniform1uivEXT,
-  glProgramUniform2dEXT,
-  glProgramUniform2dvEXT,
-  glProgramUniform2fEXT,
-  glProgramUniform2fvEXT,
-  glProgramUniform2iEXT,
-  glProgramUniform2ivEXT,
-  glProgramUniform2uiEXT,
-  glProgramUniform2uivEXT,
-  glProgramUniform3dEXT,
-  glProgramUniform3dvEXT,
-  glProgramUniform3fEXT,
-  glProgramUniform3fvEXT,
-  glProgramUniform3iEXT,
-  glProgramUniform3ivEXT,
-  glProgramUniform3uiEXT,
-  glProgramUniform3uivEXT,
-  glProgramUniform4dEXT,
-  glProgramUniform4dvEXT,
-  glProgramUniform4fEXT,
-  glProgramUniform4fvEXT,
-  glProgramUniform4iEXT,
-  glProgramUniform4ivEXT,
-  glProgramUniform4uiEXT,
-  glProgramUniform4uivEXT,
-  glProgramUniformMatrix2dvEXT,
-  glProgramUniformMatrix2fvEXT,
-  glProgramUniformMatrix2x3dvEXT,
-  glProgramUniformMatrix2x3fvEXT,
-  glProgramUniformMatrix2x4dvEXT,
-  glProgramUniformMatrix2x4fvEXT,
-  glProgramUniformMatrix3dvEXT,
-  glProgramUniformMatrix3fvEXT,
-  glProgramUniformMatrix3x2dvEXT,
-  glProgramUniformMatrix3x2fvEXT,
-  glProgramUniformMatrix3x4dvEXT,
-  glProgramUniformMatrix3x4fvEXT,
-  glProgramUniformMatrix4dvEXT,
-  glProgramUniformMatrix4fvEXT,
-  glProgramUniformMatrix4x2dvEXT,
-  glProgramUniformMatrix4x2fvEXT,
-  glProgramUniformMatrix4x3dvEXT,
-  glProgramUniformMatrix4x3fvEXT,
-  glPushClientAttribDefaultEXT,
-  glTextureBufferEXT,
-  glTextureBufferRangeEXT,
-  glTextureImage1DEXT,
-  glTextureImage2DEXT,
-  glTextureImage3DEXT,
-  glTexturePageCommitmentEXT,
-  glTextureParameterIivEXT,
-  glTextureParameterIuivEXT,
-  glTextureParameterfEXT,
-  glTextureParameterfvEXT,
-  glTextureParameteriEXT,
-  glTextureParameterivEXT,
-  glTextureRenderbufferEXT,
-  glTextureStorage1DEXT,
-  glTextureStorage2DEXT,
-  glTextureStorage2DMultisampleEXT,
-  glTextureStorage3DEXT,
-  glTextureStorage3DMultisampleEXT,
-  glTextureSubImage1DEXT,
-  glTextureSubImage2DEXT,
-  glTextureSubImage3DEXT,
-  glUnmapNamedBufferEXT,
-  glVertexArrayBindVertexBufferEXT,
-  glVertexArrayColorOffsetEXT,
-  glVertexArrayEdgeFlagOffsetEXT,
-  glVertexArrayFogCoordOffsetEXT,
-  glVertexArrayIndexOffsetEXT,
-  glVertexArrayMultiTexCoordOffsetEXT,
-  glVertexArrayNormalOffsetEXT,
-  glVertexArraySecondaryColorOffsetEXT,
-  glVertexArrayTexCoordOffsetEXT,
-  glVertexArrayVertexAttribBindingEXT,
-  glVertexArrayVertexAttribDivisorEXT,
-  glVertexArrayVertexAttribFormatEXT,
-  glVertexArrayVertexAttribIFormatEXT,
-  glVertexArrayVertexAttribIOffsetEXT,
-  glVertexArrayVertexAttribLFormatEXT,
-  glVertexArrayVertexAttribLOffsetEXT,
-  glVertexArrayVertexAttribOffsetEXT,
-  glVertexArrayVertexBindingDivisorEXT,
-  glVertexArrayVertexOffsetEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawBuffers2.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawBuffers2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawBuffers2.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DrawBuffers2 (
-  -- * Extension Support
-  glGetEXTDrawBuffers2,
-  gl_EXT_draw_buffers2,
-  -- * Functions
-  glColorMaskIndexedEXT,
-  glDisableIndexedEXT,
-  glEnableIndexedEXT,
-  glGetBooleanIndexedvEXT,
-  glGetIntegerIndexedvEXT,
-  glIsEnabledIndexedEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawInstanced.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawInstanced.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawInstanced.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DrawInstanced (
-  -- * Extension Support
-  glGetEXTDrawInstanced,
-  gl_EXT_draw_instanced,
-  -- * Functions
-  glDrawArraysInstancedEXT,
-  glDrawElementsInstancedEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawRangeElements.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawRangeElements.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/DrawRangeElements.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.DrawRangeElements (
-  -- * Extension Support
-  glGetEXTDrawRangeElements,
-  gl_EXT_draw_range_elements,
-  -- * Enums
-  gl_MAX_ELEMENTS_INDICES_EXT,
-  gl_MAX_ELEMENTS_VERTICES_EXT,
-  -- * Functions
-  glDrawRangeElementsEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FogCoord.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FogCoord.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FogCoord.hs
+++ /dev/null
@@ -1,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FogCoord
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FogCoord (
-  -- * Extension Support
-  glGetEXTFogCoord,
-  gl_EXT_fog_coord,
-  -- * Enums
-  gl_CURRENT_FOG_COORDINATE_EXT,
-  gl_FOG_COORDINATE_ARRAY_EXT,
-  gl_FOG_COORDINATE_ARRAY_POINTER_EXT,
-  gl_FOG_COORDINATE_ARRAY_STRIDE_EXT,
-  gl_FOG_COORDINATE_ARRAY_TYPE_EXT,
-  gl_FOG_COORDINATE_EXT,
-  gl_FOG_COORDINATE_SOURCE_EXT,
-  gl_FRAGMENT_DEPTH_EXT,
-  -- * Functions
-  glFogCoordPointerEXT,
-  glFogCoorddEXT,
-  glFogCoorddvEXT,
-  glFogCoordfEXT,
-  glFogCoordfvEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FourTwoTwoPixels.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FourTwoTwoPixels.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FourTwoTwoPixels.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FourTwoTwoPixels (
-  -- * Extension Support
-  glGetEXTFourTwoTwoPixels,
-  gl_EXT_422_pixels,
-  -- * Enums
-  gl_422_AVERAGE_EXT,
-  gl_422_EXT,
-  gl_422_REV_AVERAGE_EXT,
-  gl_422_REV_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferBlit.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferBlit.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferBlit.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferBlit (
-  -- * Extension Support
-  glGetEXTFramebufferBlit,
-  gl_EXT_framebuffer_blit,
-  -- * Enums
-  gl_DRAW_FRAMEBUFFER_BINDING_EXT,
-  gl_DRAW_FRAMEBUFFER_EXT,
-  gl_READ_FRAMEBUFFER_BINDING_EXT,
-  gl_READ_FRAMEBUFFER_EXT,
-  -- * Functions
-  glBlitFramebufferEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisample.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisample (
-  -- * Extension Support
-  glGetEXTFramebufferMultisample,
-  gl_EXT_framebuffer_multisample,
-  -- * Enums
-  gl_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT,
-  gl_MAX_SAMPLES_EXT,
-  gl_RENDERBUFFER_SAMPLES_EXT,
-  -- * Functions
-  glRenderbufferStorageMultisampleEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisampleBlitScaled.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisampleBlitScaled.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferMultisampleBlitScaled.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisampleBlitScaled
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferMultisampleBlitScaled (
-  -- * Extension Support
-  glGetEXTFramebufferMultisampleBlitScaled,
-  gl_EXT_framebuffer_multisample_blit_scaled,
-  -- * Enums
-  gl_SCALED_RESOLVE_FASTEST_EXT,
-  gl_SCALED_RESOLVE_NICEST_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferObject.hs
+++ /dev/null
@@ -1,91 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferObject (
-  -- * Extension Support
-  glGetEXTFramebufferObject,
-  gl_EXT_framebuffer_object,
-  -- * Enums
-  gl_COLOR_ATTACHMENT0_EXT,
-  gl_COLOR_ATTACHMENT10_EXT,
-  gl_COLOR_ATTACHMENT11_EXT,
-  gl_COLOR_ATTACHMENT12_EXT,
-  gl_COLOR_ATTACHMENT13_EXT,
-  gl_COLOR_ATTACHMENT14_EXT,
-  gl_COLOR_ATTACHMENT15_EXT,
-  gl_COLOR_ATTACHMENT1_EXT,
-  gl_COLOR_ATTACHMENT2_EXT,
-  gl_COLOR_ATTACHMENT3_EXT,
-  gl_COLOR_ATTACHMENT4_EXT,
-  gl_COLOR_ATTACHMENT5_EXT,
-  gl_COLOR_ATTACHMENT6_EXT,
-  gl_COLOR_ATTACHMENT7_EXT,
-  gl_COLOR_ATTACHMENT8_EXT,
-  gl_COLOR_ATTACHMENT9_EXT,
-  gl_DEPTH_ATTACHMENT_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT,
-  gl_FRAMEBUFFER_BINDING_EXT,
-  gl_FRAMEBUFFER_COMPLETE_EXT,
-  gl_FRAMEBUFFER_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT,
-  gl_FRAMEBUFFER_UNSUPPORTED_EXT,
-  gl_INVALID_FRAMEBUFFER_OPERATION_EXT,
-  gl_MAX_COLOR_ATTACHMENTS_EXT,
-  gl_MAX_RENDERBUFFER_SIZE_EXT,
-  gl_RENDERBUFFER_ALPHA_SIZE_EXT,
-  gl_RENDERBUFFER_BINDING_EXT,
-  gl_RENDERBUFFER_BLUE_SIZE_EXT,
-  gl_RENDERBUFFER_DEPTH_SIZE_EXT,
-  gl_RENDERBUFFER_EXT,
-  gl_RENDERBUFFER_GREEN_SIZE_EXT,
-  gl_RENDERBUFFER_HEIGHT_EXT,
-  gl_RENDERBUFFER_INTERNAL_FORMAT_EXT,
-  gl_RENDERBUFFER_RED_SIZE_EXT,
-  gl_RENDERBUFFER_STENCIL_SIZE_EXT,
-  gl_RENDERBUFFER_WIDTH_EXT,
-  gl_STENCIL_ATTACHMENT_EXT,
-  gl_STENCIL_INDEX16_EXT,
-  gl_STENCIL_INDEX1_EXT,
-  gl_STENCIL_INDEX4_EXT,
-  gl_STENCIL_INDEX8_EXT,
-  -- * Functions
-  glBindFramebufferEXT,
-  glBindRenderbufferEXT,
-  glCheckFramebufferStatusEXT,
-  glDeleteFramebuffersEXT,
-  glDeleteRenderbuffersEXT,
-  glFramebufferRenderbufferEXT,
-  glFramebufferTexture1DEXT,
-  glFramebufferTexture2DEXT,
-  glFramebufferTexture3DEXT,
-  glGenFramebuffersEXT,
-  glGenRenderbuffersEXT,
-  glGenerateMipmapEXT,
-  glGetFramebufferAttachmentParameterivEXT,
-  glGetRenderbufferParameterivEXT,
-  glIsFramebufferEXT,
-  glIsRenderbufferEXT,
-  glRenderbufferStorageEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferSRGB.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferSRGB.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/FramebufferSRGB.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.FramebufferSRGB (
-  -- * Extension Support
-  glGetEXTFramebufferSRGB,
-  gl_EXT_framebuffer_sRGB,
-  -- * Enums
-  gl_FRAMEBUFFER_SRGB_CAPABLE_EXT,
-  gl_FRAMEBUFFER_SRGB_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUProgramParameters.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.GPUProgramParameters (
-  -- * Extension Support
-  glGetEXTGPUProgramParameters,
-  gl_EXT_gpu_program_parameters,
-  -- * Functions
-  glProgramEnvParameters4fvEXT,
-  glProgramLocalParameters4fvEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUShader4.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUShader4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/GPUShader4.hs
+++ /dev/null
@@ -1,62 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.GPUShader4 (
-  -- * Extension Support
-  glGetEXTGPUShader4,
-  gl_EXT_gpu_shader4,
-  -- * Enums
-  gl_INT_SAMPLER_1D_ARRAY_EXT,
-  gl_INT_SAMPLER_1D_EXT,
-  gl_INT_SAMPLER_2D_ARRAY_EXT,
-  gl_INT_SAMPLER_2D_EXT,
-  gl_INT_SAMPLER_2D_RECT_EXT,
-  gl_INT_SAMPLER_3D_EXT,
-  gl_INT_SAMPLER_BUFFER_EXT,
-  gl_INT_SAMPLER_CUBE_EXT,
-  gl_MAX_PROGRAM_TEXEL_OFFSET_EXT,
-  gl_MIN_PROGRAM_TEXEL_OFFSET_EXT,
-  gl_SAMPLER_1D_ARRAY_EXT,
-  gl_SAMPLER_1D_ARRAY_SHADOW_EXT,
-  gl_SAMPLER_2D_ARRAY_EXT,
-  gl_SAMPLER_2D_ARRAY_SHADOW_EXT,
-  gl_SAMPLER_BUFFER_EXT,
-  gl_SAMPLER_CUBE_SHADOW_EXT,
-  gl_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT,
-  gl_UNSIGNED_INT_SAMPLER_1D_EXT,
-  gl_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT,
-  gl_UNSIGNED_INT_SAMPLER_2D_EXT,
-  gl_UNSIGNED_INT_SAMPLER_2D_RECT_EXT,
-  gl_UNSIGNED_INT_SAMPLER_3D_EXT,
-  gl_UNSIGNED_INT_SAMPLER_BUFFER_EXT,
-  gl_UNSIGNED_INT_SAMPLER_CUBE_EXT,
-  gl_UNSIGNED_INT_VEC2_EXT,
-  gl_UNSIGNED_INT_VEC3_EXT,
-  gl_UNSIGNED_INT_VEC4_EXT,
-  gl_VERTEX_ATTRIB_ARRAY_INTEGER_EXT,
-  -- * Functions
-  glBindFragDataLocationEXT,
-  glGetFragDataLocationEXT,
-  glGetUniformuivEXT,
-  glUniform1uiEXT,
-  glUniform1uivEXT,
-  glUniform2uiEXT,
-  glUniform2uivEXT,
-  glUniform3uiEXT,
-  glUniform3uivEXT,
-  glUniform4uiEXT,
-  glUniform4uivEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/GeometryShader4.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/GeometryShader4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/GeometryShader4.hs
+++ /dev/null
@@ -1,44 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.GeometryShader4 (
-  -- * Extension Support
-  glGetEXTGeometryShader4,
-  gl_EXT_geometry_shader4,
-  -- * Enums
-  gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT,
-  gl_GEOMETRY_INPUT_TYPE_EXT,
-  gl_GEOMETRY_OUTPUT_TYPE_EXT,
-  gl_GEOMETRY_SHADER_EXT,
-  gl_GEOMETRY_VERTICES_OUT_EXT,
-  gl_LINES_ADJACENCY_EXT,
-  gl_LINE_STRIP_ADJACENCY_EXT,
-  gl_MAX_GEOMETRY_OUTPUT_VERTICES_EXT,
-  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT,
-  gl_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT,
-  gl_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT,
-  gl_MAX_GEOMETRY_VARYING_COMPONENTS_EXT,
-  gl_MAX_VARYING_COMPONENTS_EXT,
-  gl_MAX_VERTEX_VARYING_COMPONENTS_EXT,
-  gl_PROGRAM_POINT_SIZE_EXT,
-  gl_TRIANGLES_ADJACENCY_EXT,
-  gl_TRIANGLE_STRIP_ADJACENCY_EXT,
-  -- * Functions
-  glProgramParameteriEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Histogram.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Histogram.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Histogram.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Histogram
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Histogram (
-  -- * Extension Support
-  glGetEXTHistogram,
-  gl_EXT_histogram,
-  -- * Enums
-  gl_HISTOGRAM_ALPHA_SIZE_EXT,
-  gl_HISTOGRAM_BLUE_SIZE_EXT,
-  gl_HISTOGRAM_EXT,
-  gl_HISTOGRAM_FORMAT_EXT,
-  gl_HISTOGRAM_GREEN_SIZE_EXT,
-  gl_HISTOGRAM_LUMINANCE_SIZE_EXT,
-  gl_HISTOGRAM_RED_SIZE_EXT,
-  gl_HISTOGRAM_SINK_EXT,
-  gl_HISTOGRAM_WIDTH_EXT,
-  gl_MINMAX_EXT,
-  gl_MINMAX_FORMAT_EXT,
-  gl_MINMAX_SINK_EXT,
-  gl_PROXY_HISTOGRAM_EXT,
-  gl_TABLE_TOO_LARGE_EXT,
-  -- * Functions
-  glGetHistogramEXT,
-  glGetHistogramParameterfvEXT,
-  glGetHistogramParameterivEXT,
-  glGetMinmaxEXT,
-  glGetMinmaxParameterfvEXT,
-  glGetMinmaxParameterivEXT,
-  glHistogramEXT,
-  glMinmaxEXT,
-  glResetHistogramEXT,
-  glResetMinmaxEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexArrayFormats.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexArrayFormats.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexArrayFormats.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.IndexArrayFormats (
-  -- * Extension Support
-  glGetEXTIndexArrayFormats,
-  gl_EXT_index_array_formats,
-  -- * Enums
-  gl_IUI_N3F_V2F_EXT,
-  gl_IUI_N3F_V3F_EXT,
-  gl_IUI_V2F_EXT,
-  gl_IUI_V3F_EXT,
-  gl_T2F_IUI_N3F_V2F_EXT,
-  gl_T2F_IUI_N3F_V3F_EXT,
-  gl_T2F_IUI_V2F_EXT,
-  gl_T2F_IUI_V3F_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexFunc.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.IndexFunc (
-  -- * Extension Support
-  glGetEXTIndexFunc,
-  gl_EXT_index_func,
-  -- * Enums
-  gl_INDEX_TEST_EXT,
-  gl_INDEX_TEST_FUNC_EXT,
-  gl_INDEX_TEST_REF_EXT,
-  -- * Functions
-  glIndexFuncEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/IndexMaterial.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.IndexMaterial (
-  -- * Extension Support
-  glGetEXTIndexMaterial,
-  gl_EXT_index_material,
-  -- * Enums
-  gl_INDEX_MATERIAL_EXT,
-  gl_INDEX_MATERIAL_FACE_EXT,
-  gl_INDEX_MATERIAL_PARAMETER_EXT,
-  -- * Functions
-  glIndexMaterialEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/LightTexture.hs
+++ /dev/null
@@ -1,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.LightTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.LightTexture (
-  -- * Extension Support
-  glGetEXTLightTexture,
-  gl_EXT_light_texture,
-  -- * Enums
-  gl_ATTENUATION_EXT,
-  gl_FRAGMENT_COLOR_EXT,
-  gl_FRAGMENT_DEPTH_EXT,
-  gl_FRAGMENT_MATERIAL_EXT,
-  gl_FRAGMENT_NORMAL_EXT,
-  gl_SHADOW_ATTENUATION_EXT,
-  gl_TEXTURE_APPLICATION_MODE_EXT,
-  gl_TEXTURE_LIGHT_EXT,
-  gl_TEXTURE_MATERIAL_FACE_EXT,
-  gl_TEXTURE_MATERIAL_PARAMETER_EXT,
-  -- * Functions
-  glApplyTextureEXT,
-  glTextureLightEXT,
-  glTextureMaterialEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/MultiDrawArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/MultiDrawArrays.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/MultiDrawArrays.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.MultiDrawArrays (
-  -- * Extension Support
-  glGetEXTMultiDrawArrays,
-  gl_EXT_multi_draw_arrays,
-  -- * Functions
-  glMultiDrawArraysEXT,
-  glMultiDrawElementsEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Multisample.hs
+++ /dev/null
@@ -1,42 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Multisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Multisample (
-  -- * Extension Support
-  glGetEXTMultisample,
-  gl_EXT_multisample,
-  -- * Enums
-  gl_1PASS_EXT,
-  gl_2PASS_0_EXT,
-  gl_2PASS_1_EXT,
-  gl_4PASS_0_EXT,
-  gl_4PASS_1_EXT,
-  gl_4PASS_2_EXT,
-  gl_4PASS_3_EXT,
-  gl_MULTISAMPLE_BIT_EXT,
-  gl_MULTISAMPLE_EXT,
-  gl_SAMPLES_EXT,
-  gl_SAMPLE_ALPHA_TO_MASK_EXT,
-  gl_SAMPLE_ALPHA_TO_ONE_EXT,
-  gl_SAMPLE_BUFFERS_EXT,
-  gl_SAMPLE_MASK_EXT,
-  gl_SAMPLE_MASK_INVERT_EXT,
-  gl_SAMPLE_MASK_VALUE_EXT,
-  gl_SAMPLE_PATTERN_EXT,
-  -- * Functions
-  glSampleMaskEXT,
-  glSamplePatternEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedDepthStencil.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PackedDepthStencil (
-  -- * Extension Support
-  glGetEXTPackedDepthStencil,
-  gl_EXT_packed_depth_stencil,
-  -- * Enums
-  gl_DEPTH24_STENCIL8_EXT,
-  gl_DEPTH_STENCIL_EXT,
-  gl_TEXTURE_STENCIL_SIZE_EXT,
-  gl_UNSIGNED_INT_24_8_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedFloat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedFloat.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PackedFloat (
-  -- * Extension Support
-  glGetEXTPackedFloat,
-  gl_EXT_packed_float,
-  -- * Enums
-  gl_R11F_G11F_B10F_EXT,
-  gl_RGBA_SIGNED_COMPONENTS_EXT,
-  gl_UNSIGNED_INT_10F_11F_11F_REV_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedPixels.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedPixels.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PackedPixels.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PackedPixels (
-  -- * Extension Support
-  glGetEXTPackedPixels,
-  gl_EXT_packed_pixels,
-  -- * Enums
-  gl_UNSIGNED_BYTE_3_3_2_EXT,
-  gl_UNSIGNED_INT_10_10_10_2_EXT,
-  gl_UNSIGNED_INT_8_8_8_8_EXT,
-  gl_UNSIGNED_SHORT_4_4_4_4_EXT,
-  gl_UNSIGNED_SHORT_5_5_5_1_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PalettedTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PalettedTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PalettedTexture.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PalettedTexture (
-  -- * Extension Support
-  glGetEXTPalettedTexture,
-  gl_EXT_paletted_texture,
-  -- * Enums
-  gl_COLOR_INDEX12_EXT,
-  gl_COLOR_INDEX16_EXT,
-  gl_COLOR_INDEX1_EXT,
-  gl_COLOR_INDEX2_EXT,
-  gl_COLOR_INDEX4_EXT,
-  gl_COLOR_INDEX8_EXT,
-  gl_TEXTURE_INDEX_SIZE_EXT,
-  -- * Functions
-  glColorTableEXT,
-  glGetColorTableEXT,
-  glGetColorTableParameterfvEXT,
-  glGetColorTableParameterivEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelBufferObject.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PixelBufferObject (
-  -- * Extension Support
-  glGetEXTPixelBufferObject,
-  gl_EXT_pixel_buffer_object,
-  -- * Enums
-  gl_PIXEL_PACK_BUFFER_BINDING_EXT,
-  gl_PIXEL_PACK_BUFFER_EXT,
-  gl_PIXEL_UNPACK_BUFFER_BINDING_EXT,
-  gl_PIXEL_UNPACK_BUFFER_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PixelTransform.hs
+++ /dev/null
@@ -1,38 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PixelTransform (
-  -- * Extension Support
-  glGetEXTPixelTransform,
-  gl_EXT_pixel_transform,
-  -- * Enums
-  gl_AVERAGE_EXT,
-  gl_CUBIC_EXT,
-  gl_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT,
-  gl_PIXEL_CUBIC_WEIGHT_EXT,
-  gl_PIXEL_MAG_FILTER_EXT,
-  gl_PIXEL_MIN_FILTER_EXT,
-  gl_PIXEL_TRANSFORM_2D_EXT,
-  gl_PIXEL_TRANSFORM_2D_MATRIX_EXT,
-  gl_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT,
-  -- * Functions
-  glGetPixelTransformParameterfvEXT,
-  glGetPixelTransformParameterivEXT,
-  glPixelTransformParameterfEXT,
-  glPixelTransformParameterfvEXT,
-  glPixelTransformParameteriEXT,
-  glPixelTransformParameterivEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PointParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PointParameters.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PointParameters.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PointParameters
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PointParameters (
-  -- * Extension Support
-  glGetEXTPointParameters,
-  gl_EXT_point_parameters,
-  -- * Enums
-  gl_DISTANCE_ATTENUATION_EXT,
-  gl_POINT_FADE_THRESHOLD_SIZE_EXT,
-  gl_POINT_SIZE_MAX_EXT,
-  gl_POINT_SIZE_MIN_EXT,
-  -- * Functions
-  glPointParameterfEXT,
-  glPointParameterfvEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffset.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffset.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffset.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffset (
-  -- * Extension Support
-  glGetEXTPolygonOffset,
-  gl_EXT_polygon_offset,
-  -- * Enums
-  gl_POLYGON_OFFSET_BIAS_EXT,
-  gl_POLYGON_OFFSET_EXT,
-  gl_POLYGON_OFFSET_FACTOR_EXT,
-  -- * Functions
-  glPolygonOffsetEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffsetClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffsetClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/PolygonOffsetClamp.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffsetClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.PolygonOffsetClamp (
-  -- * Extension Support
-  glGetEXTPolygonOffsetClamp,
-  gl_EXT_polygon_offset_clamp,
-  -- * Enums
-  gl_POLYGON_OFFSET_CLAMP_EXT,
-  -- * Functions
-  glPolygonOffsetClampEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ProvokingVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ProvokingVertex.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ProvokingVertex.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ProvokingVertex (
-  -- * Extension Support
-  glGetEXTProvokingVertex,
-  gl_EXT_provoking_vertex,
-  -- * Enums
-  gl_FIRST_VERTEX_CONVENTION_EXT,
-  gl_LAST_VERTEX_CONVENTION_EXT,
-  gl_PROVOKING_VERTEX_EXT,
-  gl_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT,
-  -- * Functions
-  glProvokingVertexEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/RasterMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/RasterMultisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/RasterMultisample.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.RasterMultisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.RasterMultisample (
-  -- * Extension Support
-  glGetEXTRasterMultisample,
-  gl_EXT_raster_multisample,
-  -- * Enums
-  gl_EFFECTIVE_RASTER_SAMPLES_EXT,
-  gl_MAX_RASTER_SAMPLES_EXT,
-  gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT,
-  gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT,
-  gl_RASTER_MULTISAMPLE_EXT,
-  gl_RASTER_SAMPLES_EXT,
-  -- * Functions
-  glRasterSamplesEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/RescaleNormal.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/RescaleNormal.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/RescaleNormal.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.RescaleNormal (
-  -- * Extension Support
-  glGetEXTRescaleNormal,
-  gl_EXT_rescale_normal,
-  -- * Enums
-  gl_RESCALE_NORMAL_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SecondaryColor.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SecondaryColor.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SecondaryColor.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SecondaryColor (
-  -- * Extension Support
-  glGetEXTSecondaryColor,
-  gl_EXT_secondary_color,
-  -- * Enums
-  gl_COLOR_SUM_EXT,
-  gl_CURRENT_SECONDARY_COLOR_EXT,
-  gl_SECONDARY_COLOR_ARRAY_EXT,
-  gl_SECONDARY_COLOR_ARRAY_POINTER_EXT,
-  gl_SECONDARY_COLOR_ARRAY_SIZE_EXT,
-  gl_SECONDARY_COLOR_ARRAY_STRIDE_EXT,
-  gl_SECONDARY_COLOR_ARRAY_TYPE_EXT,
-  -- * Functions
-  glSecondaryColor3bEXT,
-  glSecondaryColor3bvEXT,
-  glSecondaryColor3dEXT,
-  glSecondaryColor3dvEXT,
-  glSecondaryColor3fEXT,
-  glSecondaryColor3fvEXT,
-  glSecondaryColor3iEXT,
-  glSecondaryColor3ivEXT,
-  glSecondaryColor3sEXT,
-  glSecondaryColor3svEXT,
-  glSecondaryColor3ubEXT,
-  glSecondaryColor3ubvEXT,
-  glSecondaryColor3uiEXT,
-  glSecondaryColor3uivEXT,
-  glSecondaryColor3usEXT,
-  glSecondaryColor3usvEXT,
-  glSecondaryColorPointerEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateShaderObjects.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateShaderObjects.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateShaderObjects.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SeparateShaderObjects
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SeparateShaderObjects (
-  -- * Extension Support
-  glGetEXTSeparateShaderObjects,
-  gl_EXT_separate_shader_objects,
-  -- * Enums
-  gl_ACTIVE_PROGRAM_EXT,
-  -- * Functions
-  glActiveProgramEXT,
-  glCreateShaderProgramEXT,
-  glUseShaderProgramEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateSpecularColor.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateSpecularColor.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SeparateSpecularColor.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SeparateSpecularColor (
-  -- * Extension Support
-  glGetEXTSeparateSpecularColor,
-  gl_EXT_separate_specular_color,
-  -- * Enums
-  gl_LIGHT_MODEL_COLOR_CONTROL_EXT,
-  gl_SEPARATE_SPECULAR_COLOR_EXT,
-  gl_SINGLE_COLOR_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/ShaderImageLoadStore.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/ShaderImageLoadStore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/ShaderImageLoadStore.hs
+++ /dev/null
@@ -1,80 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.ShaderImageLoadStore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.ShaderImageLoadStore (
-  -- * Extension Support
-  glGetEXTShaderImageLoadStore,
-  gl_EXT_shader_image_load_store,
-  -- * Enums
-  gl_ALL_BARRIER_BITS_EXT,
-  gl_ATOMIC_COUNTER_BARRIER_BIT_EXT,
-  gl_BUFFER_UPDATE_BARRIER_BIT_EXT,
-  gl_COMMAND_BARRIER_BIT_EXT,
-  gl_ELEMENT_ARRAY_BARRIER_BIT_EXT,
-  gl_FRAMEBUFFER_BARRIER_BIT_EXT,
-  gl_IMAGE_1D_ARRAY_EXT,
-  gl_IMAGE_1D_EXT,
-  gl_IMAGE_2D_ARRAY_EXT,
-  gl_IMAGE_2D_EXT,
-  gl_IMAGE_2D_MULTISAMPLE_ARRAY_EXT,
-  gl_IMAGE_2D_MULTISAMPLE_EXT,
-  gl_IMAGE_2D_RECT_EXT,
-  gl_IMAGE_3D_EXT,
-  gl_IMAGE_BINDING_ACCESS_EXT,
-  gl_IMAGE_BINDING_FORMAT_EXT,
-  gl_IMAGE_BINDING_LAYERED_EXT,
-  gl_IMAGE_BINDING_LAYER_EXT,
-  gl_IMAGE_BINDING_LEVEL_EXT,
-  gl_IMAGE_BINDING_NAME_EXT,
-  gl_IMAGE_BUFFER_EXT,
-  gl_IMAGE_CUBE_EXT,
-  gl_IMAGE_CUBE_MAP_ARRAY_EXT,
-  gl_INT_IMAGE_1D_ARRAY_EXT,
-  gl_INT_IMAGE_1D_EXT,
-  gl_INT_IMAGE_2D_ARRAY_EXT,
-  gl_INT_IMAGE_2D_EXT,
-  gl_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT,
-  gl_INT_IMAGE_2D_MULTISAMPLE_EXT,
-  gl_INT_IMAGE_2D_RECT_EXT,
-  gl_INT_IMAGE_3D_EXT,
-  gl_INT_IMAGE_BUFFER_EXT,
-  gl_INT_IMAGE_CUBE_EXT,
-  gl_INT_IMAGE_CUBE_MAP_ARRAY_EXT,
-  gl_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS_EXT,
-  gl_MAX_IMAGE_SAMPLES_EXT,
-  gl_MAX_IMAGE_UNITS_EXT,
-  gl_PIXEL_BUFFER_BARRIER_BIT_EXT,
-  gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT,
-  gl_TEXTURE_FETCH_BARRIER_BIT_EXT,
-  gl_TEXTURE_UPDATE_BARRIER_BIT_EXT,
-  gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT,
-  gl_UNIFORM_BARRIER_BIT_EXT,
-  gl_UNSIGNED_INT_IMAGE_1D_ARRAY_EXT,
-  gl_UNSIGNED_INT_IMAGE_1D_EXT,
-  gl_UNSIGNED_INT_IMAGE_2D_ARRAY_EXT,
-  gl_UNSIGNED_INT_IMAGE_2D_EXT,
-  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_ARRAY_EXT,
-  gl_UNSIGNED_INT_IMAGE_2D_MULTISAMPLE_EXT,
-  gl_UNSIGNED_INT_IMAGE_2D_RECT_EXT,
-  gl_UNSIGNED_INT_IMAGE_3D_EXT,
-  gl_UNSIGNED_INT_IMAGE_BUFFER_EXT,
-  gl_UNSIGNED_INT_IMAGE_CUBE_EXT,
-  gl_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT,
-  gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT,
-  -- * Functions
-  glBindImageTextureEXT,
-  glMemoryBarrierEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/SharedTexturePalette.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/SharedTexturePalette.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/SharedTexturePalette.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.SharedTexturePalette (
-  -- * Extension Support
-  glGetEXTSharedTexturePalette,
-  gl_EXT_shared_texture_palette,
-  -- * Enums
-  gl_SHARED_TEXTURE_PALETTE_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilClearTag.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.StencilClearTag (
-  -- * Extension Support
-  glGetEXTStencilClearTag,
-  gl_EXT_stencil_clear_tag,
-  -- * Enums
-  gl_STENCIL_CLEAR_TAG_VALUE_EXT,
-  gl_STENCIL_TAG_BITS_EXT,
-  -- * Functions
-  glStencilClearTagEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilTwoSide.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.StencilTwoSide (
-  -- * Extension Support
-  glGetEXTStencilTwoSide,
-  gl_EXT_stencil_two_side,
-  -- * Enums
-  gl_ACTIVE_STENCIL_FACE_EXT,
-  gl_STENCIL_TEST_TWO_SIDE_EXT,
-  -- * Functions
-  glActiveStencilFaceEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilWrap.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilWrap.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/StencilWrap.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.StencilWrap (
-  -- * Extension Support
-  glGetEXTStencilWrap,
-  gl_EXT_stencil_wrap,
-  -- * Enums
-  gl_DECR_WRAP_EXT,
-  gl_INCR_WRAP_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Subtexture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Subtexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Subtexture.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Subtexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Subtexture (
-  -- * Extension Support
-  glGetEXTSubtexture,
-  gl_EXT_subtexture,
-  -- * Functions
-  glTexSubImage1DEXT,
-  glTexSubImage2DEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture.hs
+++ /dev/null
@@ -1,64 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Texture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Texture (
-  -- * Extension Support
-  glGetEXTTexture,
-  gl_EXT_texture,
-  -- * Enums
-  gl_ALPHA12_EXT,
-  gl_ALPHA16_EXT,
-  gl_ALPHA4_EXT,
-  gl_ALPHA8_EXT,
-  gl_INTENSITY12_EXT,
-  gl_INTENSITY16_EXT,
-  gl_INTENSITY4_EXT,
-  gl_INTENSITY8_EXT,
-  gl_INTENSITY_EXT,
-  gl_LUMINANCE12_ALPHA12_EXT,
-  gl_LUMINANCE12_ALPHA4_EXT,
-  gl_LUMINANCE12_EXT,
-  gl_LUMINANCE16_ALPHA16_EXT,
-  gl_LUMINANCE16_EXT,
-  gl_LUMINANCE4_ALPHA4_EXT,
-  gl_LUMINANCE4_EXT,
-  gl_LUMINANCE6_ALPHA2_EXT,
-  gl_LUMINANCE8_ALPHA8_EXT,
-  gl_LUMINANCE8_EXT,
-  gl_PROXY_TEXTURE_1D_EXT,
-  gl_PROXY_TEXTURE_2D_EXT,
-  gl_REPLACE_EXT,
-  gl_RGB10_A2_EXT,
-  gl_RGB10_EXT,
-  gl_RGB12_EXT,
-  gl_RGB16_EXT,
-  gl_RGB2_EXT,
-  gl_RGB4_EXT,
-  gl_RGB5_A1_EXT,
-  gl_RGB5_EXT,
-  gl_RGB8_EXT,
-  gl_RGBA12_EXT,
-  gl_RGBA16_EXT,
-  gl_RGBA2_EXT,
-  gl_RGBA4_EXT,
-  gl_RGBA8_EXT,
-  gl_TEXTURE_ALPHA_SIZE_EXT,
-  gl_TEXTURE_BLUE_SIZE_EXT,
-  gl_TEXTURE_GREEN_SIZE_EXT,
-  gl_TEXTURE_INTENSITY_SIZE_EXT,
-  gl_TEXTURE_LUMINANCE_SIZE_EXT,
-  gl_TEXTURE_RED_SIZE_EXT,
-  gl_TEXTURE_TOO_LARGE_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture3D.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture3D.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/Texture3D.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.Texture3D
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.Texture3D (
-  -- * Extension Support
-  glGetEXTTexture3D,
-  gl_EXT_texture3D,
-  -- * Enums
-  gl_MAX_3D_TEXTURE_SIZE_EXT,
-  gl_PACK_IMAGE_HEIGHT_EXT,
-  gl_PACK_SKIP_IMAGES_EXT,
-  gl_PROXY_TEXTURE_3D_EXT,
-  gl_TEXTURE_3D_EXT,
-  gl_TEXTURE_DEPTH_EXT,
-  gl_TEXTURE_WRAP_R_EXT,
-  gl_UNPACK_IMAGE_HEIGHT_EXT,
-  gl_UNPACK_SKIP_IMAGES_EXT,
-  -- * Functions
-  glTexImage3DEXT,
-  glTexSubImage3DEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureArray.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureArray.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureArray (
-  -- * Extension Support
-  glGetEXTTextureArray,
-  gl_EXT_texture_array,
-  -- * Enums
-  gl_COMPARE_REF_DEPTH_TO_TEXTURE_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT,
-  gl_MAX_ARRAY_TEXTURE_LAYERS_EXT,
-  gl_PROXY_TEXTURE_1D_ARRAY_EXT,
-  gl_PROXY_TEXTURE_2D_ARRAY_EXT,
-  gl_TEXTURE_1D_ARRAY_EXT,
-  gl_TEXTURE_2D_ARRAY_EXT,
-  gl_TEXTURE_BINDING_1D_ARRAY_EXT,
-  gl_TEXTURE_BINDING_2D_ARRAY_EXT,
-  -- * Functions
-  glFramebufferTextureLayerEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureBufferObject.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureBufferObject (
-  -- * Extension Support
-  glGetEXTTextureBufferObject,
-  gl_EXT_texture_buffer_object,
-  -- * Enums
-  gl_MAX_TEXTURE_BUFFER_SIZE_EXT,
-  gl_TEXTURE_BINDING_BUFFER_EXT,
-  gl_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT,
-  gl_TEXTURE_BUFFER_EXT,
-  gl_TEXTURE_BUFFER_FORMAT_EXT,
-  -- * Functions
-  glTexBufferEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLATC.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLATC.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionLATC.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionLATC (
-  -- * Extension Support
-  glGetEXTTextureCompressionLATC,
-  gl_EXT_texture_compression_latc,
-  -- * Enums
-  gl_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT,
-  gl_COMPRESSED_LUMINANCE_LATC1_EXT,
-  gl_COMPRESSED_SIGNED_LUMINANCE_ALPHA_LATC2_EXT,
-  gl_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionRGTC.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionRGTC.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionRGTC.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionRGTC (
-  -- * Extension Support
-  glGetEXTTextureCompressionRGTC,
-  gl_EXT_texture_compression_rgtc,
-  -- * Enums
-  gl_COMPRESSED_RED_GREEN_RGTC2_EXT,
-  gl_COMPRESSED_RED_RGTC1_EXT,
-  gl_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
-  gl_COMPRESSED_SIGNED_RED_RGTC1_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3TC.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3TC.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCompressionS3TC.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureCompressionS3TC (
-  -- * Extension Support
-  glGetEXTTextureCompressionS3TC,
-  gl_EXT_texture_compression_s3tc,
-  -- * Enums
-  gl_COMPRESSED_RGBA_S3TC_DXT1_EXT,
-  gl_COMPRESSED_RGBA_S3TC_DXT3_EXT,
-  gl_COMPRESSED_RGBA_S3TC_DXT5_EXT,
-  gl_COMPRESSED_RGB_S3TC_DXT1_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCubeMap.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCubeMap.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureCubeMap.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureCubeMap
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureCubeMap (
-  -- * Extension Support
-  glGetEXTTextureCubeMap,
-  gl_EXT_texture_cube_map,
-  -- * Enums
-  gl_MAX_CUBE_MAP_TEXTURE_SIZE_EXT,
-  gl_NORMAL_MAP_EXT,
-  gl_PROXY_TEXTURE_CUBE_MAP_EXT,
-  gl_REFLECTION_MAP_EXT,
-  gl_TEXTURE_BINDING_CUBE_MAP_EXT,
-  gl_TEXTURE_CUBE_MAP_EXT,
-  gl_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT,
-  gl_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT,
-  gl_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT,
-  gl_TEXTURE_CUBE_MAP_POSITIVE_X_EXT,
-  gl_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT,
-  gl_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvCombine.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvCombine.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvCombine.hs
+++ /dev/null
@@ -1,42 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvCombine (
-  -- * Extension Support
-  glGetEXTTextureEnvCombine,
-  gl_EXT_texture_env_combine,
-  -- * Enums
-  gl_ADD_SIGNED_EXT,
-  gl_COMBINE_ALPHA_EXT,
-  gl_COMBINE_EXT,
-  gl_COMBINE_RGB_EXT,
-  gl_CONSTANT_EXT,
-  gl_INTERPOLATE_EXT,
-  gl_OPERAND0_ALPHA_EXT,
-  gl_OPERAND0_RGB_EXT,
-  gl_OPERAND1_ALPHA_EXT,
-  gl_OPERAND1_RGB_EXT,
-  gl_OPERAND2_ALPHA_EXT,
-  gl_OPERAND2_RGB_EXT,
-  gl_PREVIOUS_EXT,
-  gl_PRIMARY_COLOR_EXT,
-  gl_RGB_SCALE_EXT,
-  gl_SOURCE0_ALPHA_EXT,
-  gl_SOURCE0_RGB_EXT,
-  gl_SOURCE1_ALPHA_EXT,
-  gl_SOURCE1_RGB_EXT,
-  gl_SOURCE2_ALPHA_EXT,
-  gl_SOURCE2_RGB_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvDot3.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvDot3.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureEnvDot3.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureEnvDot3 (
-  -- * Extension Support
-  glGetEXTTextureEnvDot3,
-  gl_EXT_texture_env_dot3,
-  -- * Enums
-  gl_DOT3_RGBA_EXT,
-  gl_DOT3_RGB_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterAnisotropic.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterAnisotropic.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterAnisotropic.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterAnisotropic (
-  -- * Extension Support
-  glGetEXTTextureFilterAnisotropic,
-  gl_EXT_texture_filter_anisotropic,
-  -- * Enums
-  gl_MAX_TEXTURE_MAX_ANISOTROPY_EXT,
-  gl_TEXTURE_MAX_ANISOTROPY_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterMinmax.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterMinmax.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureFilterMinmax.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterMinmax
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureFilterMinmax (
-  -- * Extension Support
-  glGetEXTTextureFilterMinmax,
-  gl_EXT_texture_filter_minmax,
-  -- * Enums
-  gl_EFFECTIVE_RASTER_SAMPLES_EXT,
-  gl_MAX_RASTER_SAMPLES_EXT,
-  gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT,
-  gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT,
-  gl_RASTER_MULTISAMPLE_EXT,
-  gl_RASTER_SAMPLES_EXT,
-  -- * Functions
-  glRasterSamplesEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureInteger.hs
+++ /dev/null
@@ -1,76 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureInteger (
-  -- * Extension Support
-  glGetEXTTextureInteger,
-  gl_EXT_texture_integer,
-  -- * Enums
-  gl_ALPHA16I_EXT,
-  gl_ALPHA16UI_EXT,
-  gl_ALPHA32I_EXT,
-  gl_ALPHA32UI_EXT,
-  gl_ALPHA8I_EXT,
-  gl_ALPHA8UI_EXT,
-  gl_ALPHA_INTEGER_EXT,
-  gl_BGRA_INTEGER_EXT,
-  gl_BGR_INTEGER_EXT,
-  gl_BLUE_INTEGER_EXT,
-  gl_GREEN_INTEGER_EXT,
-  gl_INTENSITY16I_EXT,
-  gl_INTENSITY16UI_EXT,
-  gl_INTENSITY32I_EXT,
-  gl_INTENSITY32UI_EXT,
-  gl_INTENSITY8I_EXT,
-  gl_INTENSITY8UI_EXT,
-  gl_LUMINANCE16I_EXT,
-  gl_LUMINANCE16UI_EXT,
-  gl_LUMINANCE32I_EXT,
-  gl_LUMINANCE32UI_EXT,
-  gl_LUMINANCE8I_EXT,
-  gl_LUMINANCE8UI_EXT,
-  gl_LUMINANCE_ALPHA16I_EXT,
-  gl_LUMINANCE_ALPHA16UI_EXT,
-  gl_LUMINANCE_ALPHA32I_EXT,
-  gl_LUMINANCE_ALPHA32UI_EXT,
-  gl_LUMINANCE_ALPHA8I_EXT,
-  gl_LUMINANCE_ALPHA8UI_EXT,
-  gl_LUMINANCE_ALPHA_INTEGER_EXT,
-  gl_LUMINANCE_INTEGER_EXT,
-  gl_RED_INTEGER_EXT,
-  gl_RGB16I_EXT,
-  gl_RGB16UI_EXT,
-  gl_RGB32I_EXT,
-  gl_RGB32UI_EXT,
-  gl_RGB8I_EXT,
-  gl_RGB8UI_EXT,
-  gl_RGBA16I_EXT,
-  gl_RGBA16UI_EXT,
-  gl_RGBA32I_EXT,
-  gl_RGBA32UI_EXT,
-  gl_RGBA8I_EXT,
-  gl_RGBA8UI_EXT,
-  gl_RGBA_INTEGER_EXT,
-  gl_RGBA_INTEGER_MODE_EXT,
-  gl_RGB_INTEGER_EXT,
-  -- * Functions
-  glClearColorIiEXT,
-  glClearColorIuiEXT,
-  glGetTexParameterIivEXT,
-  glGetTexParameterIuivEXT,
-  glTexParameterIivEXT,
-  glTexParameterIuivEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLODBias.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLODBias.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureLODBias.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureLODBias (
-  -- * Extension Support
-  glGetEXTTextureLODBias,
-  gl_EXT_texture_lod_bias,
-  -- * Enums
-  gl_MAX_TEXTURE_LOD_BIAS_EXT,
-  gl_TEXTURE_FILTER_CONTROL_EXT,
-  gl_TEXTURE_LOD_BIAS_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureMirrorClamp.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureMirrorClamp (
-  -- * Extension Support
-  glGetEXTTextureMirrorClamp,
-  gl_EXT_texture_mirror_clamp,
-  -- * Enums
-  gl_MIRROR_CLAMP_EXT,
-  gl_MIRROR_CLAMP_TO_BORDER_EXT,
-  gl_MIRROR_CLAMP_TO_EDGE_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureObject.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureObject.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureObject (
-  -- * Extension Support
-  glGetEXTTextureObject,
-  gl_EXT_texture_object,
-  -- * Enums
-  gl_TEXTURE_1D_BINDING_EXT,
-  gl_TEXTURE_2D_BINDING_EXT,
-  gl_TEXTURE_3D_BINDING_EXT,
-  gl_TEXTURE_PRIORITY_EXT,
-  gl_TEXTURE_RESIDENT_EXT,
-  -- * Functions
-  glAreTexturesResidentEXT,
-  glBindTextureEXT,
-  glDeleteTexturesEXT,
-  glGenTexturesEXT,
-  glIsTextureEXT,
-  glPrioritizeTexturesEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TexturePerturbNormal.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TexturePerturbNormal (
-  -- * Extension Support
-  glGetEXTTexturePerturbNormal,
-  gl_EXT_texture_perturb_normal,
-  -- * Enums
-  gl_PERTURB_EXT,
-  gl_TEXTURE_NORMAL_EXT,
-  -- * Functions
-  glTextureNormalEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSNorm.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSNorm.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSNorm.hs
+++ /dev/null
@@ -1,46 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSNorm
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureSNorm (
-  -- * Extension Support
-  glGetEXTTextureSNorm,
-  gl_EXT_texture_snorm,
-  -- * Enums
-  gl_ALPHA16_SNORM,
-  gl_ALPHA8_SNORM,
-  gl_ALPHA_SNORM,
-  gl_INTENSITY16_SNORM,
-  gl_INTENSITY8_SNORM,
-  gl_INTENSITY_SNORM,
-  gl_LUMINANCE16_ALPHA16_SNORM,
-  gl_LUMINANCE16_SNORM,
-  gl_LUMINANCE8_ALPHA8_SNORM,
-  gl_LUMINANCE8_SNORM,
-  gl_LUMINANCE_ALPHA_SNORM,
-  gl_LUMINANCE_SNORM,
-  gl_R16_SNORM,
-  gl_R8_SNORM,
-  gl_RED_SNORM,
-  gl_RG16_SNORM,
-  gl_RG8_SNORM,
-  gl_RGB16_SNORM,
-  gl_RGB8_SNORM,
-  gl_RGBA16_SNORM,
-  gl_RGBA8_SNORM,
-  gl_RGBA_SNORM,
-  gl_RGB_SNORM,
-  gl_RG_SNORM,
-  gl_SIGNED_NORMALIZED
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGB.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGB.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGB.hs
+++ /dev/null
@@ -1,37 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGB (
-  -- * Extension Support
-  glGetEXTTextureSRGB,
-  gl_EXT_texture_sRGB,
-  -- * Enums
-  gl_COMPRESSED_SLUMINANCE_ALPHA_EXT,
-  gl_COMPRESSED_SLUMINANCE_EXT,
-  gl_COMPRESSED_SRGB_ALPHA_EXT,
-  gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
-  gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
-  gl_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
-  gl_COMPRESSED_SRGB_EXT,
-  gl_COMPRESSED_SRGB_S3TC_DXT1_EXT,
-  gl_SLUMINANCE8_ALPHA8_EXT,
-  gl_SLUMINANCE8_EXT,
-  gl_SLUMINANCE_ALPHA_EXT,
-  gl_SLUMINANCE_EXT,
-  gl_SRGB8_ALPHA8_EXT,
-  gl_SRGB8_EXT,
-  gl_SRGB_ALPHA_EXT,
-  gl_SRGB_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGBDecode.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGBDecode.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSRGBDecode.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGBDecode
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureSRGBDecode (
-  -- * Extension Support
-  glGetEXTTextureSRGBDecode,
-  gl_EXT_texture_sRGB_decode,
-  -- * Enums
-  gl_DECODE_EXT,
-  gl_SKIP_DECODE_EXT,
-  gl_TEXTURE_SRGB_DECODE_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSharedExponent.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureSharedExponent (
-  -- * Extension Support
-  glGetEXTTextureSharedExponent,
-  gl_EXT_texture_shared_exponent,
-  -- * Enums
-  gl_RGB9_E5_EXT,
-  gl_TEXTURE_SHARED_SIZE_EXT,
-  gl_UNSIGNED_INT_5_9_9_9_REV_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSwizzle.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSwizzle.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TextureSwizzle.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TextureSwizzle (
-  -- * Extension Support
-  glGetEXTTextureSwizzle,
-  gl_EXT_texture_swizzle,
-  -- * Enums
-  gl_TEXTURE_SWIZZLE_A_EXT,
-  gl_TEXTURE_SWIZZLE_B_EXT,
-  gl_TEXTURE_SWIZZLE_G_EXT,
-  gl_TEXTURE_SWIZZLE_RGBA_EXT,
-  gl_TEXTURE_SWIZZLE_R_EXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TimerQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TimerQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TimerQuery.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TimerQuery (
-  -- * Extension Support
-  glGetEXTTimerQuery,
-  gl_EXT_timer_query,
-  -- * Enums
-  gl_TIME_ELAPSED_EXT,
-  -- * Functions
-  glGetQueryObjecti64vEXT,
-  glGetQueryObjectui64vEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/TransformFeedback.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/TransformFeedback.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/TransformFeedback.hs
+++ /dev/null
@@ -1,45 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.TransformFeedback (
-  -- * Extension Support
-  glGetEXTTransformFeedback,
-  gl_EXT_transform_feedback,
-  -- * Enums
-  gl_INTERLEAVED_ATTRIBS_EXT,
-  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT,
-  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT,
-  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT,
-  gl_PRIMITIVES_GENERATED_EXT,
-  gl_RASTERIZER_DISCARD_EXT,
-  gl_SEPARATE_ATTRIBS_EXT,
-  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT,
-  gl_TRANSFORM_FEEDBACK_BUFFER_EXT,
-  gl_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT,
-  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT,
-  gl_TRANSFORM_FEEDBACK_BUFFER_START_EXT,
-  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT,
-  gl_TRANSFORM_FEEDBACK_VARYINGS_EXT,
-  gl_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT,
-  -- * Functions
-  glBeginTransformFeedbackEXT,
-  glBindBufferBaseEXT,
-  glBindBufferOffsetEXT,
-  glBindBufferRangeEXT,
-  glEndTransformFeedbackEXT,
-  glGetTransformFeedbackVaryingEXT,
-  glTransformFeedbackVaryingsEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArray.hs
+++ /dev/null
@@ -1,64 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexArray (
-  -- * Extension Support
-  glGetEXTVertexArray,
-  gl_EXT_vertex_array,
-  -- * Enums
-  gl_COLOR_ARRAY_COUNT_EXT,
-  gl_COLOR_ARRAY_EXT,
-  gl_COLOR_ARRAY_POINTER_EXT,
-  gl_COLOR_ARRAY_SIZE_EXT,
-  gl_COLOR_ARRAY_STRIDE_EXT,
-  gl_COLOR_ARRAY_TYPE_EXT,
-  gl_EDGE_FLAG_ARRAY_COUNT_EXT,
-  gl_EDGE_FLAG_ARRAY_EXT,
-  gl_EDGE_FLAG_ARRAY_POINTER_EXT,
-  gl_EDGE_FLAG_ARRAY_STRIDE_EXT,
-  gl_INDEX_ARRAY_COUNT_EXT,
-  gl_INDEX_ARRAY_EXT,
-  gl_INDEX_ARRAY_POINTER_EXT,
-  gl_INDEX_ARRAY_STRIDE_EXT,
-  gl_INDEX_ARRAY_TYPE_EXT,
-  gl_NORMAL_ARRAY_COUNT_EXT,
-  gl_NORMAL_ARRAY_EXT,
-  gl_NORMAL_ARRAY_POINTER_EXT,
-  gl_NORMAL_ARRAY_STRIDE_EXT,
-  gl_NORMAL_ARRAY_TYPE_EXT,
-  gl_TEXTURE_COORD_ARRAY_COUNT_EXT,
-  gl_TEXTURE_COORD_ARRAY_EXT,
-  gl_TEXTURE_COORD_ARRAY_POINTER_EXT,
-  gl_TEXTURE_COORD_ARRAY_SIZE_EXT,
-  gl_TEXTURE_COORD_ARRAY_STRIDE_EXT,
-  gl_TEXTURE_COORD_ARRAY_TYPE_EXT,
-  gl_VERTEX_ARRAY_COUNT_EXT,
-  gl_VERTEX_ARRAY_EXT,
-  gl_VERTEX_ARRAY_POINTER_EXT,
-  gl_VERTEX_ARRAY_SIZE_EXT,
-  gl_VERTEX_ARRAY_STRIDE_EXT,
-  gl_VERTEX_ARRAY_TYPE_EXT,
-  -- * Functions
-  glArrayElementEXT,
-  glColorPointerEXT,
-  glDrawArraysEXT,
-  glEdgeFlagPointerEXT,
-  glGetPointervEXT,
-  glIndexPointerEXT,
-  glNormalPointerEXT,
-  glTexCoordPointerEXT,
-  glVertexPointerEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArrayBGRA.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArrayBGRA.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexArrayBGRA.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBGRA
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexArrayBGRA (
-  -- * Extension Support
-  glGetEXTVertexArrayBGRA,
-  gl_EXT_vertex_array_bgra,
-  -- * Enums
-  gl_BGRA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexAttrib64Bit.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexAttrib64Bit.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexAttrib64Bit.hs
+++ /dev/null
@@ -1,46 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexAttrib64Bit
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexAttrib64Bit (
-  -- * Extension Support
-  glGetEXTVertexAttrib64Bit,
-  gl_EXT_vertex_attrib_64bit,
-  -- * Enums
-  gl_DOUBLE,
-  gl_DOUBLE_MAT2_EXT,
-  gl_DOUBLE_MAT2x3_EXT,
-  gl_DOUBLE_MAT2x4_EXT,
-  gl_DOUBLE_MAT3_EXT,
-  gl_DOUBLE_MAT3x2_EXT,
-  gl_DOUBLE_MAT3x4_EXT,
-  gl_DOUBLE_MAT4_EXT,
-  gl_DOUBLE_MAT4x2_EXT,
-  gl_DOUBLE_MAT4x3_EXT,
-  gl_DOUBLE_VEC2_EXT,
-  gl_DOUBLE_VEC3_EXT,
-  gl_DOUBLE_VEC4_EXT,
-  -- * Functions
-  glGetVertexAttribLdvEXT,
-  glVertexAttribL1dEXT,
-  glVertexAttribL1dvEXT,
-  glVertexAttribL2dEXT,
-  glVertexAttribL2dvEXT,
-  glVertexAttribL3dEXT,
-  glVertexAttribL3dvEXT,
-  glVertexAttribL4dEXT,
-  glVertexAttribL4dvEXT,
-  glVertexAttribLPointerEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexShader.hs
+++ /dev/null
@@ -1,175 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexShader (
-  -- * Extension Support
-  glGetEXTVertexShader,
-  gl_EXT_vertex_shader,
-  -- * Enums
-  gl_CURRENT_VERTEX_EXT,
-  gl_FULL_RANGE_EXT,
-  gl_INVARIANT_DATATYPE_EXT,
-  gl_INVARIANT_EXT,
-  gl_INVARIANT_VALUE_EXT,
-  gl_LOCAL_CONSTANT_DATATYPE_EXT,
-  gl_LOCAL_CONSTANT_EXT,
-  gl_LOCAL_CONSTANT_VALUE_EXT,
-  gl_LOCAL_EXT,
-  gl_MATRIX_EXT,
-  gl_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT,
-  gl_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT,
-  gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT,
-  gl_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT,
-  gl_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT,
-  gl_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT,
-  gl_MAX_VERTEX_SHADER_INVARIANTS_EXT,
-  gl_MAX_VERTEX_SHADER_LOCALS_EXT,
-  gl_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT,
-  gl_MAX_VERTEX_SHADER_VARIANTS_EXT,
-  gl_MVP_MATRIX_EXT,
-  gl_NEGATIVE_ONE_EXT,
-  gl_NEGATIVE_W_EXT,
-  gl_NEGATIVE_X_EXT,
-  gl_NEGATIVE_Y_EXT,
-  gl_NEGATIVE_Z_EXT,
-  gl_NORMALIZED_RANGE_EXT,
-  gl_ONE_EXT,
-  gl_OP_ADD_EXT,
-  gl_OP_CLAMP_EXT,
-  gl_OP_CROSS_PRODUCT_EXT,
-  gl_OP_DOT3_EXT,
-  gl_OP_DOT4_EXT,
-  gl_OP_EXP_BASE_2_EXT,
-  gl_OP_FLOOR_EXT,
-  gl_OP_FRAC_EXT,
-  gl_OP_INDEX_EXT,
-  gl_OP_LOG_BASE_2_EXT,
-  gl_OP_MADD_EXT,
-  gl_OP_MAX_EXT,
-  gl_OP_MIN_EXT,
-  gl_OP_MOV_EXT,
-  gl_OP_MULTIPLY_MATRIX_EXT,
-  gl_OP_MUL_EXT,
-  gl_OP_NEGATE_EXT,
-  gl_OP_POWER_EXT,
-  gl_OP_RECIP_EXT,
-  gl_OP_RECIP_SQRT_EXT,
-  gl_OP_ROUND_EXT,
-  gl_OP_SET_GE_EXT,
-  gl_OP_SET_LT_EXT,
-  gl_OP_SUB_EXT,
-  gl_OUTPUT_COLOR0_EXT,
-  gl_OUTPUT_COLOR1_EXT,
-  gl_OUTPUT_FOG_EXT,
-  gl_OUTPUT_TEXTURE_COORD0_EXT,
-  gl_OUTPUT_TEXTURE_COORD10_EXT,
-  gl_OUTPUT_TEXTURE_COORD11_EXT,
-  gl_OUTPUT_TEXTURE_COORD12_EXT,
-  gl_OUTPUT_TEXTURE_COORD13_EXT,
-  gl_OUTPUT_TEXTURE_COORD14_EXT,
-  gl_OUTPUT_TEXTURE_COORD15_EXT,
-  gl_OUTPUT_TEXTURE_COORD16_EXT,
-  gl_OUTPUT_TEXTURE_COORD17_EXT,
-  gl_OUTPUT_TEXTURE_COORD18_EXT,
-  gl_OUTPUT_TEXTURE_COORD19_EXT,
-  gl_OUTPUT_TEXTURE_COORD1_EXT,
-  gl_OUTPUT_TEXTURE_COORD20_EXT,
-  gl_OUTPUT_TEXTURE_COORD21_EXT,
-  gl_OUTPUT_TEXTURE_COORD22_EXT,
-  gl_OUTPUT_TEXTURE_COORD23_EXT,
-  gl_OUTPUT_TEXTURE_COORD24_EXT,
-  gl_OUTPUT_TEXTURE_COORD25_EXT,
-  gl_OUTPUT_TEXTURE_COORD26_EXT,
-  gl_OUTPUT_TEXTURE_COORD27_EXT,
-  gl_OUTPUT_TEXTURE_COORD28_EXT,
-  gl_OUTPUT_TEXTURE_COORD29_EXT,
-  gl_OUTPUT_TEXTURE_COORD2_EXT,
-  gl_OUTPUT_TEXTURE_COORD30_EXT,
-  gl_OUTPUT_TEXTURE_COORD31_EXT,
-  gl_OUTPUT_TEXTURE_COORD3_EXT,
-  gl_OUTPUT_TEXTURE_COORD4_EXT,
-  gl_OUTPUT_TEXTURE_COORD5_EXT,
-  gl_OUTPUT_TEXTURE_COORD6_EXT,
-  gl_OUTPUT_TEXTURE_COORD7_EXT,
-  gl_OUTPUT_TEXTURE_COORD8_EXT,
-  gl_OUTPUT_TEXTURE_COORD9_EXT,
-  gl_OUTPUT_VERTEX_EXT,
-  gl_SCALAR_EXT,
-  gl_VARIANT_ARRAY_EXT,
-  gl_VARIANT_ARRAY_POINTER_EXT,
-  gl_VARIANT_ARRAY_STRIDE_EXT,
-  gl_VARIANT_ARRAY_TYPE_EXT,
-  gl_VARIANT_DATATYPE_EXT,
-  gl_VARIANT_EXT,
-  gl_VARIANT_VALUE_EXT,
-  gl_VECTOR_EXT,
-  gl_VERTEX_SHADER_BINDING_EXT,
-  gl_VERTEX_SHADER_EXT,
-  gl_VERTEX_SHADER_INSTRUCTIONS_EXT,
-  gl_VERTEX_SHADER_INVARIANTS_EXT,
-  gl_VERTEX_SHADER_LOCALS_EXT,
-  gl_VERTEX_SHADER_LOCAL_CONSTANTS_EXT,
-  gl_VERTEX_SHADER_OPTIMIZED_EXT,
-  gl_VERTEX_SHADER_VARIANTS_EXT,
-  gl_W_EXT,
-  gl_X_EXT,
-  gl_Y_EXT,
-  gl_ZERO_EXT,
-  gl_Z_EXT,
-  -- * Functions
-  glBeginVertexShaderEXT,
-  glBindLightParameterEXT,
-  glBindMaterialParameterEXT,
-  glBindParameterEXT,
-  glBindTexGenParameterEXT,
-  glBindTextureUnitParameterEXT,
-  glBindVertexShaderEXT,
-  glDeleteVertexShaderEXT,
-  glDisableVariantClientStateEXT,
-  glEnableVariantClientStateEXT,
-  glEndVertexShaderEXT,
-  glExtractComponentEXT,
-  glGenSymbolsEXT,
-  glGenVertexShadersEXT,
-  glGetInvariantBooleanvEXT,
-  glGetInvariantFloatvEXT,
-  glGetInvariantIntegervEXT,
-  glGetLocalConstantBooleanvEXT,
-  glGetLocalConstantFloatvEXT,
-  glGetLocalConstantIntegervEXT,
-  glGetVariantBooleanvEXT,
-  glGetVariantFloatvEXT,
-  glGetVariantIntegervEXT,
-  glGetVariantPointervEXT,
-  glInsertComponentEXT,
-  glIsVariantEnabledEXT,
-  glSetInvariantEXT,
-  glSetLocalConstantEXT,
-  glShaderOp1EXT,
-  glShaderOp2EXT,
-  glShaderOp3EXT,
-  glSwizzleEXT,
-  glVariantPointerEXT,
-  glVariantbvEXT,
-  glVariantdvEXT,
-  glVariantfvEXT,
-  glVariantivEXT,
-  glVariantsvEXT,
-  glVariantubvEXT,
-  glVariantuivEXT,
-  glVariantusvEXT,
-  glWriteMaskEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/VertexWeighting.hs
+++ /dev/null
@@ -1,39 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.VertexWeighting (
-  -- * Extension Support
-  glGetEXTVertexWeighting,
-  gl_EXT_vertex_weighting,
-  -- * Enums
-  gl_CURRENT_VERTEX_WEIGHT_EXT,
-  gl_MODELVIEW0_EXT,
-  gl_MODELVIEW0_MATRIX_EXT,
-  gl_MODELVIEW0_STACK_DEPTH_EXT,
-  gl_MODELVIEW1_EXT,
-  gl_MODELVIEW1_MATRIX_EXT,
-  gl_MODELVIEW1_STACK_DEPTH_EXT,
-  gl_VERTEX_WEIGHTING_EXT,
-  gl_VERTEX_WEIGHT_ARRAY_EXT,
-  gl_VERTEX_WEIGHT_ARRAY_POINTER_EXT,
-  gl_VERTEX_WEIGHT_ARRAY_SIZE_EXT,
-  gl_VERTEX_WEIGHT_ARRAY_STRIDE_EXT,
-  gl_VERTEX_WEIGHT_ARRAY_TYPE_EXT,
-  -- * Functions
-  glVertexWeightPointerEXT,
-  glVertexWeightfEXT,
-  glVertexWeightfvEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/EXT/X11SyncObject.hs b/src/Graphics/Rendering/OpenGL/Raw/EXT/X11SyncObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/EXT/X11SyncObject.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.EXT.X11SyncObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.EXT.X11SyncObject (
-  -- * Extension Support
-  glGetEXTX11SyncObject,
-  gl_EXT_x11_sync_object,
-  -- * Enums
-  gl_SYNC_X11_FENCE_EXT,
-  -- * Functions
-  glImportSyncEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ExtensionPredicates.hs b/src/Graphics/Rendering/OpenGL/Raw/ExtensionPredicates.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ExtensionPredicates.hs
+++ /dev/null
@@ -1,5124 +0,0 @@
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- Extension support predicates.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ExtensionPredicates where
-
-import Control.Monad.IO.Class ( MonadIO(..) )
-import Data.Set ( member )
-import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getExtensions, extensions )
-
--- | Is the <https://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt 3DFX_multisample> extension supported?
-glGetThreeDFXMultisample :: MonadIO m => m Bool
-glGetThreeDFXMultisample = getExtensions >>= (return . member "GL_3DFX_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/3DFX/3dfx_multisample.txt 3DFX_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetThreeDFXMultisample' in those cases instead.
-gl_3DFX_multisample :: Bool
-gl_3DFX_multisample = member "GL_3DFX_multisample" extensions
-{-# NOINLINE gl_3DFX_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/3DFX/tbuffer.txt 3DFX_tbuffer> extension supported?
-glGetThreeDFXTbuffer :: MonadIO m => m Bool
-glGetThreeDFXTbuffer = getExtensions >>= (return . member "GL_3DFX_tbuffer")
-
--- | Is the <https://www.opengl.org/registry/specs/3DFX/tbuffer.txt 3DFX_tbuffer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetThreeDFXTbuffer' in those cases instead.
-gl_3DFX_tbuffer :: Bool
-gl_3DFX_tbuffer = member "GL_3DFX_tbuffer" extensions
-{-# NOINLINE gl_3DFX_tbuffer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/3DFX/texture_compression_FXT1.txt 3DFX_texture_compression_FXT1> extension supported?
-glGetThreeDFXTextureCompressionFXT1 :: MonadIO m => m Bool
-glGetThreeDFXTextureCompressionFXT1 = getExtensions >>= (return . member "GL_3DFX_texture_compression_FXT1")
-
--- | Is the <https://www.opengl.org/registry/specs/3DFX/texture_compression_FXT1.txt 3DFX_texture_compression_FXT1> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetThreeDFXTextureCompressionFXT1' in those cases instead.
-gl_3DFX_texture_compression_FXT1 :: Bool
-gl_3DFX_texture_compression_FXT1 = member "GL_3DFX_texture_compression_FXT1" extensions
-{-# NOINLINE gl_3DFX_texture_compression_FXT1 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/blend_minmax_factor.txt AMD_blend_minmax_factor> extension supported?
-glGetAMDBlendMinmaxFactor :: MonadIO m => m Bool
-glGetAMDBlendMinmaxFactor = getExtensions >>= (return . member "GL_AMD_blend_minmax_factor")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/blend_minmax_factor.txt AMD_blend_minmax_factor> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDBlendMinmaxFactor' in those cases instead.
-gl_AMD_blend_minmax_factor :: Bool
-gl_AMD_blend_minmax_factor = member "GL_AMD_blend_minmax_factor" extensions
-{-# NOINLINE gl_AMD_blend_minmax_factor #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/debug_output.txt AMD_debug_output> extension supported?
-glGetAMDDebugOutput :: MonadIO m => m Bool
-glGetAMDDebugOutput = getExtensions >>= (return . member "GL_AMD_debug_output")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/debug_output.txt AMD_debug_output> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDDebugOutput' in those cases instead.
-gl_AMD_debug_output :: Bool
-gl_AMD_debug_output = member "GL_AMD_debug_output" extensions
-{-# NOINLINE gl_AMD_debug_output #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/depth_clamp_separate.txt AMD_depth_clamp_separate> extension supported?
-glGetAMDDepthClampSeparate :: MonadIO m => m Bool
-glGetAMDDepthClampSeparate = getExtensions >>= (return . member "GL_AMD_depth_clamp_separate")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/depth_clamp_separate.txt AMD_depth_clamp_separate> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDDepthClampSeparate' in those cases instead.
-gl_AMD_depth_clamp_separate :: Bool
-gl_AMD_depth_clamp_separate = member "GL_AMD_depth_clamp_separate" extensions
-{-# NOINLINE gl_AMD_depth_clamp_separate #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt AMD_draw_buffers_blend> extension supported?
-glGetAMDDrawBuffersBlend :: MonadIO m => m Bool
-glGetAMDDrawBuffersBlend = getExtensions >>= (return . member "GL_AMD_draw_buffers_blend")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/draw_buffers_blend.txt AMD_draw_buffers_blend> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDDrawBuffersBlend' in those cases instead.
-gl_AMD_draw_buffers_blend :: Bool
-gl_AMD_draw_buffers_blend = member "GL_AMD_draw_buffers_blend" extensions
-{-# NOINLINE gl_AMD_draw_buffers_blend #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/gpu_shader_int64.txt AMD_gpu_shader_int64> extension supported?
-glGetAMDGPUShaderInt64 :: MonadIO m => m Bool
-glGetAMDGPUShaderInt64 = getExtensions >>= (return . member "GL_AMD_gpu_shader_int64")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/gpu_shader_int64.txt AMD_gpu_shader_int64> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDGPUShaderInt64' in those cases instead.
-gl_AMD_gpu_shader_int64 :: Bool
-gl_AMD_gpu_shader_int64 = member "GL_AMD_gpu_shader_int64" extensions
-{-# NOINLINE gl_AMD_gpu_shader_int64 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/interleaved_elements.txt AMD_interleaved_elements> extension supported?
-glGetAMDInterleavedElements :: MonadIO m => m Bool
-glGetAMDInterleavedElements = getExtensions >>= (return . member "GL_AMD_interleaved_elements")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/interleaved_elements.txt AMD_interleaved_elements> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDInterleavedElements' in those cases instead.
-gl_AMD_interleaved_elements :: Bool
-gl_AMD_interleaved_elements = member "GL_AMD_interleaved_elements" extensions
-{-# NOINLINE gl_AMD_interleaved_elements #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt AMD_multi_draw_indirect> extension supported?
-glGetAMDMultiDrawIndirect :: MonadIO m => m Bool
-glGetAMDMultiDrawIndirect = getExtensions >>= (return . member "GL_AMD_multi_draw_indirect")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/multi_draw_indirect.txt AMD_multi_draw_indirect> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDMultiDrawIndirect' in those cases instead.
-gl_AMD_multi_draw_indirect :: Bool
-gl_AMD_multi_draw_indirect = member "GL_AMD_multi_draw_indirect" extensions
-{-# NOINLINE gl_AMD_multi_draw_indirect #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/name_gen_delete.txt AMD_name_gen_delete> extension supported?
-glGetAMDNameGenDelete :: MonadIO m => m Bool
-glGetAMDNameGenDelete = getExtensions >>= (return . member "GL_AMD_name_gen_delete")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/name_gen_delete.txt AMD_name_gen_delete> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDNameGenDelete' in those cases instead.
-gl_AMD_name_gen_delete :: Bool
-gl_AMD_name_gen_delete = member "GL_AMD_name_gen_delete" extensions
-{-# NOINLINE gl_AMD_name_gen_delete #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/occlusion_query_event.txt AMD_occlusion_query_event> extension supported?
-glGetAMDOcclusionQueryEvent :: MonadIO m => m Bool
-glGetAMDOcclusionQueryEvent = getExtensions >>= (return . member "GL_AMD_occlusion_query_event")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/occlusion_query_event.txt AMD_occlusion_query_event> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDOcclusionQueryEvent' in those cases instead.
-gl_AMD_occlusion_query_event :: Bool
-gl_AMD_occlusion_query_event = member "GL_AMD_occlusion_query_event" extensions
-{-# NOINLINE gl_AMD_occlusion_query_event #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/performance_monitor.txt AMD_performance_monitor> extension supported?
-glGetAMDPerformanceMonitor :: MonadIO m => m Bool
-glGetAMDPerformanceMonitor = getExtensions >>= (return . member "GL_AMD_performance_monitor")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/performance_monitor.txt AMD_performance_monitor> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDPerformanceMonitor' in those cases instead.
-gl_AMD_performance_monitor :: Bool
-gl_AMD_performance_monitor = member "GL_AMD_performance_monitor" extensions
-{-# NOINLINE gl_AMD_performance_monitor #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/pinned_memory.txt AMD_pinned_memory> extension supported?
-glGetAMDPinnedMemory :: MonadIO m => m Bool
-glGetAMDPinnedMemory = getExtensions >>= (return . member "GL_AMD_pinned_memory")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/pinned_memory.txt AMD_pinned_memory> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDPinnedMemory' in those cases instead.
-gl_AMD_pinned_memory :: Bool
-gl_AMD_pinned_memory = member "GL_AMD_pinned_memory" extensions
-{-# NOINLINE gl_AMD_pinned_memory #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/query_buffer_object.txt AMD_query_buffer_object> extension supported?
-glGetAMDQueryBufferObject :: MonadIO m => m Bool
-glGetAMDQueryBufferObject = getExtensions >>= (return . member "GL_AMD_query_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/query_buffer_object.txt AMD_query_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDQueryBufferObject' in those cases instead.
-gl_AMD_query_buffer_object :: Bool
-gl_AMD_query_buffer_object = member "GL_AMD_query_buffer_object" extensions
-{-# NOINLINE gl_AMD_query_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/sample_positions.txt AMD_sample_positions> extension supported?
-glGetAMDSamplePositions :: MonadIO m => m Bool
-glGetAMDSamplePositions = getExtensions >>= (return . member "GL_AMD_sample_positions")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/sample_positions.txt AMD_sample_positions> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDSamplePositions' in those cases instead.
-gl_AMD_sample_positions :: Bool
-gl_AMD_sample_positions = member "GL_AMD_sample_positions" extensions
-{-# NOINLINE gl_AMD_sample_positions #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/seamless_cubemap_per_texture.txt AMD_seamless_cubemap_per_texture> extension supported?
-glGetAMDSeamlessCubemapPerTexture :: MonadIO m => m Bool
-glGetAMDSeamlessCubemapPerTexture = getExtensions >>= (return . member "GL_AMD_seamless_cubemap_per_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/seamless_cubemap_per_texture.txt AMD_seamless_cubemap_per_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDSeamlessCubemapPerTexture' in those cases instead.
-gl_AMD_seamless_cubemap_per_texture :: Bool
-gl_AMD_seamless_cubemap_per_texture = member "GL_AMD_seamless_cubemap_per_texture" extensions
-{-# NOINLINE gl_AMD_seamless_cubemap_per_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/sparse_texture.txt AMD_sparse_texture> extension supported?
-glGetAMDSparseTexture :: MonadIO m => m Bool
-glGetAMDSparseTexture = getExtensions >>= (return . member "GL_AMD_sparse_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/sparse_texture.txt AMD_sparse_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDSparseTexture' in those cases instead.
-gl_AMD_sparse_texture :: Bool
-gl_AMD_sparse_texture = member "GL_AMD_sparse_texture" extensions
-{-# NOINLINE gl_AMD_sparse_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/stencil_operation_extended.txt AMD_stencil_operation_extended> extension supported?
-glGetAMDStencilOperationExtended :: MonadIO m => m Bool
-glGetAMDStencilOperationExtended = getExtensions >>= (return . member "GL_AMD_stencil_operation_extended")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/stencil_operation_extended.txt AMD_stencil_operation_extended> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDStencilOperationExtended' in those cases instead.
-gl_AMD_stencil_operation_extended :: Bool
-gl_AMD_stencil_operation_extended = member "GL_AMD_stencil_operation_extended" extensions
-{-# NOINLINE gl_AMD_stencil_operation_extended #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/transform_feedback4.txt AMD_transform_feedback4> extension supported?
-glGetAMDTransformFeedback4 :: MonadIO m => m Bool
-glGetAMDTransformFeedback4 = getExtensions >>= (return . member "GL_AMD_transform_feedback4")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/transform_feedback4.txt AMD_transform_feedback4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDTransformFeedback4' in those cases instead.
-gl_AMD_transform_feedback4 :: Bool
-gl_AMD_transform_feedback4 = member "GL_AMD_transform_feedback4" extensions
-{-# NOINLINE gl_AMD_transform_feedback4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt AMD_vertex_shader_tessellator> extension supported?
-glGetAMDVertexShaderTessellator :: MonadIO m => m Bool
-glGetAMDVertexShaderTessellator = getExtensions >>= (return . member "GL_AMD_vertex_shader_tessellator")
-
--- | Is the <https://www.opengl.org/registry/specs/AMD/vertex_shader_tessellator.txt AMD_vertex_shader_tessellator> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAMDVertexShaderTessellator' in those cases instead.
-gl_AMD_vertex_shader_tessellator :: Bool
-gl_AMD_vertex_shader_tessellator = member "GL_AMD_vertex_shader_tessellator" extensions
-{-# NOINLINE gl_AMD_vertex_shader_tessellator #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/aux_depth_stencil.txt APPLE_aux_depth_stencil> extension supported?
-glGetAPPLEAuxDepthStencil :: MonadIO m => m Bool
-glGetAPPLEAuxDepthStencil = getExtensions >>= (return . member "GL_APPLE_aux_depth_stencil")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/aux_depth_stencil.txt APPLE_aux_depth_stencil> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEAuxDepthStencil' in those cases instead.
-gl_APPLE_aux_depth_stencil :: Bool
-gl_APPLE_aux_depth_stencil = member "GL_APPLE_aux_depth_stencil" extensions
-{-# NOINLINE gl_APPLE_aux_depth_stencil #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/client_storage.txt APPLE_client_storage> extension supported?
-glGetAPPLEClientStorage :: MonadIO m => m Bool
-glGetAPPLEClientStorage = getExtensions >>= (return . member "GL_APPLE_client_storage")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/client_storage.txt APPLE_client_storage> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEClientStorage' in those cases instead.
-gl_APPLE_client_storage :: Bool
-gl_APPLE_client_storage = member "GL_APPLE_client_storage" extensions
-{-# NOINLINE gl_APPLE_client_storage #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/element_array.txt APPLE_element_array> extension supported?
-glGetAPPLEElementArray :: MonadIO m => m Bool
-glGetAPPLEElementArray = getExtensions >>= (return . member "GL_APPLE_element_array")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/element_array.txt APPLE_element_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEElementArray' in those cases instead.
-gl_APPLE_element_array :: Bool
-gl_APPLE_element_array = member "GL_APPLE_element_array" extensions
-{-# NOINLINE gl_APPLE_element_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/fence.txt APPLE_fence> extension supported?
-glGetAPPLEFence :: MonadIO m => m Bool
-glGetAPPLEFence = getExtensions >>= (return . member "GL_APPLE_fence")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/fence.txt APPLE_fence> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEFence' in those cases instead.
-gl_APPLE_fence :: Bool
-gl_APPLE_fence = member "GL_APPLE_fence" extensions
-{-# NOINLINE gl_APPLE_fence #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/float_pixels.txt APPLE_float_pixels> extension supported?
-glGetAPPLEFloatPixels :: MonadIO m => m Bool
-glGetAPPLEFloatPixels = getExtensions >>= (return . member "GL_APPLE_float_pixels")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/float_pixels.txt APPLE_float_pixels> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEFloatPixels' in those cases instead.
-gl_APPLE_float_pixels :: Bool
-gl_APPLE_float_pixels = member "GL_APPLE_float_pixels" extensions
-{-# NOINLINE gl_APPLE_float_pixels #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt APPLE_flush_buffer_range> extension supported?
-glGetAPPLEFlushBufferRange :: MonadIO m => m Bool
-glGetAPPLEFlushBufferRange = getExtensions >>= (return . member "GL_APPLE_flush_buffer_range")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/flush_buffer_range.txt APPLE_flush_buffer_range> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEFlushBufferRange' in those cases instead.
-gl_APPLE_flush_buffer_range :: Bool
-gl_APPLE_flush_buffer_range = member "GL_APPLE_flush_buffer_range" extensions
-{-# NOINLINE gl_APPLE_flush_buffer_range #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/object_purgeable.txt APPLE_object_purgeable> extension supported?
-glGetAPPLEObjectPurgeable :: MonadIO m => m Bool
-glGetAPPLEObjectPurgeable = getExtensions >>= (return . member "GL_APPLE_object_purgeable")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/object_purgeable.txt APPLE_object_purgeable> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEObjectPurgeable' in those cases instead.
-gl_APPLE_object_purgeable :: Bool
-gl_APPLE_object_purgeable = member "GL_APPLE_object_purgeable" extensions
-{-# NOINLINE gl_APPLE_object_purgeable #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/rgb_422.txt APPLE_rgb_422> extension supported?
-glGetAPPLERGB422 :: MonadIO m => m Bool
-glGetAPPLERGB422 = getExtensions >>= (return . member "GL_APPLE_rgb_422")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/rgb_422.txt APPLE_rgb_422> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLERGB422' in those cases instead.
-gl_APPLE_rgb_422 :: Bool
-gl_APPLE_rgb_422 = member "GL_APPLE_rgb_422" extensions
-{-# NOINLINE gl_APPLE_rgb_422 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/row_bytes.txt APPLE_row_bytes> extension supported?
-glGetAPPLERowBytes :: MonadIO m => m Bool
-glGetAPPLERowBytes = getExtensions >>= (return . member "GL_APPLE_row_bytes")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/row_bytes.txt APPLE_row_bytes> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLERowBytes' in those cases instead.
-gl_APPLE_row_bytes :: Bool
-gl_APPLE_row_bytes = member "GL_APPLE_row_bytes" extensions
-{-# NOINLINE gl_APPLE_row_bytes #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/specular_vector.txt APPLE_specular_vector> extension supported?
-glGetAPPLESpecularVector :: MonadIO m => m Bool
-glGetAPPLESpecularVector = getExtensions >>= (return . member "GL_APPLE_specular_vector")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/specular_vector.txt APPLE_specular_vector> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLESpecularVector' in those cases instead.
-gl_APPLE_specular_vector :: Bool
-gl_APPLE_specular_vector = member "GL_APPLE_specular_vector" extensions
-{-# NOINLINE gl_APPLE_specular_vector #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/texture_range.txt APPLE_texture_range> extension supported?
-glGetAPPLETextureRange :: MonadIO m => m Bool
-glGetAPPLETextureRange = getExtensions >>= (return . member "GL_APPLE_texture_range")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/texture_range.txt APPLE_texture_range> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLETextureRange' in those cases instead.
-gl_APPLE_texture_range :: Bool
-gl_APPLE_texture_range = member "GL_APPLE_texture_range" extensions
-{-# NOINLINE gl_APPLE_texture_range #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/transform_hint.txt APPLE_transform_hint> extension supported?
-glGetAPPLETransformHint :: MonadIO m => m Bool
-glGetAPPLETransformHint = getExtensions >>= (return . member "GL_APPLE_transform_hint")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/transform_hint.txt APPLE_transform_hint> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLETransformHint' in those cases instead.
-gl_APPLE_transform_hint :: Bool
-gl_APPLE_transform_hint = member "GL_APPLE_transform_hint" extensions
-{-# NOINLINE gl_APPLE_transform_hint #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt APPLE_vertex_array_object> extension supported?
-glGetAPPLEVertexArrayObject :: MonadIO m => m Bool
-glGetAPPLEVertexArrayObject = getExtensions >>= (return . member "GL_APPLE_vertex_array_object")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_object.txt APPLE_vertex_array_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEVertexArrayObject' in those cases instead.
-gl_APPLE_vertex_array_object :: Bool
-gl_APPLE_vertex_array_object = member "GL_APPLE_vertex_array_object" extensions
-{-# NOINLINE gl_APPLE_vertex_array_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt APPLE_vertex_array_range> extension supported?
-glGetAPPLEVertexArrayRange :: MonadIO m => m Bool
-glGetAPPLEVertexArrayRange = getExtensions >>= (return . member "GL_APPLE_vertex_array_range")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_array_range.txt APPLE_vertex_array_range> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEVertexArrayRange' in those cases instead.
-gl_APPLE_vertex_array_range :: Bool
-gl_APPLE_vertex_array_range = member "GL_APPLE_vertex_array_range" extensions
-{-# NOINLINE gl_APPLE_vertex_array_range #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt APPLE_vertex_program_evaluators> extension supported?
-glGetAPPLEVertexProgramEvaluators :: MonadIO m => m Bool
-glGetAPPLEVertexProgramEvaluators = getExtensions >>= (return . member "GL_APPLE_vertex_program_evaluators")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/vertex_program_evaluators.txt APPLE_vertex_program_evaluators> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEVertexProgramEvaluators' in those cases instead.
-gl_APPLE_vertex_program_evaluators :: Bool
-gl_APPLE_vertex_program_evaluators = member "GL_APPLE_vertex_program_evaluators" extensions
-{-# NOINLINE gl_APPLE_vertex_program_evaluators #-}
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt APPLE_ycbcr_422> extension supported?
-glGetAPPLEYCbCr422 :: MonadIO m => m Bool
-glGetAPPLEYCbCr422 = getExtensions >>= (return . member "GL_APPLE_ycbcr_422")
-
--- | Is the <https://www.opengl.org/registry/specs/APPLE/ycbcr_422.txt APPLE_ycbcr_422> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetAPPLEYCbCr422' in those cases instead.
-gl_APPLE_ycbcr_422 :: Bool
-gl_APPLE_ycbcr_422 = member "GL_APPLE_ycbcr_422" extensions
-{-# NOINLINE gl_APPLE_ycbcr_422 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt ARB_ES2_compatibility> extension supported?
-glGetARBES2Compatibility :: MonadIO m => m Bool
-glGetARBES2Compatibility = getExtensions >>= (return . member "GL_ARB_ES2_compatibility")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES2_compatibility.txt ARB_ES2_compatibility> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBES2Compatibility' in those cases instead.
-gl_ARB_ES2_compatibility :: Bool
-gl_ARB_ES2_compatibility = member "GL_ARB_ES2_compatibility" extensions
-{-# NOINLINE gl_ARB_ES2_compatibility #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_1_compatibility.txt ARB_ES3_1_compatibility> extension supported?
-glGetARBES31Compatibility :: MonadIO m => m Bool
-glGetARBES31Compatibility = getExtensions >>= (return . member "GL_ARB_ES3_1_compatibility")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_1_compatibility.txt ARB_ES3_1_compatibility> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBES31Compatibility' in those cases instead.
-gl_ARB_ES3_1_compatibility :: Bool
-gl_ARB_ES3_1_compatibility = member "GL_ARB_ES3_1_compatibility" extensions
-{-# NOINLINE gl_ARB_ES3_1_compatibility #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_2_compatibility.txt ARB_ES3_2_compatibility> extension supported?
-glGetARBES32Compatibility :: MonadIO m => m Bool
-glGetARBES32Compatibility = getExtensions >>= (return . member "GL_ARB_ES3_2_compatibility")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_2_compatibility.txt ARB_ES3_2_compatibility> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBES32Compatibility' in those cases instead.
-gl_ARB_ES3_2_compatibility :: Bool
-gl_ARB_ES3_2_compatibility = member "GL_ARB_ES3_2_compatibility" extensions
-{-# NOINLINE gl_ARB_ES3_2_compatibility #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_compatibility.txt ARB_ES3_compatibility> extension supported?
-glGetARBES3Compatibility :: MonadIO m => m Bool
-glGetARBES3Compatibility = getExtensions >>= (return . member "GL_ARB_ES3_compatibility")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/ES3_compatibility.txt ARB_ES3_compatibility> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBES3Compatibility' in those cases instead.
-gl_ARB_ES3_compatibility :: Bool
-gl_ARB_ES3_compatibility = member "GL_ARB_ES3_compatibility" extensions
-{-# NOINLINE gl_ARB_ES3_compatibility #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/base_instance.txt ARB_base_instance> extension supported?
-glGetARBBaseInstance :: MonadIO m => m Bool
-glGetARBBaseInstance = getExtensions >>= (return . member "GL_ARB_base_instance")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/base_instance.txt ARB_base_instance> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBBaseInstance' in those cases instead.
-gl_ARB_base_instance :: Bool
-gl_ARB_base_instance = member "GL_ARB_base_instance" extensions
-{-# NOINLINE gl_ARB_base_instance #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/bindless_texture.txt ARB_bindless_texture> extension supported?
-glGetARBBindlessTexture :: MonadIO m => m Bool
-glGetARBBindlessTexture = getExtensions >>= (return . member "GL_ARB_bindless_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/bindless_texture.txt ARB_bindless_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBBindlessTexture' in those cases instead.
-gl_ARB_bindless_texture :: Bool
-gl_ARB_bindless_texture = member "GL_ARB_bindless_texture" extensions
-{-# NOINLINE gl_ARB_bindless_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/blend_func_extended.txt ARB_blend_func_extended> extension supported?
-glGetARBBlendFuncExtended :: MonadIO m => m Bool
-glGetARBBlendFuncExtended = getExtensions >>= (return . member "GL_ARB_blend_func_extended")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/blend_func_extended.txt ARB_blend_func_extended> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBBlendFuncExtended' in those cases instead.
-gl_ARB_blend_func_extended :: Bool
-gl_ARB_blend_func_extended = member "GL_ARB_blend_func_extended" extensions
-{-# NOINLINE gl_ARB_blend_func_extended #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/buffer_storage.txt ARB_buffer_storage> extension supported?
-glGetARBBufferStorage :: MonadIO m => m Bool
-glGetARBBufferStorage = getExtensions >>= (return . member "GL_ARB_buffer_storage")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/buffer_storage.txt ARB_buffer_storage> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBBufferStorage' in those cases instead.
-gl_ARB_buffer_storage :: Bool
-gl_ARB_buffer_storage = member "GL_ARB_buffer_storage" extensions
-{-# NOINLINE gl_ARB_buffer_storage #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/cl_event.txt ARB_cl_event> extension supported?
-glGetARBCLEvent :: MonadIO m => m Bool
-glGetARBCLEvent = getExtensions >>= (return . member "GL_ARB_cl_event")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/cl_event.txt ARB_cl_event> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBCLEvent' in those cases instead.
-gl_ARB_cl_event :: Bool
-gl_ARB_cl_event = member "GL_ARB_cl_event" extensions
-{-# NOINLINE gl_ARB_cl_event #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/clear_buffer_object.txt ARB_clear_buffer_object> extension supported?
-glGetARBClearBufferObject :: MonadIO m => m Bool
-glGetARBClearBufferObject = getExtensions >>= (return . member "GL_ARB_clear_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/clear_buffer_object.txt ARB_clear_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBClearBufferObject' in those cases instead.
-gl_ARB_clear_buffer_object :: Bool
-gl_ARB_clear_buffer_object = member "GL_ARB_clear_buffer_object" extensions
-{-# NOINLINE gl_ARB_clear_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/clear_texture.txt ARB_clear_texture> extension supported?
-glGetARBClearTexture :: MonadIO m => m Bool
-glGetARBClearTexture = getExtensions >>= (return . member "GL_ARB_clear_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/clear_texture.txt ARB_clear_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBClearTexture' in those cases instead.
-gl_ARB_clear_texture :: Bool
-gl_ARB_clear_texture = member "GL_ARB_clear_texture" extensions
-{-# NOINLINE gl_ARB_clear_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/clip_control.txt ARB_clip_control> extension supported?
-glGetARBClipControl :: MonadIO m => m Bool
-glGetARBClipControl = getExtensions >>= (return . member "GL_ARB_clip_control")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/clip_control.txt ARB_clip_control> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBClipControl' in those cases instead.
-gl_ARB_clip_control :: Bool
-gl_ARB_clip_control = member "GL_ARB_clip_control" extensions
-{-# NOINLINE gl_ARB_clip_control #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/color_buffer_float.txt ARB_color_buffer_float> extension supported?
-glGetARBColorBufferFloat :: MonadIO m => m Bool
-glGetARBColorBufferFloat = getExtensions >>= (return . member "GL_ARB_color_buffer_float")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/color_buffer_float.txt ARB_color_buffer_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBColorBufferFloat' in those cases instead.
-gl_ARB_color_buffer_float :: Bool
-gl_ARB_color_buffer_float = member "GL_ARB_color_buffer_float" extensions
-{-# NOINLINE gl_ARB_color_buffer_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/compressed_texture_pixel_storage.txt ARB_compressed_texture_pixel_storage> extension supported?
-glGetARBCompressedTexturePixelStorage :: MonadIO m => m Bool
-glGetARBCompressedTexturePixelStorage = getExtensions >>= (return . member "GL_ARB_compressed_texture_pixel_storage")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/compressed_texture_pixel_storage.txt ARB_compressed_texture_pixel_storage> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBCompressedTexturePixelStorage' in those cases instead.
-gl_ARB_compressed_texture_pixel_storage :: Bool
-gl_ARB_compressed_texture_pixel_storage = member "GL_ARB_compressed_texture_pixel_storage" extensions
-{-# NOINLINE gl_ARB_compressed_texture_pixel_storage #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/compute_shader.txt ARB_compute_shader> extension supported?
-glGetARBComputeShader :: MonadIO m => m Bool
-glGetARBComputeShader = getExtensions >>= (return . member "GL_ARB_compute_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/compute_shader.txt ARB_compute_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBComputeShader' in those cases instead.
-gl_ARB_compute_shader :: Bool
-gl_ARB_compute_shader = member "GL_ARB_compute_shader" extensions
-{-# NOINLINE gl_ARB_compute_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/compute_variable_group_size.txt ARB_compute_variable_group_size> extension supported?
-glGetARBComputeVariableGroupSize :: MonadIO m => m Bool
-glGetARBComputeVariableGroupSize = getExtensions >>= (return . member "GL_ARB_compute_variable_group_size")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/compute_variable_group_size.txt ARB_compute_variable_group_size> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBComputeVariableGroupSize' in those cases instead.
-gl_ARB_compute_variable_group_size :: Bool
-gl_ARB_compute_variable_group_size = member "GL_ARB_compute_variable_group_size" extensions
-{-# NOINLINE gl_ARB_compute_variable_group_size #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/conditional_render_inverted.txt ARB_conditional_render_inverted> extension supported?
-glGetARBConditionalRenderInverted :: MonadIO m => m Bool
-glGetARBConditionalRenderInverted = getExtensions >>= (return . member "GL_ARB_conditional_render_inverted")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/conditional_render_inverted.txt ARB_conditional_render_inverted> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBConditionalRenderInverted' in those cases instead.
-gl_ARB_conditional_render_inverted :: Bool
-gl_ARB_conditional_render_inverted = member "GL_ARB_conditional_render_inverted" extensions
-{-# NOINLINE gl_ARB_conditional_render_inverted #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/copy_buffer.txt ARB_copy_buffer> extension supported?
-glGetARBCopyBuffer :: MonadIO m => m Bool
-glGetARBCopyBuffer = getExtensions >>= (return . member "GL_ARB_copy_buffer")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/copy_buffer.txt ARB_copy_buffer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBCopyBuffer' in those cases instead.
-gl_ARB_copy_buffer :: Bool
-gl_ARB_copy_buffer = member "GL_ARB_copy_buffer" extensions
-{-# NOINLINE gl_ARB_copy_buffer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/copy_image.txt ARB_copy_image> extension supported?
-glGetARBCopyImage :: MonadIO m => m Bool
-glGetARBCopyImage = getExtensions >>= (return . member "GL_ARB_copy_image")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/copy_image.txt ARB_copy_image> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBCopyImage' in those cases instead.
-gl_ARB_copy_image :: Bool
-gl_ARB_copy_image = member "GL_ARB_copy_image" extensions
-{-# NOINLINE gl_ARB_copy_image #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/cull_distance.txt ARB_cull_distance> extension supported?
-glGetARBCullDistance :: MonadIO m => m Bool
-glGetARBCullDistance = getExtensions >>= (return . member "GL_ARB_cull_distance")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/cull_distance.txt ARB_cull_distance> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBCullDistance' in those cases instead.
-gl_ARB_cull_distance :: Bool
-gl_ARB_cull_distance = member "GL_ARB_cull_distance" extensions
-{-# NOINLINE gl_ARB_cull_distance #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/debug_output.txt ARB_debug_output> extension supported?
-glGetARBDebugOutput :: MonadIO m => m Bool
-glGetARBDebugOutput = getExtensions >>= (return . member "GL_ARB_debug_output")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/debug_output.txt ARB_debug_output> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDebugOutput' in those cases instead.
-gl_ARB_debug_output :: Bool
-gl_ARB_debug_output = member "GL_ARB_debug_output" extensions
-{-# NOINLINE gl_ARB_debug_output #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt ARB_depth_buffer_float> extension supported?
-glGetARBDepthBufferFloat :: MonadIO m => m Bool
-glGetARBDepthBufferFloat = getExtensions >>= (return . member "GL_ARB_depth_buffer_float")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/depth_buffer_float.txt ARB_depth_buffer_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDepthBufferFloat' in those cases instead.
-gl_ARB_depth_buffer_float :: Bool
-gl_ARB_depth_buffer_float = member "GL_ARB_depth_buffer_float" extensions
-{-# NOINLINE gl_ARB_depth_buffer_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/depth_clamp.txt ARB_depth_clamp> extension supported?
-glGetARBDepthClamp :: MonadIO m => m Bool
-glGetARBDepthClamp = getExtensions >>= (return . member "GL_ARB_depth_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/depth_clamp.txt ARB_depth_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDepthClamp' in those cases instead.
-gl_ARB_depth_clamp :: Bool
-gl_ARB_depth_clamp = member "GL_ARB_depth_clamp" extensions
-{-# NOINLINE gl_ARB_depth_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/depth_texture.txt ARB_depth_texture> extension supported?
-glGetARBDepthTexture :: MonadIO m => m Bool
-glGetARBDepthTexture = getExtensions >>= (return . member "GL_ARB_depth_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/depth_texture.txt ARB_depth_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDepthTexture' in those cases instead.
-gl_ARB_depth_texture :: Bool
-gl_ARB_depth_texture = member "GL_ARB_depth_texture" extensions
-{-# NOINLINE gl_ARB_depth_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/direct_state_access.txt ARB_direct_state_access> extension supported?
-glGetARBDirectStateAccess :: MonadIO m => m Bool
-glGetARBDirectStateAccess = getExtensions >>= (return . member "GL_ARB_direct_state_access")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/direct_state_access.txt ARB_direct_state_access> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDirectStateAccess' in those cases instead.
-gl_ARB_direct_state_access :: Bool
-gl_ARB_direct_state_access = member "GL_ARB_direct_state_access" extensions
-{-# NOINLINE gl_ARB_direct_state_access #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers.txt ARB_draw_buffers> extension supported?
-glGetARBDrawBuffers :: MonadIO m => m Bool
-glGetARBDrawBuffers = getExtensions >>= (return . member "GL_ARB_draw_buffers")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers.txt ARB_draw_buffers> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDrawBuffers' in those cases instead.
-gl_ARB_draw_buffers :: Bool
-gl_ARB_draw_buffers = member "GL_ARB_draw_buffers" extensions
-{-# NOINLINE gl_ARB_draw_buffers #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt ARB_draw_buffers_blend> extension supported?
-glGetARBDrawBuffersBlend :: MonadIO m => m Bool
-glGetARBDrawBuffersBlend = getExtensions >>= (return . member "GL_ARB_draw_buffers_blend")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_buffers_blend.txt ARB_draw_buffers_blend> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDrawBuffersBlend' in those cases instead.
-gl_ARB_draw_buffers_blend :: Bool
-gl_ARB_draw_buffers_blend = member "GL_ARB_draw_buffers_blend" extensions
-{-# NOINLINE gl_ARB_draw_buffers_blend #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt ARB_draw_elements_base_vertex> extension supported?
-glGetARBDrawElementsBaseVertex :: MonadIO m => m Bool
-glGetARBDrawElementsBaseVertex = getExtensions >>= (return . member "GL_ARB_draw_elements_base_vertex")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_elements_base_vertex.txt ARB_draw_elements_base_vertex> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDrawElementsBaseVertex' in those cases instead.
-gl_ARB_draw_elements_base_vertex :: Bool
-gl_ARB_draw_elements_base_vertex = member "GL_ARB_draw_elements_base_vertex" extensions
-{-# NOINLINE gl_ARB_draw_elements_base_vertex #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_indirect.txt ARB_draw_indirect> extension supported?
-glGetARBDrawIndirect :: MonadIO m => m Bool
-glGetARBDrawIndirect = getExtensions >>= (return . member "GL_ARB_draw_indirect")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_indirect.txt ARB_draw_indirect> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDrawIndirect' in those cases instead.
-gl_ARB_draw_indirect :: Bool
-gl_ARB_draw_indirect = member "GL_ARB_draw_indirect" extensions
-{-# NOINLINE gl_ARB_draw_indirect #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_instanced.txt ARB_draw_instanced> extension supported?
-glGetARBDrawInstanced :: MonadIO m => m Bool
-glGetARBDrawInstanced = getExtensions >>= (return . member "GL_ARB_draw_instanced")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/draw_instanced.txt ARB_draw_instanced> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBDrawInstanced' in those cases instead.
-gl_ARB_draw_instanced :: Bool
-gl_ARB_draw_instanced = member "GL_ARB_draw_instanced" extensions
-{-# NOINLINE gl_ARB_draw_instanced #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/enhanced_layouts.txt ARB_enhanced_layouts> extension supported?
-glGetARBEnhancedLayouts :: MonadIO m => m Bool
-glGetARBEnhancedLayouts = getExtensions >>= (return . member "GL_ARB_enhanced_layouts")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/enhanced_layouts.txt ARB_enhanced_layouts> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBEnhancedLayouts' in those cases instead.
-gl_ARB_enhanced_layouts :: Bool
-gl_ARB_enhanced_layouts = member "GL_ARB_enhanced_layouts" extensions
-{-# NOINLINE gl_ARB_enhanced_layouts #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/explicit_uniform_location.txt ARB_explicit_uniform_location> extension supported?
-glGetARBExplicitUniformLocation :: MonadIO m => m Bool
-glGetARBExplicitUniformLocation = getExtensions >>= (return . member "GL_ARB_explicit_uniform_location")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/explicit_uniform_location.txt ARB_explicit_uniform_location> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBExplicitUniformLocation' in those cases instead.
-gl_ARB_explicit_uniform_location :: Bool
-gl_ARB_explicit_uniform_location = member "GL_ARB_explicit_uniform_location" extensions
-{-# NOINLINE gl_ARB_explicit_uniform_location #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_program.txt ARB_fragment_program> extension supported?
-glGetARBFragmentProgram :: MonadIO m => m Bool
-glGetARBFragmentProgram = getExtensions >>= (return . member "GL_ARB_fragment_program")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_program.txt ARB_fragment_program> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBFragmentProgram' in those cases instead.
-gl_ARB_fragment_program :: Bool
-gl_ARB_fragment_program = member "GL_ARB_fragment_program" extensions
-{-# NOINLINE gl_ARB_fragment_program #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_shader.txt ARB_fragment_shader> extension supported?
-glGetARBFragmentShader :: MonadIO m => m Bool
-glGetARBFragmentShader = getExtensions >>= (return . member "GL_ARB_fragment_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/fragment_shader.txt ARB_fragment_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBFragmentShader' in those cases instead.
-gl_ARB_fragment_shader :: Bool
-gl_ARB_fragment_shader = member "GL_ARB_fragment_shader" extensions
-{-# NOINLINE gl_ARB_fragment_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_no_attachments.txt ARB_framebuffer_no_attachments> extension supported?
-glGetARBFramebufferNoAttachments :: MonadIO m => m Bool
-glGetARBFramebufferNoAttachments = getExtensions >>= (return . member "GL_ARB_framebuffer_no_attachments")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_no_attachments.txt ARB_framebuffer_no_attachments> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBFramebufferNoAttachments' in those cases instead.
-gl_ARB_framebuffer_no_attachments :: Bool
-gl_ARB_framebuffer_no_attachments = member "GL_ARB_framebuffer_no_attachments" extensions
-{-# NOINLINE gl_ARB_framebuffer_no_attachments #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt ARB_framebuffer_object> extension supported?
-glGetARBFramebufferObject :: MonadIO m => m Bool
-glGetARBFramebufferObject = getExtensions >>= (return . member "GL_ARB_framebuffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_object.txt ARB_framebuffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBFramebufferObject' in those cases instead.
-gl_ARB_framebuffer_object :: Bool
-gl_ARB_framebuffer_object = member "GL_ARB_framebuffer_object" extensions
-{-# NOINLINE gl_ARB_framebuffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt ARB_framebuffer_sRGB> extension supported?
-glGetARBFramebufferSRGB :: MonadIO m => m Bool
-glGetARBFramebufferSRGB = getExtensions >>= (return . member "GL_ARB_framebuffer_sRGB")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/framebuffer_sRGB.txt ARB_framebuffer_sRGB> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBFramebufferSRGB' in those cases instead.
-gl_ARB_framebuffer_sRGB :: Bool
-gl_ARB_framebuffer_sRGB = member "GL_ARB_framebuffer_sRGB" extensions
-{-# NOINLINE gl_ARB_framebuffer_sRGB #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt ARB_geometry_shader4> extension supported?
-glGetARBGeometryShader4 :: MonadIO m => m Bool
-glGetARBGeometryShader4 = getExtensions >>= (return . member "GL_ARB_geometry_shader4")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/geometry_shader4.txt ARB_geometry_shader4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBGeometryShader4' in those cases instead.
-gl_ARB_geometry_shader4 :: Bool
-gl_ARB_geometry_shader4 = member "GL_ARB_geometry_shader4" extensions
-{-# NOINLINE gl_ARB_geometry_shader4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/get_program_binary.txt ARB_get_program_binary> extension supported?
-glGetARBGetProgramBinary :: MonadIO m => m Bool
-glGetARBGetProgramBinary = getExtensions >>= (return . member "GL_ARB_get_program_binary")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/get_program_binary.txt ARB_get_program_binary> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBGetProgramBinary' in those cases instead.
-gl_ARB_get_program_binary :: Bool
-gl_ARB_get_program_binary = member "GL_ARB_get_program_binary" extensions
-{-# NOINLINE gl_ARB_get_program_binary #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/get_texture_sub_image.txt ARB_get_texture_sub_image> extension supported?
-glGetARBGetTextureSubImage :: MonadIO m => m Bool
-glGetARBGetTextureSubImage = getExtensions >>= (return . member "GL_ARB_get_texture_sub_image")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/get_texture_sub_image.txt ARB_get_texture_sub_image> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBGetTextureSubImage' in those cases instead.
-gl_ARB_get_texture_sub_image :: Bool
-gl_ARB_get_texture_sub_image = member "GL_ARB_get_texture_sub_image" extensions
-{-# NOINLINE gl_ARB_get_texture_sub_image #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader5.txt ARB_gpu_shader5> extension supported?
-glGetARBGPUShader5 :: MonadIO m => m Bool
-glGetARBGPUShader5 = getExtensions >>= (return . member "GL_ARB_gpu_shader5")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader5.txt ARB_gpu_shader5> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBGPUShader5' in those cases instead.
-gl_ARB_gpu_shader5 :: Bool
-gl_ARB_gpu_shader5 = member "GL_ARB_gpu_shader5" extensions
-{-# NOINLINE gl_ARB_gpu_shader5 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt ARB_gpu_shader_fp64> extension supported?
-glGetARBGPUShaderFP64 :: MonadIO m => m Bool
-glGetARBGPUShaderFP64 = getExtensions >>= (return . member "GL_ARB_gpu_shader_fp64")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_fp64.txt ARB_gpu_shader_fp64> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBGPUShaderFP64' in those cases instead.
-gl_ARB_gpu_shader_fp64 :: Bool
-gl_ARB_gpu_shader_fp64 = member "GL_ARB_gpu_shader_fp64" extensions
-{-# NOINLINE gl_ARB_gpu_shader_fp64 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_int64.txt ARB_gpu_shader_int64> extension supported?
-glGetARBGPUShaderInt64 :: MonadIO m => m Bool
-glGetARBGPUShaderInt64 = getExtensions >>= (return . member "GL_ARB_gpu_shader_int64")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/gpu_shader_int64.txt ARB_gpu_shader_int64> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBGPUShaderInt64' in those cases instead.
-gl_ARB_gpu_shader_int64 :: Bool
-gl_ARB_gpu_shader_int64 = member "GL_ARB_gpu_shader_int64" extensions
-{-# NOINLINE gl_ARB_gpu_shader_int64 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_pixel.txt ARB_half_float_pixel> extension supported?
-glGetARBHalfFloatPixel :: MonadIO m => m Bool
-glGetARBHalfFloatPixel = getExtensions >>= (return . member "GL_ARB_half_float_pixel")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_pixel.txt ARB_half_float_pixel> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBHalfFloatPixel' in those cases instead.
-gl_ARB_half_float_pixel :: Bool
-gl_ARB_half_float_pixel = member "GL_ARB_half_float_pixel" extensions
-{-# NOINLINE gl_ARB_half_float_pixel #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_vertex.txt ARB_half_float_vertex> extension supported?
-glGetARBHalfFloatVertex :: MonadIO m => m Bool
-glGetARBHalfFloatVertex = getExtensions >>= (return . member "GL_ARB_half_float_vertex")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/half_float_vertex.txt ARB_half_float_vertex> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBHalfFloatVertex' in those cases instead.
-gl_ARB_half_float_vertex :: Bool
-gl_ARB_half_float_vertex = member "GL_ARB_half_float_vertex" extensions
-{-# NOINLINE gl_ARB_half_float_vertex #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/imaging.txt ARB_imaging> extension supported?
-glGetARBImaging :: MonadIO m => m Bool
-glGetARBImaging = getExtensions >>= (return . member "GL_ARB_imaging")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/imaging.txt ARB_imaging> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBImaging' in those cases instead.
-gl_ARB_imaging :: Bool
-gl_ARB_imaging = member "GL_ARB_imaging" extensions
-{-# NOINLINE gl_ARB_imaging #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/indirect_parameters.txt ARB_indirect_parameters> extension supported?
-glGetARBIndirectParameters :: MonadIO m => m Bool
-glGetARBIndirectParameters = getExtensions >>= (return . member "GL_ARB_indirect_parameters")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/indirect_parameters.txt ARB_indirect_parameters> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBIndirectParameters' in those cases instead.
-gl_ARB_indirect_parameters :: Bool
-gl_ARB_indirect_parameters = member "GL_ARB_indirect_parameters" extensions
-{-# NOINLINE gl_ARB_indirect_parameters #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/instanced_arrays.txt ARB_instanced_arrays> extension supported?
-glGetARBInstancedArrays :: MonadIO m => m Bool
-glGetARBInstancedArrays = getExtensions >>= (return . member "GL_ARB_instanced_arrays")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/instanced_arrays.txt ARB_instanced_arrays> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBInstancedArrays' in those cases instead.
-gl_ARB_instanced_arrays :: Bool
-gl_ARB_instanced_arrays = member "GL_ARB_instanced_arrays" extensions
-{-# NOINLINE gl_ARB_instanced_arrays #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query.txt ARB_internalformat_query> extension supported?
-glGetARBInternalformatQuery :: MonadIO m => m Bool
-glGetARBInternalformatQuery = getExtensions >>= (return . member "GL_ARB_internalformat_query")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query.txt ARB_internalformat_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBInternalformatQuery' in those cases instead.
-gl_ARB_internalformat_query :: Bool
-gl_ARB_internalformat_query = member "GL_ARB_internalformat_query" extensions
-{-# NOINLINE gl_ARB_internalformat_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query2.txt ARB_internalformat_query2> extension supported?
-glGetARBInternalformatQuery2 :: MonadIO m => m Bool
-glGetARBInternalformatQuery2 = getExtensions >>= (return . member "GL_ARB_internalformat_query2")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/internalformat_query2.txt ARB_internalformat_query2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBInternalformatQuery2' in those cases instead.
-gl_ARB_internalformat_query2 :: Bool
-gl_ARB_internalformat_query2 = member "GL_ARB_internalformat_query2" extensions
-{-# NOINLINE gl_ARB_internalformat_query2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/invalidate_subdata.txt ARB_invalidate_subdata> extension supported?
-glGetARBInvalidateSubdata :: MonadIO m => m Bool
-glGetARBInvalidateSubdata = getExtensions >>= (return . member "GL_ARB_invalidate_subdata")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/invalidate_subdata.txt ARB_invalidate_subdata> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBInvalidateSubdata' in those cases instead.
-gl_ARB_invalidate_subdata :: Bool
-gl_ARB_invalidate_subdata = member "GL_ARB_invalidate_subdata" extensions
-{-# NOINLINE gl_ARB_invalidate_subdata #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_alignment.txt ARB_map_buffer_alignment> extension supported?
-glGetARBMapBufferAlignment :: MonadIO m => m Bool
-glGetARBMapBufferAlignment = getExtensions >>= (return . member "GL_ARB_map_buffer_alignment")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_alignment.txt ARB_map_buffer_alignment> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBMapBufferAlignment' in those cases instead.
-gl_ARB_map_buffer_alignment :: Bool
-gl_ARB_map_buffer_alignment = member "GL_ARB_map_buffer_alignment" extensions
-{-# NOINLINE gl_ARB_map_buffer_alignment #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_range.txt ARB_map_buffer_range> extension supported?
-glGetARBMapBufferRange :: MonadIO m => m Bool
-glGetARBMapBufferRange = getExtensions >>= (return . member "GL_ARB_map_buffer_range")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/map_buffer_range.txt ARB_map_buffer_range> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBMapBufferRange' in those cases instead.
-gl_ARB_map_buffer_range :: Bool
-gl_ARB_map_buffer_range = member "GL_ARB_map_buffer_range" extensions
-{-# NOINLINE gl_ARB_map_buffer_range #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/matrix_palette.txt ARB_matrix_palette> extension supported?
-glGetARBMatrixPalette :: MonadIO m => m Bool
-glGetARBMatrixPalette = getExtensions >>= (return . member "GL_ARB_matrix_palette")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/matrix_palette.txt ARB_matrix_palette> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBMatrixPalette' in those cases instead.
-gl_ARB_matrix_palette :: Bool
-gl_ARB_matrix_palette = member "GL_ARB_matrix_palette" extensions
-{-# NOINLINE gl_ARB_matrix_palette #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multi_bind.txt ARB_multi_bind> extension supported?
-glGetARBMultiBind :: MonadIO m => m Bool
-glGetARBMultiBind = getExtensions >>= (return . member "GL_ARB_multi_bind")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multi_bind.txt ARB_multi_bind> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBMultiBind' in those cases instead.
-gl_ARB_multi_bind :: Bool
-gl_ARB_multi_bind = member "GL_ARB_multi_bind" extensions
-{-# NOINLINE gl_ARB_multi_bind #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multi_draw_indirect.txt ARB_multi_draw_indirect> extension supported?
-glGetARBMultiDrawIndirect :: MonadIO m => m Bool
-glGetARBMultiDrawIndirect = getExtensions >>= (return . member "GL_ARB_multi_draw_indirect")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multi_draw_indirect.txt ARB_multi_draw_indirect> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBMultiDrawIndirect' in those cases instead.
-gl_ARB_multi_draw_indirect :: Bool
-gl_ARB_multi_draw_indirect = member "GL_ARB_multi_draw_indirect" extensions
-{-# NOINLINE gl_ARB_multi_draw_indirect #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multisample.txt ARB_multisample> extension supported?
-glGetARBMultisample :: MonadIO m => m Bool
-glGetARBMultisample = getExtensions >>= (return . member "GL_ARB_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multisample.txt ARB_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBMultisample' in those cases instead.
-gl_ARB_multisample :: Bool
-gl_ARB_multisample = member "GL_ARB_multisample" extensions
-{-# NOINLINE gl_ARB_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multitexture.txt ARB_multitexture> extension supported?
-glGetARBMultitexture :: MonadIO m => m Bool
-glGetARBMultitexture = getExtensions >>= (return . member "GL_ARB_multitexture")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/multitexture.txt ARB_multitexture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBMultitexture' in those cases instead.
-gl_ARB_multitexture :: Bool
-gl_ARB_multitexture = member "GL_ARB_multitexture" extensions
-{-# NOINLINE gl_ARB_multitexture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query.txt ARB_occlusion_query> extension supported?
-glGetARBOcclusionQuery :: MonadIO m => m Bool
-glGetARBOcclusionQuery = getExtensions >>= (return . member "GL_ARB_occlusion_query")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query.txt ARB_occlusion_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBOcclusionQuery' in those cases instead.
-gl_ARB_occlusion_query :: Bool
-gl_ARB_occlusion_query = member "GL_ARB_occlusion_query" extensions
-{-# NOINLINE gl_ARB_occlusion_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query2.txt ARB_occlusion_query2> extension supported?
-glGetARBOcclusionQuery2 :: MonadIO m => m Bool
-glGetARBOcclusionQuery2 = getExtensions >>= (return . member "GL_ARB_occlusion_query2")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/occlusion_query2.txt ARB_occlusion_query2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBOcclusionQuery2' in those cases instead.
-gl_ARB_occlusion_query2 :: Bool
-gl_ARB_occlusion_query2 = member "GL_ARB_occlusion_query2" extensions
-{-# NOINLINE gl_ARB_occlusion_query2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/parallel_shader_compile.txt ARB_parallel_shader_compile> extension supported?
-glGetARBParallelShaderCompile :: MonadIO m => m Bool
-glGetARBParallelShaderCompile = getExtensions >>= (return . member "GL_ARB_parallel_shader_compile")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/parallel_shader_compile.txt ARB_parallel_shader_compile> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBParallelShaderCompile' in those cases instead.
-gl_ARB_parallel_shader_compile :: Bool
-gl_ARB_parallel_shader_compile = member "GL_ARB_parallel_shader_compile" extensions
-{-# NOINLINE gl_ARB_parallel_shader_compile #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/pipeline_statistics_query.txt ARB_pipeline_statistics_query> extension supported?
-glGetARBPipelineStatisticsQuery :: MonadIO m => m Bool
-glGetARBPipelineStatisticsQuery = getExtensions >>= (return . member "GL_ARB_pipeline_statistics_query")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/pipeline_statistics_query.txt ARB_pipeline_statistics_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBPipelineStatisticsQuery' in those cases instead.
-gl_ARB_pipeline_statistics_query :: Bool
-gl_ARB_pipeline_statistics_query = member "GL_ARB_pipeline_statistics_query" extensions
-{-# NOINLINE gl_ARB_pipeline_statistics_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt ARB_pixel_buffer_object> extension supported?
-glGetARBPixelBufferObject :: MonadIO m => m Bool
-glGetARBPixelBufferObject = getExtensions >>= (return . member "GL_ARB_pixel_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/pixel_buffer_object.txt ARB_pixel_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBPixelBufferObject' in those cases instead.
-gl_ARB_pixel_buffer_object :: Bool
-gl_ARB_pixel_buffer_object = member "GL_ARB_pixel_buffer_object" extensions
-{-# NOINLINE gl_ARB_pixel_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/point_parameters.txt ARB_point_parameters> extension supported?
-glGetARBPointParameters :: MonadIO m => m Bool
-glGetARBPointParameters = getExtensions >>= (return . member "GL_ARB_point_parameters")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/point_parameters.txt ARB_point_parameters> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBPointParameters' in those cases instead.
-gl_ARB_point_parameters :: Bool
-gl_ARB_point_parameters = member "GL_ARB_point_parameters" extensions
-{-# NOINLINE gl_ARB_point_parameters #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/point_sprite.txt ARB_point_sprite> extension supported?
-glGetARBPointSprite :: MonadIO m => m Bool
-glGetARBPointSprite = getExtensions >>= (return . member "GL_ARB_point_sprite")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/point_sprite.txt ARB_point_sprite> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBPointSprite' in those cases instead.
-gl_ARB_point_sprite :: Bool
-gl_ARB_point_sprite = member "GL_ARB_point_sprite" extensions
-{-# NOINLINE gl_ARB_point_sprite #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/program_interface_query.txt ARB_program_interface_query> extension supported?
-glGetARBProgramInterfaceQuery :: MonadIO m => m Bool
-glGetARBProgramInterfaceQuery = getExtensions >>= (return . member "GL_ARB_program_interface_query")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/program_interface_query.txt ARB_program_interface_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBProgramInterfaceQuery' in those cases instead.
-gl_ARB_program_interface_query :: Bool
-gl_ARB_program_interface_query = member "GL_ARB_program_interface_query" extensions
-{-# NOINLINE gl_ARB_program_interface_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/provoking_vertex.txt ARB_provoking_vertex> extension supported?
-glGetARBProvokingVertex :: MonadIO m => m Bool
-glGetARBProvokingVertex = getExtensions >>= (return . member "GL_ARB_provoking_vertex")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/provoking_vertex.txt ARB_provoking_vertex> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBProvokingVertex' in those cases instead.
-gl_ARB_provoking_vertex :: Bool
-gl_ARB_provoking_vertex = member "GL_ARB_provoking_vertex" extensions
-{-# NOINLINE gl_ARB_provoking_vertex #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/query_buffer_object.txt ARB_query_buffer_object> extension supported?
-glGetARBQueryBufferObject :: MonadIO m => m Bool
-glGetARBQueryBufferObject = getExtensions >>= (return . member "GL_ARB_query_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/query_buffer_object.txt ARB_query_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBQueryBufferObject' in those cases instead.
-gl_ARB_query_buffer_object :: Bool
-gl_ARB_query_buffer_object = member "GL_ARB_query_buffer_object" extensions
-{-# NOINLINE gl_ARB_query_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/robustness.txt ARB_robustness> extension supported?
-glGetARBRobustness :: MonadIO m => m Bool
-glGetARBRobustness = getExtensions >>= (return . member "GL_ARB_robustness")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/robustness.txt ARB_robustness> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBRobustness' in those cases instead.
-gl_ARB_robustness :: Bool
-gl_ARB_robustness = member "GL_ARB_robustness" extensions
-{-# NOINLINE gl_ARB_robustness #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sample_locations.txt ARB_sample_locations> extension supported?
-glGetARBSampleLocations :: MonadIO m => m Bool
-glGetARBSampleLocations = getExtensions >>= (return . member "GL_ARB_sample_locations")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sample_locations.txt ARB_sample_locations> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSampleLocations' in those cases instead.
-gl_ARB_sample_locations :: Bool
-gl_ARB_sample_locations = member "GL_ARB_sample_locations" extensions
-{-# NOINLINE gl_ARB_sample_locations #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sample_shading.txt ARB_sample_shading> extension supported?
-glGetARBSampleShading :: MonadIO m => m Bool
-glGetARBSampleShading = getExtensions >>= (return . member "GL_ARB_sample_shading")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sample_shading.txt ARB_sample_shading> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSampleShading' in those cases instead.
-gl_ARB_sample_shading :: Bool
-gl_ARB_sample_shading = member "GL_ARB_sample_shading" extensions
-{-# NOINLINE gl_ARB_sample_shading #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sampler_objects.txt ARB_sampler_objects> extension supported?
-glGetARBSamplerObjects :: MonadIO m => m Bool
-glGetARBSamplerObjects = getExtensions >>= (return . member "GL_ARB_sampler_objects")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sampler_objects.txt ARB_sampler_objects> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSamplerObjects' in those cases instead.
-gl_ARB_sampler_objects :: Bool
-gl_ARB_sampler_objects = member "GL_ARB_sampler_objects" extensions
-{-# NOINLINE gl_ARB_sampler_objects #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt ARB_seamless_cube_map> extension supported?
-glGetARBSeamlessCubeMap :: MonadIO m => m Bool
-glGetARBSeamlessCubeMap = getExtensions >>= (return . member "GL_ARB_seamless_cube_map")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cube_map.txt ARB_seamless_cube_map> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSeamlessCubeMap' in those cases instead.
-gl_ARB_seamless_cube_map :: Bool
-gl_ARB_seamless_cube_map = member "GL_ARB_seamless_cube_map" extensions
-{-# NOINLINE gl_ARB_seamless_cube_map #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cubemap_per_texture.txt ARB_seamless_cubemap_per_texture> extension supported?
-glGetARBSeamlessCubemapPerTexture :: MonadIO m => m Bool
-glGetARBSeamlessCubemapPerTexture = getExtensions >>= (return . member "GL_ARB_seamless_cubemap_per_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/seamless_cubemap_per_texture.txt ARB_seamless_cubemap_per_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSeamlessCubemapPerTexture' in those cases instead.
-gl_ARB_seamless_cubemap_per_texture :: Bool
-gl_ARB_seamless_cubemap_per_texture = member "GL_ARB_seamless_cubemap_per_texture" extensions
-{-# NOINLINE gl_ARB_seamless_cubemap_per_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt ARB_separate_shader_objects> extension supported?
-glGetARBSeparateShaderObjects :: MonadIO m => m Bool
-glGetARBSeparateShaderObjects = getExtensions >>= (return . member "GL_ARB_separate_shader_objects")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt ARB_separate_shader_objects> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSeparateShaderObjects' in those cases instead.
-gl_ARB_separate_shader_objects :: Bool
-gl_ARB_separate_shader_objects = member "GL_ARB_separate_shader_objects" extensions
-{-# NOINLINE gl_ARB_separate_shader_objects #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt ARB_shader_atomic_counters> extension supported?
-glGetARBShaderAtomicCounters :: MonadIO m => m Bool
-glGetARBShaderAtomicCounters = getExtensions >>= (return . member "GL_ARB_shader_atomic_counters")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_atomic_counters.txt ARB_shader_atomic_counters> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShaderAtomicCounters' in those cases instead.
-gl_ARB_shader_atomic_counters :: Bool
-gl_ARB_shader_atomic_counters = member "GL_ARB_shader_atomic_counters" extensions
-{-# NOINLINE gl_ARB_shader_atomic_counters #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt ARB_shader_image_load_store> extension supported?
-glGetARBShaderImageLoadStore :: MonadIO m => m Bool
-glGetARBShaderImageLoadStore = getExtensions >>= (return . member "GL_ARB_shader_image_load_store")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_image_load_store.txt ARB_shader_image_load_store> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShaderImageLoadStore' in those cases instead.
-gl_ARB_shader_image_load_store :: Bool
-gl_ARB_shader_image_load_store = member "GL_ARB_shader_image_load_store" extensions
-{-# NOINLINE gl_ARB_shader_image_load_store #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_objects.txt ARB_shader_objects> extension supported?
-glGetARBShaderObjects :: MonadIO m => m Bool
-glGetARBShaderObjects = getExtensions >>= (return . member "GL_ARB_shader_objects")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_objects.txt ARB_shader_objects> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShaderObjects' in those cases instead.
-gl_ARB_shader_objects :: Bool
-gl_ARB_shader_objects = member "GL_ARB_shader_objects" extensions
-{-# NOINLINE gl_ARB_shader_objects #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_storage_buffer_object.txt ARB_shader_storage_buffer_object> extension supported?
-glGetARBShaderStorageBufferObject :: MonadIO m => m Bool
-glGetARBShaderStorageBufferObject = getExtensions >>= (return . member "GL_ARB_shader_storage_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_storage_buffer_object.txt ARB_shader_storage_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShaderStorageBufferObject' in those cases instead.
-gl_ARB_shader_storage_buffer_object :: Bool
-gl_ARB_shader_storage_buffer_object = member "GL_ARB_shader_storage_buffer_object" extensions
-{-# NOINLINE gl_ARB_shader_storage_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt ARB_shader_subroutine> extension supported?
-glGetARBShaderSubroutine :: MonadIO m => m Bool
-glGetARBShaderSubroutine = getExtensions >>= (return . member "GL_ARB_shader_subroutine")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shader_subroutine.txt ARB_shader_subroutine> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShaderSubroutine' in those cases instead.
-gl_ARB_shader_subroutine :: Bool
-gl_ARB_shader_subroutine = member "GL_ARB_shader_subroutine" extensions
-{-# NOINLINE gl_ARB_shader_subroutine #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_100.txt ARB_shading_language_100> extension supported?
-glGetARBShadingLanguage100 :: MonadIO m => m Bool
-glGetARBShadingLanguage100 = getExtensions >>= (return . member "GL_ARB_shading_language_100")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_100.txt ARB_shading_language_100> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShadingLanguage100' in those cases instead.
-gl_ARB_shading_language_100 :: Bool
-gl_ARB_shading_language_100 = member "GL_ARB_shading_language_100" extensions
-{-# NOINLINE gl_ARB_shading_language_100 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_include.txt ARB_shading_language_include> extension supported?
-glGetARBShadingLanguageInclude :: MonadIO m => m Bool
-glGetARBShadingLanguageInclude = getExtensions >>= (return . member "GL_ARB_shading_language_include")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shading_language_include.txt ARB_shading_language_include> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShadingLanguageInclude' in those cases instead.
-gl_ARB_shading_language_include :: Bool
-gl_ARB_shading_language_include = member "GL_ARB_shading_language_include" extensions
-{-# NOINLINE gl_ARB_shading_language_include #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shadow.txt ARB_shadow> extension supported?
-glGetARBShadow :: MonadIO m => m Bool
-glGetARBShadow = getExtensions >>= (return . member "GL_ARB_shadow")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shadow.txt ARB_shadow> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShadow' in those cases instead.
-gl_ARB_shadow :: Bool
-gl_ARB_shadow = member "GL_ARB_shadow" extensions
-{-# NOINLINE gl_ARB_shadow #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shadow_ambient.txt ARB_shadow_ambient> extension supported?
-glGetARBShadowAmbient :: MonadIO m => m Bool
-glGetARBShadowAmbient = getExtensions >>= (return . member "GL_ARB_shadow_ambient")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/shadow_ambient.txt ARB_shadow_ambient> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBShadowAmbient' in those cases instead.
-gl_ARB_shadow_ambient :: Bool
-gl_ARB_shadow_ambient = member "GL_ARB_shadow_ambient" extensions
-{-# NOINLINE gl_ARB_shadow_ambient #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_buffer.txt ARB_sparse_buffer> extension supported?
-glGetARBSparseBuffer :: MonadIO m => m Bool
-glGetARBSparseBuffer = getExtensions >>= (return . member "GL_ARB_sparse_buffer")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_buffer.txt ARB_sparse_buffer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSparseBuffer' in those cases instead.
-gl_ARB_sparse_buffer :: Bool
-gl_ARB_sparse_buffer = member "GL_ARB_sparse_buffer" extensions
-{-# NOINLINE gl_ARB_sparse_buffer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_texture.txt ARB_sparse_texture> extension supported?
-glGetARBSparseTexture :: MonadIO m => m Bool
-glGetARBSparseTexture = getExtensions >>= (return . member "GL_ARB_sparse_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sparse_texture.txt ARB_sparse_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSparseTexture' in those cases instead.
-gl_ARB_sparse_texture :: Bool
-gl_ARB_sparse_texture = member "GL_ARB_sparse_texture" extensions
-{-# NOINLINE gl_ARB_sparse_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/stencil_texturing.txt ARB_stencil_texturing> extension supported?
-glGetARBStencilTexturing :: MonadIO m => m Bool
-glGetARBStencilTexturing = getExtensions >>= (return . member "GL_ARB_stencil_texturing")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/stencil_texturing.txt ARB_stencil_texturing> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBStencilTexturing' in those cases instead.
-gl_ARB_stencil_texturing :: Bool
-gl_ARB_stencil_texturing = member "GL_ARB_stencil_texturing" extensions
-{-# NOINLINE gl_ARB_stencil_texturing #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sync.txt ARB_sync> extension supported?
-glGetARBSync :: MonadIO m => m Bool
-glGetARBSync = getExtensions >>= (return . member "GL_ARB_sync")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/sync.txt ARB_sync> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBSync' in those cases instead.
-gl_ARB_sync :: Bool
-gl_ARB_sync = member "GL_ARB_sync" extensions
-{-# NOINLINE gl_ARB_sync #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/tessellation_shader.txt ARB_tessellation_shader> extension supported?
-glGetARBTessellationShader :: MonadIO m => m Bool
-glGetARBTessellationShader = getExtensions >>= (return . member "GL_ARB_tessellation_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/tessellation_shader.txt ARB_tessellation_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTessellationShader' in those cases instead.
-gl_ARB_tessellation_shader :: Bool
-gl_ARB_tessellation_shader = member "GL_ARB_tessellation_shader" extensions
-{-# NOINLINE gl_ARB_tessellation_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_barrier.txt ARB_texture_barrier> extension supported?
-glGetARBTextureBarrier :: MonadIO m => m Bool
-glGetARBTextureBarrier = getExtensions >>= (return . member "GL_ARB_texture_barrier")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_barrier.txt ARB_texture_barrier> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureBarrier' in those cases instead.
-gl_ARB_texture_barrier :: Bool
-gl_ARB_texture_barrier = member "GL_ARB_texture_barrier" extensions
-{-# NOINLINE gl_ARB_texture_barrier #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_border_clamp.txt ARB_texture_border_clamp> extension supported?
-glGetARBTextureBorderClamp :: MonadIO m => m Bool
-glGetARBTextureBorderClamp = getExtensions >>= (return . member "GL_ARB_texture_border_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_border_clamp.txt ARB_texture_border_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureBorderClamp' in those cases instead.
-gl_ARB_texture_border_clamp :: Bool
-gl_ARB_texture_border_clamp = member "GL_ARB_texture_border_clamp" extensions
-{-# NOINLINE gl_ARB_texture_border_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt ARB_texture_buffer_object> extension supported?
-glGetARBTextureBufferObject :: MonadIO m => m Bool
-glGetARBTextureBufferObject = getExtensions >>= (return . member "GL_ARB_texture_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object.txt ARB_texture_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureBufferObject' in those cases instead.
-gl_ARB_texture_buffer_object :: Bool
-gl_ARB_texture_buffer_object = member "GL_ARB_texture_buffer_object" extensions
-{-# NOINLINE gl_ARB_texture_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object_rgb32.txt ARB_texture_buffer_object_rgb32> extension supported?
-glGetARBTextureBufferObjectRGB32 :: MonadIO m => m Bool
-glGetARBTextureBufferObjectRGB32 = getExtensions >>= (return . member "GL_ARB_texture_buffer_object_rgb32")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_object_rgb32.txt ARB_texture_buffer_object_rgb32> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureBufferObjectRGB32' in those cases instead.
-gl_ARB_texture_buffer_object_rgb32 :: Bool
-gl_ARB_texture_buffer_object_rgb32 = member "GL_ARB_texture_buffer_object_rgb32" extensions
-{-# NOINLINE gl_ARB_texture_buffer_object_rgb32 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_range.txt ARB_texture_buffer_range> extension supported?
-glGetARBTextureBufferRange :: MonadIO m => m Bool
-glGetARBTextureBufferRange = getExtensions >>= (return . member "GL_ARB_texture_buffer_range")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_buffer_range.txt ARB_texture_buffer_range> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureBufferRange' in those cases instead.
-gl_ARB_texture_buffer_range :: Bool
-gl_ARB_texture_buffer_range = member "GL_ARB_texture_buffer_range" extensions
-{-# NOINLINE gl_ARB_texture_buffer_range #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression.txt ARB_texture_compression> extension supported?
-glGetARBTextureCompression :: MonadIO m => m Bool
-glGetARBTextureCompression = getExtensions >>= (return . member "GL_ARB_texture_compression")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression.txt ARB_texture_compression> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureCompression' in those cases instead.
-gl_ARB_texture_compression :: Bool
-gl_ARB_texture_compression = member "GL_ARB_texture_compression" extensions
-{-# NOINLINE gl_ARB_texture_compression #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt ARB_texture_compression_bptc> extension supported?
-glGetARBTextureCompressionBPTC :: MonadIO m => m Bool
-glGetARBTextureCompressionBPTC = getExtensions >>= (return . member "GL_ARB_texture_compression_bptc")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_bptc.txt ARB_texture_compression_bptc> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureCompressionBPTC' in those cases instead.
-gl_ARB_texture_compression_bptc :: Bool
-gl_ARB_texture_compression_bptc = member "GL_ARB_texture_compression_bptc" extensions
-{-# NOINLINE gl_ARB_texture_compression_bptc #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt ARB_texture_compression_rgtc> extension supported?
-glGetARBTextureCompressionRGTC :: MonadIO m => m Bool
-glGetARBTextureCompressionRGTC = getExtensions >>= (return . member "GL_ARB_texture_compression_rgtc")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_compression_rgtc.txt ARB_texture_compression_rgtc> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureCompressionRGTC' in those cases instead.
-gl_ARB_texture_compression_rgtc :: Bool
-gl_ARB_texture_compression_rgtc = member "GL_ARB_texture_compression_rgtc" extensions
-{-# NOINLINE gl_ARB_texture_compression_rgtc #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt ARB_texture_cube_map> extension supported?
-glGetARBTextureCubeMap :: MonadIO m => m Bool
-glGetARBTextureCubeMap = getExtensions >>= (return . member "GL_ARB_texture_cube_map")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt ARB_texture_cube_map> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureCubeMap' in those cases instead.
-gl_ARB_texture_cube_map :: Bool
-gl_ARB_texture_cube_map = member "GL_ARB_texture_cube_map" extensions
-{-# NOINLINE gl_ARB_texture_cube_map #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map_array.txt ARB_texture_cube_map_array> extension supported?
-glGetARBTextureCubeMapArray :: MonadIO m => m Bool
-glGetARBTextureCubeMapArray = getExtensions >>= (return . member "GL_ARB_texture_cube_map_array")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map_array.txt ARB_texture_cube_map_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureCubeMapArray' in those cases instead.
-gl_ARB_texture_cube_map_array :: Bool
-gl_ARB_texture_cube_map_array = member "GL_ARB_texture_cube_map_array" extensions
-{-# NOINLINE gl_ARB_texture_cube_map_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_combine.txt ARB_texture_env_combine> extension supported?
-glGetARBTextureEnvCombine :: MonadIO m => m Bool
-glGetARBTextureEnvCombine = getExtensions >>= (return . member "GL_ARB_texture_env_combine")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_combine.txt ARB_texture_env_combine> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureEnvCombine' in those cases instead.
-gl_ARB_texture_env_combine :: Bool
-gl_ARB_texture_env_combine = member "GL_ARB_texture_env_combine" extensions
-{-# NOINLINE gl_ARB_texture_env_combine #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt ARB_texture_env_dot3> extension supported?
-glGetARBTextureEnvDot3 :: MonadIO m => m Bool
-glGetARBTextureEnvDot3 = getExtensions >>= (return . member "GL_ARB_texture_env_dot3")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_env_dot3.txt ARB_texture_env_dot3> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureEnvDot3' in those cases instead.
-gl_ARB_texture_env_dot3 :: Bool
-gl_ARB_texture_env_dot3 = member "GL_ARB_texture_env_dot3" extensions
-{-# NOINLINE gl_ARB_texture_env_dot3 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_filter_minmax.txt ARB_texture_filter_minmax> extension supported?
-glGetARBTextureFilterMinmax :: MonadIO m => m Bool
-glGetARBTextureFilterMinmax = getExtensions >>= (return . member "GL_ARB_texture_filter_minmax")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_filter_minmax.txt ARB_texture_filter_minmax> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureFilterMinmax' in those cases instead.
-gl_ARB_texture_filter_minmax :: Bool
-gl_ARB_texture_filter_minmax = member "GL_ARB_texture_filter_minmax" extensions
-{-# NOINLINE gl_ARB_texture_filter_minmax #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_float.txt ARB_texture_float> extension supported?
-glGetARBTextureFloat :: MonadIO m => m Bool
-glGetARBTextureFloat = getExtensions >>= (return . member "GL_ARB_texture_float")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_float.txt ARB_texture_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureFloat' in those cases instead.
-gl_ARB_texture_float :: Bool
-gl_ARB_texture_float = member "GL_ARB_texture_float" extensions
-{-# NOINLINE gl_ARB_texture_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_gather.txt ARB_texture_gather> extension supported?
-glGetARBTextureGather :: MonadIO m => m Bool
-glGetARBTextureGather = getExtensions >>= (return . member "GL_ARB_texture_gather")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_gather.txt ARB_texture_gather> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureGather' in those cases instead.
-gl_ARB_texture_gather :: Bool
-gl_ARB_texture_gather = member "GL_ARB_texture_gather" extensions
-{-# NOINLINE gl_ARB_texture_gather #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirror_clamp_to_edge.txt ARB_texture_mirror_clamp_to_edge> extension supported?
-glGetARBTextureMirrorClampToEdge :: MonadIO m => m Bool
-glGetARBTextureMirrorClampToEdge = getExtensions >>= (return . member "GL_ARB_texture_mirror_clamp_to_edge")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirror_clamp_to_edge.txt ARB_texture_mirror_clamp_to_edge> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureMirrorClampToEdge' in those cases instead.
-gl_ARB_texture_mirror_clamp_to_edge :: Bool
-gl_ARB_texture_mirror_clamp_to_edge = member "GL_ARB_texture_mirror_clamp_to_edge" extensions
-{-# NOINLINE gl_ARB_texture_mirror_clamp_to_edge #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirrored_repeat.txt ARB_texture_mirrored_repeat> extension supported?
-glGetARBTextureMirroredRepeat :: MonadIO m => m Bool
-glGetARBTextureMirroredRepeat = getExtensions >>= (return . member "GL_ARB_texture_mirrored_repeat")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_mirrored_repeat.txt ARB_texture_mirrored_repeat> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureMirroredRepeat' in those cases instead.
-gl_ARB_texture_mirrored_repeat :: Bool
-gl_ARB_texture_mirrored_repeat = member "GL_ARB_texture_mirrored_repeat" extensions
-{-# NOINLINE gl_ARB_texture_mirrored_repeat #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_multisample.txt ARB_texture_multisample> extension supported?
-glGetARBTextureMultisample :: MonadIO m => m Bool
-glGetARBTextureMultisample = getExtensions >>= (return . member "GL_ARB_texture_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_multisample.txt ARB_texture_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureMultisample' in those cases instead.
-gl_ARB_texture_multisample :: Bool
-gl_ARB_texture_multisample = member "GL_ARB_texture_multisample" extensions
-{-# NOINLINE gl_ARB_texture_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rectangle.txt ARB_texture_rectangle> extension supported?
-glGetARBTextureRectangle :: MonadIO m => m Bool
-glGetARBTextureRectangle = getExtensions >>= (return . member "GL_ARB_texture_rectangle")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rectangle.txt ARB_texture_rectangle> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureRectangle' in those cases instead.
-gl_ARB_texture_rectangle :: Bool
-gl_ARB_texture_rectangle = member "GL_ARB_texture_rectangle" extensions
-{-# NOINLINE gl_ARB_texture_rectangle #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rg.txt ARB_texture_rg> extension supported?
-glGetARBTextureRG :: MonadIO m => m Bool
-glGetARBTextureRG = getExtensions >>= (return . member "GL_ARB_texture_rg")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rg.txt ARB_texture_rg> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureRG' in those cases instead.
-gl_ARB_texture_rg :: Bool
-gl_ARB_texture_rg = member "GL_ARB_texture_rg" extensions
-{-# NOINLINE gl_ARB_texture_rg #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rgb10_a2ui.txt ARB_texture_rgb10_a2ui> extension supported?
-glGetARBTextureRGB10A2UI :: MonadIO m => m Bool
-glGetARBTextureRGB10A2UI = getExtensions >>= (return . member "GL_ARB_texture_rgb10_a2ui")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_rgb10_a2ui.txt ARB_texture_rgb10_a2ui> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureRGB10A2UI' in those cases instead.
-gl_ARB_texture_rgb10_a2ui :: Bool
-gl_ARB_texture_rgb10_a2ui = member "GL_ARB_texture_rgb10_a2ui" extensions
-{-# NOINLINE gl_ARB_texture_rgb10_a2ui #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_stencil8.txt ARB_texture_stencil8> extension supported?
-glGetARBTextureStencil8 :: MonadIO m => m Bool
-glGetARBTextureStencil8 = getExtensions >>= (return . member "GL_ARB_texture_stencil8")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_stencil8.txt ARB_texture_stencil8> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureStencil8' in those cases instead.
-gl_ARB_texture_stencil8 :: Bool
-gl_ARB_texture_stencil8 = member "GL_ARB_texture_stencil8" extensions
-{-# NOINLINE gl_ARB_texture_stencil8 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage.txt ARB_texture_storage> extension supported?
-glGetARBTextureStorage :: MonadIO m => m Bool
-glGetARBTextureStorage = getExtensions >>= (return . member "GL_ARB_texture_storage")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage.txt ARB_texture_storage> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureStorage' in those cases instead.
-gl_ARB_texture_storage :: Bool
-gl_ARB_texture_storage = member "GL_ARB_texture_storage" extensions
-{-# NOINLINE gl_ARB_texture_storage #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage_multisample.txt ARB_texture_storage_multisample> extension supported?
-glGetARBTextureStorageMultisample :: MonadIO m => m Bool
-glGetARBTextureStorageMultisample = getExtensions >>= (return . member "GL_ARB_texture_storage_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_storage_multisample.txt ARB_texture_storage_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureStorageMultisample' in those cases instead.
-gl_ARB_texture_storage_multisample :: Bool
-gl_ARB_texture_storage_multisample = member "GL_ARB_texture_storage_multisample" extensions
-{-# NOINLINE gl_ARB_texture_storage_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_swizzle.txt ARB_texture_swizzle> extension supported?
-glGetARBTextureSwizzle :: MonadIO m => m Bool
-glGetARBTextureSwizzle = getExtensions >>= (return . member "GL_ARB_texture_swizzle")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_swizzle.txt ARB_texture_swizzle> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureSwizzle' in those cases instead.
-gl_ARB_texture_swizzle :: Bool
-gl_ARB_texture_swizzle = member "GL_ARB_texture_swizzle" extensions
-{-# NOINLINE gl_ARB_texture_swizzle #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_view.txt ARB_texture_view> extension supported?
-glGetARBTextureView :: MonadIO m => m Bool
-glGetARBTextureView = getExtensions >>= (return . member "GL_ARB_texture_view")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_view.txt ARB_texture_view> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTextureView' in those cases instead.
-gl_ARB_texture_view :: Bool
-gl_ARB_texture_view = member "GL_ARB_texture_view" extensions
-{-# NOINLINE gl_ARB_texture_view #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/timer_query.txt ARB_timer_query> extension supported?
-glGetARBTimerQuery :: MonadIO m => m Bool
-glGetARBTimerQuery = getExtensions >>= (return . member "GL_ARB_timer_query")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/timer_query.txt ARB_timer_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTimerQuery' in those cases instead.
-gl_ARB_timer_query :: Bool
-gl_ARB_timer_query = member "GL_ARB_timer_query" extensions
-{-# NOINLINE gl_ARB_timer_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt ARB_transform_feedback2> extension supported?
-glGetARBTransformFeedback2 :: MonadIO m => m Bool
-glGetARBTransformFeedback2 = getExtensions >>= (return . member "GL_ARB_transform_feedback2")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt ARB_transform_feedback2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTransformFeedback2' in those cases instead.
-gl_ARB_transform_feedback2 :: Bool
-gl_ARB_transform_feedback2 = member "GL_ARB_transform_feedback2" extensions
-{-# NOINLINE gl_ARB_transform_feedback2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt ARB_transform_feedback3> extension supported?
-glGetARBTransformFeedback3 :: MonadIO m => m Bool
-glGetARBTransformFeedback3 = getExtensions >>= (return . member "GL_ARB_transform_feedback3")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback3.txt ARB_transform_feedback3> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTransformFeedback3' in those cases instead.
-gl_ARB_transform_feedback3 :: Bool
-gl_ARB_transform_feedback3 = member "GL_ARB_transform_feedback3" extensions
-{-# NOINLINE gl_ARB_transform_feedback3 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt ARB_transform_feedback_instanced> extension supported?
-glGetARBTransformFeedbackInstanced :: MonadIO m => m Bool
-glGetARBTransformFeedbackInstanced = getExtensions >>= (return . member "GL_ARB_transform_feedback_instanced")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_instanced.txt ARB_transform_feedback_instanced> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTransformFeedbackInstanced' in those cases instead.
-gl_ARB_transform_feedback_instanced :: Bool
-gl_ARB_transform_feedback_instanced = member "GL_ARB_transform_feedback_instanced" extensions
-{-# NOINLINE gl_ARB_transform_feedback_instanced #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_overflow_query.txt ARB_transform_feedback_overflow_query> extension supported?
-glGetARBTransformFeedbackOverflowQuery :: MonadIO m => m Bool
-glGetARBTransformFeedbackOverflowQuery = getExtensions >>= (return . member "GL_ARB_transform_feedback_overflow_query")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transform_feedback_overflow_query.txt ARB_transform_feedback_overflow_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTransformFeedbackOverflowQuery' in those cases instead.
-gl_ARB_transform_feedback_overflow_query :: Bool
-gl_ARB_transform_feedback_overflow_query = member "GL_ARB_transform_feedback_overflow_query" extensions
-{-# NOINLINE gl_ARB_transform_feedback_overflow_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transpose_matrix.txt ARB_transpose_matrix> extension supported?
-glGetARBTransposeMatrix :: MonadIO m => m Bool
-glGetARBTransposeMatrix = getExtensions >>= (return . member "GL_ARB_transpose_matrix")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/transpose_matrix.txt ARB_transpose_matrix> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBTransposeMatrix' in those cases instead.
-gl_ARB_transpose_matrix :: Bool
-gl_ARB_transpose_matrix = member "GL_ARB_transpose_matrix" extensions
-{-# NOINLINE gl_ARB_transpose_matrix #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt ARB_uniform_buffer_object> extension supported?
-glGetARBUniformBufferObject :: MonadIO m => m Bool
-glGetARBUniformBufferObject = getExtensions >>= (return . member "GL_ARB_uniform_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/uniform_buffer_object.txt ARB_uniform_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBUniformBufferObject' in those cases instead.
-gl_ARB_uniform_buffer_object :: Bool
-gl_ARB_uniform_buffer_object = member "GL_ARB_uniform_buffer_object" extensions
-{-# NOINLINE gl_ARB_uniform_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_bgra.txt ARB_vertex_array_bgra> extension supported?
-glGetARBVertexArrayBGRA :: MonadIO m => m Bool
-glGetARBVertexArrayBGRA = getExtensions >>= (return . member "GL_ARB_vertex_array_bgra")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_bgra.txt ARB_vertex_array_bgra> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexArrayBGRA' in those cases instead.
-gl_ARB_vertex_array_bgra :: Bool
-gl_ARB_vertex_array_bgra = member "GL_ARB_vertex_array_bgra" extensions
-{-# NOINLINE gl_ARB_vertex_array_bgra #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt ARB_vertex_array_object> extension supported?
-glGetARBVertexArrayObject :: MonadIO m => m Bool
-glGetARBVertexArrayObject = getExtensions >>= (return . member "GL_ARB_vertex_array_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_array_object.txt ARB_vertex_array_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexArrayObject' in those cases instead.
-gl_ARB_vertex_array_object :: Bool
-gl_ARB_vertex_array_object = member "GL_ARB_vertex_array_object" extensions
-{-# NOINLINE gl_ARB_vertex_array_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt ARB_vertex_attrib_64bit> extension supported?
-glGetARBVertexAttrib64Bit :: MonadIO m => m Bool
-glGetARBVertexAttrib64Bit = getExtensions >>= (return . member "GL_ARB_vertex_attrib_64bit")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt ARB_vertex_attrib_64bit> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexAttrib64Bit' in those cases instead.
-gl_ARB_vertex_attrib_64bit :: Bool
-gl_ARB_vertex_attrib_64bit = member "GL_ARB_vertex_attrib_64bit" extensions
-{-# NOINLINE gl_ARB_vertex_attrib_64bit #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_binding.txt ARB_vertex_attrib_binding> extension supported?
-glGetARBVertexAttribBinding :: MonadIO m => m Bool
-glGetARBVertexAttribBinding = getExtensions >>= (return . member "GL_ARB_vertex_attrib_binding")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_attrib_binding.txt ARB_vertex_attrib_binding> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexAttribBinding' in those cases instead.
-gl_ARB_vertex_attrib_binding :: Bool
-gl_ARB_vertex_attrib_binding = member "GL_ARB_vertex_attrib_binding" extensions
-{-# NOINLINE gl_ARB_vertex_attrib_binding #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_blend.txt ARB_vertex_blend> extension supported?
-glGetARBVertexBlend :: MonadIO m => m Bool
-glGetARBVertexBlend = getExtensions >>= (return . member "GL_ARB_vertex_blend")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_blend.txt ARB_vertex_blend> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexBlend' in those cases instead.
-gl_ARB_vertex_blend :: Bool
-gl_ARB_vertex_blend = member "GL_ARB_vertex_blend" extensions
-{-# NOINLINE gl_ARB_vertex_blend #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt ARB_vertex_buffer_object> extension supported?
-glGetARBVertexBufferObject :: MonadIO m => m Bool
-glGetARBVertexBufferObject = getExtensions >>= (return . member "GL_ARB_vertex_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_buffer_object.txt ARB_vertex_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexBufferObject' in those cases instead.
-gl_ARB_vertex_buffer_object :: Bool
-gl_ARB_vertex_buffer_object = member "GL_ARB_vertex_buffer_object" extensions
-{-# NOINLINE gl_ARB_vertex_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_program.txt ARB_vertex_program> extension supported?
-glGetARBVertexProgram :: MonadIO m => m Bool
-glGetARBVertexProgram = getExtensions >>= (return . member "GL_ARB_vertex_program")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_program.txt ARB_vertex_program> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexProgram' in those cases instead.
-gl_ARB_vertex_program :: Bool
-gl_ARB_vertex_program = member "GL_ARB_vertex_program" extensions
-{-# NOINLINE gl_ARB_vertex_program #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_shader.txt ARB_vertex_shader> extension supported?
-glGetARBVertexShader :: MonadIO m => m Bool
-glGetARBVertexShader = getExtensions >>= (return . member "GL_ARB_vertex_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_shader.txt ARB_vertex_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexShader' in those cases instead.
-gl_ARB_vertex_shader :: Bool
-gl_ARB_vertex_shader = member "GL_ARB_vertex_shader" extensions
-{-# NOINLINE gl_ARB_vertex_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_10f_11f_11f_rev.txt ARB_vertex_type_10f_11f_11f_rev> extension supported?
-glGetARBVertexType10f11f11fRev :: MonadIO m => m Bool
-glGetARBVertexType10f11f11fRev = getExtensions >>= (return . member "GL_ARB_vertex_type_10f_11f_11f_rev")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_10f_11f_11f_rev.txt ARB_vertex_type_10f_11f_11f_rev> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexType10f11f11fRev' in those cases instead.
-gl_ARB_vertex_type_10f_11f_11f_rev :: Bool
-gl_ARB_vertex_type_10f_11f_11f_rev = member "GL_ARB_vertex_type_10f_11f_11f_rev" extensions
-{-# NOINLINE gl_ARB_vertex_type_10f_11f_11f_rev #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt ARB_vertex_type_2_10_10_10_rev> extension supported?
-glGetARBVertexType2101010Rev :: MonadIO m => m Bool
-glGetARBVertexType2101010Rev = getExtensions >>= (return . member "GL_ARB_vertex_type_2_10_10_10_rev")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/vertex_type_2_10_10_10_rev.txt ARB_vertex_type_2_10_10_10_rev> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBVertexType2101010Rev' in those cases instead.
-gl_ARB_vertex_type_2_10_10_10_rev :: Bool
-gl_ARB_vertex_type_2_10_10_10_rev = member "GL_ARB_vertex_type_2_10_10_10_rev" extensions
-{-# NOINLINE gl_ARB_vertex_type_2_10_10_10_rev #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/viewport_array.txt ARB_viewport_array> extension supported?
-glGetARBViewportArray :: MonadIO m => m Bool
-glGetARBViewportArray = getExtensions >>= (return . member "GL_ARB_viewport_array")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/viewport_array.txt ARB_viewport_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBViewportArray' in those cases instead.
-gl_ARB_viewport_array :: Bool
-gl_ARB_viewport_array = member "GL_ARB_viewport_array" extensions
-{-# NOINLINE gl_ARB_viewport_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/window_pos.txt ARB_window_pos> extension supported?
-glGetARBWindowPos :: MonadIO m => m Bool
-glGetARBWindowPos = getExtensions >>= (return . member "GL_ARB_window_pos")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/window_pos.txt ARB_window_pos> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetARBWindowPos' in those cases instead.
-gl_ARB_window_pos :: Bool
-gl_ARB_window_pos = member "GL_ARB_window_pos" extensions
-{-# NOINLINE gl_ARB_window_pos #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/draw_buffers.txt ATI_draw_buffers> extension supported?
-glGetATIDrawBuffers :: MonadIO m => m Bool
-glGetATIDrawBuffers = getExtensions >>= (return . member "GL_ATI_draw_buffers")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/draw_buffers.txt ATI_draw_buffers> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIDrawBuffers' in those cases instead.
-gl_ATI_draw_buffers :: Bool
-gl_ATI_draw_buffers = member "GL_ATI_draw_buffers" extensions
-{-# NOINLINE gl_ATI_draw_buffers #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/element_array.txt ATI_element_array> extension supported?
-glGetATIElementArray :: MonadIO m => m Bool
-glGetATIElementArray = getExtensions >>= (return . member "GL_ATI_element_array")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/element_array.txt ATI_element_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIElementArray' in those cases instead.
-gl_ATI_element_array :: Bool
-gl_ATI_element_array = member "GL_ATI_element_array" extensions
-{-# NOINLINE gl_ATI_element_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/envmap_bumpmap.txt ATI_envmap_bumpmap> extension supported?
-glGetATIEnvmapBumpmap :: MonadIO m => m Bool
-glGetATIEnvmapBumpmap = getExtensions >>= (return . member "GL_ATI_envmap_bumpmap")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/envmap_bumpmap.txt ATI_envmap_bumpmap> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIEnvmapBumpmap' in those cases instead.
-gl_ATI_envmap_bumpmap :: Bool
-gl_ATI_envmap_bumpmap = member "GL_ATI_envmap_bumpmap" extensions
-{-# NOINLINE gl_ATI_envmap_bumpmap #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/fragment_shader.txt ATI_fragment_shader> extension supported?
-glGetATIFragmentShader :: MonadIO m => m Bool
-glGetATIFragmentShader = getExtensions >>= (return . member "GL_ATI_fragment_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/fragment_shader.txt ATI_fragment_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIFragmentShader' in those cases instead.
-gl_ATI_fragment_shader :: Bool
-gl_ATI_fragment_shader = member "GL_ATI_fragment_shader" extensions
-{-# NOINLINE gl_ATI_fragment_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/map_object_buffer.txt ATI_map_object_buffer> extension supported?
-glGetATIMapObjectBuffer :: MonadIO m => m Bool
-glGetATIMapObjectBuffer = getExtensions >>= (return . member "GL_ATI_map_object_buffer")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/map_object_buffer.txt ATI_map_object_buffer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIMapObjectBuffer' in those cases instead.
-gl_ATI_map_object_buffer :: Bool
-gl_ATI_map_object_buffer = member "GL_ATI_map_object_buffer" extensions
-{-# NOINLINE gl_ATI_map_object_buffer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/meminfo.txt ATI_meminfo> extension supported?
-glGetATIMeminfo :: MonadIO m => m Bool
-glGetATIMeminfo = getExtensions >>= (return . member "GL_ATI_meminfo")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/meminfo.txt ATI_meminfo> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIMeminfo' in those cases instead.
-gl_ATI_meminfo :: Bool
-gl_ATI_meminfo = member "GL_ATI_meminfo" extensions
-{-# NOINLINE gl_ATI_meminfo #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/pixel_format_float.txt ATI_pixel_format_float> extension supported?
-glGetATIPixelFormatFloat :: MonadIO m => m Bool
-glGetATIPixelFormatFloat = getExtensions >>= (return . member "GL_ATI_pixel_format_float")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/pixel_format_float.txt ATI_pixel_format_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIPixelFormatFloat' in those cases instead.
-gl_ATI_pixel_format_float :: Bool
-gl_ATI_pixel_format_float = member "GL_ATI_pixel_format_float" extensions
-{-# NOINLINE gl_ATI_pixel_format_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/pn_triangles.txt ATI_pn_triangles> extension supported?
-glGetATIPNTriangles :: MonadIO m => m Bool
-glGetATIPNTriangles = getExtensions >>= (return . member "GL_ATI_pn_triangles")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/pn_triangles.txt ATI_pn_triangles> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIPNTriangles' in those cases instead.
-gl_ATI_pn_triangles :: Bool
-gl_ATI_pn_triangles = member "GL_ATI_pn_triangles" extensions
-{-# NOINLINE gl_ATI_pn_triangles #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/separate_stencil.txt ATI_separate_stencil> extension supported?
-glGetATISeparateStencil :: MonadIO m => m Bool
-glGetATISeparateStencil = getExtensions >>= (return . member "GL_ATI_separate_stencil")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/separate_stencil.txt ATI_separate_stencil> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATISeparateStencil' in those cases instead.
-gl_ATI_separate_stencil :: Bool
-gl_ATI_separate_stencil = member "GL_ATI_separate_stencil" extensions
-{-# NOINLINE gl_ATI_separate_stencil #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/text_fragment_shader.txt ATI_text_fragment_shader> extension supported?
-glGetATITextFragmentShader :: MonadIO m => m Bool
-glGetATITextFragmentShader = getExtensions >>= (return . member "GL_ATI_text_fragment_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/text_fragment_shader.txt ATI_text_fragment_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATITextFragmentShader' in those cases instead.
-gl_ATI_text_fragment_shader :: Bool
-gl_ATI_text_fragment_shader = member "GL_ATI_text_fragment_shader" extensions
-{-# NOINLINE gl_ATI_text_fragment_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/texture_env_combine3.txt ATI_texture_env_combine3> extension supported?
-glGetATITextureEnvCombine3 :: MonadIO m => m Bool
-glGetATITextureEnvCombine3 = getExtensions >>= (return . member "GL_ATI_texture_env_combine3")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/texture_env_combine3.txt ATI_texture_env_combine3> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATITextureEnvCombine3' in those cases instead.
-gl_ATI_texture_env_combine3 :: Bool
-gl_ATI_texture_env_combine3 = member "GL_ATI_texture_env_combine3" extensions
-{-# NOINLINE gl_ATI_texture_env_combine3 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/texture_float.txt ATI_texture_float> extension supported?
-glGetATITextureFloat :: MonadIO m => m Bool
-glGetATITextureFloat = getExtensions >>= (return . member "GL_ATI_texture_float")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/texture_float.txt ATI_texture_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATITextureFloat' in those cases instead.
-gl_ATI_texture_float :: Bool
-gl_ATI_texture_float = member "GL_ATI_texture_float" extensions
-{-# NOINLINE gl_ATI_texture_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/texture_mirror_once.txt ATI_texture_mirror_once> extension supported?
-glGetATITextureMirrorOnce :: MonadIO m => m Bool
-glGetATITextureMirrorOnce = getExtensions >>= (return . member "GL_ATI_texture_mirror_once")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/texture_mirror_once.txt ATI_texture_mirror_once> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATITextureMirrorOnce' in those cases instead.
-gl_ATI_texture_mirror_once :: Bool
-gl_ATI_texture_mirror_once = member "GL_ATI_texture_mirror_once" extensions
-{-# NOINLINE gl_ATI_texture_mirror_once #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt ATI_vertex_array_object> extension supported?
-glGetATIVertexArrayObject :: MonadIO m => m Bool
-glGetATIVertexArrayObject = getExtensions >>= (return . member "GL_ATI_vertex_array_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_array_object.txt ATI_vertex_array_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIVertexArrayObject' in those cases instead.
-gl_ATI_vertex_array_object :: Bool
-gl_ATI_vertex_array_object = member "GL_ATI_vertex_array_object" extensions
-{-# NOINLINE gl_ATI_vertex_array_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt ATI_vertex_attrib_array_object> extension supported?
-glGetATIVertexAttribArrayObject :: MonadIO m => m Bool
-glGetATIVertexAttribArrayObject = getExtensions >>= (return . member "GL_ATI_vertex_attrib_array_object")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_attrib_array_object.txt ATI_vertex_attrib_array_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIVertexAttribArrayObject' in those cases instead.
-gl_ATI_vertex_attrib_array_object :: Bool
-gl_ATI_vertex_attrib_array_object = member "GL_ATI_vertex_attrib_array_object" extensions
-{-# NOINLINE gl_ATI_vertex_attrib_array_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_streams.txt ATI_vertex_streams> extension supported?
-glGetATIVertexStreams :: MonadIO m => m Bool
-glGetATIVertexStreams = getExtensions >>= (return . member "GL_ATI_vertex_streams")
-
--- | Is the <https://www.opengl.org/registry/specs/ATI/vertex_streams.txt ATI_vertex_streams> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetATIVertexStreams' in those cases instead.
-gl_ATI_vertex_streams :: Bool
-gl_ATI_vertex_streams = member "GL_ATI_vertex_streams" extensions
-{-# NOINLINE gl_ATI_vertex_streams #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/422_pixels.txt EXT_422_pixels> extension supported?
-glGetEXTFourTwoTwoPixels :: MonadIO m => m Bool
-glGetEXTFourTwoTwoPixels = getExtensions >>= (return . member "GL_EXT_422_pixels")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/422_pixels.txt EXT_422_pixels> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTFourTwoTwoPixels' in those cases instead.
-gl_EXT_422_pixels :: Bool
-gl_EXT_422_pixels = member "GL_EXT_422_pixels" extensions
-{-# NOINLINE gl_EXT_422_pixels #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/abgr.txt EXT_abgr> extension supported?
-glGetEXTABGR :: MonadIO m => m Bool
-glGetEXTABGR = getExtensions >>= (return . member "GL_EXT_abgr")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/abgr.txt EXT_abgr> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTABGR' in those cases instead.
-gl_EXT_abgr :: Bool
-gl_EXT_abgr = member "GL_EXT_abgr" extensions
-{-# NOINLINE gl_EXT_abgr #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/bgra.txt EXT_bgra> extension supported?
-glGetEXTBGRA :: MonadIO m => m Bool
-glGetEXTBGRA = getExtensions >>= (return . member "GL_EXT_bgra")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/bgra.txt EXT_bgra> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTBGRA' in those cases instead.
-gl_EXT_bgra :: Bool
-gl_EXT_bgra = member "GL_EXT_bgra" extensions
-{-# NOINLINE gl_EXT_bgra #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt EXT_bindable_uniform> extension supported?
-glGetEXTBindableUniform :: MonadIO m => m Bool
-glGetEXTBindableUniform = getExtensions >>= (return . member "GL_EXT_bindable_uniform")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/bindable_uniform.txt EXT_bindable_uniform> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTBindableUniform' in those cases instead.
-gl_EXT_bindable_uniform :: Bool
-gl_EXT_bindable_uniform = member "GL_EXT_bindable_uniform" extensions
-{-# NOINLINE gl_EXT_bindable_uniform #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_color.txt EXT_blend_color> extension supported?
-glGetEXTBlendColor :: MonadIO m => m Bool
-glGetEXTBlendColor = getExtensions >>= (return . member "GL_EXT_blend_color")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_color.txt EXT_blend_color> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTBlendColor' in those cases instead.
-gl_EXT_blend_color :: Bool
-gl_EXT_blend_color = member "GL_EXT_blend_color" extensions
-{-# NOINLINE gl_EXT_blend_color #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt EXT_blend_equation_separate> extension supported?
-glGetEXTBlendEquationSeparate :: MonadIO m => m Bool
-glGetEXTBlendEquationSeparate = getExtensions >>= (return . member "GL_EXT_blend_equation_separate")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_equation_separate.txt EXT_blend_equation_separate> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTBlendEquationSeparate' in those cases instead.
-gl_EXT_blend_equation_separate :: Bool
-gl_EXT_blend_equation_separate = member "GL_EXT_blend_equation_separate" extensions
-{-# NOINLINE gl_EXT_blend_equation_separate #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt EXT_blend_func_separate> extension supported?
-glGetEXTBlendFuncSeparate :: MonadIO m => m Bool
-glGetEXTBlendFuncSeparate = getExtensions >>= (return . member "GL_EXT_blend_func_separate")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt EXT_blend_func_separate> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTBlendFuncSeparate' in those cases instead.
-gl_EXT_blend_func_separate :: Bool
-gl_EXT_blend_func_separate = member "GL_EXT_blend_func_separate" extensions
-{-# NOINLINE gl_EXT_blend_func_separate #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_minmax.txt EXT_blend_minmax> extension supported?
-glGetEXTBlendMinmax :: MonadIO m => m Bool
-glGetEXTBlendMinmax = getExtensions >>= (return . member "GL_EXT_blend_minmax")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_minmax.txt EXT_blend_minmax> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTBlendMinmax' in those cases instead.
-gl_EXT_blend_minmax :: Bool
-gl_EXT_blend_minmax = member "GL_EXT_blend_minmax" extensions
-{-# NOINLINE gl_EXT_blend_minmax #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_subtract.txt EXT_blend_subtract> extension supported?
-glGetEXTBlendSubtract :: MonadIO m => m Bool
-glGetEXTBlendSubtract = getExtensions >>= (return . member "GL_EXT_blend_subtract")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_subtract.txt EXT_blend_subtract> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTBlendSubtract' in those cases instead.
-gl_EXT_blend_subtract :: Bool
-gl_EXT_blend_subtract = member "GL_EXT_blend_subtract" extensions
-{-# NOINLINE gl_EXT_blend_subtract #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/clip_volume_hint.txt EXT_clip_volume_hint> extension supported?
-glGetEXTClipVolumeHint :: MonadIO m => m Bool
-glGetEXTClipVolumeHint = getExtensions >>= (return . member "GL_EXT_clip_volume_hint")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/clip_volume_hint.txt EXT_clip_volume_hint> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTClipVolumeHint' in those cases instead.
-gl_EXT_clip_volume_hint :: Bool
-gl_EXT_clip_volume_hint = member "GL_EXT_clip_volume_hint" extensions
-{-# NOINLINE gl_EXT_clip_volume_hint #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/cmyka.txt EXT_cmyka> extension supported?
-glGetEXTCMYKA :: MonadIO m => m Bool
-glGetEXTCMYKA = getExtensions >>= (return . member "GL_EXT_cmyka")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/cmyka.txt EXT_cmyka> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTCMYKA' in those cases instead.
-gl_EXT_cmyka :: Bool
-gl_EXT_cmyka = member "GL_EXT_cmyka" extensions
-{-# NOINLINE gl_EXT_cmyka #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/color_subtable.txt EXT_color_subtable> extension supported?
-glGetEXTColorSubtable :: MonadIO m => m Bool
-glGetEXTColorSubtable = getExtensions >>= (return . member "GL_EXT_color_subtable")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/color_subtable.txt EXT_color_subtable> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTColorSubtable' in those cases instead.
-gl_EXT_color_subtable :: Bool
-gl_EXT_color_subtable = member "GL_EXT_color_subtable" extensions
-{-# NOINLINE gl_EXT_color_subtable #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt EXT_compiled_vertex_array> extension supported?
-glGetEXTCompiledVertexArray :: MonadIO m => m Bool
-glGetEXTCompiledVertexArray = getExtensions >>= (return . member "GL_EXT_compiled_vertex_array")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/compiled_vertex_array.txt EXT_compiled_vertex_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTCompiledVertexArray' in those cases instead.
-gl_EXT_compiled_vertex_array :: Bool
-gl_EXT_compiled_vertex_array = member "GL_EXT_compiled_vertex_array" extensions
-{-# NOINLINE gl_EXT_compiled_vertex_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/convolution.txt EXT_convolution> extension supported?
-glGetEXTConvolution :: MonadIO m => m Bool
-glGetEXTConvolution = getExtensions >>= (return . member "GL_EXT_convolution")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/convolution.txt EXT_convolution> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTConvolution' in those cases instead.
-gl_EXT_convolution :: Bool
-gl_EXT_convolution = member "GL_EXT_convolution" extensions
-{-# NOINLINE gl_EXT_convolution #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/coordinate_frame.txt EXT_coordinate_frame> extension supported?
-glGetEXTCoordinateFrame :: MonadIO m => m Bool
-glGetEXTCoordinateFrame = getExtensions >>= (return . member "GL_EXT_coordinate_frame")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/coordinate_frame.txt EXT_coordinate_frame> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTCoordinateFrame' in those cases instead.
-gl_EXT_coordinate_frame :: Bool
-gl_EXT_coordinate_frame = member "GL_EXT_coordinate_frame" extensions
-{-# NOINLINE gl_EXT_coordinate_frame #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/copy_texture.txt EXT_copy_texture> extension supported?
-glGetEXTCopyTexture :: MonadIO m => m Bool
-glGetEXTCopyTexture = getExtensions >>= (return . member "GL_EXT_copy_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/copy_texture.txt EXT_copy_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTCopyTexture' in those cases instead.
-gl_EXT_copy_texture :: Bool
-gl_EXT_copy_texture = member "GL_EXT_copy_texture" extensions
-{-# NOINLINE gl_EXT_copy_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/cull_vertex.txt EXT_cull_vertex> extension supported?
-glGetEXTCullVertex :: MonadIO m => m Bool
-glGetEXTCullVertex = getExtensions >>= (return . member "GL_EXT_cull_vertex")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/cull_vertex.txt EXT_cull_vertex> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTCullVertex' in those cases instead.
-gl_EXT_cull_vertex :: Bool
-gl_EXT_cull_vertex = member "GL_EXT_cull_vertex" extensions
-{-# NOINLINE gl_EXT_cull_vertex #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_label.txt EXT_debug_label> extension supported?
-glGetEXTDebugLabel :: MonadIO m => m Bool
-glGetEXTDebugLabel = getExtensions >>= (return . member "GL_EXT_debug_label")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_label.txt EXT_debug_label> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTDebugLabel' in those cases instead.
-gl_EXT_debug_label :: Bool
-gl_EXT_debug_label = member "GL_EXT_debug_label" extensions
-{-# NOINLINE gl_EXT_debug_label #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_marker.txt EXT_debug_marker> extension supported?
-glGetEXTDebugMarker :: MonadIO m => m Bool
-glGetEXTDebugMarker = getExtensions >>= (return . member "GL_EXT_debug_marker")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/EXT_debug_marker.txt EXT_debug_marker> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTDebugMarker' in those cases instead.
-gl_EXT_debug_marker :: Bool
-gl_EXT_debug_marker = member "GL_EXT_debug_marker" extensions
-{-# NOINLINE gl_EXT_debug_marker #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt EXT_depth_bounds_test> extension supported?
-glGetEXTDepthBoundsTest :: MonadIO m => m Bool
-glGetEXTDepthBoundsTest = getExtensions >>= (return . member "GL_EXT_depth_bounds_test")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/depth_bounds_test.txt EXT_depth_bounds_test> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTDepthBoundsTest' in those cases instead.
-gl_EXT_depth_bounds_test :: Bool
-gl_EXT_depth_bounds_test = member "GL_EXT_depth_bounds_test" extensions
-{-# NOINLINE gl_EXT_depth_bounds_test #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/direct_state_access.txt EXT_direct_state_access> extension supported?
-glGetEXTDirectStateAccess :: MonadIO m => m Bool
-glGetEXTDirectStateAccess = getExtensions >>= (return . member "GL_EXT_direct_state_access")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/direct_state_access.txt EXT_direct_state_access> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTDirectStateAccess' in those cases instead.
-gl_EXT_direct_state_access :: Bool
-gl_EXT_direct_state_access = member "GL_EXT_direct_state_access" extensions
-{-# NOINLINE gl_EXT_direct_state_access #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt EXT_draw_buffers2> extension supported?
-glGetEXTDrawBuffers2 :: MonadIO m => m Bool
-glGetEXTDrawBuffers2 = getExtensions >>= (return . member "GL_EXT_draw_buffers2")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/draw_buffers2.txt EXT_draw_buffers2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTDrawBuffers2' in those cases instead.
-gl_EXT_draw_buffers2 :: Bool
-gl_EXT_draw_buffers2 = member "GL_EXT_draw_buffers2" extensions
-{-# NOINLINE gl_EXT_draw_buffers2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/draw_instanced.txt EXT_draw_instanced> extension supported?
-glGetEXTDrawInstanced :: MonadIO m => m Bool
-glGetEXTDrawInstanced = getExtensions >>= (return . member "GL_EXT_draw_instanced")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/draw_instanced.txt EXT_draw_instanced> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTDrawInstanced' in those cases instead.
-gl_EXT_draw_instanced :: Bool
-gl_EXT_draw_instanced = member "GL_EXT_draw_instanced" extensions
-{-# NOINLINE gl_EXT_draw_instanced #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/draw_range_elements.txt EXT_draw_range_elements> extension supported?
-glGetEXTDrawRangeElements :: MonadIO m => m Bool
-glGetEXTDrawRangeElements = getExtensions >>= (return . member "GL_EXT_draw_range_elements")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/draw_range_elements.txt EXT_draw_range_elements> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTDrawRangeElements' in those cases instead.
-gl_EXT_draw_range_elements :: Bool
-gl_EXT_draw_range_elements = member "GL_EXT_draw_range_elements" extensions
-{-# NOINLINE gl_EXT_draw_range_elements #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/fog_coord.txt EXT_fog_coord> extension supported?
-glGetEXTFogCoord :: MonadIO m => m Bool
-glGetEXTFogCoord = getExtensions >>= (return . member "GL_EXT_fog_coord")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/fog_coord.txt EXT_fog_coord> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTFogCoord' in those cases instead.
-gl_EXT_fog_coord :: Bool
-gl_EXT_fog_coord = member "GL_EXT_fog_coord" extensions
-{-# NOINLINE gl_EXT_fog_coord #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt EXT_framebuffer_blit> extension supported?
-glGetEXTFramebufferBlit :: MonadIO m => m Bool
-glGetEXTFramebufferBlit = getExtensions >>= (return . member "GL_EXT_framebuffer_blit")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_blit.txt EXT_framebuffer_blit> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTFramebufferBlit' in those cases instead.
-gl_EXT_framebuffer_blit :: Bool
-gl_EXT_framebuffer_blit = member "GL_EXT_framebuffer_blit" extensions
-{-# NOINLINE gl_EXT_framebuffer_blit #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt EXT_framebuffer_multisample> extension supported?
-glGetEXTFramebufferMultisample :: MonadIO m => m Bool
-glGetEXTFramebufferMultisample = getExtensions >>= (return . member "GL_EXT_framebuffer_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample.txt EXT_framebuffer_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTFramebufferMultisample' in those cases instead.
-gl_EXT_framebuffer_multisample :: Bool
-gl_EXT_framebuffer_multisample = member "GL_EXT_framebuffer_multisample" extensions
-{-# NOINLINE gl_EXT_framebuffer_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample_blit_scaled.txt EXT_framebuffer_multisample_blit_scaled> extension supported?
-glGetEXTFramebufferMultisampleBlitScaled :: MonadIO m => m Bool
-glGetEXTFramebufferMultisampleBlitScaled = getExtensions >>= (return . member "GL_EXT_framebuffer_multisample_blit_scaled")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_multisample_blit_scaled.txt EXT_framebuffer_multisample_blit_scaled> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTFramebufferMultisampleBlitScaled' in those cases instead.
-gl_EXT_framebuffer_multisample_blit_scaled :: Bool
-gl_EXT_framebuffer_multisample_blit_scaled = member "GL_EXT_framebuffer_multisample_blit_scaled" extensions
-{-# NOINLINE gl_EXT_framebuffer_multisample_blit_scaled #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt EXT_framebuffer_object> extension supported?
-glGetEXTFramebufferObject :: MonadIO m => m Bool
-glGetEXTFramebufferObject = getExtensions >>= (return . member "GL_EXT_framebuffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_object.txt EXT_framebuffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTFramebufferObject' in those cases instead.
-gl_EXT_framebuffer_object :: Bool
-gl_EXT_framebuffer_object = member "GL_EXT_framebuffer_object" extensions
-{-# NOINLINE gl_EXT_framebuffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_sRGB.txt EXT_framebuffer_sRGB> extension supported?
-glGetEXTFramebufferSRGB :: MonadIO m => m Bool
-glGetEXTFramebufferSRGB = getExtensions >>= (return . member "GL_EXT_framebuffer_sRGB")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/framebuffer_sRGB.txt EXT_framebuffer_sRGB> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTFramebufferSRGB' in those cases instead.
-gl_EXT_framebuffer_sRGB :: Bool
-gl_EXT_framebuffer_sRGB = member "GL_EXT_framebuffer_sRGB" extensions
-{-# NOINLINE gl_EXT_framebuffer_sRGB #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt EXT_geometry_shader4> extension supported?
-glGetEXTGeometryShader4 :: MonadIO m => m Bool
-glGetEXTGeometryShader4 = getExtensions >>= (return . member "GL_EXT_geometry_shader4")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/geometry_shader4.txt EXT_geometry_shader4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTGeometryShader4' in those cases instead.
-gl_EXT_geometry_shader4 :: Bool
-gl_EXT_geometry_shader4 = member "GL_EXT_geometry_shader4" extensions
-{-# NOINLINE gl_EXT_geometry_shader4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_program_parameters.txt EXT_gpu_program_parameters> extension supported?
-glGetEXTGPUProgramParameters :: MonadIO m => m Bool
-glGetEXTGPUProgramParameters = getExtensions >>= (return . member "GL_EXT_gpu_program_parameters")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_program_parameters.txt EXT_gpu_program_parameters> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTGPUProgramParameters' in those cases instead.
-gl_EXT_gpu_program_parameters :: Bool
-gl_EXT_gpu_program_parameters = member "GL_EXT_gpu_program_parameters" extensions
-{-# NOINLINE gl_EXT_gpu_program_parameters #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt EXT_gpu_shader4> extension supported?
-glGetEXTGPUShader4 :: MonadIO m => m Bool
-glGetEXTGPUShader4 = getExtensions >>= (return . member "GL_EXT_gpu_shader4")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/gpu_shader4.txt EXT_gpu_shader4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTGPUShader4' in those cases instead.
-gl_EXT_gpu_shader4 :: Bool
-gl_EXT_gpu_shader4 = member "GL_EXT_gpu_shader4" extensions
-{-# NOINLINE gl_EXT_gpu_shader4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/histogram.txt EXT_histogram> extension supported?
-glGetEXTHistogram :: MonadIO m => m Bool
-glGetEXTHistogram = getExtensions >>= (return . member "GL_EXT_histogram")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/histogram.txt EXT_histogram> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTHistogram' in those cases instead.
-gl_EXT_histogram :: Bool
-gl_EXT_histogram = member "GL_EXT_histogram" extensions
-{-# NOINLINE gl_EXT_histogram #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/index_array_formats.txt EXT_index_array_formats> extension supported?
-glGetEXTIndexArrayFormats :: MonadIO m => m Bool
-glGetEXTIndexArrayFormats = getExtensions >>= (return . member "GL_EXT_index_array_formats")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/index_array_formats.txt EXT_index_array_formats> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTIndexArrayFormats' in those cases instead.
-gl_EXT_index_array_formats :: Bool
-gl_EXT_index_array_formats = member "GL_EXT_index_array_formats" extensions
-{-# NOINLINE gl_EXT_index_array_formats #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/index_func.txt EXT_index_func> extension supported?
-glGetEXTIndexFunc :: MonadIO m => m Bool
-glGetEXTIndexFunc = getExtensions >>= (return . member "GL_EXT_index_func")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/index_func.txt EXT_index_func> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTIndexFunc' in those cases instead.
-gl_EXT_index_func :: Bool
-gl_EXT_index_func = member "GL_EXT_index_func" extensions
-{-# NOINLINE gl_EXT_index_func #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/index_material.txt EXT_index_material> extension supported?
-glGetEXTIndexMaterial :: MonadIO m => m Bool
-glGetEXTIndexMaterial = getExtensions >>= (return . member "GL_EXT_index_material")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/index_material.txt EXT_index_material> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTIndexMaterial' in those cases instead.
-gl_EXT_index_material :: Bool
-gl_EXT_index_material = member "GL_EXT_index_material" extensions
-{-# NOINLINE gl_EXT_index_material #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/light_texture.txt EXT_light_texture> extension supported?
-glGetEXTLightTexture :: MonadIO m => m Bool
-glGetEXTLightTexture = getExtensions >>= (return . member "GL_EXT_light_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/light_texture.txt EXT_light_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTLightTexture' in those cases instead.
-gl_EXT_light_texture :: Bool
-gl_EXT_light_texture = member "GL_EXT_light_texture" extensions
-{-# NOINLINE gl_EXT_light_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt EXT_multi_draw_arrays> extension supported?
-glGetEXTMultiDrawArrays :: MonadIO m => m Bool
-glGetEXTMultiDrawArrays = getExtensions >>= (return . member "GL_EXT_multi_draw_arrays")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/multi_draw_arrays.txt EXT_multi_draw_arrays> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTMultiDrawArrays' in those cases instead.
-gl_EXT_multi_draw_arrays :: Bool
-gl_EXT_multi_draw_arrays = member "GL_EXT_multi_draw_arrays" extensions
-{-# NOINLINE gl_EXT_multi_draw_arrays #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/wgl_multisample.txt EXT_multisample> extension supported?
-glGetEXTMultisample :: MonadIO m => m Bool
-glGetEXTMultisample = getExtensions >>= (return . member "GL_EXT_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/wgl_multisample.txt EXT_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTMultisample' in those cases instead.
-gl_EXT_multisample :: Bool
-gl_EXT_multisample = member "GL_EXT_multisample" extensions
-{-# NOINLINE gl_EXT_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/packed_depth_stencil.txt EXT_packed_depth_stencil> extension supported?
-glGetEXTPackedDepthStencil :: MonadIO m => m Bool
-glGetEXTPackedDepthStencil = getExtensions >>= (return . member "GL_EXT_packed_depth_stencil")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/packed_depth_stencil.txt EXT_packed_depth_stencil> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPackedDepthStencil' in those cases instead.
-gl_EXT_packed_depth_stencil :: Bool
-gl_EXT_packed_depth_stencil = member "GL_EXT_packed_depth_stencil" extensions
-{-# NOINLINE gl_EXT_packed_depth_stencil #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/packed_float.txt EXT_packed_float> extension supported?
-glGetEXTPackedFloat :: MonadIO m => m Bool
-glGetEXTPackedFloat = getExtensions >>= (return . member "GL_EXT_packed_float")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/packed_float.txt EXT_packed_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPackedFloat' in those cases instead.
-gl_EXT_packed_float :: Bool
-gl_EXT_packed_float = member "GL_EXT_packed_float" extensions
-{-# NOINLINE gl_EXT_packed_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/packed_pixels.txt EXT_packed_pixels> extension supported?
-glGetEXTPackedPixels :: MonadIO m => m Bool
-glGetEXTPackedPixels = getExtensions >>= (return . member "GL_EXT_packed_pixels")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/packed_pixels.txt EXT_packed_pixels> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPackedPixels' in those cases instead.
-gl_EXT_packed_pixels :: Bool
-gl_EXT_packed_pixels = member "GL_EXT_packed_pixels" extensions
-{-# NOINLINE gl_EXT_packed_pixels #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/paletted_texture.txt EXT_paletted_texture> extension supported?
-glGetEXTPalettedTexture :: MonadIO m => m Bool
-glGetEXTPalettedTexture = getExtensions >>= (return . member "GL_EXT_paletted_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/paletted_texture.txt EXT_paletted_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPalettedTexture' in those cases instead.
-gl_EXT_paletted_texture :: Bool
-gl_EXT_paletted_texture = member "GL_EXT_paletted_texture" extensions
-{-# NOINLINE gl_EXT_paletted_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_buffer_object.txt EXT_pixel_buffer_object> extension supported?
-glGetEXTPixelBufferObject :: MonadIO m => m Bool
-glGetEXTPixelBufferObject = getExtensions >>= (return . member "GL_EXT_pixel_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_buffer_object.txt EXT_pixel_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPixelBufferObject' in those cases instead.
-gl_EXT_pixel_buffer_object :: Bool
-gl_EXT_pixel_buffer_object = member "GL_EXT_pixel_buffer_object" extensions
-{-# NOINLINE gl_EXT_pixel_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_transform.txt EXT_pixel_transform> extension supported?
-glGetEXTPixelTransform :: MonadIO m => m Bool
-glGetEXTPixelTransform = getExtensions >>= (return . member "GL_EXT_pixel_transform")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/pixel_transform.txt EXT_pixel_transform> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPixelTransform' in those cases instead.
-gl_EXT_pixel_transform :: Bool
-gl_EXT_pixel_transform = member "GL_EXT_pixel_transform" extensions
-{-# NOINLINE gl_EXT_pixel_transform #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt EXT_point_parameters> extension supported?
-glGetEXTPointParameters :: MonadIO m => m Bool
-glGetEXTPointParameters = getExtensions >>= (return . member "GL_EXT_point_parameters")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt EXT_point_parameters> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPointParameters' in those cases instead.
-gl_EXT_point_parameters :: Bool
-gl_EXT_point_parameters = member "GL_EXT_point_parameters" extensions
-{-# NOINLINE gl_EXT_point_parameters #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset.txt EXT_polygon_offset> extension supported?
-glGetEXTPolygonOffset :: MonadIO m => m Bool
-glGetEXTPolygonOffset = getExtensions >>= (return . member "GL_EXT_polygon_offset")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset.txt EXT_polygon_offset> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPolygonOffset' in those cases instead.
-gl_EXT_polygon_offset :: Bool
-gl_EXT_polygon_offset = member "GL_EXT_polygon_offset" extensions
-{-# NOINLINE gl_EXT_polygon_offset #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset_clamp.txt EXT_polygon_offset_clamp> extension supported?
-glGetEXTPolygonOffsetClamp :: MonadIO m => m Bool
-glGetEXTPolygonOffsetClamp = getExtensions >>= (return . member "GL_EXT_polygon_offset_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/polygon_offset_clamp.txt EXT_polygon_offset_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTPolygonOffsetClamp' in those cases instead.
-gl_EXT_polygon_offset_clamp :: Bool
-gl_EXT_polygon_offset_clamp = member "GL_EXT_polygon_offset_clamp" extensions
-{-# NOINLINE gl_EXT_polygon_offset_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/provoking_vertex.txt EXT_provoking_vertex> extension supported?
-glGetEXTProvokingVertex :: MonadIO m => m Bool
-glGetEXTProvokingVertex = getExtensions >>= (return . member "GL_EXT_provoking_vertex")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/provoking_vertex.txt EXT_provoking_vertex> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTProvokingVertex' in those cases instead.
-gl_EXT_provoking_vertex :: Bool
-gl_EXT_provoking_vertex = member "GL_EXT_provoking_vertex" extensions
-{-# NOINLINE gl_EXT_provoking_vertex #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/raster_multisample.txt EXT_raster_multisample> extension supported?
-glGetEXTRasterMultisample :: MonadIO m => m Bool
-glGetEXTRasterMultisample = getExtensions >>= (return . member "GL_EXT_raster_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/raster_multisample.txt EXT_raster_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTRasterMultisample' in those cases instead.
-gl_EXT_raster_multisample :: Bool
-gl_EXT_raster_multisample = member "GL_EXT_raster_multisample" extensions
-{-# NOINLINE gl_EXT_raster_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/rescale_normal.txt EXT_rescale_normal> extension supported?
-glGetEXTRescaleNormal :: MonadIO m => m Bool
-glGetEXTRescaleNormal = getExtensions >>= (return . member "GL_EXT_rescale_normal")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/rescale_normal.txt EXT_rescale_normal> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTRescaleNormal' in those cases instead.
-gl_EXT_rescale_normal :: Bool
-gl_EXT_rescale_normal = member "GL_EXT_rescale_normal" extensions
-{-# NOINLINE gl_EXT_rescale_normal #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/secondary_color.txt EXT_secondary_color> extension supported?
-glGetEXTSecondaryColor :: MonadIO m => m Bool
-glGetEXTSecondaryColor = getExtensions >>= (return . member "GL_EXT_secondary_color")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/secondary_color.txt EXT_secondary_color> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTSecondaryColor' in those cases instead.
-gl_EXT_secondary_color :: Bool
-gl_EXT_secondary_color = member "GL_EXT_secondary_color" extensions
-{-# NOINLINE gl_EXT_secondary_color #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt EXT_separate_shader_objects> extension supported?
-glGetEXTSeparateShaderObjects :: MonadIO m => m Bool
-glGetEXTSeparateShaderObjects = getExtensions >>= (return . member "GL_EXT_separate_shader_objects")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/separate_shader_objects.txt EXT_separate_shader_objects> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTSeparateShaderObjects' in those cases instead.
-gl_EXT_separate_shader_objects :: Bool
-gl_EXT_separate_shader_objects = member "GL_EXT_separate_shader_objects" extensions
-{-# NOINLINE gl_EXT_separate_shader_objects #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/separate_specular_color.txt EXT_separate_specular_color> extension supported?
-glGetEXTSeparateSpecularColor :: MonadIO m => m Bool
-glGetEXTSeparateSpecularColor = getExtensions >>= (return . member "GL_EXT_separate_specular_color")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/separate_specular_color.txt EXT_separate_specular_color> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTSeparateSpecularColor' in those cases instead.
-gl_EXT_separate_specular_color :: Bool
-gl_EXT_separate_specular_color = member "GL_EXT_separate_specular_color" extensions
-{-# NOINLINE gl_EXT_separate_specular_color #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt EXT_shader_image_load_store> extension supported?
-glGetEXTShaderImageLoadStore :: MonadIO m => m Bool
-glGetEXTShaderImageLoadStore = getExtensions >>= (return . member "GL_EXT_shader_image_load_store")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/shader_image_load_store.txt EXT_shader_image_load_store> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTShaderImageLoadStore' in those cases instead.
-gl_EXT_shader_image_load_store :: Bool
-gl_EXT_shader_image_load_store = member "GL_EXT_shader_image_load_store" extensions
-{-# NOINLINE gl_EXT_shader_image_load_store #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/shared_texture_palette.txt EXT_shared_texture_palette> extension supported?
-glGetEXTSharedTexturePalette :: MonadIO m => m Bool
-glGetEXTSharedTexturePalette = getExtensions >>= (return . member "GL_EXT_shared_texture_palette")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/shared_texture_palette.txt EXT_shared_texture_palette> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTSharedTexturePalette' in those cases instead.
-gl_EXT_shared_texture_palette :: Bool
-gl_EXT_shared_texture_palette = member "GL_EXT_shared_texture_palette" extensions
-{-# NOINLINE gl_EXT_shared_texture_palette #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt EXT_stencil_clear_tag> extension supported?
-glGetEXTStencilClearTag :: MonadIO m => m Bool
-glGetEXTStencilClearTag = getExtensions >>= (return . member "GL_EXT_stencil_clear_tag")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_clear_tag.txt EXT_stencil_clear_tag> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTStencilClearTag' in those cases instead.
-gl_EXT_stencil_clear_tag :: Bool
-gl_EXT_stencil_clear_tag = member "GL_EXT_stencil_clear_tag" extensions
-{-# NOINLINE gl_EXT_stencil_clear_tag #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_two_side.txt EXT_stencil_two_side> extension supported?
-glGetEXTStencilTwoSide :: MonadIO m => m Bool
-glGetEXTStencilTwoSide = getExtensions >>= (return . member "GL_EXT_stencil_two_side")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_two_side.txt EXT_stencil_two_side> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTStencilTwoSide' in those cases instead.
-gl_EXT_stencil_two_side :: Bool
-gl_EXT_stencil_two_side = member "GL_EXT_stencil_two_side" extensions
-{-# NOINLINE gl_EXT_stencil_two_side #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_wrap.txt EXT_stencil_wrap> extension supported?
-glGetEXTStencilWrap :: MonadIO m => m Bool
-glGetEXTStencilWrap = getExtensions >>= (return . member "GL_EXT_stencil_wrap")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/stencil_wrap.txt EXT_stencil_wrap> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTStencilWrap' in those cases instead.
-gl_EXT_stencil_wrap :: Bool
-gl_EXT_stencil_wrap = member "GL_EXT_stencil_wrap" extensions
-{-# NOINLINE gl_EXT_stencil_wrap #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/subtexture.txt EXT_subtexture> extension supported?
-glGetEXTSubtexture :: MonadIO m => m Bool
-glGetEXTSubtexture = getExtensions >>= (return . member "GL_EXT_subtexture")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/subtexture.txt EXT_subtexture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTSubtexture' in those cases instead.
-gl_EXT_subtexture :: Bool
-gl_EXT_subtexture = member "GL_EXT_subtexture" extensions
-{-# NOINLINE gl_EXT_subtexture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture.txt EXT_texture> extension supported?
-glGetEXTTexture :: MonadIO m => m Bool
-glGetEXTTexture = getExtensions >>= (return . member "GL_EXT_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture.txt EXT_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTexture' in those cases instead.
-gl_EXT_texture :: Bool
-gl_EXT_texture = member "GL_EXT_texture" extensions
-{-# NOINLINE gl_EXT_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture3D.txt EXT_texture3D> extension supported?
-glGetEXTTexture3D :: MonadIO m => m Bool
-glGetEXTTexture3D = getExtensions >>= (return . member "GL_EXT_texture3D")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture3D.txt EXT_texture3D> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTexture3D' in those cases instead.
-gl_EXT_texture3D :: Bool
-gl_EXT_texture3D = member "GL_EXT_texture3D" extensions
-{-# NOINLINE gl_EXT_texture3D #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_array.txt EXT_texture_array> extension supported?
-glGetEXTTextureArray :: MonadIO m => m Bool
-glGetEXTTextureArray = getExtensions >>= (return . member "GL_EXT_texture_array")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_array.txt EXT_texture_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureArray' in those cases instead.
-gl_EXT_texture_array :: Bool
-gl_EXT_texture_array = member "GL_EXT_texture_array" extensions
-{-# NOINLINE gl_EXT_texture_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_buffer_object.txt EXT_texture_buffer_object> extension supported?
-glGetEXTTextureBufferObject :: MonadIO m => m Bool
-glGetEXTTextureBufferObject = getExtensions >>= (return . member "GL_EXT_texture_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_buffer_object.txt EXT_texture_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureBufferObject' in those cases instead.
-gl_EXT_texture_buffer_object :: Bool
-gl_EXT_texture_buffer_object = member "GL_EXT_texture_buffer_object" extensions
-{-# NOINLINE gl_EXT_texture_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt EXT_texture_compression_latc> extension supported?
-glGetEXTTextureCompressionLATC :: MonadIO m => m Bool
-glGetEXTTextureCompressionLATC = getExtensions >>= (return . member "GL_EXT_texture_compression_latc")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_latc.txt EXT_texture_compression_latc> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureCompressionLATC' in those cases instead.
-gl_EXT_texture_compression_latc :: Bool
-gl_EXT_texture_compression_latc = member "GL_EXT_texture_compression_latc" extensions
-{-# NOINLINE gl_EXT_texture_compression_latc #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_rgtc.txt EXT_texture_compression_rgtc> extension supported?
-glGetEXTTextureCompressionRGTC :: MonadIO m => m Bool
-glGetEXTTextureCompressionRGTC = getExtensions >>= (return . member "GL_EXT_texture_compression_rgtc")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_rgtc.txt EXT_texture_compression_rgtc> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureCompressionRGTC' in those cases instead.
-gl_EXT_texture_compression_rgtc :: Bool
-gl_EXT_texture_compression_rgtc = member "GL_EXT_texture_compression_rgtc" extensions
-{-# NOINLINE gl_EXT_texture_compression_rgtc #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt EXT_texture_compression_s3tc> extension supported?
-glGetEXTTextureCompressionS3TC :: MonadIO m => m Bool
-glGetEXTTextureCompressionS3TC = getExtensions >>= (return . member "GL_EXT_texture_compression_s3tc")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt EXT_texture_compression_s3tc> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureCompressionS3TC' in those cases instead.
-gl_EXT_texture_compression_s3tc :: Bool
-gl_EXT_texture_compression_s3tc = member "GL_EXT_texture_compression_s3tc" extensions
-{-# NOINLINE gl_EXT_texture_compression_s3tc #-}
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt EXT_texture_cube_map> extension supported?
-glGetEXTTextureCubeMap :: MonadIO m => m Bool
-glGetEXTTextureCubeMap = getExtensions >>= (return . member "GL_EXT_texture_cube_map")
-
--- | Is the <https://www.opengl.org/registry/specs/ARB/texture_cube_map.txt EXT_texture_cube_map> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureCubeMap' in those cases instead.
-gl_EXT_texture_cube_map :: Bool
-gl_EXT_texture_cube_map = member "GL_EXT_texture_cube_map" extensions
-{-# NOINLINE gl_EXT_texture_cube_map #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_combine.txt EXT_texture_env_combine> extension supported?
-glGetEXTTextureEnvCombine :: MonadIO m => m Bool
-glGetEXTTextureEnvCombine = getExtensions >>= (return . member "GL_EXT_texture_env_combine")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_combine.txt EXT_texture_env_combine> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureEnvCombine' in those cases instead.
-gl_EXT_texture_env_combine :: Bool
-gl_EXT_texture_env_combine = member "GL_EXT_texture_env_combine" extensions
-{-# NOINLINE gl_EXT_texture_env_combine #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_dot3.txt EXT_texture_env_dot3> extension supported?
-glGetEXTTextureEnvDot3 :: MonadIO m => m Bool
-glGetEXTTextureEnvDot3 = getExtensions >>= (return . member "GL_EXT_texture_env_dot3")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_env_dot3.txt EXT_texture_env_dot3> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureEnvDot3' in those cases instead.
-gl_EXT_texture_env_dot3 :: Bool
-gl_EXT_texture_env_dot3 = member "GL_EXT_texture_env_dot3" extensions
-{-# NOINLINE gl_EXT_texture_env_dot3 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt EXT_texture_filter_anisotropic> extension supported?
-glGetEXTTextureFilterAnisotropic :: MonadIO m => m Bool
-glGetEXTTextureFilterAnisotropic = getExtensions >>= (return . member "GL_EXT_texture_filter_anisotropic")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_anisotropic.txt EXT_texture_filter_anisotropic> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureFilterAnisotropic' in those cases instead.
-gl_EXT_texture_filter_anisotropic :: Bool
-gl_EXT_texture_filter_anisotropic = member "GL_EXT_texture_filter_anisotropic" extensions
-{-# NOINLINE gl_EXT_texture_filter_anisotropic #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_minmax.txt EXT_texture_filter_minmax> extension supported?
-glGetEXTTextureFilterMinmax :: MonadIO m => m Bool
-glGetEXTTextureFilterMinmax = getExtensions >>= (return . member "GL_EXT_texture_filter_minmax")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_filter_minmax.txt EXT_texture_filter_minmax> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureFilterMinmax' in those cases instead.
-gl_EXT_texture_filter_minmax :: Bool
-gl_EXT_texture_filter_minmax = member "GL_EXT_texture_filter_minmax" extensions
-{-# NOINLINE gl_EXT_texture_filter_minmax #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_integer.txt EXT_texture_integer> extension supported?
-glGetEXTTextureInteger :: MonadIO m => m Bool
-glGetEXTTextureInteger = getExtensions >>= (return . member "GL_EXT_texture_integer")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_integer.txt EXT_texture_integer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureInteger' in those cases instead.
-gl_EXT_texture_integer :: Bool
-gl_EXT_texture_integer = member "GL_EXT_texture_integer" extensions
-{-# NOINLINE gl_EXT_texture_integer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt EXT_texture_lod_bias> extension supported?
-glGetEXTTextureLODBias :: MonadIO m => m Bool
-glGetEXTTextureLODBias = getExtensions >>= (return . member "GL_EXT_texture_lod_bias")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_lod_bias.txt EXT_texture_lod_bias> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureLODBias' in those cases instead.
-gl_EXT_texture_lod_bias :: Bool
-gl_EXT_texture_lod_bias = member "GL_EXT_texture_lod_bias" extensions
-{-# NOINLINE gl_EXT_texture_lod_bias #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_mirror_clamp.txt EXT_texture_mirror_clamp> extension supported?
-glGetEXTTextureMirrorClamp :: MonadIO m => m Bool
-glGetEXTTextureMirrorClamp = getExtensions >>= (return . member "GL_EXT_texture_mirror_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_mirror_clamp.txt EXT_texture_mirror_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureMirrorClamp' in those cases instead.
-gl_EXT_texture_mirror_clamp :: Bool
-gl_EXT_texture_mirror_clamp = member "GL_EXT_texture_mirror_clamp" extensions
-{-# NOINLINE gl_EXT_texture_mirror_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_object.txt EXT_texture_object> extension supported?
-glGetEXTTextureObject :: MonadIO m => m Bool
-glGetEXTTextureObject = getExtensions >>= (return . member "GL_EXT_texture_object")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_object.txt EXT_texture_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureObject' in those cases instead.
-gl_EXT_texture_object :: Bool
-gl_EXT_texture_object = member "GL_EXT_texture_object" extensions
-{-# NOINLINE gl_EXT_texture_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt EXT_texture_perturb_normal> extension supported?
-glGetEXTTexturePerturbNormal :: MonadIO m => m Bool
-glGetEXTTexturePerturbNormal = getExtensions >>= (return . member "GL_EXT_texture_perturb_normal")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_perturb_normal.txt EXT_texture_perturb_normal> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTexturePerturbNormal' in those cases instead.
-gl_EXT_texture_perturb_normal :: Bool
-gl_EXT_texture_perturb_normal = member "GL_EXT_texture_perturb_normal" extensions
-{-# NOINLINE gl_EXT_texture_perturb_normal #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB.txt EXT_texture_sRGB> extension supported?
-glGetEXTTextureSRGB :: MonadIO m => m Bool
-glGetEXTTextureSRGB = getExtensions >>= (return . member "GL_EXT_texture_sRGB")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB.txt EXT_texture_sRGB> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureSRGB' in those cases instead.
-gl_EXT_texture_sRGB :: Bool
-gl_EXT_texture_sRGB = member "GL_EXT_texture_sRGB" extensions
-{-# NOINLINE gl_EXT_texture_sRGB #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB_decode.txt EXT_texture_sRGB_decode> extension supported?
-glGetEXTTextureSRGBDecode :: MonadIO m => m Bool
-glGetEXTTextureSRGBDecode = getExtensions >>= (return . member "GL_EXT_texture_sRGB_decode")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_sRGB_decode.txt EXT_texture_sRGB_decode> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureSRGBDecode' in those cases instead.
-gl_EXT_texture_sRGB_decode :: Bool
-gl_EXT_texture_sRGB_decode = member "GL_EXT_texture_sRGB_decode" extensions
-{-# NOINLINE gl_EXT_texture_sRGB_decode #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt EXT_texture_shared_exponent> extension supported?
-glGetEXTTextureSharedExponent :: MonadIO m => m Bool
-glGetEXTTextureSharedExponent = getExtensions >>= (return . member "GL_EXT_texture_shared_exponent")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_shared_exponent.txt EXT_texture_shared_exponent> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureSharedExponent' in those cases instead.
-gl_EXT_texture_shared_exponent :: Bool
-gl_EXT_texture_shared_exponent = member "GL_EXT_texture_shared_exponent" extensions
-{-# NOINLINE gl_EXT_texture_shared_exponent #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_snorm.txt EXT_texture_snorm> extension supported?
-glGetEXTTextureSNorm :: MonadIO m => m Bool
-glGetEXTTextureSNorm = getExtensions >>= (return . member "GL_EXT_texture_snorm")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_snorm.txt EXT_texture_snorm> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureSNorm' in those cases instead.
-gl_EXT_texture_snorm :: Bool
-gl_EXT_texture_snorm = member "GL_EXT_texture_snorm" extensions
-{-# NOINLINE gl_EXT_texture_snorm #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_swizzle.txt EXT_texture_swizzle> extension supported?
-glGetEXTTextureSwizzle :: MonadIO m => m Bool
-glGetEXTTextureSwizzle = getExtensions >>= (return . member "GL_EXT_texture_swizzle")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/texture_swizzle.txt EXT_texture_swizzle> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTextureSwizzle' in those cases instead.
-gl_EXT_texture_swizzle :: Bool
-gl_EXT_texture_swizzle = member "GL_EXT_texture_swizzle" extensions
-{-# NOINLINE gl_EXT_texture_swizzle #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/timer_query.txt EXT_timer_query> extension supported?
-glGetEXTTimerQuery :: MonadIO m => m Bool
-glGetEXTTimerQuery = getExtensions >>= (return . member "GL_EXT_timer_query")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/timer_query.txt EXT_timer_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTimerQuery' in those cases instead.
-gl_EXT_timer_query :: Bool
-gl_EXT_timer_query = member "GL_EXT_timer_query" extensions
-{-# NOINLINE gl_EXT_timer_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/transform_feedback.txt EXT_transform_feedback> extension supported?
-glGetEXTTransformFeedback :: MonadIO m => m Bool
-glGetEXTTransformFeedback = getExtensions >>= (return . member "GL_EXT_transform_feedback")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/transform_feedback.txt EXT_transform_feedback> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTTransformFeedback' in those cases instead.
-gl_EXT_transform_feedback :: Bool
-gl_EXT_transform_feedback = member "GL_EXT_transform_feedback" extensions
-{-# NOINLINE gl_EXT_transform_feedback #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array.txt EXT_vertex_array> extension supported?
-glGetEXTVertexArray :: MonadIO m => m Bool
-glGetEXTVertexArray = getExtensions >>= (return . member "GL_EXT_vertex_array")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array.txt EXT_vertex_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTVertexArray' in those cases instead.
-gl_EXT_vertex_array :: Bool
-gl_EXT_vertex_array = member "GL_EXT_vertex_array" extensions
-{-# NOINLINE gl_EXT_vertex_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array_bgra.txt EXT_vertex_array_bgra> extension supported?
-glGetEXTVertexArrayBGRA :: MonadIO m => m Bool
-glGetEXTVertexArrayBGRA = getExtensions >>= (return . member "GL_EXT_vertex_array_bgra")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_array_bgra.txt EXT_vertex_array_bgra> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTVertexArrayBGRA' in those cases instead.
-gl_EXT_vertex_array_bgra :: Bool
-gl_EXT_vertex_array_bgra = member "GL_EXT_vertex_array_bgra" extensions
-{-# NOINLINE gl_EXT_vertex_array_bgra #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt EXT_vertex_attrib_64bit> extension supported?
-glGetEXTVertexAttrib64Bit :: MonadIO m => m Bool
-glGetEXTVertexAttrib64Bit = getExtensions >>= (return . member "GL_EXT_vertex_attrib_64bit")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_attrib_64bit.txt EXT_vertex_attrib_64bit> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTVertexAttrib64Bit' in those cases instead.
-gl_EXT_vertex_attrib_64bit :: Bool
-gl_EXT_vertex_attrib_64bit = member "GL_EXT_vertex_attrib_64bit" extensions
-{-# NOINLINE gl_EXT_vertex_attrib_64bit #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_shader.txt EXT_vertex_shader> extension supported?
-glGetEXTVertexShader :: MonadIO m => m Bool
-glGetEXTVertexShader = getExtensions >>= (return . member "GL_EXT_vertex_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_shader.txt EXT_vertex_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTVertexShader' in those cases instead.
-gl_EXT_vertex_shader :: Bool
-gl_EXT_vertex_shader = member "GL_EXT_vertex_shader" extensions
-{-# NOINLINE gl_EXT_vertex_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_weighting.txt EXT_vertex_weighting> extension supported?
-glGetEXTVertexWeighting :: MonadIO m => m Bool
-glGetEXTVertexWeighting = getExtensions >>= (return . member "GL_EXT_vertex_weighting")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/vertex_weighting.txt EXT_vertex_weighting> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTVertexWeighting' in those cases instead.
-gl_EXT_vertex_weighting :: Bool
-gl_EXT_vertex_weighting = member "GL_EXT_vertex_weighting" extensions
-{-# NOINLINE gl_EXT_vertex_weighting #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/x11_sync_object.txt EXT_x11_sync_object> extension supported?
-glGetEXTX11SyncObject :: MonadIO m => m Bool
-glGetEXTX11SyncObject = getExtensions >>= (return . member "GL_EXT_x11_sync_object")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/x11_sync_object.txt EXT_x11_sync_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetEXTX11SyncObject' in those cases instead.
-gl_EXT_x11_sync_object :: Bool
-gl_EXT_x11_sync_object = member "GL_EXT_x11_sync_object" extensions
-{-# NOINLINE gl_EXT_x11_sync_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt GREMEDY_frame_terminator> extension supported?
-glGetGREMEDYFrameTerminator :: MonadIO m => m Bool
-glGetGREMEDYFrameTerminator = getExtensions >>= (return . member "GL_GREMEDY_frame_terminator")
-
--- | Is the <https://www.opengl.org/registry/specs/GREMEDY/frame_terminator.txt GREMEDY_frame_terminator> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetGREMEDYFrameTerminator' in those cases instead.
-gl_GREMEDY_frame_terminator :: Bool
-gl_GREMEDY_frame_terminator = member "GL_GREMEDY_frame_terminator" extensions
-{-# NOINLINE gl_GREMEDY_frame_terminator #-}
-
--- | Is the <https://www.opengl.org/registry/specs/GREMEDY/string_marker.txt GREMEDY_string_marker> extension supported?
-glGetGREMEDYStringMarker :: MonadIO m => m Bool
-glGetGREMEDYStringMarker = getExtensions >>= (return . member "GL_GREMEDY_string_marker")
-
--- | Is the <https://www.opengl.org/registry/specs/GREMEDY/string_marker.txt GREMEDY_string_marker> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetGREMEDYStringMarker' in those cases instead.
-gl_GREMEDY_string_marker :: Bool
-gl_GREMEDY_string_marker = member "GL_GREMEDY_string_marker" extensions
-{-# NOINLINE gl_GREMEDY_string_marker #-}
-
--- | Is the <https://www.opengl.org/registry/specs/HP/convolution_border_modes.txt HP_convolution_border_modes> extension supported?
-glGetHPConvolutionBorderModes :: MonadIO m => m Bool
-glGetHPConvolutionBorderModes = getExtensions >>= (return . member "GL_HP_convolution_border_modes")
-
--- | Is the <https://www.opengl.org/registry/specs/HP/convolution_border_modes.txt HP_convolution_border_modes> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetHPConvolutionBorderModes' in those cases instead.
-gl_HP_convolution_border_modes :: Bool
-gl_HP_convolution_border_modes = member "GL_HP_convolution_border_modes" extensions
-{-# NOINLINE gl_HP_convolution_border_modes #-}
-
--- | Is the <https://www.opengl.org/registry/specs/HP/image_transform.txt HP_image_transform> extension supported?
-glGetHPImageTransform :: MonadIO m => m Bool
-glGetHPImageTransform = getExtensions >>= (return . member "GL_HP_image_transform")
-
--- | Is the <https://www.opengl.org/registry/specs/HP/image_transform.txt HP_image_transform> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetHPImageTransform' in those cases instead.
-gl_HP_image_transform :: Bool
-gl_HP_image_transform = member "GL_HP_image_transform" extensions
-{-# NOINLINE gl_HP_image_transform #-}
-
--- | Is the <https://www.opengl.org/registry/specs/HP/occlusion_test.txt HP_occlusion_test> extension supported?
-glGetHPOcclusionTest :: MonadIO m => m Bool
-glGetHPOcclusionTest = getExtensions >>= (return . member "GL_HP_occlusion_test")
-
--- | Is the <https://www.opengl.org/registry/specs/HP/occlusion_test.txt HP_occlusion_test> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetHPOcclusionTest' in those cases instead.
-gl_HP_occlusion_test :: Bool
-gl_HP_occlusion_test = member "GL_HP_occlusion_test" extensions
-{-# NOINLINE gl_HP_occlusion_test #-}
-
--- | Is the <https://www.opengl.org/registry/specs/HP/texture_lighting.txt HP_texture_lighting> extension supported?
-glGetHPTextureLighting :: MonadIO m => m Bool
-glGetHPTextureLighting = getExtensions >>= (return . member "GL_HP_texture_lighting")
-
--- | Is the <https://www.opengl.org/registry/specs/HP/texture_lighting.txt HP_texture_lighting> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetHPTextureLighting' in those cases instead.
-gl_HP_texture_lighting :: Bool
-gl_HP_texture_lighting = member "GL_HP_texture_lighting" extensions
-{-# NOINLINE gl_HP_texture_lighting #-}
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/cull_vertex.txt IBM_cull_vertex> extension supported?
-glGetIBMCullVertex :: MonadIO m => m Bool
-glGetIBMCullVertex = getExtensions >>= (return . member "GL_IBM_cull_vertex")
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/cull_vertex.txt IBM_cull_vertex> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetIBMCullVertex' in those cases instead.
-gl_IBM_cull_vertex :: Bool
-gl_IBM_cull_vertex = member "GL_IBM_cull_vertex" extensions
-{-# NOINLINE gl_IBM_cull_vertex #-}
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt IBM_multimode_draw_arrays> extension supported?
-glGetIBMMultimodeDrawArrays :: MonadIO m => m Bool
-glGetIBMMultimodeDrawArrays = getExtensions >>= (return . member "GL_IBM_multimode_draw_arrays")
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/multimode_draw_arrays.txt IBM_multimode_draw_arrays> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetIBMMultimodeDrawArrays' in those cases instead.
-gl_IBM_multimode_draw_arrays :: Bool
-gl_IBM_multimode_draw_arrays = member "GL_IBM_multimode_draw_arrays" extensions
-{-# NOINLINE gl_IBM_multimode_draw_arrays #-}
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/rasterpos_clip.txt IBM_rasterpos_clip> extension supported?
-glGetIBMRasterposClip :: MonadIO m => m Bool
-glGetIBMRasterposClip = getExtensions >>= (return . member "GL_IBM_rasterpos_clip")
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/rasterpos_clip.txt IBM_rasterpos_clip> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetIBMRasterposClip' in those cases instead.
-gl_IBM_rasterpos_clip :: Bool
-gl_IBM_rasterpos_clip = member "GL_IBM_rasterpos_clip" extensions
-{-# NOINLINE gl_IBM_rasterpos_clip #-}
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/static_data.txt IBM_static_data> extension supported?
-glGetIBMStaticData :: MonadIO m => m Bool
-glGetIBMStaticData = getExtensions >>= (return . member "GL_IBM_static_data")
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/static_data.txt IBM_static_data> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetIBMStaticData' in those cases instead.
-gl_IBM_static_data :: Bool
-gl_IBM_static_data = member "GL_IBM_static_data" extensions
-{-# NOINLINE gl_IBM_static_data #-}
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/texture_mirrored_repeat.txt IBM_texture_mirrored_repeat> extension supported?
-glGetIBMTextureMirroredRepeat :: MonadIO m => m Bool
-glGetIBMTextureMirroredRepeat = getExtensions >>= (return . member "GL_IBM_texture_mirrored_repeat")
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/texture_mirrored_repeat.txt IBM_texture_mirrored_repeat> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetIBMTextureMirroredRepeat' in those cases instead.
-gl_IBM_texture_mirrored_repeat :: Bool
-gl_IBM_texture_mirrored_repeat = member "GL_IBM_texture_mirrored_repeat" extensions
-{-# NOINLINE gl_IBM_texture_mirrored_repeat #-}
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/vertex_array_lists.txt IBM_vertex_array_lists> extension supported?
-glGetIBMVertexArrayLists :: MonadIO m => m Bool
-glGetIBMVertexArrayLists = getExtensions >>= (return . member "GL_IBM_vertex_array_lists")
-
--- | Is the <https://www.opengl.org/registry/specs/IBM/vertex_array_lists.txt IBM_vertex_array_lists> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetIBMVertexArrayLists' in those cases instead.
-gl_IBM_vertex_array_lists :: Bool
-gl_IBM_vertex_array_lists = member "GL_IBM_vertex_array_lists" extensions
-{-# NOINLINE gl_IBM_vertex_array_lists #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt INGR_blend_func_separate> extension supported?
-glGetINGRBlendFuncSeparate :: MonadIO m => m Bool
-glGetINGRBlendFuncSeparate = getExtensions >>= (return . member "GL_INGR_blend_func_separate")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/blend_func_separate.txt INGR_blend_func_separate> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetINGRBlendFuncSeparate' in those cases instead.
-gl_INGR_blend_func_separate :: Bool
-gl_INGR_blend_func_separate = member "GL_INGR_blend_func_separate" extensions
-{-# NOINLINE gl_INGR_blend_func_separate #-}
-
--- | Is the <https://www.opengl.org/registry/specs/INGR/color_clamp.txt INGR_color_clamp> extension supported?
-glGetINGRColorClamp :: MonadIO m => m Bool
-glGetINGRColorClamp = getExtensions >>= (return . member "GL_INGR_color_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/INGR/color_clamp.txt INGR_color_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetINGRColorClamp' in those cases instead.
-gl_INGR_color_clamp :: Bool
-gl_INGR_color_clamp = member "GL_INGR_color_clamp" extensions
-{-# NOINLINE gl_INGR_color_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/INGR/interlace_read.txt INGR_interlace_read> extension supported?
-glGetINGRInterlaceRead :: MonadIO m => m Bool
-glGetINGRInterlaceRead = getExtensions >>= (return . member "GL_INGR_interlace_read")
-
--- | Is the <https://www.opengl.org/registry/specs/INGR/interlace_read.txt INGR_interlace_read> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetINGRInterlaceRead' in those cases instead.
-gl_INGR_interlace_read :: Bool
-gl_INGR_interlace_read = member "GL_INGR_interlace_read" extensions
-{-# NOINLINE gl_INGR_interlace_read #-}
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/framebuffer_CMAA.txt INTEL_framebuffer_CMAA> extension supported?
-glGetINTELFramebufferCmaa :: MonadIO m => m Bool
-glGetINTELFramebufferCmaa = getExtensions >>= (return . member "GL_INTEL_framebuffer_CMAA")
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/framebuffer_CMAA.txt INTEL_framebuffer_CMAA> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetINTELFramebufferCmaa' in those cases instead.
-gl_INTEL_framebuffer_CMAA :: Bool
-gl_INTEL_framebuffer_CMAA = member "GL_INTEL_framebuffer_CMAA" extensions
-{-# NOINLINE gl_INTEL_framebuffer_CMAA #-}
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/map_texture.txt INTEL_map_texture> extension supported?
-glGetINTELMapTexture :: MonadIO m => m Bool
-glGetINTELMapTexture = getExtensions >>= (return . member "GL_INTEL_map_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/map_texture.txt INTEL_map_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetINTELMapTexture' in those cases instead.
-gl_INTEL_map_texture :: Bool
-gl_INTEL_map_texture = member "GL_INTEL_map_texture" extensions
-{-# NOINLINE gl_INTEL_map_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt INTEL_parallel_arrays> extension supported?
-glGetINTELParallelArrays :: MonadIO m => m Bool
-glGetINTELParallelArrays = getExtensions >>= (return . member "GL_INTEL_parallel_arrays")
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/parallel_arrays.txt INTEL_parallel_arrays> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetINTELParallelArrays' in those cases instead.
-gl_INTEL_parallel_arrays :: Bool
-gl_INTEL_parallel_arrays = member "GL_INTEL_parallel_arrays" extensions
-{-# NOINLINE gl_INTEL_parallel_arrays #-}
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/performance_query.txt INTEL_performance_query> extension supported?
-glGetINTELPerformanceQuery :: MonadIO m => m Bool
-glGetINTELPerformanceQuery = getExtensions >>= (return . member "GL_INTEL_performance_query")
-
--- | Is the <https://www.opengl.org/registry/specs/INTEL/performance_query.txt INTEL_performance_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetINTELPerformanceQuery' in those cases instead.
-gl_INTEL_performance_query :: Bool
-gl_INTEL_performance_query = member "GL_INTEL_performance_query" extensions
-{-# NOINLINE gl_INTEL_performance_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced> extension supported?
-glGetKHRBlendEquationAdvanced :: MonadIO m => m Bool
-glGetKHRBlendEquationAdvanced = getExtensions >>= (return . member "GL_KHR_blend_equation_advanced")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRBlendEquationAdvanced' in those cases instead.
-gl_KHR_blend_equation_advanced :: Bool
-gl_KHR_blend_equation_advanced = member "GL_KHR_blend_equation_advanced" extensions
-{-# NOINLINE gl_KHR_blend_equation_advanced #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced_coherent> extension supported?
-glGetKHRBlendEquationAdvancedCoherent :: MonadIO m => m Bool
-glGetKHRBlendEquationAdvancedCoherent = getExtensions >>= (return . member "GL_KHR_blend_equation_advanced_coherent")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/blend_equation_advanced.txt KHR_blend_equation_advanced_coherent> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRBlendEquationAdvancedCoherent' in those cases instead.
-gl_KHR_blend_equation_advanced_coherent :: Bool
-gl_KHR_blend_equation_advanced_coherent = member "GL_KHR_blend_equation_advanced_coherent" extensions
-{-# NOINLINE gl_KHR_blend_equation_advanced_coherent #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/context_flush_control.txt KHR_context_flush_control> extension supported?
-glGetKHRContextFlushControl :: MonadIO m => m Bool
-glGetKHRContextFlushControl = getExtensions >>= (return . member "GL_KHR_context_flush_control")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/context_flush_control.txt KHR_context_flush_control> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRContextFlushControl' in those cases instead.
-gl_KHR_context_flush_control :: Bool
-gl_KHR_context_flush_control = member "GL_KHR_context_flush_control" extensions
-{-# NOINLINE gl_KHR_context_flush_control #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/debug.txt KHR_debug> extension supported?
-glGetKHRDebug :: MonadIO m => m Bool
-glGetKHRDebug = getExtensions >>= (return . member "GL_KHR_debug")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/debug.txt KHR_debug> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRDebug' in those cases instead.
-gl_KHR_debug :: Bool
-gl_KHR_debug = member "GL_KHR_debug" extensions
-{-# NOINLINE gl_KHR_debug #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/no_error.txt KHR_no_error> extension supported?
-glGetKHRNoError :: MonadIO m => m Bool
-glGetKHRNoError = getExtensions >>= (return . member "GL_KHR_no_error")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/no_error.txt KHR_no_error> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRNoError' in those cases instead.
-gl_KHR_no_error :: Bool
-gl_KHR_no_error = member "GL_KHR_no_error" extensions
-{-# NOINLINE gl_KHR_no_error #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/robustness.txt KHR_robustness> extension supported?
-glGetKHRRobustness :: MonadIO m => m Bool
-glGetKHRRobustness = getExtensions >>= (return . member "GL_KHR_robustness")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/robustness.txt KHR_robustness> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRRobustness' in those cases instead.
-gl_KHR_robustness :: Bool
-gl_KHR_robustness = member "GL_KHR_robustness" extensions
-{-# NOINLINE gl_KHR_robustness #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_hdr> extension supported?
-glGetKHRTextureCompressionASTCHDR :: MonadIO m => m Bool
-glGetKHRTextureCompressionASTCHDR = getExtensions >>= (return . member "GL_KHR_texture_compression_astc_hdr")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_hdr> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRTextureCompressionASTCHDR' in those cases instead.
-gl_KHR_texture_compression_astc_hdr :: Bool
-gl_KHR_texture_compression_astc_hdr = member "GL_KHR_texture_compression_astc_hdr" extensions
-{-# NOINLINE gl_KHR_texture_compression_astc_hdr #-}
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_ldr> extension supported?
-glGetKHRTextureCompressionASTCLDR :: MonadIO m => m Bool
-glGetKHRTextureCompressionASTCLDR = getExtensions >>= (return . member "GL_KHR_texture_compression_astc_ldr")
-
--- | Is the <https://www.opengl.org/registry/specs/KHR/texture_compression_astc_hdr.txt KHR_texture_compression_astc_ldr> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetKHRTextureCompressionASTCLDR' in those cases instead.
-gl_KHR_texture_compression_astc_ldr :: Bool
-gl_KHR_texture_compression_astc_ldr = member "GL_KHR_texture_compression_astc_ldr" extensions
-{-# NOINLINE gl_KHR_texture_compression_astc_ldr #-}
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/pack_invert.txt MESA_pack_invert> extension supported?
-glGetMESAPackInvert :: MonadIO m => m Bool
-glGetMESAPackInvert = getExtensions >>= (return . member "GL_MESA_pack_invert")
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/pack_invert.txt MESA_pack_invert> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetMESAPackInvert' in those cases instead.
-gl_MESA_pack_invert :: Bool
-gl_MESA_pack_invert = member "GL_MESA_pack_invert" extensions
-{-# NOINLINE gl_MESA_pack_invert #-}
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/resize_buffers.txt MESA_resize_buffers> extension supported?
-glGetMESAResizeBuffers :: MonadIO m => m Bool
-glGetMESAResizeBuffers = getExtensions >>= (return . member "GL_MESA_resize_buffers")
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/resize_buffers.txt MESA_resize_buffers> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetMESAResizeBuffers' in those cases instead.
-gl_MESA_resize_buffers :: Bool
-gl_MESA_resize_buffers = member "GL_MESA_resize_buffers" extensions
-{-# NOINLINE gl_MESA_resize_buffers #-}
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/window_pos.txt MESA_window_pos> extension supported?
-glGetMESAWindowPos :: MonadIO m => m Bool
-glGetMESAWindowPos = getExtensions >>= (return . member "GL_MESA_window_pos")
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/window_pos.txt MESA_window_pos> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetMESAWindowPos' in those cases instead.
-gl_MESA_window_pos :: Bool
-gl_MESA_window_pos = member "GL_MESA_window_pos" extensions
-{-# NOINLINE gl_MESA_window_pos #-}
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/ycbcr_texture.txt MESA_ycbcr_texture> extension supported?
-glGetMESAYCbCrTexture :: MonadIO m => m Bool
-glGetMESAYCbCrTexture = getExtensions >>= (return . member "GL_MESA_ycbcr_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/MESA/ycbcr_texture.txt MESA_ycbcr_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetMESAYCbCrTexture' in those cases instead.
-gl_MESA_ycbcr_texture :: Bool
-gl_MESA_ycbcr_texture = member "GL_MESA_ycbcr_texture" extensions
-{-# NOINLINE gl_MESA_ycbcr_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/MESAX/texture_stack.txt MESAX_texture_stack> extension supported?
-glGetMESAXTextureStack :: MonadIO m => m Bool
-glGetMESAXTextureStack = getExtensions >>= (return . member "GL_MESAX_texture_stack")
-
--- | Is the <https://www.opengl.org/registry/specs/MESAX/texture_stack.txt MESAX_texture_stack> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetMESAXTextureStack' in those cases instead.
-gl_MESAX_texture_stack :: Bool
-gl_MESAX_texture_stack = member "GL_MESAX_texture_stack" extensions
-{-# NOINLINE gl_MESAX_texture_stack #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect.txt NV_bindless_multi_draw_indirect> extension supported?
-glGetNVBindlessMultiDrawIndirect :: MonadIO m => m Bool
-glGetNVBindlessMultiDrawIndirect = getExtensions >>= (return . member "GL_NV_bindless_multi_draw_indirect")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect.txt NV_bindless_multi_draw_indirect> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVBindlessMultiDrawIndirect' in those cases instead.
-gl_NV_bindless_multi_draw_indirect :: Bool
-gl_NV_bindless_multi_draw_indirect = member "GL_NV_bindless_multi_draw_indirect" extensions
-{-# NOINLINE gl_NV_bindless_multi_draw_indirect #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect_count.txt NV_bindless_multi_draw_indirect_count> extension supported?
-glGetNVBindlessMultiDrawIndirectCount :: MonadIO m => m Bool
-glGetNVBindlessMultiDrawIndirectCount = getExtensions >>= (return . member "GL_NV_bindless_multi_draw_indirect_count")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/bindless_multi_draw_indirect_count.txt NV_bindless_multi_draw_indirect_count> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVBindlessMultiDrawIndirectCount' in those cases instead.
-gl_NV_bindless_multi_draw_indirect_count :: Bool
-gl_NV_bindless_multi_draw_indirect_count = member "GL_NV_bindless_multi_draw_indirect_count" extensions
-{-# NOINLINE gl_NV_bindless_multi_draw_indirect_count #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/bindless_texture.txt NV_bindless_texture> extension supported?
-glGetNVBindlessTexture :: MonadIO m => m Bool
-glGetNVBindlessTexture = getExtensions >>= (return . member "GL_NV_bindless_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/bindless_texture.txt NV_bindless_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVBindlessTexture' in those cases instead.
-gl_NV_bindless_texture :: Bool
-gl_NV_bindless_texture = member "GL_NV_bindless_texture" extensions
-{-# NOINLINE gl_NV_bindless_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced> extension supported?
-glGetNVBlendEquationAdvanced :: MonadIO m => m Bool
-glGetNVBlendEquationAdvanced = getExtensions >>= (return . member "GL_NV_blend_equation_advanced")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVBlendEquationAdvanced' in those cases instead.
-gl_NV_blend_equation_advanced :: Bool
-gl_NV_blend_equation_advanced = member "GL_NV_blend_equation_advanced" extensions
-{-# NOINLINE gl_NV_blend_equation_advanced #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced_coherent> extension supported?
-glGetNVBlendEquationAdvancedCoherent :: MonadIO m => m Bool
-glGetNVBlendEquationAdvancedCoherent = getExtensions >>= (return . member "GL_NV_blend_equation_advanced_coherent")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/blend_equation_advanced.txt NV_blend_equation_advanced_coherent> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVBlendEquationAdvancedCoherent' in those cases instead.
-gl_NV_blend_equation_advanced_coherent :: Bool
-gl_NV_blend_equation_advanced_coherent = member "GL_NV_blend_equation_advanced_coherent" extensions
-{-# NOINLINE gl_NV_blend_equation_advanced_coherent #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/command_list.txt NV_command_list> extension supported?
-glGetNVCommandList :: MonadIO m => m Bool
-glGetNVCommandList = getExtensions >>= (return . member "GL_NV_command_list")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/command_list.txt NV_command_list> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVCommandList' in those cases instead.
-gl_NV_command_list :: Bool
-gl_NV_command_list = member "GL_NV_command_list" extensions
-{-# NOINLINE gl_NV_command_list #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/compute_program5.txt NV_compute_program5> extension supported?
-glGetNVComputeProgram5 :: MonadIO m => m Bool
-glGetNVComputeProgram5 = getExtensions >>= (return . member "GL_NV_compute_program5")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/compute_program5.txt NV_compute_program5> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVComputeProgram5' in those cases instead.
-gl_NV_compute_program5 :: Bool
-gl_NV_compute_program5 = member "GL_NV_compute_program5" extensions
-{-# NOINLINE gl_NV_compute_program5 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/conditional_render.txt NV_conditional_render> extension supported?
-glGetNVConditionalRender :: MonadIO m => m Bool
-glGetNVConditionalRender = getExtensions >>= (return . member "GL_NV_conditional_render")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/conditional_render.txt NV_conditional_render> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVConditionalRender' in those cases instead.
-gl_NV_conditional_render :: Bool
-gl_NV_conditional_render = member "GL_NV_conditional_render" extensions
-{-# NOINLINE gl_NV_conditional_render #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster.txt NV_conservative_raster> extension supported?
-glGetNVConservativeRaster :: MonadIO m => m Bool
-glGetNVConservativeRaster = getExtensions >>= (return . member "GL_NV_conservative_raster")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster.txt NV_conservative_raster> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVConservativeRaster' in those cases instead.
-gl_NV_conservative_raster :: Bool
-gl_NV_conservative_raster = member "GL_NV_conservative_raster" extensions
-{-# NOINLINE gl_NV_conservative_raster #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster_dilate.txt NV_conservative_raster_dilate> extension supported?
-glGetNVConservativeRasterDilate :: MonadIO m => m Bool
-glGetNVConservativeRasterDilate = getExtensions >>= (return . member "GL_NV_conservative_raster_dilate")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/conservative_raster_dilate.txt NV_conservative_raster_dilate> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVConservativeRasterDilate' in those cases instead.
-gl_NV_conservative_raster_dilate :: Bool
-gl_NV_conservative_raster_dilate = member "GL_NV_conservative_raster_dilate" extensions
-{-# NOINLINE gl_NV_conservative_raster_dilate #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt NV_copy_depth_to_color> extension supported?
-glGetNVCopyDepthToColor :: MonadIO m => m Bool
-glGetNVCopyDepthToColor = getExtensions >>= (return . member "GL_NV_copy_depth_to_color")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/copy_depth_to_color.txt NV_copy_depth_to_color> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVCopyDepthToColor' in those cases instead.
-gl_NV_copy_depth_to_color :: Bool
-gl_NV_copy_depth_to_color = member "GL_NV_copy_depth_to_color" extensions
-{-# NOINLINE gl_NV_copy_depth_to_color #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/copy_image.txt NV_copy_image> extension supported?
-glGetNVCopyImage :: MonadIO m => m Bool
-glGetNVCopyImage = getExtensions >>= (return . member "GL_NV_copy_image")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/copy_image.txt NV_copy_image> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVCopyImage' in those cases instead.
-gl_NV_copy_image :: Bool
-gl_NV_copy_image = member "GL_NV_copy_image" extensions
-{-# NOINLINE gl_NV_copy_image #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/deep_texture3D.txt NV_deep_texture3D> extension supported?
-glGetNVDeepTexture3D :: MonadIO m => m Bool
-glGetNVDeepTexture3D = getExtensions >>= (return . member "GL_NV_deep_texture3D")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/deep_texture3D.txt NV_deep_texture3D> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVDeepTexture3D' in those cases instead.
-gl_NV_deep_texture3D :: Bool
-gl_NV_deep_texture3D = member "GL_NV_deep_texture3D" extensions
-{-# NOINLINE gl_NV_deep_texture3D #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/depth_buffer_float.txt NV_depth_buffer_float> extension supported?
-glGetNVDepthBufferFloat :: MonadIO m => m Bool
-glGetNVDepthBufferFloat = getExtensions >>= (return . member "GL_NV_depth_buffer_float")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/depth_buffer_float.txt NV_depth_buffer_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVDepthBufferFloat' in those cases instead.
-gl_NV_depth_buffer_float :: Bool
-gl_NV_depth_buffer_float = member "GL_NV_depth_buffer_float" extensions
-{-# NOINLINE gl_NV_depth_buffer_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/depth_clamp.txt NV_depth_clamp> extension supported?
-glGetNVDepthClamp :: MonadIO m => m Bool
-glGetNVDepthClamp = getExtensions >>= (return . member "GL_NV_depth_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/depth_clamp.txt NV_depth_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVDepthClamp' in those cases instead.
-gl_NV_depth_clamp :: Bool
-gl_NV_depth_clamp = member "GL_NV_depth_clamp" extensions
-{-# NOINLINE gl_NV_depth_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/draw_texture.txt NV_draw_texture> extension supported?
-glGetNVDrawTexture :: MonadIO m => m Bool
-glGetNVDrawTexture = getExtensions >>= (return . member "GL_NV_draw_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/draw_texture.txt NV_draw_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVDrawTexture' in those cases instead.
-gl_NV_draw_texture :: Bool
-gl_NV_draw_texture = member "GL_NV_draw_texture" extensions
-{-# NOINLINE gl_NV_draw_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/evaluators.txt NV_evaluators> extension supported?
-glGetNVEvaluators :: MonadIO m => m Bool
-glGetNVEvaluators = getExtensions >>= (return . member "GL_NV_evaluators")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/evaluators.txt NV_evaluators> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVEvaluators' in those cases instead.
-gl_NV_evaluators :: Bool
-gl_NV_evaluators = member "GL_NV_evaluators" extensions
-{-# NOINLINE gl_NV_evaluators #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/explicit_multisample.txt NV_explicit_multisample> extension supported?
-glGetNVExplicitMultisample :: MonadIO m => m Bool
-glGetNVExplicitMultisample = getExtensions >>= (return . member "GL_NV_explicit_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/explicit_multisample.txt NV_explicit_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVExplicitMultisample' in those cases instead.
-gl_NV_explicit_multisample :: Bool
-gl_NV_explicit_multisample = member "GL_NV_explicit_multisample" extensions
-{-# NOINLINE gl_NV_explicit_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fence.txt NV_fence> extension supported?
-glGetNVFence :: MonadIO m => m Bool
-glGetNVFence = getExtensions >>= (return . member "GL_NV_fence")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fence.txt NV_fence> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFence' in those cases instead.
-gl_NV_fence :: Bool
-gl_NV_fence = member "GL_NV_fence" extensions
-{-# NOINLINE gl_NV_fence #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fill_rectangle.txt NV_fill_rectangle> extension supported?
-glGetNVFillRectangle :: MonadIO m => m Bool
-glGetNVFillRectangle = getExtensions >>= (return . member "GL_NV_fill_rectangle")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fill_rectangle.txt NV_fill_rectangle> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFillRectangle' in those cases instead.
-gl_NV_fill_rectangle :: Bool
-gl_NV_fill_rectangle = member "GL_NV_fill_rectangle" extensions
-{-# NOINLINE gl_NV_fill_rectangle #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/float_buffer.txt NV_float_buffer> extension supported?
-glGetNVFloatBuffer :: MonadIO m => m Bool
-glGetNVFloatBuffer = getExtensions >>= (return . member "GL_NV_float_buffer")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/float_buffer.txt NV_float_buffer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFloatBuffer' in those cases instead.
-gl_NV_float_buffer :: Bool
-gl_NV_float_buffer = member "GL_NV_float_buffer" extensions
-{-# NOINLINE gl_NV_float_buffer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fog_distance.txt NV_fog_distance> extension supported?
-glGetNVFogDistance :: MonadIO m => m Bool
-glGetNVFogDistance = getExtensions >>= (return . member "GL_NV_fog_distance")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fog_distance.txt NV_fog_distance> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFogDistance' in those cases instead.
-gl_NV_fog_distance :: Bool
-gl_NV_fog_distance = member "GL_NV_fog_distance" extensions
-{-# NOINLINE gl_NV_fog_distance #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fragment_coverage_to_color.txt NV_fragment_coverage_to_color> extension supported?
-glGetNVFragmentCoverageToColor :: MonadIO m => m Bool
-glGetNVFragmentCoverageToColor = getExtensions >>= (return . member "GL_NV_fragment_coverage_to_color")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fragment_coverage_to_color.txt NV_fragment_coverage_to_color> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFragmentCoverageToColor' in those cases instead.
-gl_NV_fragment_coverage_to_color :: Bool
-gl_NV_fragment_coverage_to_color = member "GL_NV_fragment_coverage_to_color" extensions
-{-# NOINLINE gl_NV_fragment_coverage_to_color #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program.txt NV_fragment_program> extension supported?
-glGetNVFragmentProgram :: MonadIO m => m Bool
-glGetNVFragmentProgram = getExtensions >>= (return . member "GL_NV_fragment_program")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program.txt NV_fragment_program> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFragmentProgram' in those cases instead.
-gl_NV_fragment_program :: Bool
-gl_NV_fragment_program = member "GL_NV_fragment_program" extensions
-{-# NOINLINE gl_NV_fragment_program #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program2.txt NV_fragment_program2> extension supported?
-glGetNVFragmentProgram2 :: MonadIO m => m Bool
-glGetNVFragmentProgram2 = getExtensions >>= (return . member "GL_NV_fragment_program2")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/fragment_program2.txt NV_fragment_program2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFragmentProgram2' in those cases instead.
-gl_NV_fragment_program2 :: Bool
-gl_NV_fragment_program2 = member "GL_NV_fragment_program2" extensions
-{-# NOINLINE gl_NV_fragment_program2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_mixed_samples.txt NV_framebuffer_mixed_samples> extension supported?
-glGetNVFramebufferMixedSamples :: MonadIO m => m Bool
-glGetNVFramebufferMixedSamples = getExtensions >>= (return . member "GL_NV_framebuffer_mixed_samples")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_mixed_samples.txt NV_framebuffer_mixed_samples> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFramebufferMixedSamples' in those cases instead.
-gl_NV_framebuffer_mixed_samples :: Bool
-gl_NV_framebuffer_mixed_samples = member "GL_NV_framebuffer_mixed_samples" extensions
-{-# NOINLINE gl_NV_framebuffer_mixed_samples #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt NV_framebuffer_multisample_coverage> extension supported?
-glGetNVFramebufferMultisampleCoverage :: MonadIO m => m Bool
-glGetNVFramebufferMultisampleCoverage = getExtensions >>= (return . member "GL_NV_framebuffer_multisample_coverage")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/framebuffer_multisample_coverage.txt NV_framebuffer_multisample_coverage> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVFramebufferMultisampleCoverage' in those cases instead.
-gl_NV_framebuffer_multisample_coverage :: Bool
-gl_NV_framebuffer_multisample_coverage = member "GL_NV_framebuffer_multisample_coverage" extensions
-{-# NOINLINE gl_NV_framebuffer_multisample_coverage #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/geometry_program4.txt NV_geometry_program4> extension supported?
-glGetNVGeometryProgram4 :: MonadIO m => m Bool
-glGetNVGeometryProgram4 = getExtensions >>= (return . member "GL_NV_geometry_program4")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/geometry_program4.txt NV_geometry_program4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVGeometryProgram4' in those cases instead.
-gl_NV_geometry_program4 :: Bool
-gl_NV_geometry_program4 = member "GL_NV_geometry_program4" extensions
-{-# NOINLINE gl_NV_geometry_program4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program4.txt NV_gpu_program4> extension supported?
-glGetNVGPUProgram4 :: MonadIO m => m Bool
-glGetNVGPUProgram4 = getExtensions >>= (return . member "GL_NV_gpu_program4")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program4.txt NV_gpu_program4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVGPUProgram4' in those cases instead.
-gl_NV_gpu_program4 :: Bool
-gl_NV_gpu_program4 = member "GL_NV_gpu_program4" extensions
-{-# NOINLINE gl_NV_gpu_program4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program5.txt NV_gpu_program5> extension supported?
-glGetNVGPUProgram5 :: MonadIO m => m Bool
-glGetNVGPUProgram5 = getExtensions >>= (return . member "GL_NV_gpu_program5")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/gpu_program5.txt NV_gpu_program5> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVGPUProgram5' in those cases instead.
-gl_NV_gpu_program5 :: Bool
-gl_NV_gpu_program5 = member "GL_NV_gpu_program5" extensions
-{-# NOINLINE gl_NV_gpu_program5 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/gpu_shader5.txt NV_gpu_shader5> extension supported?
-glGetNVGPUShader5 :: MonadIO m => m Bool
-glGetNVGPUShader5 = getExtensions >>= (return . member "GL_NV_gpu_shader5")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/gpu_shader5.txt NV_gpu_shader5> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVGPUShader5' in those cases instead.
-gl_NV_gpu_shader5 :: Bool
-gl_NV_gpu_shader5 = member "GL_NV_gpu_shader5" extensions
-{-# NOINLINE gl_NV_gpu_shader5 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/half_float.txt NV_half_float> extension supported?
-glGetNVHalfFloat :: MonadIO m => m Bool
-glGetNVHalfFloat = getExtensions >>= (return . member "GL_NV_half_float")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/half_float.txt NV_half_float> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVHalfFloat' in those cases instead.
-gl_NV_half_float :: Bool
-gl_NV_half_float = member "GL_NV_half_float" extensions
-{-# NOINLINE gl_NV_half_float #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/internalformat_sample_query.txt NV_internalformat_sample_query> extension supported?
-glGetNVInternalformatSampleQuery :: MonadIO m => m Bool
-glGetNVInternalformatSampleQuery = getExtensions >>= (return . member "GL_NV_internalformat_sample_query")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/internalformat_sample_query.txt NV_internalformat_sample_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVInternalformatSampleQuery' in those cases instead.
-gl_NV_internalformat_sample_query :: Bool
-gl_NV_internalformat_sample_query = member "GL_NV_internalformat_sample_query" extensions
-{-# NOINLINE gl_NV_internalformat_sample_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/light_max_exponent.txt NV_light_max_exponent> extension supported?
-glGetNVLightMaxExponent :: MonadIO m => m Bool
-glGetNVLightMaxExponent = getExtensions >>= (return . member "GL_NV_light_max_exponent")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/light_max_exponent.txt NV_light_max_exponent> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVLightMaxExponent' in those cases instead.
-gl_NV_light_max_exponent :: Bool
-gl_NV_light_max_exponent = member "GL_NV_light_max_exponent" extensions
-{-# NOINLINE gl_NV_light_max_exponent #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/multisample_coverage.txt NV_multisample_coverage> extension supported?
-glGetNVMultisampleCoverage :: MonadIO m => m Bool
-glGetNVMultisampleCoverage = getExtensions >>= (return . member "GL_NV_multisample_coverage")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/multisample_coverage.txt NV_multisample_coverage> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVMultisampleCoverage' in those cases instead.
-gl_NV_multisample_coverage :: Bool
-gl_NV_multisample_coverage = member "GL_NV_multisample_coverage" extensions
-{-# NOINLINE gl_NV_multisample_coverage #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt NV_multisample_filter_hint> extension supported?
-glGetNVMultisampleFilterHint :: MonadIO m => m Bool
-glGetNVMultisampleFilterHint = getExtensions >>= (return . member "GL_NV_multisample_filter_hint")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/multisample_filter_hint.txt NV_multisample_filter_hint> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVMultisampleFilterHint' in those cases instead.
-gl_NV_multisample_filter_hint :: Bool
-gl_NV_multisample_filter_hint = member "GL_NV_multisample_filter_hint" extensions
-{-# NOINLINE gl_NV_multisample_filter_hint #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/occlusion_query.txt NV_occlusion_query> extension supported?
-glGetNVOcclusionQuery :: MonadIO m => m Bool
-glGetNVOcclusionQuery = getExtensions >>= (return . member "GL_NV_occlusion_query")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/occlusion_query.txt NV_occlusion_query> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVOcclusionQuery' in those cases instead.
-gl_NV_occlusion_query :: Bool
-gl_NV_occlusion_query = member "GL_NV_occlusion_query" extensions
-{-# NOINLINE gl_NV_occlusion_query #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt NV_packed_depth_stencil> extension supported?
-glGetNVPackedDepthStencil :: MonadIO m => m Bool
-glGetNVPackedDepthStencil = getExtensions >>= (return . member "GL_NV_packed_depth_stencil")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/packed_depth_stencil.txt NV_packed_depth_stencil> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVPackedDepthStencil' in those cases instead.
-gl_NV_packed_depth_stencil :: Bool
-gl_NV_packed_depth_stencil = member "GL_NV_packed_depth_stencil" extensions
-{-# NOINLINE gl_NV_packed_depth_stencil #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt NV_parameter_buffer_object> extension supported?
-glGetNVParameterBufferObject :: MonadIO m => m Bool
-glGetNVParameterBufferObject = getExtensions >>= (return . member "GL_NV_parameter_buffer_object")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/parameter_buffer_object.txt NV_parameter_buffer_object> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVParameterBufferObject' in those cases instead.
-gl_NV_parameter_buffer_object :: Bool
-gl_NV_parameter_buffer_object = member "GL_NV_parameter_buffer_object" extensions
-{-# NOINLINE gl_NV_parameter_buffer_object #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering.txt NV_path_rendering> extension supported?
-glGetNVPathRendering :: MonadIO m => m Bool
-glGetNVPathRendering = getExtensions >>= (return . member "GL_NV_path_rendering")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering.txt NV_path_rendering> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVPathRendering' in those cases instead.
-gl_NV_path_rendering :: Bool
-gl_NV_path_rendering = member "GL_NV_path_rendering" extensions
-{-# NOINLINE gl_NV_path_rendering #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering_shared_edge.txt NV_path_rendering_shared_edge> extension supported?
-glGetNVPathRenderingSharedEdge :: MonadIO m => m Bool
-glGetNVPathRenderingSharedEdge = getExtensions >>= (return . member "GL_NV_path_rendering_shared_edge")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/path_rendering_shared_edge.txt NV_path_rendering_shared_edge> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVPathRenderingSharedEdge' in those cases instead.
-gl_NV_path_rendering_shared_edge :: Bool
-gl_NV_path_rendering_shared_edge = member "GL_NV_path_rendering_shared_edge" extensions
-{-# NOINLINE gl_NV_path_rendering_shared_edge #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/pixel_data_range.txt NV_pixel_data_range> extension supported?
-glGetNVPixelDataRange :: MonadIO m => m Bool
-glGetNVPixelDataRange = getExtensions >>= (return . member "GL_NV_pixel_data_range")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/pixel_data_range.txt NV_pixel_data_range> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVPixelDataRange' in those cases instead.
-gl_NV_pixel_data_range :: Bool
-gl_NV_pixel_data_range = member "GL_NV_pixel_data_range" extensions
-{-# NOINLINE gl_NV_pixel_data_range #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/point_sprite.txt NV_point_sprite> extension supported?
-glGetNVPointSprite :: MonadIO m => m Bool
-glGetNVPointSprite = getExtensions >>= (return . member "GL_NV_point_sprite")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/point_sprite.txt NV_point_sprite> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVPointSprite' in those cases instead.
-gl_NV_point_sprite :: Bool
-gl_NV_point_sprite = member "GL_NV_point_sprite" extensions
-{-# NOINLINE gl_NV_point_sprite #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/present_video.txt NV_present_video> extension supported?
-glGetNVPresentVideo :: MonadIO m => m Bool
-glGetNVPresentVideo = getExtensions >>= (return . member "GL_NV_present_video")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/present_video.txt NV_present_video> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVPresentVideo' in those cases instead.
-gl_NV_present_video :: Bool
-gl_NV_present_video = member "GL_NV_present_video" extensions
-{-# NOINLINE gl_NV_present_video #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/primitive_restart.txt NV_primitive_restart> extension supported?
-glGetNVPrimitiveRestart :: MonadIO m => m Bool
-glGetNVPrimitiveRestart = getExtensions >>= (return . member "GL_NV_primitive_restart")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/primitive_restart.txt NV_primitive_restart> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVPrimitiveRestart' in those cases instead.
-gl_NV_primitive_restart :: Bool
-gl_NV_primitive_restart = member "GL_NV_primitive_restart" extensions
-{-# NOINLINE gl_NV_primitive_restart #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners.txt NV_register_combiners> extension supported?
-glGetNVRegisterCombiners :: MonadIO m => m Bool
-glGetNVRegisterCombiners = getExtensions >>= (return . member "GL_NV_register_combiners")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners.txt NV_register_combiners> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVRegisterCombiners' in those cases instead.
-gl_NV_register_combiners :: Bool
-gl_NV_register_combiners = member "GL_NV_register_combiners" extensions
-{-# NOINLINE gl_NV_register_combiners #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners2.txt NV_register_combiners2> extension supported?
-glGetNVRegisterCombiners2 :: MonadIO m => m Bool
-glGetNVRegisterCombiners2 = getExtensions >>= (return . member "GL_NV_register_combiners2")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/register_combiners2.txt NV_register_combiners2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVRegisterCombiners2' in those cases instead.
-gl_NV_register_combiners2 :: Bool
-gl_NV_register_combiners2 = member "GL_NV_register_combiners2" extensions
-{-# NOINLINE gl_NV_register_combiners2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/sample_locations.txt NV_sample_locations> extension supported?
-glGetNVSampleLocations :: MonadIO m => m Bool
-glGetNVSampleLocations = getExtensions >>= (return . member "GL_NV_sample_locations")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/sample_locations.txt NV_sample_locations> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVSampleLocations' in those cases instead.
-gl_NV_sample_locations :: Bool
-gl_NV_sample_locations = member "GL_NV_sample_locations" extensions
-{-# NOINLINE gl_NV_sample_locations #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt NV_shader_buffer_load> extension supported?
-glGetNVShaderBufferLoad :: MonadIO m => m Bool
-glGetNVShaderBufferLoad = getExtensions >>= (return . member "GL_NV_shader_buffer_load")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_load.txt NV_shader_buffer_load> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVShaderBufferLoad' in those cases instead.
-gl_NV_shader_buffer_load :: Bool
-gl_NV_shader_buffer_load = member "GL_NV_shader_buffer_load" extensions
-{-# NOINLINE gl_NV_shader_buffer_load #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_store.txt NV_shader_buffer_store> extension supported?
-glGetNVShaderBufferStore :: MonadIO m => m Bool
-glGetNVShaderBufferStore = getExtensions >>= (return . member "GL_NV_shader_buffer_store")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/shader_buffer_store.txt NV_shader_buffer_store> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVShaderBufferStore' in those cases instead.
-gl_NV_shader_buffer_store :: Bool
-gl_NV_shader_buffer_store = member "GL_NV_shader_buffer_store" extensions
-{-# NOINLINE gl_NV_shader_buffer_store #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/shader_thread_group.txt NV_shader_thread_group> extension supported?
-glGetNVShaderThreadGroup :: MonadIO m => m Bool
-glGetNVShaderThreadGroup = getExtensions >>= (return . member "GL_NV_shader_thread_group")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/shader_thread_group.txt NV_shader_thread_group> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVShaderThreadGroup' in those cases instead.
-gl_NV_shader_thread_group :: Bool
-gl_NV_shader_thread_group = member "GL_NV_shader_thread_group" extensions
-{-# NOINLINE gl_NV_shader_thread_group #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/tessellation_program5.txt NV_tessellation_program5> extension supported?
-glGetNVTessellationProgram5 :: MonadIO m => m Bool
-glGetNVTessellationProgram5 = getExtensions >>= (return . member "GL_NV_tessellation_program5")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/tessellation_program5.txt NV_tessellation_program5> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTessellationProgram5' in those cases instead.
-gl_NV_tessellation_program5 :: Bool
-gl_NV_tessellation_program5 = member "GL_NV_tessellation_program5" extensions
-{-# NOINLINE gl_NV_tessellation_program5 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texgen_emboss.txt NV_texgen_emboss> extension supported?
-glGetNVTexgenEmboss :: MonadIO m => m Bool
-glGetNVTexgenEmboss = getExtensions >>= (return . member "GL_NV_texgen_emboss")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texgen_emboss.txt NV_texgen_emboss> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTexgenEmboss' in those cases instead.
-gl_NV_texgen_emboss :: Bool
-gl_NV_texgen_emboss = member "GL_NV_texgen_emboss" extensions
-{-# NOINLINE gl_NV_texgen_emboss #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texgen_reflection.txt NV_texgen_reflection> extension supported?
-glGetNVTexgenReflection :: MonadIO m => m Bool
-glGetNVTexgenReflection = getExtensions >>= (return . member "GL_NV_texgen_reflection")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texgen_reflection.txt NV_texgen_reflection> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTexgenReflection' in those cases instead.
-gl_NV_texgen_reflection :: Bool
-gl_NV_texgen_reflection = member "GL_NV_texgen_reflection" extensions
-{-# NOINLINE gl_NV_texgen_reflection #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_barrier.txt NV_texture_barrier> extension supported?
-glGetNVTextureBarrier :: MonadIO m => m Bool
-glGetNVTextureBarrier = getExtensions >>= (return . member "GL_NV_texture_barrier")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_barrier.txt NV_texture_barrier> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureBarrier' in those cases instead.
-gl_NV_texture_barrier :: Bool
-gl_NV_texture_barrier = member "GL_NV_texture_barrier" extensions
-{-# NOINLINE gl_NV_texture_barrier #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_env_combine4.txt NV_texture_env_combine4> extension supported?
-glGetNVTextureEnvCombine4 :: MonadIO m => m Bool
-glGetNVTextureEnvCombine4 = getExtensions >>= (return . member "GL_NV_texture_env_combine4")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_env_combine4.txt NV_texture_env_combine4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureEnvCombine4' in those cases instead.
-gl_NV_texture_env_combine4 :: Bool
-gl_NV_texture_env_combine4 = member "GL_NV_texture_env_combine4" extensions
-{-# NOINLINE gl_NV_texture_env_combine4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_expand_normal.txt NV_texture_expand_normal> extension supported?
-glGetNVTextureExpandNormal :: MonadIO m => m Bool
-glGetNVTextureExpandNormal = getExtensions >>= (return . member "GL_NV_texture_expand_normal")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_expand_normal.txt NV_texture_expand_normal> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureExpandNormal' in those cases instead.
-gl_NV_texture_expand_normal :: Bool
-gl_NV_texture_expand_normal = member "GL_NV_texture_expand_normal" extensions
-{-# NOINLINE gl_NV_texture_expand_normal #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_multisample.txt NV_texture_multisample> extension supported?
-glGetNVTextureMultisample :: MonadIO m => m Bool
-glGetNVTextureMultisample = getExtensions >>= (return . member "GL_NV_texture_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_multisample.txt NV_texture_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureMultisample' in those cases instead.
-gl_NV_texture_multisample :: Bool
-gl_NV_texture_multisample = member "GL_NV_texture_multisample" extensions
-{-# NOINLINE gl_NV_texture_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_rectangle.txt NV_texture_rectangle> extension supported?
-glGetNVTextureRectangle :: MonadIO m => m Bool
-glGetNVTextureRectangle = getExtensions >>= (return . member "GL_NV_texture_rectangle")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_rectangle.txt NV_texture_rectangle> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureRectangle' in those cases instead.
-gl_NV_texture_rectangle :: Bool
-gl_NV_texture_rectangle = member "GL_NV_texture_rectangle" extensions
-{-# NOINLINE gl_NV_texture_rectangle #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader.txt NV_texture_shader> extension supported?
-glGetNVTextureShader :: MonadIO m => m Bool
-glGetNVTextureShader = getExtensions >>= (return . member "GL_NV_texture_shader")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader.txt NV_texture_shader> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureShader' in those cases instead.
-gl_NV_texture_shader :: Bool
-gl_NV_texture_shader = member "GL_NV_texture_shader" extensions
-{-# NOINLINE gl_NV_texture_shader #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader2.txt NV_texture_shader2> extension supported?
-glGetNVTextureShader2 :: MonadIO m => m Bool
-glGetNVTextureShader2 = getExtensions >>= (return . member "GL_NV_texture_shader2")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader2.txt NV_texture_shader2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureShader2' in those cases instead.
-gl_NV_texture_shader2 :: Bool
-gl_NV_texture_shader2 = member "GL_NV_texture_shader2" extensions
-{-# NOINLINE gl_NV_texture_shader2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader3.txt NV_texture_shader3> extension supported?
-glGetNVTextureShader3 :: MonadIO m => m Bool
-glGetNVTextureShader3 = getExtensions >>= (return . member "GL_NV_texture_shader3")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/texture_shader3.txt NV_texture_shader3> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTextureShader3' in those cases instead.
-gl_NV_texture_shader3 :: Bool
-gl_NV_texture_shader3 = member "GL_NV_texture_shader3" extensions
-{-# NOINLINE gl_NV_texture_shader3 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback.txt NV_transform_feedback> extension supported?
-glGetNVTransformFeedback :: MonadIO m => m Bool
-glGetNVTransformFeedback = getExtensions >>= (return . member "GL_NV_transform_feedback")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback.txt NV_transform_feedback> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTransformFeedback' in those cases instead.
-gl_NV_transform_feedback :: Bool
-gl_NV_transform_feedback = member "GL_NV_transform_feedback" extensions
-{-# NOINLINE gl_NV_transform_feedback #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback2.txt NV_transform_feedback2> extension supported?
-glGetNVTransformFeedback2 :: MonadIO m => m Bool
-glGetNVTransformFeedback2 = getExtensions >>= (return . member "GL_NV_transform_feedback2")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/transform_feedback2.txt NV_transform_feedback2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVTransformFeedback2' in those cases instead.
-gl_NV_transform_feedback2 :: Bool
-gl_NV_transform_feedback2 = member "GL_NV_transform_feedback2" extensions
-{-# NOINLINE gl_NV_transform_feedback2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/uniform_buffer_unified_memory.txt NV_uniform_buffer_unified_memory> extension supported?
-glGetNVUniformBufferUnifiedMemory :: MonadIO m => m Bool
-glGetNVUniformBufferUnifiedMemory = getExtensions >>= (return . member "GL_NV_uniform_buffer_unified_memory")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/uniform_buffer_unified_memory.txt NV_uniform_buffer_unified_memory> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVUniformBufferUnifiedMemory' in those cases instead.
-gl_NV_uniform_buffer_unified_memory :: Bool
-gl_NV_uniform_buffer_unified_memory = member "GL_NV_uniform_buffer_unified_memory" extensions
-{-# NOINLINE gl_NV_uniform_buffer_unified_memory #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vdpau_interop.txt NV_vdpau_interop> extension supported?
-glGetNVVDPAUInterop :: MonadIO m => m Bool
-glGetNVVDPAUInterop = getExtensions >>= (return . member "GL_NV_vdpau_interop")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vdpau_interop.txt NV_vdpau_interop> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVDPAUInterop' in those cases instead.
-gl_NV_vdpau_interop :: Bool
-gl_NV_vdpau_interop = member "GL_NV_vdpau_interop" extensions
-{-# NOINLINE gl_NV_vdpau_interop #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range.txt NV_vertex_array_range> extension supported?
-glGetNVVertexArrayRange :: MonadIO m => m Bool
-glGetNVVertexArrayRange = getExtensions >>= (return . member "GL_NV_vertex_array_range")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range.txt NV_vertex_array_range> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexArrayRange' in those cases instead.
-gl_NV_vertex_array_range :: Bool
-gl_NV_vertex_array_range = member "GL_NV_vertex_array_range" extensions
-{-# NOINLINE gl_NV_vertex_array_range #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range2.txt NV_vertex_array_range2> extension supported?
-glGetNVVertexArrayRange2 :: MonadIO m => m Bool
-glGetNVVertexArrayRange2 = getExtensions >>= (return . member "GL_NV_vertex_array_range2")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_array_range2.txt NV_vertex_array_range2> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexArrayRange2' in those cases instead.
-gl_NV_vertex_array_range2 :: Bool
-gl_NV_vertex_array_range2 = member "GL_NV_vertex_array_range2" extensions
-{-# NOINLINE gl_NV_vertex_array_range2 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt NV_vertex_attrib_integer_64bit> extension supported?
-glGetNVVertexAttribInteger64Bit :: MonadIO m => m Bool
-glGetNVVertexAttribInteger64Bit = getExtensions >>= (return . member "GL_NV_vertex_attrib_integer_64bit")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_attrib_integer_64bit.txt NV_vertex_attrib_integer_64bit> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexAttribInteger64Bit' in those cases instead.
-gl_NV_vertex_attrib_integer_64bit :: Bool
-gl_NV_vertex_attrib_integer_64bit = member "GL_NV_vertex_attrib_integer_64bit" extensions
-{-# NOINLINE gl_NV_vertex_attrib_integer_64bit #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt NV_vertex_buffer_unified_memory> extension supported?
-glGetNVVertexBufferUnifiedMemory :: MonadIO m => m Bool
-glGetNVVertexBufferUnifiedMemory = getExtensions >>= (return . member "GL_NV_vertex_buffer_unified_memory")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_buffer_unified_memory.txt NV_vertex_buffer_unified_memory> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexBufferUnifiedMemory' in those cases instead.
-gl_NV_vertex_buffer_unified_memory :: Bool
-gl_NV_vertex_buffer_unified_memory = member "GL_NV_vertex_buffer_unified_memory" extensions
-{-# NOINLINE gl_NV_vertex_buffer_unified_memory #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program.txt NV_vertex_program> extension supported?
-glGetNVVertexProgram :: MonadIO m => m Bool
-glGetNVVertexProgram = getExtensions >>= (return . member "GL_NV_vertex_program")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program.txt NV_vertex_program> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexProgram' in those cases instead.
-gl_NV_vertex_program :: Bool
-gl_NV_vertex_program = member "GL_NV_vertex_program" extensions
-{-# NOINLINE gl_NV_vertex_program #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program2_option.txt NV_vertex_program2_option> extension supported?
-glGetNVVertexProgram2Option :: MonadIO m => m Bool
-glGetNVVertexProgram2Option = getExtensions >>= (return . member "GL_NV_vertex_program2_option")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program2_option.txt NV_vertex_program2_option> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexProgram2Option' in those cases instead.
-gl_NV_vertex_program2_option :: Bool
-gl_NV_vertex_program2_option = member "GL_NV_vertex_program2_option" extensions
-{-# NOINLINE gl_NV_vertex_program2_option #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program3.txt NV_vertex_program3> extension supported?
-glGetNVVertexProgram3 :: MonadIO m => m Bool
-glGetNVVertexProgram3 = getExtensions >>= (return . member "GL_NV_vertex_program3")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program3.txt NV_vertex_program3> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexProgram3' in those cases instead.
-gl_NV_vertex_program3 :: Bool
-gl_NV_vertex_program3 = member "GL_NV_vertex_program3" extensions
-{-# NOINLINE gl_NV_vertex_program3 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program4.txt NV_vertex_program4> extension supported?
-glGetNVVertexProgram4 :: MonadIO m => m Bool
-glGetNVVertexProgram4 = getExtensions >>= (return . member "GL_NV_vertex_program4")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/vertex_program4.txt NV_vertex_program4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVertexProgram4' in those cases instead.
-gl_NV_vertex_program4 :: Bool
-gl_NV_vertex_program4 = member "GL_NV_vertex_program4" extensions
-{-# NOINLINE gl_NV_vertex_program4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NV/video_capture.txt NV_video_capture> extension supported?
-glGetNVVideoCapture :: MonadIO m => m Bool
-glGetNVVideoCapture = getExtensions >>= (return . member "GL_NV_video_capture")
-
--- | Is the <https://www.opengl.org/registry/specs/NV/video_capture.txt NV_video_capture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVVideoCapture' in those cases instead.
-gl_NV_video_capture :: Bool
-gl_NV_video_capture = member "GL_NV_video_capture" extensions
-{-# NOINLINE gl_NV_video_capture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NVX/nvx_conditional_render.txt NVX_conditional_render> extension supported?
-glGetNVXConditionalRender :: MonadIO m => m Bool
-glGetNVXConditionalRender = getExtensions >>= (return . member "GL_NVX_conditional_render")
-
--- | Is the <https://www.opengl.org/registry/specs/NVX/nvx_conditional_render.txt NVX_conditional_render> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVXConditionalRender' in those cases instead.
-gl_NVX_conditional_render :: Bool
-gl_NVX_conditional_render = member "GL_NVX_conditional_render" extensions
-{-# NOINLINE gl_NVX_conditional_render #-}
-
--- | Is the <https://www.opengl.org/registry/specs/NVX/gpu_memory_info.txt NVX_gpu_memory_info> extension supported?
-glGetNVXGPUMemoryInfo :: MonadIO m => m Bool
-glGetNVXGPUMemoryInfo = getExtensions >>= (return . member "GL_NVX_gpu_memory_info")
-
--- | Is the <https://www.opengl.org/registry/specs/NVX/gpu_memory_info.txt NVX_gpu_memory_info> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetNVXGPUMemoryInfo' in those cases instead.
-gl_NVX_gpu_memory_info :: Bool
-gl_NVX_gpu_memory_info = member "GL_NVX_gpu_memory_info" extensions
-{-# NOINLINE gl_NVX_gpu_memory_info #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_byte_coordinates.txt OES_byte_coordinates> extension supported?
-glGetOESByteCoordinates :: MonadIO m => m Bool
-glGetOESByteCoordinates = getExtensions >>= (return . member "GL_OES_byte_coordinates")
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_byte_coordinates.txt OES_byte_coordinates> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOESByteCoordinates' in those cases instead.
-gl_OES_byte_coordinates :: Bool
-gl_OES_byte_coordinates = member "GL_OES_byte_coordinates" extensions
-{-# NOINLINE gl_OES_byte_coordinates #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_compressed_paletted_texture.txt OES_compressed_paletted_texture> extension supported?
-glGetOESCompressedPalettedTexture :: MonadIO m => m Bool
-glGetOESCompressedPalettedTexture = getExtensions >>= (return . member "GL_OES_compressed_paletted_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_compressed_paletted_texture.txt OES_compressed_paletted_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOESCompressedPalettedTexture' in those cases instead.
-gl_OES_compressed_paletted_texture :: Bool
-gl_OES_compressed_paletted_texture = member "GL_OES_compressed_paletted_texture" extensions
-{-# NOINLINE gl_OES_compressed_paletted_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt OES_fixed_point> extension supported?
-glGetOESFixedPoint :: MonadIO m => m Bool
-glGetOESFixedPoint = getExtensions >>= (return . member "GL_OES_fixed_point")
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_fixed_point.txt OES_fixed_point> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOESFixedPoint' in those cases instead.
-gl_OES_fixed_point :: Bool
-gl_OES_fixed_point = member "GL_OES_fixed_point" extensions
-{-# NOINLINE gl_OES_fixed_point #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_query_matrix.txt OES_query_matrix> extension supported?
-glGetOESQueryMatrix :: MonadIO m => m Bool
-glGetOESQueryMatrix = getExtensions >>= (return . member "GL_OES_query_matrix")
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_query_matrix.txt OES_query_matrix> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOESQueryMatrix' in those cases instead.
-gl_OES_query_matrix :: Bool
-gl_OES_query_matrix = member "GL_OES_query_matrix" extensions
-{-# NOINLINE gl_OES_query_matrix #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_read_format.txt OES_read_format> extension supported?
-glGetOESReadFormat :: MonadIO m => m Bool
-glGetOESReadFormat = getExtensions >>= (return . member "GL_OES_read_format")
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_read_format.txt OES_read_format> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOESReadFormat' in those cases instead.
-gl_OES_read_format :: Bool
-gl_OES_read_format = member "GL_OES_read_format" extensions
-{-# NOINLINE gl_OES_read_format #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_single_precision.txt OES_single_precision> extension supported?
-glGetOESSinglePrecision :: MonadIO m => m Bool
-glGetOESSinglePrecision = getExtensions >>= (return . member "GL_OES_single_precision")
-
--- | Is the <https://www.opengl.org/registry/specs/OES/OES_single_precision.txt OES_single_precision> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOESSinglePrecision' in those cases instead.
-gl_OES_single_precision :: Bool
-gl_OES_single_precision = member "GL_OES_single_precision" extensions
-{-# NOINLINE gl_OES_single_precision #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OML/interlace.txt OML_interlace> extension supported?
-glGetOMLInterlace :: MonadIO m => m Bool
-glGetOMLInterlace = getExtensions >>= (return . member "GL_OML_interlace")
-
--- | Is the <https://www.opengl.org/registry/specs/OML/interlace.txt OML_interlace> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOMLInterlace' in those cases instead.
-gl_OML_interlace :: Bool
-gl_OML_interlace = member "GL_OML_interlace" extensions
-{-# NOINLINE gl_OML_interlace #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OML/resample.txt OML_resample> extension supported?
-glGetOMLResample :: MonadIO m => m Bool
-glGetOMLResample = getExtensions >>= (return . member "GL_OML_resample")
-
--- | Is the <https://www.opengl.org/registry/specs/OML/resample.txt OML_resample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOMLResample' in those cases instead.
-gl_OML_resample :: Bool
-gl_OML_resample = member "GL_OML_resample" extensions
-{-# NOINLINE gl_OML_resample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OML/subsample.txt OML_subsample> extension supported?
-glGetOMLSubsample :: MonadIO m => m Bool
-glGetOMLSubsample = getExtensions >>= (return . member "GL_OML_subsample")
-
--- | Is the <https://www.opengl.org/registry/specs/OML/subsample.txt OML_subsample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOMLSubsample' in those cases instead.
-gl_OML_subsample :: Bool
-gl_OML_subsample = member "GL_OML_subsample" extensions
-{-# NOINLINE gl_OML_subsample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/OVR/multiview.txt OVR_multiview> extension supported?
-glGetOVRMultiview :: MonadIO m => m Bool
-glGetOVRMultiview = getExtensions >>= (return . member "GL_OVR_multiview")
-
--- | Is the <https://www.opengl.org/registry/specs/OVR/multiview.txt OVR_multiview> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetOVRMultiview' in those cases instead.
-gl_OVR_multiview :: Bool
-gl_OVR_multiview = member "GL_OVR_multiview" extensions
-{-# NOINLINE gl_OVR_multiview #-}
-
--- | Is the <https://www.opengl.org/registry/specs/PGI/misc_hints.txt PGI_misc_hints> extension supported?
-glGetPGIMiscHints :: MonadIO m => m Bool
-glGetPGIMiscHints = getExtensions >>= (return . member "GL_PGI_misc_hints")
-
--- | Is the <https://www.opengl.org/registry/specs/PGI/misc_hints.txt PGI_misc_hints> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetPGIMiscHints' in those cases instead.
-gl_PGI_misc_hints :: Bool
-gl_PGI_misc_hints = member "GL_PGI_misc_hints" extensions
-{-# NOINLINE gl_PGI_misc_hints #-}
-
--- | Is the <https://www.opengl.org/registry/specs/PGI/vertex_hints.txt PGI_vertex_hints> extension supported?
-glGetPGIVertexHints :: MonadIO m => m Bool
-glGetPGIVertexHints = getExtensions >>= (return . member "GL_PGI_vertex_hints")
-
--- | Is the <https://www.opengl.org/registry/specs/PGI/vertex_hints.txt PGI_vertex_hints> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetPGIVertexHints' in those cases instead.
-gl_PGI_vertex_hints :: Bool
-gl_PGI_vertex_hints = member "GL_PGI_vertex_hints" extensions
-{-# NOINLINE gl_PGI_vertex_hints #-}
-
--- | Is the <https://www.opengl.org/registry/specs/REND/screen_coordinates.txt REND_screen_coordinates> extension supported?
-glGetRENDScreenCoordinates :: MonadIO m => m Bool
-glGetRENDScreenCoordinates = getExtensions >>= (return . member "GL_REND_screen_coordinates")
-
--- | Is the <https://www.opengl.org/registry/specs/REND/screen_coordinates.txt REND_screen_coordinates> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetRENDScreenCoordinates' in those cases instead.
-gl_REND_screen_coordinates :: Bool
-gl_REND_screen_coordinates = member "GL_REND_screen_coordinates" extensions
-{-# NOINLINE gl_REND_screen_coordinates #-}
-
--- | Is the <https://www.opengl.org/registry/specs/S3/s3tc.txt S3_s3tc> extension supported?
-glGetS3S3TC :: MonadIO m => m Bool
-glGetS3S3TC = getExtensions >>= (return . member "GL_S3_s3tc")
-
--- | Is the <https://www.opengl.org/registry/specs/S3/s3tc.txt S3_s3tc> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetS3S3TC' in those cases instead.
-gl_S3_s3tc :: Bool
-gl_S3_s3tc = member "GL_S3_s3tc" extensions
-{-# NOINLINE gl_S3_s3tc #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGI/color_matrix.txt SGI_color_matrix> extension supported?
-glGetSGIColorMatrix :: MonadIO m => m Bool
-glGetSGIColorMatrix = getExtensions >>= (return . member "GL_SGI_color_matrix")
-
--- | Is the <https://www.opengl.org/registry/specs/SGI/color_matrix.txt SGI_color_matrix> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIColorMatrix' in those cases instead.
-gl_SGI_color_matrix :: Bool
-gl_SGI_color_matrix = member "GL_SGI_color_matrix" extensions
-{-# NOINLINE gl_SGI_color_matrix #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGI/color_table.txt SGI_color_table> extension supported?
-glGetSGIColorTable :: MonadIO m => m Bool
-glGetSGIColorTable = getExtensions >>= (return . member "GL_SGI_color_table")
-
--- | Is the <https://www.opengl.org/registry/specs/SGI/color_table.txt SGI_color_table> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIColorTable' in those cases instead.
-gl_SGI_color_table :: Bool
-gl_SGI_color_table = member "GL_SGI_color_table" extensions
-{-# NOINLINE gl_SGI_color_table #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGI/texture_color_table.txt SGI_texture_color_table> extension supported?
-glGetSGITextureColorTable :: MonadIO m => m Bool
-glGetSGITextureColorTable = getExtensions >>= (return . member "GL_SGI_texture_color_table")
-
--- | Is the <https://www.opengl.org/registry/specs/SGI/texture_color_table.txt SGI_texture_color_table> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGITextureColorTable' in those cases instead.
-gl_SGI_texture_color_table :: Bool
-gl_SGI_texture_color_table = member "GL_SGI_texture_color_table" extensions
-{-# NOINLINE gl_SGI_texture_color_table #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/detail_texture.txt SGIS_detail_texture> extension supported?
-glGetSGISDetailTexture :: MonadIO m => m Bool
-glGetSGISDetailTexture = getExtensions >>= (return . member "GL_SGIS_detail_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/detail_texture.txt SGIS_detail_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISDetailTexture' in those cases instead.
-gl_SGIS_detail_texture :: Bool
-gl_SGIS_detail_texture = member "GL_SGIS_detail_texture" extensions
-{-# NOINLINE gl_SGIS_detail_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/fog_func.txt SGIS_fog_function> extension supported?
-glGetSGISFogFunction :: MonadIO m => m Bool
-glGetSGISFogFunction = getExtensions >>= (return . member "GL_SGIS_fog_function")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/fog_func.txt SGIS_fog_function> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISFogFunction' in those cases instead.
-gl_SGIS_fog_function :: Bool
-gl_SGIS_fog_function = member "GL_SGIS_fog_function" extensions
-{-# NOINLINE gl_SGIS_fog_function #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt SGIS_generate_mipmap> extension supported?
-glGetSGISGenerateMipmap :: MonadIO m => m Bool
-glGetSGISGenerateMipmap = getExtensions >>= (return . member "GL_SGIS_generate_mipmap")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/generate_mipmap.txt SGIS_generate_mipmap> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISGenerateMipmap' in those cases instead.
-gl_SGIS_generate_mipmap :: Bool
-gl_SGIS_generate_mipmap = member "GL_SGIS_generate_mipmap" extensions
-{-# NOINLINE gl_SGIS_generate_mipmap #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/multisample.txt SGIS_multisample> extension supported?
-glGetSGISMultisample :: MonadIO m => m Bool
-glGetSGISMultisample = getExtensions >>= (return . member "GL_SGIS_multisample")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/multisample.txt SGIS_multisample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISMultisample' in those cases instead.
-gl_SGIS_multisample :: Bool
-gl_SGIS_multisample = member "GL_SGIS_multisample" extensions
-{-# NOINLINE gl_SGIS_multisample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/pixel_texture.txt SGIS_pixel_texture> extension supported?
-glGetSGISPixelTexture :: MonadIO m => m Bool
-glGetSGISPixelTexture = getExtensions >>= (return . member "GL_SGIS_pixel_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/pixel_texture.txt SGIS_pixel_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISPixelTexture' in those cases instead.
-gl_SGIS_pixel_texture :: Bool
-gl_SGIS_pixel_texture = member "GL_SGIS_pixel_texture" extensions
-{-# NOINLINE gl_SGIS_pixel_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/point_line_texgen.txt SGIS_point_line_texgen> extension supported?
-glGetSGISPointLineTexgen :: MonadIO m => m Bool
-glGetSGISPointLineTexgen = getExtensions >>= (return . member "GL_SGIS_point_line_texgen")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/point_line_texgen.txt SGIS_point_line_texgen> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISPointLineTexgen' in those cases instead.
-gl_SGIS_point_line_texgen :: Bool
-gl_SGIS_point_line_texgen = member "GL_SGIS_point_line_texgen" extensions
-{-# NOINLINE gl_SGIS_point_line_texgen #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt SGIS_point_parameters> extension supported?
-glGetSGISPointParameters :: MonadIO m => m Bool
-glGetSGISPointParameters = getExtensions >>= (return . member "GL_SGIS_point_parameters")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/point_parameters.txt SGIS_point_parameters> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISPointParameters' in those cases instead.
-gl_SGIS_point_parameters :: Bool
-gl_SGIS_point_parameters = member "GL_SGIS_point_parameters" extensions
-{-# NOINLINE gl_SGIS_point_parameters #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt SGIS_sharpen_texture> extension supported?
-glGetSGISSharpenTexture :: MonadIO m => m Bool
-glGetSGISSharpenTexture = getExtensions >>= (return . member "GL_SGIS_sharpen_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/sharpen_texture.txt SGIS_sharpen_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISSharpenTexture' in those cases instead.
-gl_SGIS_sharpen_texture :: Bool
-gl_SGIS_sharpen_texture = member "GL_SGIS_sharpen_texture" extensions
-{-# NOINLINE gl_SGIS_sharpen_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture4D.txt SGIS_texture4D> extension supported?
-glGetSGISTexture4D :: MonadIO m => m Bool
-glGetSGISTexture4D = getExtensions >>= (return . member "GL_SGIS_texture4D")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture4D.txt SGIS_texture4D> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISTexture4D' in those cases instead.
-gl_SGIS_texture4D :: Bool
-gl_SGIS_texture4D = member "GL_SGIS_texture4D" extensions
-{-# NOINLINE gl_SGIS_texture4D #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_border_clamp.txt SGIS_texture_border_clamp> extension supported?
-glGetSGISTextureBorderClamp :: MonadIO m => m Bool
-glGetSGISTextureBorderClamp = getExtensions >>= (return . member "GL_SGIS_texture_border_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_border_clamp.txt SGIS_texture_border_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISTextureBorderClamp' in those cases instead.
-gl_SGIS_texture_border_clamp :: Bool
-gl_SGIS_texture_border_clamp = member "GL_SGIS_texture_border_clamp" extensions
-{-# NOINLINE gl_SGIS_texture_border_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_color_mask.txt SGIS_texture_color_mask> extension supported?
-glGetSGISTextureColorMask :: MonadIO m => m Bool
-glGetSGISTextureColorMask = getExtensions >>= (return . member "GL_SGIS_texture_color_mask")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_color_mask.txt SGIS_texture_color_mask> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISTextureColorMask' in those cases instead.
-gl_SGIS_texture_color_mask :: Bool
-gl_SGIS_texture_color_mask = member "GL_SGIS_texture_color_mask" extensions
-{-# NOINLINE gl_SGIS_texture_color_mask #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_edge_clamp.txt SGIS_texture_edge_clamp> extension supported?
-glGetSGISTextureEdgeClamp :: MonadIO m => m Bool
-glGetSGISTextureEdgeClamp = getExtensions >>= (return . member "GL_SGIS_texture_edge_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_edge_clamp.txt SGIS_texture_edge_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISTextureEdgeClamp' in those cases instead.
-gl_SGIS_texture_edge_clamp :: Bool
-gl_SGIS_texture_edge_clamp = member "GL_SGIS_texture_edge_clamp" extensions
-{-# NOINLINE gl_SGIS_texture_edge_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_filter4.txt SGIS_texture_filter4> extension supported?
-glGetSGISTextureFilter4 :: MonadIO m => m Bool
-glGetSGISTextureFilter4 = getExtensions >>= (return . member "GL_SGIS_texture_filter4")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_filter4.txt SGIS_texture_filter4> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISTextureFilter4' in those cases instead.
-gl_SGIS_texture_filter4 :: Bool
-gl_SGIS_texture_filter4 = member "GL_SGIS_texture_filter4" extensions
-{-# NOINLINE gl_SGIS_texture_filter4 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_lod.txt SGIS_texture_lod> extension supported?
-glGetSGISTextureLOD :: MonadIO m => m Bool
-glGetSGISTextureLOD = getExtensions >>= (return . member "GL_SGIS_texture_lod")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_lod.txt SGIS_texture_lod> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISTextureLOD' in those cases instead.
-gl_SGIS_texture_lod :: Bool
-gl_SGIS_texture_lod = member "GL_SGIS_texture_lod" extensions
-{-# NOINLINE gl_SGIS_texture_lod #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_select.txt SGIS_texture_select> extension supported?
-glGetSGISTextureSelect :: MonadIO m => m Bool
-glGetSGISTextureSelect = getExtensions >>= (return . member "GL_SGIS_texture_select")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIS/texture_select.txt SGIS_texture_select> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGISTextureSelect' in those cases instead.
-gl_SGIS_texture_select :: Bool
-gl_SGIS_texture_select = member "GL_SGIS_texture_select" extensions
-{-# NOINLINE gl_SGIS_texture_select #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/async.txt SGIX_async> extension supported?
-glGetSGIXAsync :: MonadIO m => m Bool
-glGetSGIXAsync = getExtensions >>= (return . member "GL_SGIX_async")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/async.txt SGIX_async> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXAsync' in those cases instead.
-gl_SGIX_async :: Bool
-gl_SGIX_async = member "GL_SGIX_async" extensions
-{-# NOINLINE gl_SGIX_async #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/async_histogram.txt SGIX_async_histogram> extension supported?
-glGetSGIXAsyncHistogram :: MonadIO m => m Bool
-glGetSGIXAsyncHistogram = getExtensions >>= (return . member "GL_SGIX_async_histogram")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/async_histogram.txt SGIX_async_histogram> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXAsyncHistogram' in those cases instead.
-gl_SGIX_async_histogram :: Bool
-gl_SGIX_async_histogram = member "GL_SGIX_async_histogram" extensions
-{-# NOINLINE gl_SGIX_async_histogram #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/async_pixel.txt SGIX_async_pixel> extension supported?
-glGetSGIXAsyncPixel :: MonadIO m => m Bool
-glGetSGIXAsyncPixel = getExtensions >>= (return . member "GL_SGIX_async_pixel")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/async_pixel.txt SGIX_async_pixel> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXAsyncPixel' in those cases instead.
-gl_SGIX_async_pixel :: Bool
-gl_SGIX_async_pixel = member "GL_SGIX_async_pixel" extensions
-{-# NOINLINE gl_SGIX_async_pixel #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/blend_alpha_minmax.txt SGIX_blend_alpha_minmax> extension supported?
-glGetSGIXBlendAlphaMinmax :: MonadIO m => m Bool
-glGetSGIXBlendAlphaMinmax = getExtensions >>= (return . member "GL_SGIX_blend_alpha_minmax")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/blend_alpha_minmax.txt SGIX_blend_alpha_minmax> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXBlendAlphaMinmax' in those cases instead.
-gl_SGIX_blend_alpha_minmax :: Bool
-gl_SGIX_blend_alpha_minmax = member "GL_SGIX_blend_alpha_minmax" extensions
-{-# NOINLINE gl_SGIX_blend_alpha_minmax #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/calligraphic_fragment.txt SGIX_calligraphic_fragment> extension supported?
-glGetSGIXCalligraphicFragment :: MonadIO m => m Bool
-glGetSGIXCalligraphicFragment = getExtensions >>= (return . member "GL_SGIX_calligraphic_fragment")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/calligraphic_fragment.txt SGIX_calligraphic_fragment> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXCalligraphicFragment' in those cases instead.
-gl_SGIX_calligraphic_fragment :: Bool
-gl_SGIX_calligraphic_fragment = member "GL_SGIX_calligraphic_fragment" extensions
-{-# NOINLINE gl_SGIX_calligraphic_fragment #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/clipmap.txt SGIX_clipmap> extension supported?
-glGetSGIXClipmap :: MonadIO m => m Bool
-glGetSGIXClipmap = getExtensions >>= (return . member "GL_SGIX_clipmap")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/clipmap.txt SGIX_clipmap> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXClipmap' in those cases instead.
-gl_SGIX_clipmap :: Bool
-gl_SGIX_clipmap = member "GL_SGIX_clipmap" extensions
-{-# NOINLINE gl_SGIX_clipmap #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/convolution_accuracy.txt SGIX_convolution_accuracy> extension supported?
-glGetSGIXConvolutionAccuracy :: MonadIO m => m Bool
-glGetSGIXConvolutionAccuracy = getExtensions >>= (return . member "GL_SGIX_convolution_accuracy")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/convolution_accuracy.txt SGIX_convolution_accuracy> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXConvolutionAccuracy' in those cases instead.
-gl_SGIX_convolution_accuracy :: Bool
-gl_SGIX_convolution_accuracy = member "GL_SGIX_convolution_accuracy" extensions
-{-# NOINLINE gl_SGIX_convolution_accuracy #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/depth_texture.txt SGIX_depth_texture> extension supported?
-glGetSGIXDepthTexture :: MonadIO m => m Bool
-glGetSGIXDepthTexture = getExtensions >>= (return . member "GL_SGIX_depth_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/depth_texture.txt SGIX_depth_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXDepthTexture' in those cases instead.
-gl_SGIX_depth_texture :: Bool
-gl_SGIX_depth_texture = member "GL_SGIX_depth_texture" extensions
-{-# NOINLINE gl_SGIX_depth_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/flush_raster.txt SGIX_flush_raster> extension supported?
-glGetSGIXFlushRaster :: MonadIO m => m Bool
-glGetSGIXFlushRaster = getExtensions >>= (return . member "GL_SGIX_flush_raster")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/flush_raster.txt SGIX_flush_raster> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXFlushRaster' in those cases instead.
-gl_SGIX_flush_raster :: Bool
-gl_SGIX_flush_raster = member "GL_SGIX_flush_raster" extensions
-{-# NOINLINE gl_SGIX_flush_raster #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/fog_offset.txt SGIX_fog_offset> extension supported?
-glGetSGIXFogOffset :: MonadIO m => m Bool
-glGetSGIXFogOffset = getExtensions >>= (return . member "GL_SGIX_fog_offset")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/fog_offset.txt SGIX_fog_offset> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXFogOffset' in those cases instead.
-gl_SGIX_fog_offset :: Bool
-gl_SGIX_fog_offset = member "GL_SGIX_fog_offset" extensions
-{-# NOINLINE gl_SGIX_fog_offset #-}
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt SGIX_fragment_lighting> extension supported?
-glGetSGIXFragmentLighting :: MonadIO m => m Bool
-glGetSGIXFragmentLighting = getExtensions >>= (return . member "GL_SGIX_fragment_lighting")
-
--- | Is the <https://www.opengl.org/registry/specs/EXT/fragment_lighting.txt SGIX_fragment_lighting> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXFragmentLighting' in those cases instead.
-gl_SGIX_fragment_lighting :: Bool
-gl_SGIX_fragment_lighting = member "GL_SGIX_fragment_lighting" extensions
-{-# NOINLINE gl_SGIX_fragment_lighting #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/framezoom.txt SGIX_framezoom> extension supported?
-glGetSGIXFramezoom :: MonadIO m => m Bool
-glGetSGIXFramezoom = getExtensions >>= (return . member "GL_SGIX_framezoom")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/framezoom.txt SGIX_framezoom> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXFramezoom' in those cases instead.
-gl_SGIX_framezoom :: Bool
-gl_SGIX_framezoom = member "GL_SGIX_framezoom" extensions
-{-# NOINLINE gl_SGIX_framezoom #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/igloo_interface.txt SGIX_igloo_interface> extension supported?
-glGetSGIXIglooInterface :: MonadIO m => m Bool
-glGetSGIXIglooInterface = getExtensions >>= (return . member "GL_SGIX_igloo_interface")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/igloo_interface.txt SGIX_igloo_interface> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXIglooInterface' in those cases instead.
-gl_SGIX_igloo_interface :: Bool
-gl_SGIX_igloo_interface = member "GL_SGIX_igloo_interface" extensions
-{-# NOINLINE gl_SGIX_igloo_interface #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/instruments.txt SGIX_instruments> extension supported?
-glGetSGIXInstruments :: MonadIO m => m Bool
-glGetSGIXInstruments = getExtensions >>= (return . member "GL_SGIX_instruments")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/instruments.txt SGIX_instruments> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXInstruments' in those cases instead.
-gl_SGIX_instruments :: Bool
-gl_SGIX_instruments = member "GL_SGIX_instruments" extensions
-{-# NOINLINE gl_SGIX_instruments #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/interlace.txt SGIX_interlace> extension supported?
-glGetSGIXInterlace :: MonadIO m => m Bool
-glGetSGIXInterlace = getExtensions >>= (return . member "GL_SGIX_interlace")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/interlace.txt SGIX_interlace> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXInterlace' in those cases instead.
-gl_SGIX_interlace :: Bool
-gl_SGIX_interlace = member "GL_SGIX_interlace" extensions
-{-# NOINLINE gl_SGIX_interlace #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/ir_instrument1.txt SGIX_ir_instrument1> extension supported?
-glGetSGIXIrInstrument1 :: MonadIO m => m Bool
-glGetSGIXIrInstrument1 = getExtensions >>= (return . member "GL_SGIX_ir_instrument1")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/ir_instrument1.txt SGIX_ir_instrument1> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXIrInstrument1' in those cases instead.
-gl_SGIX_ir_instrument1 :: Bool
-gl_SGIX_ir_instrument1 = member "GL_SGIX_ir_instrument1" extensions
-{-# NOINLINE gl_SGIX_ir_instrument1 #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/list_priority.txt SGIX_list_priority> extension supported?
-glGetSGIXListPriority :: MonadIO m => m Bool
-glGetSGIXListPriority = getExtensions >>= (return . member "GL_SGIX_list_priority")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/list_priority.txt SGIX_list_priority> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXListPriority' in those cases instead.
-gl_SGIX_list_priority :: Bool
-gl_SGIX_list_priority = member "GL_SGIX_list_priority" extensions
-{-# NOINLINE gl_SGIX_list_priority #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt SGIX_pixel_texture> extension supported?
-glGetSGIXPixelTexture :: MonadIO m => m Bool
-glGetSGIXPixelTexture = getExtensions >>= (return . member "GL_SGIX_pixel_texture")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/sgix_pixel_texture.txt SGIX_pixel_texture> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXPixelTexture' in those cases instead.
-gl_SGIX_pixel_texture :: Bool
-gl_SGIX_pixel_texture = member "GL_SGIX_pixel_texture" extensions
-{-# NOINLINE gl_SGIX_pixel_texture #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/pixel_tiles.txt SGIX_pixel_tiles> extension supported?
-glGetSGIXPixelTiles :: MonadIO m => m Bool
-glGetSGIXPixelTiles = getExtensions >>= (return . member "GL_SGIX_pixel_tiles")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/pixel_tiles.txt SGIX_pixel_tiles> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXPixelTiles' in those cases instead.
-gl_SGIX_pixel_tiles :: Bool
-gl_SGIX_pixel_tiles = member "GL_SGIX_pixel_tiles" extensions
-{-# NOINLINE gl_SGIX_pixel_tiles #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/polynomial_ffd.txt SGIX_polynomial_ffd> extension supported?
-glGetSGIXPolynomialFFD :: MonadIO m => m Bool
-glGetSGIXPolynomialFFD = getExtensions >>= (return . member "GL_SGIX_polynomial_ffd")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/polynomial_ffd.txt SGIX_polynomial_ffd> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXPolynomialFFD' in those cases instead.
-gl_SGIX_polynomial_ffd :: Bool
-gl_SGIX_polynomial_ffd = member "GL_SGIX_polynomial_ffd" extensions
-{-# NOINLINE gl_SGIX_polynomial_ffd #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/reference_plane.txt SGIX_reference_plane> extension supported?
-glGetSGIXReferencePlane :: MonadIO m => m Bool
-glGetSGIXReferencePlane = getExtensions >>= (return . member "GL_SGIX_reference_plane")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/reference_plane.txt SGIX_reference_plane> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXReferencePlane' in those cases instead.
-gl_SGIX_reference_plane :: Bool
-gl_SGIX_reference_plane = member "GL_SGIX_reference_plane" extensions
-{-# NOINLINE gl_SGIX_reference_plane #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/resample.txt SGIX_resample> extension supported?
-glGetSGIXResample :: MonadIO m => m Bool
-glGetSGIXResample = getExtensions >>= (return . member "GL_SGIX_resample")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/resample.txt SGIX_resample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXResample' in those cases instead.
-gl_SGIX_resample :: Bool
-gl_SGIX_resample = member "GL_SGIX_resample" extensions
-{-# NOINLINE gl_SGIX_resample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/scalebias_hint.txt SGIX_scalebias_hint> extension supported?
-glGetSGIXScalebiasHint :: MonadIO m => m Bool
-glGetSGIXScalebiasHint = getExtensions >>= (return . member "GL_SGIX_scalebias_hint")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/scalebias_hint.txt SGIX_scalebias_hint> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXScalebiasHint' in those cases instead.
-gl_SGIX_scalebias_hint :: Bool
-gl_SGIX_scalebias_hint = member "GL_SGIX_scalebias_hint" extensions
-{-# NOINLINE gl_SGIX_scalebias_hint #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow.txt SGIX_shadow> extension supported?
-glGetSGIXShadow :: MonadIO m => m Bool
-glGetSGIXShadow = getExtensions >>= (return . member "GL_SGIX_shadow")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow.txt SGIX_shadow> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXShadow' in those cases instead.
-gl_SGIX_shadow :: Bool
-gl_SGIX_shadow = member "GL_SGIX_shadow" extensions
-{-# NOINLINE gl_SGIX_shadow #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow_ambient.txt SGIX_shadow_ambient> extension supported?
-glGetSGIXShadowAmbient :: MonadIO m => m Bool
-glGetSGIXShadowAmbient = getExtensions >>= (return . member "GL_SGIX_shadow_ambient")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/shadow_ambient.txt SGIX_shadow_ambient> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXShadowAmbient' in those cases instead.
-gl_SGIX_shadow_ambient :: Bool
-gl_SGIX_shadow_ambient = member "GL_SGIX_shadow_ambient" extensions
-{-# NOINLINE gl_SGIX_shadow_ambient #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/sprite.txt SGIX_sprite> extension supported?
-glGetSGIXSprite :: MonadIO m => m Bool
-glGetSGIXSprite = getExtensions >>= (return . member "GL_SGIX_sprite")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/sprite.txt SGIX_sprite> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXSprite' in those cases instead.
-gl_SGIX_sprite :: Bool
-gl_SGIX_sprite = member "GL_SGIX_sprite" extensions
-{-# NOINLINE gl_SGIX_sprite #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/subsample.txt SGIX_subsample> extension supported?
-glGetSGIXSubsample :: MonadIO m => m Bool
-glGetSGIXSubsample = getExtensions >>= (return . member "GL_SGIX_subsample")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/subsample.txt SGIX_subsample> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXSubsample' in those cases instead.
-gl_SGIX_subsample :: Bool
-gl_SGIX_subsample = member "GL_SGIX_subsample" extensions
-{-# NOINLINE gl_SGIX_subsample #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt SGIX_tag_sample_buffer> extension supported?
-glGetSGIXTagSampleBuffer :: MonadIO m => m Bool
-glGetSGIXTagSampleBuffer = getExtensions >>= (return . member "GL_SGIX_tag_sample_buffer")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/tag_sample_buffer.txt SGIX_tag_sample_buffer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXTagSampleBuffer' in those cases instead.
-gl_SGIX_tag_sample_buffer :: Bool
-gl_SGIX_tag_sample_buffer = member "GL_SGIX_tag_sample_buffer" extensions
-{-# NOINLINE gl_SGIX_tag_sample_buffer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_env_add.txt SGIX_texture_add_env> extension supported?
-glGetSGIXTextureAddEnv :: MonadIO m => m Bool
-glGetSGIXTextureAddEnv = getExtensions >>= (return . member "GL_SGIX_texture_add_env")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_env_add.txt SGIX_texture_add_env> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXTextureAddEnv' in those cases instead.
-gl_SGIX_texture_add_env :: Bool
-gl_SGIX_texture_add_env = member "GL_SGIX_texture_add_env" extensions
-{-# NOINLINE gl_SGIX_texture_add_env #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_coordinate_clamp.txt SGIX_texture_coordinate_clamp> extension supported?
-glGetSGIXTextureCoordinateClamp :: MonadIO m => m Bool
-glGetSGIXTextureCoordinateClamp = getExtensions >>= (return . member "GL_SGIX_texture_coordinate_clamp")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_coordinate_clamp.txt SGIX_texture_coordinate_clamp> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXTextureCoordinateClamp' in those cases instead.
-gl_SGIX_texture_coordinate_clamp :: Bool
-gl_SGIX_texture_coordinate_clamp = member "GL_SGIX_texture_coordinate_clamp" extensions
-{-# NOINLINE gl_SGIX_texture_coordinate_clamp #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_lod_bias.txt SGIX_texture_lod_bias> extension supported?
-glGetSGIXTextureLODBias :: MonadIO m => m Bool
-glGetSGIXTextureLODBias = getExtensions >>= (return . member "GL_SGIX_texture_lod_bias")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_lod_bias.txt SGIX_texture_lod_bias> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXTextureLODBias' in those cases instead.
-gl_SGIX_texture_lod_bias :: Bool
-gl_SGIX_texture_lod_bias = member "GL_SGIX_texture_lod_bias" extensions
-{-# NOINLINE gl_SGIX_texture_lod_bias #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_multi_buffer.txt SGIX_texture_multi_buffer> extension supported?
-glGetSGIXTextureMultiBuffer :: MonadIO m => m Bool
-glGetSGIXTextureMultiBuffer = getExtensions >>= (return . member "GL_SGIX_texture_multi_buffer")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_multi_buffer.txt SGIX_texture_multi_buffer> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXTextureMultiBuffer' in those cases instead.
-gl_SGIX_texture_multi_buffer :: Bool
-gl_SGIX_texture_multi_buffer = member "GL_SGIX_texture_multi_buffer" extensions
-{-# NOINLINE gl_SGIX_texture_multi_buffer #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_scale_bias.txt SGIX_texture_scale_bias> extension supported?
-glGetSGIXTextureScaleBias :: MonadIO m => m Bool
-glGetSGIXTextureScaleBias = getExtensions >>= (return . member "GL_SGIX_texture_scale_bias")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/texture_scale_bias.txt SGIX_texture_scale_bias> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXTextureScaleBias' in those cases instead.
-gl_SGIX_texture_scale_bias :: Bool
-gl_SGIX_texture_scale_bias = member "GL_SGIX_texture_scale_bias" extensions
-{-# NOINLINE gl_SGIX_texture_scale_bias #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt SGIX_vertex_preclip> extension supported?
-glGetSGIXVertexPreclip :: MonadIO m => m Bool
-glGetSGIXVertexPreclip = getExtensions >>= (return . member "GL_SGIX_vertex_preclip")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/vertex_preclip.txt SGIX_vertex_preclip> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXVertexPreclip' in those cases instead.
-gl_SGIX_vertex_preclip :: Bool
-gl_SGIX_vertex_preclip = member "GL_SGIX_vertex_preclip" extensions
-{-# NOINLINE gl_SGIX_vertex_preclip #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcb.txt SGIX_ycrcb> extension supported?
-glGetSGIXYCrCb :: MonadIO m => m Bool
-glGetSGIXYCrCb = getExtensions >>= (return . member "GL_SGIX_ycrcb")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcb.txt SGIX_ycrcb> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXYCrCb' in those cases instead.
-gl_SGIX_ycrcb :: Bool
-gl_SGIX_ycrcb = member "GL_SGIX_ycrcb" extensions
-{-# NOINLINE gl_SGIX_ycrcb #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcba.txt SGIX_ycrcba> extension supported?
-glGetSGIXYCrCbA :: MonadIO m => m Bool
-glGetSGIXYCrCbA = getExtensions >>= (return . member "GL_SGIX_ycrcba")
-
--- | Is the <https://www.opengl.org/registry/specs/SGIX/ycrcba.txt SGIX_ycrcba> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSGIXYCrCbA' in those cases instead.
-gl_SGIX_ycrcba :: Bool
-gl_SGIX_ycrcba = member "GL_SGIX_ycrcba" extensions
-{-# NOINLINE gl_SGIX_ycrcba #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/convolution_border_modes.txt SUN_convolution_border_modes> extension supported?
-glGetSUNConvolutionBorderModes :: MonadIO m => m Bool
-glGetSUNConvolutionBorderModes = getExtensions >>= (return . member "GL_SUN_convolution_border_modes")
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/convolution_border_modes.txt SUN_convolution_border_modes> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSUNConvolutionBorderModes' in those cases instead.
-gl_SUN_convolution_border_modes :: Bool
-gl_SUN_convolution_border_modes = member "GL_SUN_convolution_border_modes" extensions
-{-# NOINLINE gl_SUN_convolution_border_modes #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/global_alpha.txt SUN_global_alpha> extension supported?
-glGetSUNGlobalAlpha :: MonadIO m => m Bool
-glGetSUNGlobalAlpha = getExtensions >>= (return . member "GL_SUN_global_alpha")
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/global_alpha.txt SUN_global_alpha> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSUNGlobalAlpha' in those cases instead.
-gl_SUN_global_alpha :: Bool
-gl_SUN_global_alpha = member "GL_SUN_global_alpha" extensions
-{-# NOINLINE gl_SUN_global_alpha #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/mesh_array.txt SUN_mesh_array> extension supported?
-glGetSUNMeshArray :: MonadIO m => m Bool
-glGetSUNMeshArray = getExtensions >>= (return . member "GL_SUN_mesh_array")
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/mesh_array.txt SUN_mesh_array> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSUNMeshArray' in those cases instead.
-gl_SUN_mesh_array :: Bool
-gl_SUN_mesh_array = member "GL_SUN_mesh_array" extensions
-{-# NOINLINE gl_SUN_mesh_array #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/slice_accum.txt SUN_slice_accum> extension supported?
-glGetSUNSliceAccum :: MonadIO m => m Bool
-glGetSUNSliceAccum = getExtensions >>= (return . member "GL_SUN_slice_accum")
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/slice_accum.txt SUN_slice_accum> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSUNSliceAccum' in those cases instead.
-gl_SUN_slice_accum :: Bool
-gl_SUN_slice_accum = member "GL_SUN_slice_accum" extensions
-{-# NOINLINE gl_SUN_slice_accum #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/triangle_list.txt SUN_triangle_list> extension supported?
-glGetSUNTriangleList :: MonadIO m => m Bool
-glGetSUNTriangleList = getExtensions >>= (return . member "GL_SUN_triangle_list")
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/triangle_list.txt SUN_triangle_list> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSUNTriangleList' in those cases instead.
-gl_SUN_triangle_list :: Bool
-gl_SUN_triangle_list = member "GL_SUN_triangle_list" extensions
-{-# NOINLINE gl_SUN_triangle_list #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/vertex.txt SUN_vertex> extension supported?
-glGetSUNVertex :: MonadIO m => m Bool
-glGetSUNVertex = getExtensions >>= (return . member "GL_SUN_vertex")
-
--- | Is the <https://www.opengl.org/registry/specs/SUN/vertex.txt SUN_vertex> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSUNVertex' in those cases instead.
-gl_SUN_vertex :: Bool
-gl_SUN_vertex = member "GL_SUN_vertex" extensions
-{-# NOINLINE gl_SUN_vertex #-}
-
--- | Is the <https://www.opengl.org/registry/specs/SUNX/constant_data.txt SUNX_constant_data> extension supported?
-glGetSUNXConstantData :: MonadIO m => m Bool
-glGetSUNXConstantData = getExtensions >>= (return . member "GL_SUNX_constant_data")
-
--- | Is the <https://www.opengl.org/registry/specs/SUNX/constant_data.txt SUNX_constant_data> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetSUNXConstantData' in those cases instead.
-gl_SUNX_constant_data :: Bool
-gl_SUNX_constant_data = member "GL_SUNX_constant_data" extensions
-{-# NOINLINE gl_SUNX_constant_data #-}
-
--- | Is the <https://www.opengl.org/registry/specs/WIN/phong_shading.txt WIN_phong_shading> extension supported?
-glGetWINPhongShading :: MonadIO m => m Bool
-glGetWINPhongShading = getExtensions >>= (return . member "GL_WIN_phong_shading")
-
--- | Is the <https://www.opengl.org/registry/specs/WIN/phong_shading.txt WIN_phong_shading> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetWINPhongShading' in those cases instead.
-gl_WIN_phong_shading :: Bool
-gl_WIN_phong_shading = member "GL_WIN_phong_shading" extensions
-{-# NOINLINE gl_WIN_phong_shading #-}
-
--- | Is the <https://www.opengl.org/registry/specs/WIN/specular_fog.txt WIN_specular_fog> extension supported?
-glGetWINSpecularFog :: MonadIO m => m Bool
-glGetWINSpecularFog = getExtensions >>= (return . member "GL_WIN_specular_fog")
-
--- | Is the <https://www.opengl.org/registry/specs/WIN/specular_fog.txt WIN_specular_fog> extension supported?
--- Note that in the presence of multiple contexts with different capabilities,
--- this might be wrong. Use 'glGetWINSpecularFog' in those cases instead.
-gl_WIN_specular_fog :: Bool
-gl_WIN_specular_fog = member "GL_WIN_specular_fog" extensions
-{-# NOINLINE gl_WIN_specular_fog #-}
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Foreign.hs b/src/Graphics/Rendering/OpenGL/Raw/Foreign.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Foreign.hs
+++ /dev/null
@@ -1,3555 +0,0 @@
-{-# LANGUAGE CPP #-}
-{-# OPTIONS_HADDOCK hide #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Foreign
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All foreign imports.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Foreign where
-
-import Foreign.C.Types
-import Foreign.Ptr
-import Graphics.Rendering.OpenGL.Raw.Types
-import Numeric.Half
-
-foreign import CALLCONV "dynamic" dyn201
-  :: FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
-  ->         GLDEBUGPROC -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn202
-  :: FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
-  ->         GLDEBUGPROCAMD -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn203
-  :: FunPtr (GLDEBUGPROCARB -> Ptr a -> IO ())
-  ->         GLDEBUGPROCARB -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn204
-  :: FunPtr (GLDEBUGPROCKHR -> Ptr a -> IO ())
-  ->         GLDEBUGPROCKHR -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn376
-  :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn375
-  :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn69
-  :: FunPtr (GLbitfield -> IO ())
-  ->         GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn122
-  :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-  ->         GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn190
-  :: FunPtr (GLboolean -> IO ())
-  ->         GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn107
-  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn36
-  :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn718
-  :: FunPtr (GLbyte -> GLbyte -> IO ())
-  ->         GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn458
-  :: FunPtr (GLbyte -> IO ())
-  ->         GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn215
-  :: FunPtr (GLclampd -> GLclampd -> IO ())
-  ->         GLclampd -> GLclampd -> IO ()
-
-foreign import CALLCONV "dynamic" dyn692
-  :: FunPtr (GLclampf -> GLboolean -> IO ())
-  ->         GLclampf -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn222
-  :: FunPtr (GLclampf -> GLclampf -> IO ())
-  ->         GLclampf -> GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn80
-  :: FunPtr (GLclampf -> IO ())
-  ->         GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn691
-  :: FunPtr (GLclampx -> GLboolean -> IO ())
-  ->         GLclampx -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn292
-  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn108
-  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn38
-  :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn216
-  :: FunPtr (GLdouble -> GLdouble -> IO ())
-  ->         GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn78
-  :: FunPtr (GLdouble -> IO ())
-  ->         GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn275
-  :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
-  ->         GLenum -> GLbitfield -> IO GLsync
-
-foreign import CALLCONV "dynamic" dyn444
-  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn332
-  :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn553
-  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn548
-  :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn542
-  :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn535
-  :: FunPtr (GLenum -> GLbyte -> IO ())
-  ->         GLenum -> GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn9
-  :: FunPtr (GLenum -> GLclampf -> IO ())
-  ->         GLenum -> GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn512
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn516
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn518
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn209
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn492
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn489
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn543
-  :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn537
-  :: FunPtr (GLenum -> GLdouble -> IO ())
-  ->         GLenum -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn257
-  :: FunPtr (GLenum -> GLeglImageOES -> IO ())
-  ->         GLenum -> GLeglImageOES -> IO ()
-
-foreign import CALLCONV "dynamic" dyn520
-  :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn725
-  :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn560
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn134
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn133
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn53
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn315
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn316
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn70
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn558
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn559
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn343
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn342
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn205
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn450
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ()
-
-foreign import CALLCONV "dynamic" dyn442
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn287
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn286
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn285
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn282
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn296
-  :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
-  ->         GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn710
-  :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn31
-  :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint)
-  ->         GLenum -> GLenum -> GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn350
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn317
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn318
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn354
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn314
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn399
-  :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
-  ->         GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ()
-
-foreign import CALLCONV "dynamic" dyn161
-  :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-  ->         GLenum -> GLenum -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn160
-  :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn351
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn168
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn169
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn138
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn139
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn140
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn352
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn353
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn172
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn171
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn566
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn143
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn170
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn565
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn142
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn564
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn141
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn561
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn562
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn563
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn166
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn165
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn709
-  :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn62
-  :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn604
-  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn320
-  :: FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn531
-  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn163
-  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn71
-  :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn130
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn341
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn159
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn699
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ()
-
-foreign import CALLCONV "dynamic" dyn738
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn674
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn445
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn446
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn447
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn206
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn626
-  :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn207
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn288
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn291
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn289
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn290
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn284
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn717
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn208
-  :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn29
-  :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn51
-  :: FunPtr (GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn495
-  :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
-  ->         GLenum -> GLenum -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn28
-  :: FunPtr (GLenum -> GLenum -> IO GLuint)
-  ->         GLenum -> GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn313
-  :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn349
-  :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn162
-  :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn131
-  :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn132
-  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn400
-  :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn311
-  :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn409
-  :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn312
-  :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-  ->         GLenum -> GLenum -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn530
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn529
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn528
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn241
-  :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn556
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn552
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn494
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn491
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn547
-  :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn1
-  :: FunPtr (GLenum -> GLfixed -> IO ())
-  ->         GLenum -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn517
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn519
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn210
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn493
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn490
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn544
-  :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn0
-  :: FunPtr (GLenum -> GLfloat -> IO ())
-  ->         GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn554
-  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn549
-  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn545
-  :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn538
-  :: FunPtr (GLenum -> GLhalfNV -> IO ())
-  ->         GLenum -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn451
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn405
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn175
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn176
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn144
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn145
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn731
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn146
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn734
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn13
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn557
-  :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn408
-  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ())
-  ->         GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn406
-  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn407
-  :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn72
-  :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLfloat -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn179
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn741
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn178
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn735
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn271
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn149
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn177
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn264
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn740
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn148
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn550
-  :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn739
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn147
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn726
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn727
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn730
-  :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn263
-  :: FunPtr (GLenum -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn231
-  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn230
-  :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn228
-  :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn443
-  :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn600
-  :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
-  ->         GLenum -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn55
-  :: FunPtr (GLenum -> GLint -> IO ())
-  ->         GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn279
-  :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-  ->         GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn588
-  :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn386
-  :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
-  ->         GLenum -> GLint -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn73
-  :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn74
-  :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ())
-  ->         GLenum -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn75
-  :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn321
-  :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
-  ->         GLenum -> GLint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn463
-  :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
-  ->         GLenum -> GLintptr -> GLbitfield -> IO GLsync
-
-foreign import CALLCONV "dynamic" dyn525
-  :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn496
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-  ->         GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn61
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
-  ->         GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn277
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn64
-  :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-  ->         GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn65
-  :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
-  ->         GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn555
-  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn551
-  :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn546
-  :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn540
-  :: FunPtr (GLenum -> GLshort -> IO ())
-  ->         GLenum -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn462
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn728
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn732
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn737
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn675
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn736
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn240
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn245
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn244
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn243
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn242
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn377
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn239
-  :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn164
-  :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn129
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn676
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn729
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn733
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn464
-  :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn238
-  :: FunPtr (GLenum -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn199
-  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-  ->         GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn677
-  :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> GLsizei -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn469
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn225
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn224
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn196
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn448
-  :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
-  ->         GLenum -> GLsizei -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn46
-  :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn63
-  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-  ->         GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn59
-  :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-  ->         GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn60
-  :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ())
-  ->         GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn618
-  :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn770
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn348
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn497
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn664
-  :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn591
-  :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
-  ->         GLenum -> GLuint -> GLenum -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn391
-  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn346
-  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn347
-  :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn619
-  :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn620
-  :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn256
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn480
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn624
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn283
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn621
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn367
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn485
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn22
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn23
-  :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ())
-  ->         GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn247
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn21
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn20
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn250
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn249
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn248
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn617
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn615
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn616
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn121
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn8
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn120
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn7
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn119
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn6
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn703
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn702
-  :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn17
-  :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn532
-  :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn58
-  :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
-  ->         GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn16
-  :: FunPtr (GLenum -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn403
-  :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
-  ->         GLenum -> GLuint -> IO (Ptr GLubyte)
-
-foreign import CALLCONV "dynamic" dyn473
-  :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-  ->         GLenum -> GLuint -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn319
-  :: FunPtr (GLenum -> GLuint -> IO GLuint)
-  ->         GLenum -> GLuint -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn387
-  :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> GLuint -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn309
-  :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn327
-  :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn266
-  :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn338
-  :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn336
-  :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn235
-  :: FunPtr (GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn213
-  :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn339
-  :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
-  ->         GLenum -> GLuint -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn4
-  :: FunPtr (GLenum -> IO ())
-  ->         GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn402
-  :: FunPtr (GLenum -> IO (Ptr GLubyte))
-  ->         GLenum -> IO (Ptr GLubyte)
-
-foreign import CALLCONV "dynamic" dyn472
-  :: FunPtr (GLenum -> IO GLboolean)
-  ->         GLenum -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn67
-  :: FunPtr (GLenum -> IO GLenum)
-  ->         GLenum -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn197
-  :: FunPtr (GLenum -> IO GLhandleARB)
-  ->         GLenum -> IO GLhandleARB
-
-foreign import CALLCONV "dynamic" dyn673
-  :: FunPtr (GLenum -> IO GLint)
-  ->         GLenum -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn30
-  :: FunPtr (GLenum -> IO GLuint)
-  ->         GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn401
-  :: FunPtr (GLenum -> IO GLushort)
-  ->         GLenum -> IO GLushort
-
-foreign import CALLCONV "dynamic" dyn267
-  :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn310
-  :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
-  ->         GLenum -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn536
-  :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
-  ->         GLenum -> Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn198
-  :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint)
-  ->         GLenum -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn92
-  :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-  ->         GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn94
-  :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-  ->         GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn93
-  :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-  ->         GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn539
-  :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
-  ->         GLenum -> Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn135
-  :: FunPtr (GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn521
-  :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn337
-  :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
-  ->         GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn541
-  :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-  ->         GLenum -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn526
-  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
-  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn527
-  :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn124
-  :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-  ->         GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn234
-  :: FunPtr (GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ())
-  ->         GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn340
-  :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
-  ->         GLenum -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn385
-  :: FunPtr (GLenum -> Ptr GLushort -> IO ())
-  ->         GLenum -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn596
-  :: FunPtr (GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum)
-  ->         GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn524
-  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn523
-  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn522
-  :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-  ->         GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn229
-  :: FunPtr (GLenum -> Ptr a -> IO ())
-  ->         GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn293
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn255
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn50
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn105
-  :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn223
-  :: FunPtr (GLfixed -> GLfixed -> IO ())
-  ->         GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn81
-  :: FunPtr (GLfixed -> IO ())
-  ->         GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn690
-  :: FunPtr (GLfloat -> GLboolean -> IO ())
-  ->         GLfloat -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn724
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn719
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn109
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn609
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn95
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn251
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn49
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn40
-  :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn721
-  :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn221
-  :: FunPtr (GLfloat -> GLfloat -> IO ())
-  ->         GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn79
-  :: FunPtr (GLfloat -> IO ())
-  ->         GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn111
-  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn97
-  :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn723
-  :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn280
-  :: FunPtr (GLhalfNV -> IO ())
-  ->         GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn368
-  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLhandleARB -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn369
-  :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
-  ->         GLhandleARB -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn14
-  :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
-  ->         GLhandleARB -> GLhandleARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn428
-  :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLhandleARB -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn432
-  :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
-  ->         GLhandleARB -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn704
-  :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
-  ->         GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn334
-  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
-  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn305
-  :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
-  ->         GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn299
-  :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
-  ->         GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn19
-  :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ())
-  ->         GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn136
-  :: FunPtr (GLhandleARB -> IO ())
-  ->         GLhandleARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn308
-  :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
-  ->         GLhandleARB -> Ptr GLcharARB -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn803
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn796
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn501
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn498
-  :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn776
-  :: FunPtr (GLint -> GLdouble -> IO ())
-  ->         GLint -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn127
-  :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-  ->         GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn126
-  :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-  ->         GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn118
-  :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
-  ->         GLint -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn125
-  :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn128
-  :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLint -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn503
-  :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-  ->         GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn500
-  :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ())
-  ->         GLint -> GLfixed -> GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn804
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn797
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn502
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn499
-  :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn778
-  :: FunPtr (GLint -> GLfloat -> IO ())
-  ->         GLint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn56
-  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-  ->         GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn252
-  :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn76
-  :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn42
-  :: FunPtr (GLint -> GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn668
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn667
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn174
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn694
-  :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn265
-  :: FunPtr (GLint -> GLint -> IO ())
-  ->         GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn805
-  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn798
-  :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn791
-  :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn780
-  :: FunPtr (GLint -> GLint64 -> IO ())
-  ->         GLint -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn806
-  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn799
-  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn792
-  :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn781
-  :: FunPtr (GLint -> GLint64EXT -> IO ())
-  ->         GLint -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn810
-  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-  ->         GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn811
-  :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-  ->         GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn486
-  :: FunPtr (GLint -> GLsizei -> IO ())
-  ->         GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn777
-  :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn779
-  :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn784
-  :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn782
-  :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn783
-  :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn790
-  :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn788
-  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn789
-  :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-  ->         GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn807
-  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn800
-  :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn793
-  :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn785
-  :: FunPtr (GLint -> GLuint -> IO ())
-  ->         GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn808
-  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn801
-  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn794
-  :: FunPtr (GLint -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn786
-  :: FunPtr (GLint -> GLuint64 -> IO ())
-  ->         GLint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn809
-  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn802
-  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn795
-  :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn787
-  :: FunPtr (GLint -> GLuint64EXT -> IO ())
-  ->         GLint -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn481
-  :: FunPtr (GLint -> GLushort -> IO ())
-  ->         GLint -> GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn12
-  :: FunPtr (GLint -> IO ())
-  ->         GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn261
-  :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ())
-  ->         GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn878
-  :: FunPtr (GLint -> Ptr GLbyte -> IO ())
-  ->         GLint -> Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn366
-  :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
-  ->         GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn365
-  :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
-  ->         GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn212
-  :: FunPtr (GLint -> Ptr GLchar -> IO ())
-  ->         GLint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn475
-  :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean)
-  ->         GLint -> Ptr GLchar -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn879
-  :: FunPtr (GLint -> Ptr GLdouble -> IO ())
-  ->         GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn233
-  :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ())
-  ->         GLint -> Ptr GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn880
-  :: FunPtr (GLint -> Ptr GLfloat -> IO ())
-  ->         GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn881
-  :: FunPtr (GLint -> Ptr GLint -> IO ())
-  ->         GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn882
-  :: FunPtr (GLint -> Ptr GLshort -> IO ())
-  ->         GLint -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn513
-  :: FunPtr (GLint -> Ptr GLubyte -> IO ())
-  ->         GLint -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn514
-  :: FunPtr (GLint -> Ptr GLuint -> IO ())
-  ->         GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn515
-  :: FunPtr (GLint -> Ptr GLushort -> IO ())
-  ->         GLint -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn227
-  :: FunPtr (GLintptr -> IO ())
-  ->         GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn253
-  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn112
-  :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn44
-  :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn665
-  :: FunPtr (GLshort -> GLshort -> IO ())
-  ->         GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn459
-  :: FunPtr (GLshort -> IO ())
-  ->         GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn274
-  :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
-  ->         GLsizei -> GLenum -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn273
-  :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn189
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn712
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn707
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn714
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn711
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn66
-  :: FunPtr (GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn246
-  :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn48
-  :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ())
-  ->         GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn47
-  :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
-  ->         GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn260
-  :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
-  ->         GLsizei -> GLsizei -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn706
-  :: FunPtr (GLsizei -> GLuint -> IO ())
-  ->         GLsizei -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn258
-  :: FunPtr (GLsizei -> IO ())
-  ->         GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn294
-  :: FunPtr (GLsizei -> IO GLuint)
-  ->         GLsizei -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn465
-  :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
-  ->         GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn232
-  :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
-  ->         GLsizei -> Ptr GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn191
-  :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn771
-  :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
-  ->         GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn773
-  :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
-  ->         GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn466
-  :: FunPtr (GLsizei -> Ptr GLint -> IO ())
-  ->         GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn449
-  :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
-  ->         GLsizei -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn701
-  :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-  ->         GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn192
-  :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-  ->         GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn11
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-  ->         GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn611
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
-  ->         GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ()
-
-foreign import CALLCONV "dynamic" dyn612
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ())
-  ->         GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn610
-  :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
-  ->         GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn817
-  :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
-  ->         GLsizei -> Ptr GLvdpauSurfaceNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn589
-  :: FunPtr (GLsizei -> Ptr a -> GLenum -> IO GLuint)
-  ->         GLsizei -> Ptr a -> GLenum -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn259
-  :: FunPtr (GLsizei -> Ptr a -> IO ())
-  ->         GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn876
-  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
-  ->         GLsync -> GLbitfield -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn91
-  :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
-  ->         GLsync -> GLbitfield -> GLuint64 -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn404
-  :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-  ->         GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn214
-  :: FunPtr (GLsync -> IO ())
-  ->         GLsync -> IO ()
-
-foreign import CALLCONV "dynamic" dyn478
-  :: FunPtr (GLsync -> IO GLboolean)
-  ->         GLsync -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn116
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn114
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn113
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn99
-  :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
-  ->         GLubyte -> GLubyte -> GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn460
-  :: FunPtr (GLubyte -> IO ())
-  ->         GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn813
-  :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
-  ->         GLuint -> GLbitfield -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn693
-  :: FunPtr (GLuint -> GLbitfield -> IO ())
-  ->         GLuint -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn123
-  :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-  ->         GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn698
-  :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn666
-  :: FunPtr (GLuint -> GLboolean -> IO ())
-  ->         GLuint -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn848
-  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn844
-  :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn219
-  :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn837
-  :: FunPtr (GLuint -> GLdouble -> IO ())
-  ->         GLuint -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn869
-  :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn870
-  :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn54
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn82
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn752
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn753
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn763
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn584
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn574
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn573
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn743
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn570
-  :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn52
-  :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn417
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn359
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn416
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn364
-  :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn483
-  :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn412
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn180
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn181
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn150
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn151
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn152
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn414
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn270
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn85
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn188
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn186
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn768
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn158
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn184
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn167
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn767
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn156
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn765
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn154
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn744
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn745
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn748
-  :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn484
-  :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn86
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn87
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn88
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn323
-  :: FunPtr (GLuint -> GLenum -> GLint -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn83
-  :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn758
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn762
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn760
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn756
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn755
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn747
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn750
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn746
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn749
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn585
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn821
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn379
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn601
-  :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn84
-  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn599
-  :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
-  ->         GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn577
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn769
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn713
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn301
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn578
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn575
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn579
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn576
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn572
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn742
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn394
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn395
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn581
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn582
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn300
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn583
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn580
-  :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn708
-  :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn362
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn363
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn360
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn421
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn361
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn822
-  :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> GLuint -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn15
-  :: FunPtr (GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn504
-  :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
-  ->         GLuint -> GLenum -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn479
-  :: FunPtr (GLuint -> GLenum -> IO GLboolean)
-  ->         GLuint -> GLenum -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn68
-  :: FunPtr (GLuint -> GLenum -> IO GLenum)
-  ->         GLuint -> GLenum -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn357
-  :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn344
-  :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn393
-  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
-  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn392
-  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> GLenum -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn269
-  :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn438
-  :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn345
-  :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn331
-  :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn355
-  :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn439
-  :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn396
-  :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn371
-  :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn398
-  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn356
-  :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> GLenum -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn598
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn597
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn595
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
-  ->         GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn614
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLint -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn613
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn700
-  :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn684
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn680
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn686
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn678
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn687
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn849
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn688
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn220
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn477
-  :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-  ->         GLuint -> GLfloat -> GLfloat -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn838
-  :: FunPtr (GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn850
-  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn845
-  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn842
-  :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn839
-  :: FunPtr (GLuint -> GLhalfNV -> IO ())
-  ->         GLuint -> GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn507
-  :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
-  ->         GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn333
-  :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
-  ->         GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64
-
-foreign import CALLCONV "dynamic" dyn653
-  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn645
-  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn637
-  :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn627
-  :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn852
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn854
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn871
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn853
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn411
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn89
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn625
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn857
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn858
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn856
-  :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn413
-  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn415
-  :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn654
-  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn646
-  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn638
-  :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn628
-  :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn187
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn185
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn655
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn751
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn419
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn90
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn157
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn324
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn471
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn183
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn647
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn766
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn155
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn639
-  :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn764
-  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn153
-  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn696
-  :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn629
-  :: FunPtr (GLuint -> GLint -> GLint -> IO ())
-  ->         GLuint -> GLint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn656
-  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn648
-  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn640
-  :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn630
-  :: FunPtr (GLuint -> GLint -> GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn657
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn649
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn641
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn631
-  :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn661
-  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn662
-  :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn452
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn453
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn455
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn454
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn632
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn457
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn456
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn636
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn322
-  :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr a -> IO ())
-  ->         GLuint -> GLint -> GLsizei -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn715
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn658
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn650
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn642
-  :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn633
-  :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
-  ->         GLuint -> GLint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn659
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn651
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn643
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn634
-  :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
-  ->         GLuint -> GLint -> GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn660
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn652
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn644
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn635
-  :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn470
-  :: FunPtr (GLuint -> GLint -> IO ())
-  ->         GLuint -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn423
-  :: FunPtr (GLuint -> GLint -> IO GLint)
-  ->         GLuint -> GLint -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn425
-  :: FunPtr (GLuint -> GLint -> IO GLintptr)
-  ->         GLuint -> GLint -> IO GLintptr
-
-foreign import CALLCONV "dynamic" dyn426
-  :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn427
-  :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn431
-  :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn429
-  :: FunPtr (GLuint -> GLint -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLint -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn430
-  :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> GLint -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn435
-  :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn433
-  :: FunPtr (GLuint -> GLint -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLint -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn434
-  :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> GLint -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn867
-  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn865
-  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn863
-  :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn859
-  :: FunPtr (GLuint -> GLint64EXT -> IO ())
-  ->         GLuint -> GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn505
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-  ->         GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn568
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
-  ->         GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn278
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn358
-  :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-  ->         GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn851
-  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn846
-  :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn843
-  :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn841
-  :: FunPtr (GLuint -> GLshort -> IO ())
-  ->         GLuint -> GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn757
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn761
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn759
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn586
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn754
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn594
-  :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn587
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn603
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn605
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
-  ->         GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn602
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn374
-  :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat)
-  ->         GLuint -> GLsizei -> GLsizei -> IO GLfloat
-
-foreign import CALLCONV "dynamic" dyn211
-  :: FunPtr (GLuint -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn774
-  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn137
-  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn424
-  :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn218
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn468
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn281
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn325
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn326
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn217
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn872
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn775
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn695
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn873
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn328
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn388
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn306
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn622
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn623
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn593
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn874
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn389
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn390
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn303
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn27
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn877
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn33
-  :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-  ->         GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn569
-  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-  ->         GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn567
-  :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-  ->         GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn682
-  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn847
-  :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-  ->         GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn510
-  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn508
-  :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn716
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn35
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn833
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn397
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn34
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ()
-
-foreign import CALLCONV "dynamic" dyn832
-  :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn592
-  :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn437
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ()
-
-foreign import CALLCONV "dynamic" dyn440
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn441
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn297
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn436
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn380
-  :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr a -> IO ())
-  ->         GLuint -> GLuint -> GLenum -> Ptr a -> IO ()
-
-foreign import CALLCONV "dynamic" dyn254
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn511
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn509
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn476
-  :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-  ->         GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn25
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn26
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn827
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn830
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn828
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn57
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn182
-  :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLint -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn173
-  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn32
-  :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn831
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn571
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn302
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn298
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn304
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn836
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn812
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn382
-  :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn467
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn835
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn834
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn829
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ()
-
-foreign import CALLCONV "dynamic" dyn772
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ()
-
-foreign import CALLCONV "dynamic" dyn705
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ()
-
-foreign import CALLCONV "dynamic" dyn226
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn855
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn77
-  :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn101
-  :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn378
-  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn24
-  :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn3
-  :: FunPtr (GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn418
-  :: FunPtr (GLuint -> GLuint -> IO GLuint64)
-  ->         GLuint -> GLuint -> IO GLuint64
-
-foreign import CALLCONV "dynamic" dyn482
-  :: FunPtr (GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn18
-  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
-  ->         GLuint -> GLuint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn384
-  :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn420
-  :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn607
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn608
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn868
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn866
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn864
-  :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn861
-  :: FunPtr (GLuint -> GLuint64EXT -> IO ())
-  ->         GLuint -> GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn2
-  :: FunPtr (GLuint -> IO ())
-  ->         GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn506
-  :: FunPtr (GLuint -> IO (Ptr a))
-  ->         GLuint -> IO (Ptr a)
-
-foreign import CALLCONV "dynamic" dyn272
-  :: FunPtr (GLuint -> IO GLboolean)
-  ->         GLuint -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn295
-  :: FunPtr (GLuint -> IO GLuint)
-  ->         GLuint -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn410
-  :: FunPtr (GLuint -> IO GLuint64)
-  ->         GLuint -> IO GLuint64
-
-foreign import CALLCONV "dynamic" dyn823
-  :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-  ->         GLuint -> Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn5
-  :: FunPtr (GLuint -> Ptr GLchar -> IO ())
-  ->         GLuint -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn307
-  :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-  ->         GLuint -> Ptr GLchar -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn422
-  :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
-  ->         GLuint -> Ptr GLchar -> IO GLuint
-
-foreign import CALLCONV "dynamic" dyn824
-  :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-  ->         GLuint -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn373
-  :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-  ->         GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn840
-  :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
-  ->         GLuint -> Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn697
-  :: FunPtr (GLuint -> Ptr GLint -> IO ())
-  ->         GLuint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn381
-  :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn860
-  :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
-  ->         GLuint -> Ptr GLint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn237
-  :: FunPtr (GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-  ->         GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn825
-  :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-  ->         GLuint -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn372
-  :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-  ->         GLuint -> Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn193
-  :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-  ->         GLuint -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn875
-  :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
-  ->         GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum
-
-foreign import CALLCONV "dynamic" dyn862
-  :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
-  ->         GLuint -> Ptr GLuint64EXT -> IO ()
-
-foreign import CALLCONV "dynamic" dyn826
-  :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-  ->         GLuint -> Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn488
-  :: FunPtr (GLuint64 -> GLenum -> IO ())
-  ->         GLuint64 -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn487
-  :: FunPtr (GLuint64 -> IO ())
-  ->         GLuint64 -> IO ()
-
-foreign import CALLCONV "dynamic" dyn474
-  :: FunPtr (GLuint64 -> IO GLboolean)
-  ->         GLuint64 -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn117
-  :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
-  ->         GLushort -> GLushort -> GLushort -> GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn103
-  :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-  ->         GLushort -> GLushort -> GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn461
-  :: FunPtr (GLushort -> IO ())
-  ->         GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn814
-  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-  ->         GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn819
-  :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
-  ->         GLvdpauSurfaceNV -> GLenum -> IO ()
-
-foreign import CALLCONV "dynamic" dyn820
-  :: FunPtr (GLvdpauSurfaceNV -> IO ())
-  ->         GLvdpauSurfaceNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn816
-  :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
-  ->         GLvdpauSurfaceNV -> IO GLboolean
-
-foreign import CALLCONV "dynamic" dyn10
-  :: FunPtr (IO ())
-  ->         IO ()
-
-foreign import CALLCONV "dynamic" dyn330
-  :: FunPtr (IO GLenum)
-  ->         IO GLenum
-
-foreign import CALLCONV "dynamic" dyn195
-  :: FunPtr (IO GLhandleARB)
-  ->         IO GLhandleARB
-
-foreign import CALLCONV "dynamic" dyn335
-  :: FunPtr (IO GLint)
-  ->         IO GLint
-
-foreign import CALLCONV "dynamic" dyn194
-  :: FunPtr (IO GLuint)
-  ->         IO GLuint
-
-foreign import CALLCONV "dynamic" dyn262
-  :: FunPtr (Ptr GLboolean -> IO ())
-  ->         Ptr GLboolean -> IO ()
-
-foreign import CALLCONV "dynamic" dyn37
-  :: FunPtr (Ptr GLbyte -> IO ())
-  ->         Ptr GLbyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn383
-  :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
-  ->         Ptr GLchar -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn39
-  :: FunPtr (Ptr GLdouble -> IO ())
-  ->         Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn669
-  :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
-  ->         Ptr GLdouble -> Ptr GLdouble -> IO ()
-
-foreign import CALLCONV "dynamic" dyn533
-  :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ())
-  ->         Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn534
-  :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ())
-  ->         Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn106
-  :: FunPtr (Ptr GLfixed -> IO ())
-  ->         Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn672
-  :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ())
-  ->         Ptr GLfixed -> Ptr GLfixed -> IO ()
-
-foreign import CALLCONV "dynamic" dyn663
-  :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield)
-  ->         Ptr GLfixed -> Ptr GLint -> IO GLbitfield
-
-foreign import CALLCONV "dynamic" dyn41
-  :: FunPtr (Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn96
-  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn110
-  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn720
-  :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn722
-  :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn98
-  :: FunPtr (Ptr GLhalfNV -> IO ())
-  ->         Ptr GLhalfNV -> IO ()
-
-foreign import CALLCONV "dynamic" dyn329
-  :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-  ->         Ptr GLint -> GLsizei -> Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn43
-  :: FunPtr (Ptr GLint -> IO ())
-  ->         Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn606
-  :: FunPtr (Ptr GLint -> IO GLint)
-  ->         Ptr GLint -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn670
-  :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
-  ->         Ptr GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn45
-  :: FunPtr (Ptr GLshort -> IO ())
-  ->         Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn671
-  :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
-  ->         Ptr GLshort -> Ptr GLshort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn100
-  :: FunPtr (Ptr GLubyte -> IO ())
-  ->         Ptr GLubyte -> IO ()
-
-foreign import CALLCONV "dynamic" dyn115
-  :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn268
-  :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-  ->         Ptr GLuint -> GLint -> Ptr GLint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn102
-  :: FunPtr (Ptr GLuint -> IO ())
-  ->         Ptr GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn276
-  :: FunPtr (Ptr GLuint -> IO GLint)
-  ->         Ptr GLuint -> IO GLint
-
-foreign import CALLCONV "dynamic" dyn689
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn679
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn681
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn685
-  :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn683
-  :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-  ->         Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ()
-
-foreign import CALLCONV "dynamic" dyn236
-  :: FunPtr (Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-  ->         Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ()
-
-foreign import CALLCONV "dynamic" dyn104
-  :: FunPtr (Ptr GLushort -> IO ())
-  ->         Ptr GLushort -> IO ()
-
-foreign import CALLCONV "dynamic" dyn818
-  :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
-  ->         Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV
-
-foreign import CALLCONV "dynamic" dyn590
-  :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
-  ->         Ptr a -> GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn370
-  :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-  ->         Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ()
-
-foreign import CALLCONV "dynamic" dyn200
-  :: FunPtr (Ptr a -> Ptr b -> GLbitfield -> IO GLsync)
-  ->         Ptr a -> Ptr b -> GLbitfield -> IO GLsync
-
-foreign import CALLCONV "dynamic" dyn815
-  :: FunPtr (Ptr a -> Ptr b -> IO ())
-  ->         Ptr a -> Ptr b -> IO ()
-
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Functions.hs b/src/Graphics/Rendering/OpenGL/Raw/Functions.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Functions.hs
+++ /dev/null
@@ -1,49502 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Functions
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All raw functions from the
--- <http://www.opengl.org/registry/ OpenGL registry>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Functions (
-  glAccum,
-  glAccumxOES,
-  glActiveProgramEXT,
-  glActiveShaderProgram,
-  glActiveShaderProgramEXT,
-  glActiveStencilFaceEXT,
-  glActiveTexture,
-  glActiveTextureARB,
-  glActiveVaryingNV,
-  glAlphaFragmentOp1ATI,
-  glAlphaFragmentOp2ATI,
-  glAlphaFragmentOp3ATI,
-  glAlphaFunc,
-  glAlphaFuncQCOM,
-  glAlphaFuncx,
-  glAlphaFuncxOES,
-  glApplyFramebufferAttachmentCMAAINTEL,
-  glApplyTextureEXT,
-  glAreProgramsResidentNV,
-  glAreTexturesResident,
-  glAreTexturesResidentEXT,
-  glArrayElement,
-  glArrayElementEXT,
-  glArrayObjectATI,
-  glAsyncMarkerSGIX,
-  glAttachObjectARB,
-  glAttachShader,
-  glBegin,
-  glBeginConditionalRender,
-  glBeginConditionalRenderNV,
-  glBeginConditionalRenderNVX,
-  glBeginFragmentShaderATI,
-  glBeginOcclusionQueryNV,
-  glBeginPerfMonitorAMD,
-  glBeginPerfQueryINTEL,
-  glBeginQuery,
-  glBeginQueryARB,
-  glBeginQueryEXT,
-  glBeginQueryIndexed,
-  glBeginTransformFeedback,
-  glBeginTransformFeedbackEXT,
-  glBeginTransformFeedbackNV,
-  glBeginVertexShaderEXT,
-  glBeginVideoCaptureNV,
-  glBindAttribLocation,
-  glBindAttribLocationARB,
-  glBindBuffer,
-  glBindBufferARB,
-  glBindBufferBase,
-  glBindBufferBaseEXT,
-  glBindBufferBaseNV,
-  glBindBufferOffsetEXT,
-  glBindBufferOffsetNV,
-  glBindBufferRange,
-  glBindBufferRangeEXT,
-  glBindBufferRangeNV,
-  glBindBuffersBase,
-  glBindBuffersRange,
-  glBindFragDataLocation,
-  glBindFragDataLocationEXT,
-  glBindFragDataLocationIndexed,
-  glBindFragDataLocationIndexedEXT,
-  glBindFragmentShaderATI,
-  glBindFramebuffer,
-  glBindFramebufferEXT,
-  glBindFramebufferOES,
-  glBindImageTexture,
-  glBindImageTextureEXT,
-  glBindImageTextures,
-  glBindLightParameterEXT,
-  glBindMaterialParameterEXT,
-  glBindMultiTextureEXT,
-  glBindParameterEXT,
-  glBindProgramARB,
-  glBindProgramNV,
-  glBindProgramPipeline,
-  glBindProgramPipelineEXT,
-  glBindRenderbuffer,
-  glBindRenderbufferEXT,
-  glBindRenderbufferOES,
-  glBindSampler,
-  glBindSamplers,
-  glBindTexGenParameterEXT,
-  glBindTexture,
-  glBindTextureEXT,
-  glBindTextureUnit,
-  glBindTextureUnitParameterEXT,
-  glBindTextures,
-  glBindTransformFeedback,
-  glBindTransformFeedbackNV,
-  glBindVertexArray,
-  glBindVertexArrayAPPLE,
-  glBindVertexArrayOES,
-  glBindVertexBuffer,
-  glBindVertexBuffers,
-  glBindVertexShaderEXT,
-  glBindVideoCaptureStreamBufferNV,
-  glBindVideoCaptureStreamTextureNV,
-  glBinormal3bEXT,
-  glBinormal3bvEXT,
-  glBinormal3dEXT,
-  glBinormal3dvEXT,
-  glBinormal3fEXT,
-  glBinormal3fvEXT,
-  glBinormal3iEXT,
-  glBinormal3ivEXT,
-  glBinormal3sEXT,
-  glBinormal3svEXT,
-  glBinormalPointerEXT,
-  glBitmap,
-  glBitmapxOES,
-  glBlendBarrier,
-  glBlendBarrierKHR,
-  glBlendBarrierNV,
-  glBlendColor,
-  glBlendColorEXT,
-  glBlendColorxOES,
-  glBlendEquation,
-  glBlendEquationEXT,
-  glBlendEquationIndexedAMD,
-  glBlendEquationOES,
-  glBlendEquationSeparate,
-  glBlendEquationSeparateEXT,
-  glBlendEquationSeparateIndexedAMD,
-  glBlendEquationSeparateOES,
-  glBlendEquationSeparatei,
-  glBlendEquationSeparateiARB,
-  glBlendEquationSeparateiEXT,
-  glBlendEquationSeparateiOES,
-  glBlendEquationi,
-  glBlendEquationiARB,
-  glBlendEquationiEXT,
-  glBlendEquationiOES,
-  glBlendFunc,
-  glBlendFuncIndexedAMD,
-  glBlendFuncSeparate,
-  glBlendFuncSeparateEXT,
-  glBlendFuncSeparateINGR,
-  glBlendFuncSeparateIndexedAMD,
-  glBlendFuncSeparateOES,
-  glBlendFuncSeparatei,
-  glBlendFuncSeparateiARB,
-  glBlendFuncSeparateiEXT,
-  glBlendFuncSeparateiOES,
-  glBlendFunci,
-  glBlendFunciARB,
-  glBlendFunciEXT,
-  glBlendFunciOES,
-  glBlendParameteriNV,
-  glBlitFramebuffer,
-  glBlitFramebufferANGLE,
-  glBlitFramebufferEXT,
-  glBlitFramebufferNV,
-  glBlitNamedFramebuffer,
-  glBufferAddressRangeNV,
-  glBufferData,
-  glBufferDataARB,
-  glBufferPageCommitmentARB,
-  glBufferParameteriAPPLE,
-  glBufferStorage,
-  glBufferStorageEXT,
-  glBufferSubData,
-  glBufferSubDataARB,
-  glCallCommandListNV,
-  glCallList,
-  glCallLists,
-  glCheckFramebufferStatus,
-  glCheckFramebufferStatusEXT,
-  glCheckFramebufferStatusOES,
-  glCheckNamedFramebufferStatus,
-  glCheckNamedFramebufferStatusEXT,
-  glClampColor,
-  glClampColorARB,
-  glClear,
-  glClearAccum,
-  glClearAccumxOES,
-  glClearBufferData,
-  glClearBufferSubData,
-  glClearBufferfi,
-  glClearBufferfv,
-  glClearBufferiv,
-  glClearBufferuiv,
-  glClearColor,
-  glClearColorIiEXT,
-  glClearColorIuiEXT,
-  glClearColorx,
-  glClearColorxOES,
-  glClearDepth,
-  glClearDepthdNV,
-  glClearDepthf,
-  glClearDepthfOES,
-  glClearDepthx,
-  glClearDepthxOES,
-  glClearIndex,
-  glClearNamedBufferData,
-  glClearNamedBufferDataEXT,
-  glClearNamedBufferSubData,
-  glClearNamedBufferSubDataEXT,
-  glClearNamedFramebufferfi,
-  glClearNamedFramebufferfv,
-  glClearNamedFramebufferiv,
-  glClearNamedFramebufferuiv,
-  glClearStencil,
-  glClearTexImage,
-  glClearTexSubImage,
-  glClientActiveTexture,
-  glClientActiveTextureARB,
-  glClientActiveVertexStreamATI,
-  glClientAttribDefaultEXT,
-  glClientWaitSync,
-  glClientWaitSyncAPPLE,
-  glClipControl,
-  glClipPlane,
-  glClipPlanef,
-  glClipPlanefIMG,
-  glClipPlanefOES,
-  glClipPlanex,
-  glClipPlanexIMG,
-  glClipPlanexOES,
-  glColor3b,
-  glColor3bv,
-  glColor3d,
-  glColor3dv,
-  glColor3f,
-  glColor3fVertex3fSUN,
-  glColor3fVertex3fvSUN,
-  glColor3fv,
-  glColor3hNV,
-  glColor3hvNV,
-  glColor3i,
-  glColor3iv,
-  glColor3s,
-  glColor3sv,
-  glColor3ub,
-  glColor3ubv,
-  glColor3ui,
-  glColor3uiv,
-  glColor3us,
-  glColor3usv,
-  glColor3xOES,
-  glColor3xvOES,
-  glColor4b,
-  glColor4bv,
-  glColor4d,
-  glColor4dv,
-  glColor4f,
-  glColor4fNormal3fVertex3fSUN,
-  glColor4fNormal3fVertex3fvSUN,
-  glColor4fv,
-  glColor4hNV,
-  glColor4hvNV,
-  glColor4i,
-  glColor4iv,
-  glColor4s,
-  glColor4sv,
-  glColor4ub,
-  glColor4ubVertex2fSUN,
-  glColor4ubVertex2fvSUN,
-  glColor4ubVertex3fSUN,
-  glColor4ubVertex3fvSUN,
-  glColor4ubv,
-  glColor4ui,
-  glColor4uiv,
-  glColor4us,
-  glColor4usv,
-  glColor4x,
-  glColor4xOES,
-  glColor4xvOES,
-  glColorFormatNV,
-  glColorFragmentOp1ATI,
-  glColorFragmentOp2ATI,
-  glColorFragmentOp3ATI,
-  glColorMask,
-  glColorMaskIndexedEXT,
-  glColorMaski,
-  glColorMaskiEXT,
-  glColorMaskiOES,
-  glColorMaterial,
-  glColorP3ui,
-  glColorP3uiv,
-  glColorP4ui,
-  glColorP4uiv,
-  glColorPointer,
-  glColorPointerEXT,
-  glColorPointerListIBM,
-  glColorPointervINTEL,
-  glColorSubTable,
-  glColorSubTableEXT,
-  glColorTable,
-  glColorTableEXT,
-  glColorTableParameterfv,
-  glColorTableParameterfvSGI,
-  glColorTableParameteriv,
-  glColorTableParameterivSGI,
-  glColorTableSGI,
-  glCombinerInputNV,
-  glCombinerOutputNV,
-  glCombinerParameterfNV,
-  glCombinerParameterfvNV,
-  glCombinerParameteriNV,
-  glCombinerParameterivNV,
-  glCombinerStageParameterfvNV,
-  glCommandListSegmentsNV,
-  glCompileCommandListNV,
-  glCompileShader,
-  glCompileShaderARB,
-  glCompileShaderIncludeARB,
-  glCompressedMultiTexImage1DEXT,
-  glCompressedMultiTexImage2DEXT,
-  glCompressedMultiTexImage3DEXT,
-  glCompressedMultiTexSubImage1DEXT,
-  glCompressedMultiTexSubImage2DEXT,
-  glCompressedMultiTexSubImage3DEXT,
-  glCompressedTexImage1D,
-  glCompressedTexImage1DARB,
-  glCompressedTexImage2D,
-  glCompressedTexImage2DARB,
-  glCompressedTexImage3D,
-  glCompressedTexImage3DARB,
-  glCompressedTexImage3DOES,
-  glCompressedTexSubImage1D,
-  glCompressedTexSubImage1DARB,
-  glCompressedTexSubImage2D,
-  glCompressedTexSubImage2DARB,
-  glCompressedTexSubImage3D,
-  glCompressedTexSubImage3DARB,
-  glCompressedTexSubImage3DOES,
-  glCompressedTextureImage1DEXT,
-  glCompressedTextureImage2DEXT,
-  glCompressedTextureImage3DEXT,
-  glCompressedTextureSubImage1D,
-  glCompressedTextureSubImage1DEXT,
-  glCompressedTextureSubImage2D,
-  glCompressedTextureSubImage2DEXT,
-  glCompressedTextureSubImage3D,
-  glCompressedTextureSubImage3DEXT,
-  glConservativeRasterParameterfNV,
-  glConvolutionFilter1D,
-  glConvolutionFilter1DEXT,
-  glConvolutionFilter2D,
-  glConvolutionFilter2DEXT,
-  glConvolutionParameterf,
-  glConvolutionParameterfEXT,
-  glConvolutionParameterfv,
-  glConvolutionParameterfvEXT,
-  glConvolutionParameteri,
-  glConvolutionParameteriEXT,
-  glConvolutionParameteriv,
-  glConvolutionParameterivEXT,
-  glConvolutionParameterxOES,
-  glConvolutionParameterxvOES,
-  glCopyBufferSubData,
-  glCopyBufferSubDataNV,
-  glCopyColorSubTable,
-  glCopyColorSubTableEXT,
-  glCopyColorTable,
-  glCopyColorTableSGI,
-  glCopyConvolutionFilter1D,
-  glCopyConvolutionFilter1DEXT,
-  glCopyConvolutionFilter2D,
-  glCopyConvolutionFilter2DEXT,
-  glCopyImageSubData,
-  glCopyImageSubDataEXT,
-  glCopyImageSubDataNV,
-  glCopyImageSubDataOES,
-  glCopyMultiTexImage1DEXT,
-  glCopyMultiTexImage2DEXT,
-  glCopyMultiTexSubImage1DEXT,
-  glCopyMultiTexSubImage2DEXT,
-  glCopyMultiTexSubImage3DEXT,
-  glCopyNamedBufferSubData,
-  glCopyPathNV,
-  glCopyPixels,
-  glCopyTexImage1D,
-  glCopyTexImage1DEXT,
-  glCopyTexImage2D,
-  glCopyTexImage2DEXT,
-  glCopyTexSubImage1D,
-  glCopyTexSubImage1DEXT,
-  glCopyTexSubImage2D,
-  glCopyTexSubImage2DEXT,
-  glCopyTexSubImage3D,
-  glCopyTexSubImage3DEXT,
-  glCopyTexSubImage3DOES,
-  glCopyTextureImage1DEXT,
-  glCopyTextureImage2DEXT,
-  glCopyTextureLevelsAPPLE,
-  glCopyTextureSubImage1D,
-  glCopyTextureSubImage1DEXT,
-  glCopyTextureSubImage2D,
-  glCopyTextureSubImage2DEXT,
-  glCopyTextureSubImage3D,
-  glCopyTextureSubImage3DEXT,
-  glCoverFillPathInstancedNV,
-  glCoverFillPathNV,
-  glCoverStrokePathInstancedNV,
-  glCoverStrokePathNV,
-  glCoverageMaskNV,
-  glCoverageModulationNV,
-  glCoverageModulationTableNV,
-  glCoverageOperationNV,
-  glCreateBuffers,
-  glCreateCommandListsNV,
-  glCreateFramebuffers,
-  glCreatePerfQueryINTEL,
-  glCreateProgram,
-  glCreateProgramObjectARB,
-  glCreateProgramPipelines,
-  glCreateQueries,
-  glCreateRenderbuffers,
-  glCreateSamplers,
-  glCreateShader,
-  glCreateShaderObjectARB,
-  glCreateShaderProgramEXT,
-  glCreateShaderProgramv,
-  glCreateShaderProgramvEXT,
-  glCreateStatesNV,
-  glCreateSyncFromCLeventARB,
-  glCreateTextures,
-  glCreateTransformFeedbacks,
-  glCreateVertexArrays,
-  glCullFace,
-  glCullParameterdvEXT,
-  glCullParameterfvEXT,
-  glCurrentPaletteMatrixARB,
-  glCurrentPaletteMatrixOES,
-  glDebugMessageCallback,
-  glDebugMessageCallbackAMD,
-  glDebugMessageCallbackARB,
-  glDebugMessageCallbackKHR,
-  glDebugMessageControl,
-  glDebugMessageControlARB,
-  glDebugMessageControlKHR,
-  glDebugMessageEnableAMD,
-  glDebugMessageInsert,
-  glDebugMessageInsertAMD,
-  glDebugMessageInsertARB,
-  glDebugMessageInsertKHR,
-  glDeformSGIX,
-  glDeformationMap3dSGIX,
-  glDeformationMap3fSGIX,
-  glDeleteAsyncMarkersSGIX,
-  glDeleteBuffers,
-  glDeleteBuffersARB,
-  glDeleteCommandListsNV,
-  glDeleteFencesAPPLE,
-  glDeleteFencesNV,
-  glDeleteFragmentShaderATI,
-  glDeleteFramebuffers,
-  glDeleteFramebuffersEXT,
-  glDeleteFramebuffersOES,
-  glDeleteLists,
-  glDeleteNamedStringARB,
-  glDeleteNamesAMD,
-  glDeleteObjectARB,
-  glDeleteOcclusionQueriesNV,
-  glDeletePathsNV,
-  glDeletePerfMonitorsAMD,
-  glDeletePerfQueryINTEL,
-  glDeleteProgram,
-  glDeleteProgramPipelines,
-  glDeleteProgramPipelinesEXT,
-  glDeleteProgramsARB,
-  glDeleteProgramsNV,
-  glDeleteQueries,
-  glDeleteQueriesARB,
-  glDeleteQueriesEXT,
-  glDeleteRenderbuffers,
-  glDeleteRenderbuffersEXT,
-  glDeleteRenderbuffersOES,
-  glDeleteSamplers,
-  glDeleteShader,
-  glDeleteStatesNV,
-  glDeleteSync,
-  glDeleteSyncAPPLE,
-  glDeleteTextures,
-  glDeleteTexturesEXT,
-  glDeleteTransformFeedbacks,
-  glDeleteTransformFeedbacksNV,
-  glDeleteVertexArrays,
-  glDeleteVertexArraysAPPLE,
-  glDeleteVertexArraysOES,
-  glDeleteVertexShaderEXT,
-  glDepthBoundsEXT,
-  glDepthBoundsdNV,
-  glDepthFunc,
-  glDepthMask,
-  glDepthRange,
-  glDepthRangeArrayfvNV,
-  glDepthRangeArrayv,
-  glDepthRangeIndexed,
-  glDepthRangeIndexedfNV,
-  glDepthRangedNV,
-  glDepthRangef,
-  glDepthRangefOES,
-  glDepthRangex,
-  glDepthRangexOES,
-  glDetachObjectARB,
-  glDetachShader,
-  glDetailTexFuncSGIS,
-  glDisable,
-  glDisableClientState,
-  glDisableClientStateIndexedEXT,
-  glDisableClientStateiEXT,
-  glDisableDriverControlQCOM,
-  glDisableIndexedEXT,
-  glDisableVariantClientStateEXT,
-  glDisableVertexArrayAttrib,
-  glDisableVertexArrayAttribEXT,
-  glDisableVertexArrayEXT,
-  glDisableVertexAttribAPPLE,
-  glDisableVertexAttribArray,
-  glDisableVertexAttribArrayARB,
-  glDisablei,
-  glDisableiEXT,
-  glDisableiNV,
-  glDisableiOES,
-  glDiscardFramebufferEXT,
-  glDispatchCompute,
-  glDispatchComputeGroupSizeARB,
-  glDispatchComputeIndirect,
-  glDrawArrays,
-  glDrawArraysEXT,
-  glDrawArraysIndirect,
-  glDrawArraysInstanced,
-  glDrawArraysInstancedANGLE,
-  glDrawArraysInstancedARB,
-  glDrawArraysInstancedBaseInstance,
-  glDrawArraysInstancedBaseInstanceEXT,
-  glDrawArraysInstancedEXT,
-  glDrawArraysInstancedNV,
-  glDrawBuffer,
-  glDrawBuffers,
-  glDrawBuffersARB,
-  glDrawBuffersATI,
-  glDrawBuffersEXT,
-  glDrawBuffersIndexedEXT,
-  glDrawBuffersNV,
-  glDrawCommandsAddressNV,
-  glDrawCommandsNV,
-  glDrawCommandsStatesAddressNV,
-  glDrawCommandsStatesNV,
-  glDrawElementArrayAPPLE,
-  glDrawElementArrayATI,
-  glDrawElements,
-  glDrawElementsBaseVertex,
-  glDrawElementsBaseVertexEXT,
-  glDrawElementsBaseVertexOES,
-  glDrawElementsIndirect,
-  glDrawElementsInstanced,
-  glDrawElementsInstancedANGLE,
-  glDrawElementsInstancedARB,
-  glDrawElementsInstancedBaseInstance,
-  glDrawElementsInstancedBaseInstanceEXT,
-  glDrawElementsInstancedBaseVertex,
-  glDrawElementsInstancedBaseVertexBaseInstance,
-  glDrawElementsInstancedBaseVertexBaseInstanceEXT,
-  glDrawElementsInstancedBaseVertexEXT,
-  glDrawElementsInstancedBaseVertexOES,
-  glDrawElementsInstancedEXT,
-  glDrawElementsInstancedNV,
-  glDrawMeshArraysSUN,
-  glDrawPixels,
-  glDrawRangeElementArrayAPPLE,
-  glDrawRangeElementArrayATI,
-  glDrawRangeElements,
-  glDrawRangeElementsBaseVertex,
-  glDrawRangeElementsBaseVertexEXT,
-  glDrawRangeElementsBaseVertexOES,
-  glDrawRangeElementsEXT,
-  glDrawTexfOES,
-  glDrawTexfvOES,
-  glDrawTexiOES,
-  glDrawTexivOES,
-  glDrawTexsOES,
-  glDrawTexsvOES,
-  glDrawTextureNV,
-  glDrawTexxOES,
-  glDrawTexxvOES,
-  glDrawTransformFeedback,
-  glDrawTransformFeedbackInstanced,
-  glDrawTransformFeedbackNV,
-  glDrawTransformFeedbackStream,
-  glDrawTransformFeedbackStreamInstanced,
-  glEGLImageTargetRenderbufferStorageOES,
-  glEGLImageTargetTexture2DOES,
-  glEdgeFlag,
-  glEdgeFlagFormatNV,
-  glEdgeFlagPointer,
-  glEdgeFlagPointerEXT,
-  glEdgeFlagPointerListIBM,
-  glEdgeFlagv,
-  glElementPointerAPPLE,
-  glElementPointerATI,
-  glEnable,
-  glEnableClientState,
-  glEnableClientStateIndexedEXT,
-  glEnableClientStateiEXT,
-  glEnableDriverControlQCOM,
-  glEnableIndexedEXT,
-  glEnableVariantClientStateEXT,
-  glEnableVertexArrayAttrib,
-  glEnableVertexArrayAttribEXT,
-  glEnableVertexArrayEXT,
-  glEnableVertexAttribAPPLE,
-  glEnableVertexAttribArray,
-  glEnableVertexAttribArrayARB,
-  glEnablei,
-  glEnableiEXT,
-  glEnableiNV,
-  glEnableiOES,
-  glEnd,
-  glEndConditionalRender,
-  glEndConditionalRenderNV,
-  glEndConditionalRenderNVX,
-  glEndFragmentShaderATI,
-  glEndList,
-  glEndOcclusionQueryNV,
-  glEndPerfMonitorAMD,
-  glEndPerfQueryINTEL,
-  glEndQuery,
-  glEndQueryARB,
-  glEndQueryEXT,
-  glEndQueryIndexed,
-  glEndTilingQCOM,
-  glEndTransformFeedback,
-  glEndTransformFeedbackEXT,
-  glEndTransformFeedbackNV,
-  glEndVertexShaderEXT,
-  glEndVideoCaptureNV,
-  glEvalCoord1d,
-  glEvalCoord1dv,
-  glEvalCoord1f,
-  glEvalCoord1fv,
-  glEvalCoord1xOES,
-  glEvalCoord1xvOES,
-  glEvalCoord2d,
-  glEvalCoord2dv,
-  glEvalCoord2f,
-  glEvalCoord2fv,
-  glEvalCoord2xOES,
-  glEvalCoord2xvOES,
-  glEvalMapsNV,
-  glEvalMesh1,
-  glEvalMesh2,
-  glEvalPoint1,
-  glEvalPoint2,
-  glEvaluateDepthValuesARB,
-  glExecuteProgramNV,
-  glExtGetBufferPointervQCOM,
-  glExtGetBuffersQCOM,
-  glExtGetFramebuffersQCOM,
-  glExtGetProgramBinarySourceQCOM,
-  glExtGetProgramsQCOM,
-  glExtGetRenderbuffersQCOM,
-  glExtGetShadersQCOM,
-  glExtGetTexLevelParameterivQCOM,
-  glExtGetTexSubImageQCOM,
-  glExtGetTexturesQCOM,
-  glExtIsProgramBinaryQCOM,
-  glExtTexObjectStateOverrideiQCOM,
-  glExtractComponentEXT,
-  glFeedbackBuffer,
-  glFeedbackBufferxOES,
-  glFenceSync,
-  glFenceSyncAPPLE,
-  glFinalCombinerInputNV,
-  glFinish,
-  glFinishAsyncSGIX,
-  glFinishFenceAPPLE,
-  glFinishFenceNV,
-  glFinishObjectAPPLE,
-  glFinishTextureSUNX,
-  glFlush,
-  glFlushMappedBufferRange,
-  glFlushMappedBufferRangeAPPLE,
-  glFlushMappedBufferRangeEXT,
-  glFlushMappedNamedBufferRange,
-  glFlushMappedNamedBufferRangeEXT,
-  glFlushPixelDataRangeNV,
-  glFlushRasterSGIX,
-  glFlushStaticDataIBM,
-  glFlushVertexArrayRangeAPPLE,
-  glFlushVertexArrayRangeNV,
-  glFogCoordFormatNV,
-  glFogCoordPointer,
-  glFogCoordPointerEXT,
-  glFogCoordPointerListIBM,
-  glFogCoordd,
-  glFogCoorddEXT,
-  glFogCoorddv,
-  glFogCoorddvEXT,
-  glFogCoordf,
-  glFogCoordfEXT,
-  glFogCoordfv,
-  glFogCoordfvEXT,
-  glFogCoordhNV,
-  glFogCoordhvNV,
-  glFogFuncSGIS,
-  glFogf,
-  glFogfv,
-  glFogi,
-  glFogiv,
-  glFogx,
-  glFogxOES,
-  glFogxv,
-  glFogxvOES,
-  glFragmentColorMaterialSGIX,
-  glFragmentCoverageColorNV,
-  glFragmentLightModelfSGIX,
-  glFragmentLightModelfvSGIX,
-  glFragmentLightModeliSGIX,
-  glFragmentLightModelivSGIX,
-  glFragmentLightfSGIX,
-  glFragmentLightfvSGIX,
-  glFragmentLightiSGIX,
-  glFragmentLightivSGIX,
-  glFragmentMaterialfSGIX,
-  glFragmentMaterialfvSGIX,
-  glFragmentMaterialiSGIX,
-  glFragmentMaterialivSGIX,
-  glFrameTerminatorGREMEDY,
-  glFrameZoomSGIX,
-  glFramebufferDrawBufferEXT,
-  glFramebufferDrawBuffersEXT,
-  glFramebufferParameteri,
-  glFramebufferReadBufferEXT,
-  glFramebufferRenderbuffer,
-  glFramebufferRenderbufferEXT,
-  glFramebufferRenderbufferOES,
-  glFramebufferSampleLocationsfvARB,
-  glFramebufferSampleLocationsfvNV,
-  glFramebufferTexture,
-  glFramebufferTexture1D,
-  glFramebufferTexture1DEXT,
-  glFramebufferTexture2D,
-  glFramebufferTexture2DEXT,
-  glFramebufferTexture2DMultisampleEXT,
-  glFramebufferTexture2DMultisampleIMG,
-  glFramebufferTexture2DOES,
-  glFramebufferTexture3D,
-  glFramebufferTexture3DEXT,
-  glFramebufferTexture3DOES,
-  glFramebufferTextureARB,
-  glFramebufferTextureEXT,
-  glFramebufferTextureFaceARB,
-  glFramebufferTextureFaceEXT,
-  glFramebufferTextureLayer,
-  glFramebufferTextureLayerARB,
-  glFramebufferTextureLayerEXT,
-  glFramebufferTextureMultisampleMultiviewOVR,
-  glFramebufferTextureMultiviewOVR,
-  glFramebufferTextureOES,
-  glFreeObjectBufferATI,
-  glFrontFace,
-  glFrustum,
-  glFrustumf,
-  glFrustumfOES,
-  glFrustumx,
-  glFrustumxOES,
-  glGenAsyncMarkersSGIX,
-  glGenBuffers,
-  glGenBuffersARB,
-  glGenFencesAPPLE,
-  glGenFencesNV,
-  glGenFragmentShadersATI,
-  glGenFramebuffers,
-  glGenFramebuffersEXT,
-  glGenFramebuffersOES,
-  glGenLists,
-  glGenNamesAMD,
-  glGenOcclusionQueriesNV,
-  glGenPathsNV,
-  glGenPerfMonitorsAMD,
-  glGenProgramPipelines,
-  glGenProgramPipelinesEXT,
-  glGenProgramsARB,
-  glGenProgramsNV,
-  glGenQueries,
-  glGenQueriesARB,
-  glGenQueriesEXT,
-  glGenRenderbuffers,
-  glGenRenderbuffersEXT,
-  glGenRenderbuffersOES,
-  glGenSamplers,
-  glGenSymbolsEXT,
-  glGenTextures,
-  glGenTexturesEXT,
-  glGenTransformFeedbacks,
-  glGenTransformFeedbacksNV,
-  glGenVertexArrays,
-  glGenVertexArraysAPPLE,
-  glGenVertexArraysOES,
-  glGenVertexShadersEXT,
-  glGenerateMipmap,
-  glGenerateMipmapEXT,
-  glGenerateMipmapOES,
-  glGenerateMultiTexMipmapEXT,
-  glGenerateTextureMipmap,
-  glGenerateTextureMipmapEXT,
-  glGetActiveAtomicCounterBufferiv,
-  glGetActiveAttrib,
-  glGetActiveAttribARB,
-  glGetActiveSubroutineName,
-  glGetActiveSubroutineUniformName,
-  glGetActiveSubroutineUniformiv,
-  glGetActiveUniform,
-  glGetActiveUniformARB,
-  glGetActiveUniformBlockName,
-  glGetActiveUniformBlockiv,
-  glGetActiveUniformName,
-  glGetActiveUniformsiv,
-  glGetActiveVaryingNV,
-  glGetArrayObjectfvATI,
-  glGetArrayObjectivATI,
-  glGetAttachedObjectsARB,
-  glGetAttachedShaders,
-  glGetAttribLocation,
-  glGetAttribLocationARB,
-  glGetBooleanIndexedvEXT,
-  glGetBooleani_v,
-  glGetBooleanv,
-  glGetBufferParameteri64v,
-  glGetBufferParameteriv,
-  glGetBufferParameterivARB,
-  glGetBufferParameterui64vNV,
-  glGetBufferPointerv,
-  glGetBufferPointervARB,
-  glGetBufferPointervOES,
-  glGetBufferSubData,
-  glGetBufferSubDataARB,
-  glGetClipPlane,
-  glGetClipPlanef,
-  glGetClipPlanefOES,
-  glGetClipPlanex,
-  glGetClipPlanexOES,
-  glGetColorTable,
-  glGetColorTableEXT,
-  glGetColorTableParameterfv,
-  glGetColorTableParameterfvEXT,
-  glGetColorTableParameterfvSGI,
-  glGetColorTableParameteriv,
-  glGetColorTableParameterivEXT,
-  glGetColorTableParameterivSGI,
-  glGetColorTableSGI,
-  glGetCombinerInputParameterfvNV,
-  glGetCombinerInputParameterivNV,
-  glGetCombinerOutputParameterfvNV,
-  glGetCombinerOutputParameterivNV,
-  glGetCombinerStageParameterfvNV,
-  glGetCommandHeaderNV,
-  glGetCompressedMultiTexImageEXT,
-  glGetCompressedTexImage,
-  glGetCompressedTexImageARB,
-  glGetCompressedTextureImage,
-  glGetCompressedTextureImageEXT,
-  glGetCompressedTextureSubImage,
-  glGetConvolutionFilter,
-  glGetConvolutionFilterEXT,
-  glGetConvolutionParameterfv,
-  glGetConvolutionParameterfvEXT,
-  glGetConvolutionParameteriv,
-  glGetConvolutionParameterivEXT,
-  glGetConvolutionParameterxvOES,
-  glGetCoverageModulationTableNV,
-  glGetDebugMessageLog,
-  glGetDebugMessageLogAMD,
-  glGetDebugMessageLogARB,
-  glGetDebugMessageLogKHR,
-  glGetDetailTexFuncSGIS,
-  glGetDoubleIndexedvEXT,
-  glGetDoublei_v,
-  glGetDoublei_vEXT,
-  glGetDoublev,
-  glGetDriverControlStringQCOM,
-  glGetDriverControlsQCOM,
-  glGetError,
-  glGetFenceivNV,
-  glGetFinalCombinerInputParameterfvNV,
-  glGetFinalCombinerInputParameterivNV,
-  glGetFirstPerfQueryIdINTEL,
-  glGetFixedv,
-  glGetFixedvOES,
-  glGetFloatIndexedvEXT,
-  glGetFloati_v,
-  glGetFloati_vEXT,
-  glGetFloati_vNV,
-  glGetFloatv,
-  glGetFogFuncSGIS,
-  glGetFragDataIndex,
-  glGetFragDataIndexEXT,
-  glGetFragDataLocation,
-  glGetFragDataLocationEXT,
-  glGetFragmentLightfvSGIX,
-  glGetFragmentLightivSGIX,
-  glGetFragmentMaterialfvSGIX,
-  glGetFragmentMaterialivSGIX,
-  glGetFramebufferAttachmentParameteriv,
-  glGetFramebufferAttachmentParameterivEXT,
-  glGetFramebufferAttachmentParameterivOES,
-  glGetFramebufferParameteriv,
-  glGetFramebufferParameterivEXT,
-  glGetGraphicsResetStatus,
-  glGetGraphicsResetStatusARB,
-  glGetGraphicsResetStatusEXT,
-  glGetGraphicsResetStatusKHR,
-  glGetHandleARB,
-  glGetHistogram,
-  glGetHistogramEXT,
-  glGetHistogramParameterfv,
-  glGetHistogramParameterfvEXT,
-  glGetHistogramParameteriv,
-  glGetHistogramParameterivEXT,
-  glGetHistogramParameterxvOES,
-  glGetImageHandleARB,
-  glGetImageHandleNV,
-  glGetImageTransformParameterfvHP,
-  glGetImageTransformParameterivHP,
-  glGetInfoLogARB,
-  glGetInstrumentsSGIX,
-  glGetInteger64i_v,
-  glGetInteger64v,
-  glGetInteger64vAPPLE,
-  glGetIntegerIndexedvEXT,
-  glGetIntegeri_v,
-  glGetIntegeri_vEXT,
-  glGetIntegerui64i_vNV,
-  glGetIntegerui64vNV,
-  glGetIntegerv,
-  glGetInternalformatSampleivNV,
-  glGetInternalformati64v,
-  glGetInternalformativ,
-  glGetInvariantBooleanvEXT,
-  glGetInvariantFloatvEXT,
-  glGetInvariantIntegervEXT,
-  glGetLightfv,
-  glGetLightiv,
-  glGetLightxOES,
-  glGetLightxv,
-  glGetLightxvOES,
-  glGetListParameterfvSGIX,
-  glGetListParameterivSGIX,
-  glGetLocalConstantBooleanvEXT,
-  glGetLocalConstantFloatvEXT,
-  glGetLocalConstantIntegervEXT,
-  glGetMapAttribParameterfvNV,
-  glGetMapAttribParameterivNV,
-  glGetMapControlPointsNV,
-  glGetMapParameterfvNV,
-  glGetMapParameterivNV,
-  glGetMapdv,
-  glGetMapfv,
-  glGetMapiv,
-  glGetMapxvOES,
-  glGetMaterialfv,
-  glGetMaterialiv,
-  glGetMaterialxOES,
-  glGetMaterialxv,
-  glGetMaterialxvOES,
-  glGetMinmax,
-  glGetMinmaxEXT,
-  glGetMinmaxParameterfv,
-  glGetMinmaxParameterfvEXT,
-  glGetMinmaxParameteriv,
-  glGetMinmaxParameterivEXT,
-  glGetMultiTexEnvfvEXT,
-  glGetMultiTexEnvivEXT,
-  glGetMultiTexGendvEXT,
-  glGetMultiTexGenfvEXT,
-  glGetMultiTexGenivEXT,
-  glGetMultiTexImageEXT,
-  glGetMultiTexLevelParameterfvEXT,
-  glGetMultiTexLevelParameterivEXT,
-  glGetMultiTexParameterIivEXT,
-  glGetMultiTexParameterIuivEXT,
-  glGetMultiTexParameterfvEXT,
-  glGetMultiTexParameterivEXT,
-  glGetMultisamplefv,
-  glGetMultisamplefvNV,
-  glGetNamedBufferParameteri64v,
-  glGetNamedBufferParameteriv,
-  glGetNamedBufferParameterivEXT,
-  glGetNamedBufferParameterui64vNV,
-  glGetNamedBufferPointerv,
-  glGetNamedBufferPointervEXT,
-  glGetNamedBufferSubData,
-  glGetNamedBufferSubDataEXT,
-  glGetNamedFramebufferAttachmentParameteriv,
-  glGetNamedFramebufferAttachmentParameterivEXT,
-  glGetNamedFramebufferParameteriv,
-  glGetNamedFramebufferParameterivEXT,
-  glGetNamedProgramLocalParameterIivEXT,
-  glGetNamedProgramLocalParameterIuivEXT,
-  glGetNamedProgramLocalParameterdvEXT,
-  glGetNamedProgramLocalParameterfvEXT,
-  glGetNamedProgramStringEXT,
-  glGetNamedProgramivEXT,
-  glGetNamedRenderbufferParameteriv,
-  glGetNamedRenderbufferParameterivEXT,
-  glGetNamedStringARB,
-  glGetNamedStringivARB,
-  glGetNextPerfQueryIdINTEL,
-  glGetObjectBufferfvATI,
-  glGetObjectBufferivATI,
-  glGetObjectLabel,
-  glGetObjectLabelEXT,
-  glGetObjectLabelKHR,
-  glGetObjectParameterfvARB,
-  glGetObjectParameterivAPPLE,
-  glGetObjectParameterivARB,
-  glGetObjectPtrLabel,
-  glGetObjectPtrLabelKHR,
-  glGetOcclusionQueryivNV,
-  glGetOcclusionQueryuivNV,
-  glGetPathColorGenfvNV,
-  glGetPathColorGenivNV,
-  glGetPathCommandsNV,
-  glGetPathCoordsNV,
-  glGetPathDashArrayNV,
-  glGetPathLengthNV,
-  glGetPathMetricRangeNV,
-  glGetPathMetricsNV,
-  glGetPathParameterfvNV,
-  glGetPathParameterivNV,
-  glGetPathSpacingNV,
-  glGetPathTexGenfvNV,
-  glGetPathTexGenivNV,
-  glGetPerfCounterInfoINTEL,
-  glGetPerfMonitorCounterDataAMD,
-  glGetPerfMonitorCounterInfoAMD,
-  glGetPerfMonitorCounterStringAMD,
-  glGetPerfMonitorCountersAMD,
-  glGetPerfMonitorGroupStringAMD,
-  glGetPerfMonitorGroupsAMD,
-  glGetPerfQueryDataINTEL,
-  glGetPerfQueryIdByNameINTEL,
-  glGetPerfQueryInfoINTEL,
-  glGetPixelMapfv,
-  glGetPixelMapuiv,
-  glGetPixelMapusv,
-  glGetPixelMapxv,
-  glGetPixelTexGenParameterfvSGIS,
-  glGetPixelTexGenParameterivSGIS,
-  glGetPixelTransformParameterfvEXT,
-  glGetPixelTransformParameterivEXT,
-  glGetPointerIndexedvEXT,
-  glGetPointeri_vEXT,
-  glGetPointerv,
-  glGetPointervEXT,
-  glGetPointervKHR,
-  glGetPolygonStipple,
-  glGetProgramBinary,
-  glGetProgramBinaryOES,
-  glGetProgramEnvParameterIivNV,
-  glGetProgramEnvParameterIuivNV,
-  glGetProgramEnvParameterdvARB,
-  glGetProgramEnvParameterfvARB,
-  glGetProgramInfoLog,
-  glGetProgramInterfaceiv,
-  glGetProgramLocalParameterIivNV,
-  glGetProgramLocalParameterIuivNV,
-  glGetProgramLocalParameterdvARB,
-  glGetProgramLocalParameterfvARB,
-  glGetProgramNamedParameterdvNV,
-  glGetProgramNamedParameterfvNV,
-  glGetProgramParameterdvNV,
-  glGetProgramParameterfvNV,
-  glGetProgramPipelineInfoLog,
-  glGetProgramPipelineInfoLogEXT,
-  glGetProgramPipelineiv,
-  glGetProgramPipelineivEXT,
-  glGetProgramResourceIndex,
-  glGetProgramResourceLocation,
-  glGetProgramResourceLocationIndex,
-  glGetProgramResourceLocationIndexEXT,
-  glGetProgramResourceName,
-  glGetProgramResourcefvNV,
-  glGetProgramResourceiv,
-  glGetProgramStageiv,
-  glGetProgramStringARB,
-  glGetProgramStringNV,
-  glGetProgramSubroutineParameteruivNV,
-  glGetProgramiv,
-  glGetProgramivARB,
-  glGetProgramivNV,
-  glGetQueryBufferObjecti64v,
-  glGetQueryBufferObjectiv,
-  glGetQueryBufferObjectui64v,
-  glGetQueryBufferObjectuiv,
-  glGetQueryIndexediv,
-  glGetQueryObjecti64v,
-  glGetQueryObjecti64vEXT,
-  glGetQueryObjectiv,
-  glGetQueryObjectivARB,
-  glGetQueryObjectivEXT,
-  glGetQueryObjectui64v,
-  glGetQueryObjectui64vEXT,
-  glGetQueryObjectuiv,
-  glGetQueryObjectuivARB,
-  glGetQueryObjectuivEXT,
-  glGetQueryiv,
-  glGetQueryivARB,
-  glGetQueryivEXT,
-  glGetRenderbufferParameteriv,
-  glGetRenderbufferParameterivEXT,
-  glGetRenderbufferParameterivOES,
-  glGetSamplerParameterIiv,
-  glGetSamplerParameterIivEXT,
-  glGetSamplerParameterIivOES,
-  glGetSamplerParameterIuiv,
-  glGetSamplerParameterIuivEXT,
-  glGetSamplerParameterIuivOES,
-  glGetSamplerParameterfv,
-  glGetSamplerParameteriv,
-  glGetSeparableFilter,
-  glGetSeparableFilterEXT,
-  glGetShaderInfoLog,
-  glGetShaderPrecisionFormat,
-  glGetShaderSource,
-  glGetShaderSourceARB,
-  glGetShaderiv,
-  glGetSharpenTexFuncSGIS,
-  glGetStageIndexNV,
-  glGetString,
-  glGetStringi,
-  glGetSubroutineIndex,
-  glGetSubroutineUniformLocation,
-  glGetSynciv,
-  glGetSyncivAPPLE,
-  glGetTexBumpParameterfvATI,
-  glGetTexBumpParameterivATI,
-  glGetTexEnvfv,
-  glGetTexEnviv,
-  glGetTexEnvxv,
-  glGetTexEnvxvOES,
-  glGetTexFilterFuncSGIS,
-  glGetTexGendv,
-  glGetTexGenfv,
-  glGetTexGenfvOES,
-  glGetTexGeniv,
-  glGetTexGenivOES,
-  glGetTexGenxvOES,
-  glGetTexImage,
-  glGetTexLevelParameterfv,
-  glGetTexLevelParameteriv,
-  glGetTexLevelParameterxvOES,
-  glGetTexParameterIiv,
-  glGetTexParameterIivEXT,
-  glGetTexParameterIivOES,
-  glGetTexParameterIuiv,
-  glGetTexParameterIuivEXT,
-  glGetTexParameterIuivOES,
-  glGetTexParameterPointervAPPLE,
-  glGetTexParameterfv,
-  glGetTexParameteriv,
-  glGetTexParameterxv,
-  glGetTexParameterxvOES,
-  glGetTextureHandleARB,
-  glGetTextureHandleNV,
-  glGetTextureImage,
-  glGetTextureImageEXT,
-  glGetTextureLevelParameterfv,
-  glGetTextureLevelParameterfvEXT,
-  glGetTextureLevelParameteriv,
-  glGetTextureLevelParameterivEXT,
-  glGetTextureParameterIiv,
-  glGetTextureParameterIivEXT,
-  glGetTextureParameterIuiv,
-  glGetTextureParameterIuivEXT,
-  glGetTextureParameterfv,
-  glGetTextureParameterfvEXT,
-  glGetTextureParameteriv,
-  glGetTextureParameterivEXT,
-  glGetTextureSamplerHandleARB,
-  glGetTextureSamplerHandleNV,
-  glGetTextureSubImage,
-  glGetTrackMatrixivNV,
-  glGetTransformFeedbackVarying,
-  glGetTransformFeedbackVaryingEXT,
-  glGetTransformFeedbackVaryingNV,
-  glGetTransformFeedbacki64_v,
-  glGetTransformFeedbacki_v,
-  glGetTransformFeedbackiv,
-  glGetTranslatedShaderSourceANGLE,
-  glGetUniformBlockIndex,
-  glGetUniformBufferSizeEXT,
-  glGetUniformIndices,
-  glGetUniformLocation,
-  glGetUniformLocationARB,
-  glGetUniformOffsetEXT,
-  glGetUniformSubroutineuiv,
-  glGetUniformdv,
-  glGetUniformfv,
-  glGetUniformfvARB,
-  glGetUniformi64vARB,
-  glGetUniformi64vNV,
-  glGetUniformiv,
-  glGetUniformivARB,
-  glGetUniformui64vARB,
-  glGetUniformui64vNV,
-  glGetUniformuiv,
-  glGetUniformuivEXT,
-  glGetVariantArrayObjectfvATI,
-  glGetVariantArrayObjectivATI,
-  glGetVariantBooleanvEXT,
-  glGetVariantFloatvEXT,
-  glGetVariantIntegervEXT,
-  glGetVariantPointervEXT,
-  glGetVaryingLocationNV,
-  glGetVertexArrayIndexed64iv,
-  glGetVertexArrayIndexediv,
-  glGetVertexArrayIntegeri_vEXT,
-  glGetVertexArrayIntegervEXT,
-  glGetVertexArrayPointeri_vEXT,
-  glGetVertexArrayPointervEXT,
-  glGetVertexArrayiv,
-  glGetVertexAttribArrayObjectfvATI,
-  glGetVertexAttribArrayObjectivATI,
-  glGetVertexAttribIiv,
-  glGetVertexAttribIivEXT,
-  glGetVertexAttribIuiv,
-  glGetVertexAttribIuivEXT,
-  glGetVertexAttribLdv,
-  glGetVertexAttribLdvEXT,
-  glGetVertexAttribLi64vNV,
-  glGetVertexAttribLui64vARB,
-  glGetVertexAttribLui64vNV,
-  glGetVertexAttribPointerv,
-  glGetVertexAttribPointervARB,
-  glGetVertexAttribPointervNV,
-  glGetVertexAttribdv,
-  glGetVertexAttribdvARB,
-  glGetVertexAttribdvNV,
-  glGetVertexAttribfv,
-  glGetVertexAttribfvARB,
-  glGetVertexAttribfvNV,
-  glGetVertexAttribiv,
-  glGetVertexAttribivARB,
-  glGetVertexAttribivNV,
-  glGetVideoCaptureStreamdvNV,
-  glGetVideoCaptureStreamfvNV,
-  glGetVideoCaptureStreamivNV,
-  glGetVideoCaptureivNV,
-  glGetVideoi64vNV,
-  glGetVideoivNV,
-  glGetVideoui64vNV,
-  glGetVideouivNV,
-  glGetnColorTable,
-  glGetnColorTableARB,
-  glGetnCompressedTexImage,
-  glGetnCompressedTexImageARB,
-  glGetnConvolutionFilter,
-  glGetnConvolutionFilterARB,
-  glGetnHistogram,
-  glGetnHistogramARB,
-  glGetnMapdv,
-  glGetnMapdvARB,
-  glGetnMapfv,
-  glGetnMapfvARB,
-  glGetnMapiv,
-  glGetnMapivARB,
-  glGetnMinmax,
-  glGetnMinmaxARB,
-  glGetnPixelMapfv,
-  glGetnPixelMapfvARB,
-  glGetnPixelMapuiv,
-  glGetnPixelMapuivARB,
-  glGetnPixelMapusv,
-  glGetnPixelMapusvARB,
-  glGetnPolygonStipple,
-  glGetnPolygonStippleARB,
-  glGetnSeparableFilter,
-  glGetnSeparableFilterARB,
-  glGetnTexImage,
-  glGetnTexImageARB,
-  glGetnUniformdv,
-  glGetnUniformdvARB,
-  glGetnUniformfv,
-  glGetnUniformfvARB,
-  glGetnUniformfvEXT,
-  glGetnUniformfvKHR,
-  glGetnUniformi64vARB,
-  glGetnUniformiv,
-  glGetnUniformivARB,
-  glGetnUniformivEXT,
-  glGetnUniformivKHR,
-  glGetnUniformui64vARB,
-  glGetnUniformuiv,
-  glGetnUniformuivARB,
-  glGetnUniformuivKHR,
-  glGlobalAlphaFactorbSUN,
-  glGlobalAlphaFactordSUN,
-  glGlobalAlphaFactorfSUN,
-  glGlobalAlphaFactoriSUN,
-  glGlobalAlphaFactorsSUN,
-  glGlobalAlphaFactorubSUN,
-  glGlobalAlphaFactoruiSUN,
-  glGlobalAlphaFactorusSUN,
-  glHint,
-  glHintPGI,
-  glHistogram,
-  glHistogramEXT,
-  glIglooInterfaceSGIX,
-  glImageTransformParameterfHP,
-  glImageTransformParameterfvHP,
-  glImageTransformParameteriHP,
-  glImageTransformParameterivHP,
-  glImportSyncEXT,
-  glIndexFormatNV,
-  glIndexFuncEXT,
-  glIndexMask,
-  glIndexMaterialEXT,
-  glIndexPointer,
-  glIndexPointerEXT,
-  glIndexPointerListIBM,
-  glIndexd,
-  glIndexdv,
-  glIndexf,
-  glIndexfv,
-  glIndexi,
-  glIndexiv,
-  glIndexs,
-  glIndexsv,
-  glIndexub,
-  glIndexubv,
-  glIndexxOES,
-  glIndexxvOES,
-  glInitNames,
-  glInsertComponentEXT,
-  glInsertEventMarkerEXT,
-  glInstrumentsBufferSGIX,
-  glInterleavedArrays,
-  glInterpolatePathsNV,
-  glInvalidateBufferData,
-  glInvalidateBufferSubData,
-  glInvalidateFramebuffer,
-  glInvalidateNamedFramebufferData,
-  glInvalidateNamedFramebufferSubData,
-  glInvalidateSubFramebuffer,
-  glInvalidateTexImage,
-  glInvalidateTexSubImage,
-  glIsAsyncMarkerSGIX,
-  glIsBuffer,
-  glIsBufferARB,
-  glIsBufferResidentNV,
-  glIsCommandListNV,
-  glIsEnabled,
-  glIsEnabledIndexedEXT,
-  glIsEnabledi,
-  glIsEnablediEXT,
-  glIsEnablediNV,
-  glIsEnablediOES,
-  glIsFenceAPPLE,
-  glIsFenceNV,
-  glIsFramebuffer,
-  glIsFramebufferEXT,
-  glIsFramebufferOES,
-  glIsImageHandleResidentARB,
-  glIsImageHandleResidentNV,
-  glIsList,
-  glIsNameAMD,
-  glIsNamedBufferResidentNV,
-  glIsNamedStringARB,
-  glIsObjectBufferATI,
-  glIsOcclusionQueryNV,
-  glIsPathNV,
-  glIsPointInFillPathNV,
-  glIsPointInStrokePathNV,
-  glIsProgram,
-  glIsProgramARB,
-  glIsProgramNV,
-  glIsProgramPipeline,
-  glIsProgramPipelineEXT,
-  glIsQuery,
-  glIsQueryARB,
-  glIsQueryEXT,
-  glIsRenderbuffer,
-  glIsRenderbufferEXT,
-  glIsRenderbufferOES,
-  glIsSampler,
-  glIsShader,
-  glIsStateNV,
-  glIsSync,
-  glIsSyncAPPLE,
-  glIsTexture,
-  glIsTextureEXT,
-  glIsTextureHandleResidentARB,
-  glIsTextureHandleResidentNV,
-  glIsTransformFeedback,
-  glIsTransformFeedbackNV,
-  glIsVariantEnabledEXT,
-  glIsVertexArray,
-  glIsVertexArrayAPPLE,
-  glIsVertexArrayOES,
-  glIsVertexAttribEnabledAPPLE,
-  glLabelObjectEXT,
-  glLightEnviSGIX,
-  glLightModelf,
-  glLightModelfv,
-  glLightModeli,
-  glLightModeliv,
-  glLightModelx,
-  glLightModelxOES,
-  glLightModelxv,
-  glLightModelxvOES,
-  glLightf,
-  glLightfv,
-  glLighti,
-  glLightiv,
-  glLightx,
-  glLightxOES,
-  glLightxv,
-  glLightxvOES,
-  glLineStipple,
-  glLineWidth,
-  glLineWidthx,
-  glLineWidthxOES,
-  glLinkProgram,
-  glLinkProgramARB,
-  glListBase,
-  glListDrawCommandsStatesClientNV,
-  glListParameterfSGIX,
-  glListParameterfvSGIX,
-  glListParameteriSGIX,
-  glListParameterivSGIX,
-  glLoadIdentity,
-  glLoadIdentityDeformationMapSGIX,
-  glLoadMatrixd,
-  glLoadMatrixf,
-  glLoadMatrixx,
-  glLoadMatrixxOES,
-  glLoadName,
-  glLoadPaletteFromModelViewMatrixOES,
-  glLoadProgramNV,
-  glLoadTransposeMatrixd,
-  glLoadTransposeMatrixdARB,
-  glLoadTransposeMatrixf,
-  glLoadTransposeMatrixfARB,
-  glLoadTransposeMatrixxOES,
-  glLockArraysEXT,
-  glLogicOp,
-  glMakeBufferNonResidentNV,
-  glMakeBufferResidentNV,
-  glMakeImageHandleNonResidentARB,
-  glMakeImageHandleNonResidentNV,
-  glMakeImageHandleResidentARB,
-  glMakeImageHandleResidentNV,
-  glMakeNamedBufferNonResidentNV,
-  glMakeNamedBufferResidentNV,
-  glMakeTextureHandleNonResidentARB,
-  glMakeTextureHandleNonResidentNV,
-  glMakeTextureHandleResidentARB,
-  glMakeTextureHandleResidentNV,
-  glMap1d,
-  glMap1f,
-  glMap1xOES,
-  glMap2d,
-  glMap2f,
-  glMap2xOES,
-  glMapBuffer,
-  glMapBufferARB,
-  glMapBufferOES,
-  glMapBufferRange,
-  glMapBufferRangeEXT,
-  glMapControlPointsNV,
-  glMapGrid1d,
-  glMapGrid1f,
-  glMapGrid1xOES,
-  glMapGrid2d,
-  glMapGrid2f,
-  glMapGrid2xOES,
-  glMapNamedBuffer,
-  glMapNamedBufferEXT,
-  glMapNamedBufferRange,
-  glMapNamedBufferRangeEXT,
-  glMapObjectBufferATI,
-  glMapParameterfvNV,
-  glMapParameterivNV,
-  glMapTexture2DINTEL,
-  glMapVertexAttrib1dAPPLE,
-  glMapVertexAttrib1fAPPLE,
-  glMapVertexAttrib2dAPPLE,
-  glMapVertexAttrib2fAPPLE,
-  glMaterialf,
-  glMaterialfv,
-  glMateriali,
-  glMaterialiv,
-  glMaterialx,
-  glMaterialxOES,
-  glMaterialxv,
-  glMaterialxvOES,
-  glMatrixFrustumEXT,
-  glMatrixIndexPointerARB,
-  glMatrixIndexPointerOES,
-  glMatrixIndexubvARB,
-  glMatrixIndexuivARB,
-  glMatrixIndexusvARB,
-  glMatrixLoad3x2fNV,
-  glMatrixLoad3x3fNV,
-  glMatrixLoadIdentityEXT,
-  glMatrixLoadTranspose3x3fNV,
-  glMatrixLoadTransposedEXT,
-  glMatrixLoadTransposefEXT,
-  glMatrixLoaddEXT,
-  glMatrixLoadfEXT,
-  glMatrixMode,
-  glMatrixMult3x2fNV,
-  glMatrixMult3x3fNV,
-  glMatrixMultTranspose3x3fNV,
-  glMatrixMultTransposedEXT,
-  glMatrixMultTransposefEXT,
-  glMatrixMultdEXT,
-  glMatrixMultfEXT,
-  glMatrixOrthoEXT,
-  glMatrixPopEXT,
-  glMatrixPushEXT,
-  glMatrixRotatedEXT,
-  glMatrixRotatefEXT,
-  glMatrixScaledEXT,
-  glMatrixScalefEXT,
-  glMatrixTranslatedEXT,
-  glMatrixTranslatefEXT,
-  glMaxShaderCompilerThreadsARB,
-  glMemoryBarrier,
-  glMemoryBarrierByRegion,
-  glMemoryBarrierEXT,
-  glMinSampleShading,
-  glMinSampleShadingARB,
-  glMinSampleShadingOES,
-  glMinmax,
-  glMinmaxEXT,
-  glMultMatrixd,
-  glMultMatrixf,
-  glMultMatrixx,
-  glMultMatrixxOES,
-  glMultTransposeMatrixd,
-  glMultTransposeMatrixdARB,
-  glMultTransposeMatrixf,
-  glMultTransposeMatrixfARB,
-  glMultTransposeMatrixxOES,
-  glMultiDrawArrays,
-  glMultiDrawArraysEXT,
-  glMultiDrawArraysIndirect,
-  glMultiDrawArraysIndirectAMD,
-  glMultiDrawArraysIndirectBindlessCountNV,
-  glMultiDrawArraysIndirectBindlessNV,
-  glMultiDrawArraysIndirectCountARB,
-  glMultiDrawArraysIndirectEXT,
-  glMultiDrawElementArrayAPPLE,
-  glMultiDrawElements,
-  glMultiDrawElementsBaseVertex,
-  glMultiDrawElementsBaseVertexEXT,
-  glMultiDrawElementsBaseVertexOES,
-  glMultiDrawElementsEXT,
-  glMultiDrawElementsIndirect,
-  glMultiDrawElementsIndirectAMD,
-  glMultiDrawElementsIndirectBindlessCountNV,
-  glMultiDrawElementsIndirectBindlessNV,
-  glMultiDrawElementsIndirectCountARB,
-  glMultiDrawElementsIndirectEXT,
-  glMultiDrawRangeElementArrayAPPLE,
-  glMultiModeDrawArraysIBM,
-  glMultiModeDrawElementsIBM,
-  glMultiTexBufferEXT,
-  glMultiTexCoord1bOES,
-  glMultiTexCoord1bvOES,
-  glMultiTexCoord1d,
-  glMultiTexCoord1dARB,
-  glMultiTexCoord1dv,
-  glMultiTexCoord1dvARB,
-  glMultiTexCoord1f,
-  glMultiTexCoord1fARB,
-  glMultiTexCoord1fv,
-  glMultiTexCoord1fvARB,
-  glMultiTexCoord1hNV,
-  glMultiTexCoord1hvNV,
-  glMultiTexCoord1i,
-  glMultiTexCoord1iARB,
-  glMultiTexCoord1iv,
-  glMultiTexCoord1ivARB,
-  glMultiTexCoord1s,
-  glMultiTexCoord1sARB,
-  glMultiTexCoord1sv,
-  glMultiTexCoord1svARB,
-  glMultiTexCoord1xOES,
-  glMultiTexCoord1xvOES,
-  glMultiTexCoord2bOES,
-  glMultiTexCoord2bvOES,
-  glMultiTexCoord2d,
-  glMultiTexCoord2dARB,
-  glMultiTexCoord2dv,
-  glMultiTexCoord2dvARB,
-  glMultiTexCoord2f,
-  glMultiTexCoord2fARB,
-  glMultiTexCoord2fv,
-  glMultiTexCoord2fvARB,
-  glMultiTexCoord2hNV,
-  glMultiTexCoord2hvNV,
-  glMultiTexCoord2i,
-  glMultiTexCoord2iARB,
-  glMultiTexCoord2iv,
-  glMultiTexCoord2ivARB,
-  glMultiTexCoord2s,
-  glMultiTexCoord2sARB,
-  glMultiTexCoord2sv,
-  glMultiTexCoord2svARB,
-  glMultiTexCoord2xOES,
-  glMultiTexCoord2xvOES,
-  glMultiTexCoord3bOES,
-  glMultiTexCoord3bvOES,
-  glMultiTexCoord3d,
-  glMultiTexCoord3dARB,
-  glMultiTexCoord3dv,
-  glMultiTexCoord3dvARB,
-  glMultiTexCoord3f,
-  glMultiTexCoord3fARB,
-  glMultiTexCoord3fv,
-  glMultiTexCoord3fvARB,
-  glMultiTexCoord3hNV,
-  glMultiTexCoord3hvNV,
-  glMultiTexCoord3i,
-  glMultiTexCoord3iARB,
-  glMultiTexCoord3iv,
-  glMultiTexCoord3ivARB,
-  glMultiTexCoord3s,
-  glMultiTexCoord3sARB,
-  glMultiTexCoord3sv,
-  glMultiTexCoord3svARB,
-  glMultiTexCoord3xOES,
-  glMultiTexCoord3xvOES,
-  glMultiTexCoord4bOES,
-  glMultiTexCoord4bvOES,
-  glMultiTexCoord4d,
-  glMultiTexCoord4dARB,
-  glMultiTexCoord4dv,
-  glMultiTexCoord4dvARB,
-  glMultiTexCoord4f,
-  glMultiTexCoord4fARB,
-  glMultiTexCoord4fv,
-  glMultiTexCoord4fvARB,
-  glMultiTexCoord4hNV,
-  glMultiTexCoord4hvNV,
-  glMultiTexCoord4i,
-  glMultiTexCoord4iARB,
-  glMultiTexCoord4iv,
-  glMultiTexCoord4ivARB,
-  glMultiTexCoord4s,
-  glMultiTexCoord4sARB,
-  glMultiTexCoord4sv,
-  glMultiTexCoord4svARB,
-  glMultiTexCoord4x,
-  glMultiTexCoord4xOES,
-  glMultiTexCoord4xvOES,
-  glMultiTexCoordP1ui,
-  glMultiTexCoordP1uiv,
-  glMultiTexCoordP2ui,
-  glMultiTexCoordP2uiv,
-  glMultiTexCoordP3ui,
-  glMultiTexCoordP3uiv,
-  glMultiTexCoordP4ui,
-  glMultiTexCoordP4uiv,
-  glMultiTexCoordPointerEXT,
-  glMultiTexEnvfEXT,
-  glMultiTexEnvfvEXT,
-  glMultiTexEnviEXT,
-  glMultiTexEnvivEXT,
-  glMultiTexGendEXT,
-  glMultiTexGendvEXT,
-  glMultiTexGenfEXT,
-  glMultiTexGenfvEXT,
-  glMultiTexGeniEXT,
-  glMultiTexGenivEXT,
-  glMultiTexImage1DEXT,
-  glMultiTexImage2DEXT,
-  glMultiTexImage3DEXT,
-  glMultiTexParameterIivEXT,
-  glMultiTexParameterIuivEXT,
-  glMultiTexParameterfEXT,
-  glMultiTexParameterfvEXT,
-  glMultiTexParameteriEXT,
-  glMultiTexParameterivEXT,
-  glMultiTexRenderbufferEXT,
-  glMultiTexSubImage1DEXT,
-  glMultiTexSubImage2DEXT,
-  glMultiTexSubImage3DEXT,
-  glNamedBufferData,
-  glNamedBufferDataEXT,
-  glNamedBufferPageCommitmentARB,
-  glNamedBufferPageCommitmentEXT,
-  glNamedBufferStorage,
-  glNamedBufferStorageEXT,
-  glNamedBufferSubData,
-  glNamedBufferSubDataEXT,
-  glNamedCopyBufferSubDataEXT,
-  glNamedFramebufferDrawBuffer,
-  glNamedFramebufferDrawBuffers,
-  glNamedFramebufferParameteri,
-  glNamedFramebufferParameteriEXT,
-  glNamedFramebufferReadBuffer,
-  glNamedFramebufferRenderbuffer,
-  glNamedFramebufferRenderbufferEXT,
-  glNamedFramebufferSampleLocationsfvARB,
-  glNamedFramebufferSampleLocationsfvNV,
-  glNamedFramebufferTexture,
-  glNamedFramebufferTexture1DEXT,
-  glNamedFramebufferTexture2DEXT,
-  glNamedFramebufferTexture3DEXT,
-  glNamedFramebufferTextureEXT,
-  glNamedFramebufferTextureFaceEXT,
-  glNamedFramebufferTextureLayer,
-  glNamedFramebufferTextureLayerEXT,
-  glNamedProgramLocalParameter4dEXT,
-  glNamedProgramLocalParameter4dvEXT,
-  glNamedProgramLocalParameter4fEXT,
-  glNamedProgramLocalParameter4fvEXT,
-  glNamedProgramLocalParameterI4iEXT,
-  glNamedProgramLocalParameterI4ivEXT,
-  glNamedProgramLocalParameterI4uiEXT,
-  glNamedProgramLocalParameterI4uivEXT,
-  glNamedProgramLocalParameters4fvEXT,
-  glNamedProgramLocalParametersI4ivEXT,
-  glNamedProgramLocalParametersI4uivEXT,
-  glNamedProgramStringEXT,
-  glNamedRenderbufferStorage,
-  glNamedRenderbufferStorageEXT,
-  glNamedRenderbufferStorageMultisample,
-  glNamedRenderbufferStorageMultisampleCoverageEXT,
-  glNamedRenderbufferStorageMultisampleEXT,
-  glNamedStringARB,
-  glNewList,
-  glNewObjectBufferATI,
-  glNormal3b,
-  glNormal3bv,
-  glNormal3d,
-  glNormal3dv,
-  glNormal3f,
-  glNormal3fVertex3fSUN,
-  glNormal3fVertex3fvSUN,
-  glNormal3fv,
-  glNormal3hNV,
-  glNormal3hvNV,
-  glNormal3i,
-  glNormal3iv,
-  glNormal3s,
-  glNormal3sv,
-  glNormal3x,
-  glNormal3xOES,
-  glNormal3xvOES,
-  glNormalFormatNV,
-  glNormalP3ui,
-  glNormalP3uiv,
-  glNormalPointer,
-  glNormalPointerEXT,
-  glNormalPointerListIBM,
-  glNormalPointervINTEL,
-  glNormalStream3bATI,
-  glNormalStream3bvATI,
-  glNormalStream3dATI,
-  glNormalStream3dvATI,
-  glNormalStream3fATI,
-  glNormalStream3fvATI,
-  glNormalStream3iATI,
-  glNormalStream3ivATI,
-  glNormalStream3sATI,
-  glNormalStream3svATI,
-  glObjectLabel,
-  glObjectLabelKHR,
-  glObjectPtrLabel,
-  glObjectPtrLabelKHR,
-  glObjectPurgeableAPPLE,
-  glObjectUnpurgeableAPPLE,
-  glOrtho,
-  glOrthof,
-  glOrthofOES,
-  glOrthox,
-  glOrthoxOES,
-  glPNTrianglesfATI,
-  glPNTrianglesiATI,
-  glPassTexCoordATI,
-  glPassThrough,
-  glPassThroughxOES,
-  glPatchParameterfv,
-  glPatchParameteri,
-  glPatchParameteriEXT,
-  glPatchParameteriOES,
-  glPathColorGenNV,
-  glPathCommandsNV,
-  glPathCoordsNV,
-  glPathCoverDepthFuncNV,
-  glPathDashArrayNV,
-  glPathFogGenNV,
-  glPathGlyphIndexArrayNV,
-  glPathGlyphIndexRangeNV,
-  glPathGlyphRangeNV,
-  glPathGlyphsNV,
-  glPathMemoryGlyphIndexArrayNV,
-  glPathParameterfNV,
-  glPathParameterfvNV,
-  glPathParameteriNV,
-  glPathParameterivNV,
-  glPathStencilDepthOffsetNV,
-  glPathStencilFuncNV,
-  glPathStringNV,
-  glPathSubCommandsNV,
-  glPathSubCoordsNV,
-  glPathTexGenNV,
-  glPauseTransformFeedback,
-  glPauseTransformFeedbackNV,
-  glPixelDataRangeNV,
-  glPixelMapfv,
-  glPixelMapuiv,
-  glPixelMapusv,
-  glPixelMapx,
-  glPixelStoref,
-  glPixelStorei,
-  glPixelStorex,
-  glPixelTexGenParameterfSGIS,
-  glPixelTexGenParameterfvSGIS,
-  glPixelTexGenParameteriSGIS,
-  glPixelTexGenParameterivSGIS,
-  glPixelTexGenSGIX,
-  glPixelTransferf,
-  glPixelTransferi,
-  glPixelTransferxOES,
-  glPixelTransformParameterfEXT,
-  glPixelTransformParameterfvEXT,
-  glPixelTransformParameteriEXT,
-  glPixelTransformParameterivEXT,
-  glPixelZoom,
-  glPixelZoomxOES,
-  glPointAlongPathNV,
-  glPointParameterf,
-  glPointParameterfARB,
-  glPointParameterfEXT,
-  glPointParameterfSGIS,
-  glPointParameterfv,
-  glPointParameterfvARB,
-  glPointParameterfvEXT,
-  glPointParameterfvSGIS,
-  glPointParameteri,
-  glPointParameteriNV,
-  glPointParameteriv,
-  glPointParameterivNV,
-  glPointParameterx,
-  glPointParameterxOES,
-  glPointParameterxv,
-  glPointParameterxvOES,
-  glPointSize,
-  glPointSizePointerOES,
-  glPointSizex,
-  glPointSizexOES,
-  glPollAsyncSGIX,
-  glPollInstrumentsSGIX,
-  glPolygonMode,
-  glPolygonModeNV,
-  glPolygonOffset,
-  glPolygonOffsetClampEXT,
-  glPolygonOffsetEXT,
-  glPolygonOffsetx,
-  glPolygonOffsetxOES,
-  glPolygonStipple,
-  glPopAttrib,
-  glPopClientAttrib,
-  glPopDebugGroup,
-  glPopDebugGroupKHR,
-  glPopGroupMarkerEXT,
-  glPopMatrix,
-  glPopName,
-  glPresentFrameDualFillNV,
-  glPresentFrameKeyedNV,
-  glPrimitiveBoundingBox,
-  glPrimitiveBoundingBoxARB,
-  glPrimitiveBoundingBoxEXT,
-  glPrimitiveBoundingBoxOES,
-  glPrimitiveRestartIndex,
-  glPrimitiveRestartIndexNV,
-  glPrimitiveRestartNV,
-  glPrioritizeTextures,
-  glPrioritizeTexturesEXT,
-  glPrioritizeTexturesxOES,
-  glProgramBinary,
-  glProgramBinaryOES,
-  glProgramBufferParametersIivNV,
-  glProgramBufferParametersIuivNV,
-  glProgramBufferParametersfvNV,
-  glProgramEnvParameter4dARB,
-  glProgramEnvParameter4dvARB,
-  glProgramEnvParameter4fARB,
-  glProgramEnvParameter4fvARB,
-  glProgramEnvParameterI4iNV,
-  glProgramEnvParameterI4ivNV,
-  glProgramEnvParameterI4uiNV,
-  glProgramEnvParameterI4uivNV,
-  glProgramEnvParameters4fvEXT,
-  glProgramEnvParametersI4ivNV,
-  glProgramEnvParametersI4uivNV,
-  glProgramLocalParameter4dARB,
-  glProgramLocalParameter4dvARB,
-  glProgramLocalParameter4fARB,
-  glProgramLocalParameter4fvARB,
-  glProgramLocalParameterI4iNV,
-  glProgramLocalParameterI4ivNV,
-  glProgramLocalParameterI4uiNV,
-  glProgramLocalParameterI4uivNV,
-  glProgramLocalParameters4fvEXT,
-  glProgramLocalParametersI4ivNV,
-  glProgramLocalParametersI4uivNV,
-  glProgramNamedParameter4dNV,
-  glProgramNamedParameter4dvNV,
-  glProgramNamedParameter4fNV,
-  glProgramNamedParameter4fvNV,
-  glProgramParameter4dNV,
-  glProgramParameter4dvNV,
-  glProgramParameter4fNV,
-  glProgramParameter4fvNV,
-  glProgramParameteri,
-  glProgramParameteriARB,
-  glProgramParameteriEXT,
-  glProgramParameters4dvNV,
-  glProgramParameters4fvNV,
-  glProgramPathFragmentInputGenNV,
-  glProgramStringARB,
-  glProgramSubroutineParametersuivNV,
-  glProgramUniform1d,
-  glProgramUniform1dEXT,
-  glProgramUniform1dv,
-  glProgramUniform1dvEXT,
-  glProgramUniform1f,
-  glProgramUniform1fEXT,
-  glProgramUniform1fv,
-  glProgramUniform1fvEXT,
-  glProgramUniform1i,
-  glProgramUniform1i64ARB,
-  glProgramUniform1i64NV,
-  glProgramUniform1i64vARB,
-  glProgramUniform1i64vNV,
-  glProgramUniform1iEXT,
-  glProgramUniform1iv,
-  glProgramUniform1ivEXT,
-  glProgramUniform1ui,
-  glProgramUniform1ui64ARB,
-  glProgramUniform1ui64NV,
-  glProgramUniform1ui64vARB,
-  glProgramUniform1ui64vNV,
-  glProgramUniform1uiEXT,
-  glProgramUniform1uiv,
-  glProgramUniform1uivEXT,
-  glProgramUniform2d,
-  glProgramUniform2dEXT,
-  glProgramUniform2dv,
-  glProgramUniform2dvEXT,
-  glProgramUniform2f,
-  glProgramUniform2fEXT,
-  glProgramUniform2fv,
-  glProgramUniform2fvEXT,
-  glProgramUniform2i,
-  glProgramUniform2i64ARB,
-  glProgramUniform2i64NV,
-  glProgramUniform2i64vARB,
-  glProgramUniform2i64vNV,
-  glProgramUniform2iEXT,
-  glProgramUniform2iv,
-  glProgramUniform2ivEXT,
-  glProgramUniform2ui,
-  glProgramUniform2ui64ARB,
-  glProgramUniform2ui64NV,
-  glProgramUniform2ui64vARB,
-  glProgramUniform2ui64vNV,
-  glProgramUniform2uiEXT,
-  glProgramUniform2uiv,
-  glProgramUniform2uivEXT,
-  glProgramUniform3d,
-  glProgramUniform3dEXT,
-  glProgramUniform3dv,
-  glProgramUniform3dvEXT,
-  glProgramUniform3f,
-  glProgramUniform3fEXT,
-  glProgramUniform3fv,
-  glProgramUniform3fvEXT,
-  glProgramUniform3i,
-  glProgramUniform3i64ARB,
-  glProgramUniform3i64NV,
-  glProgramUniform3i64vARB,
-  glProgramUniform3i64vNV,
-  glProgramUniform3iEXT,
-  glProgramUniform3iv,
-  glProgramUniform3ivEXT,
-  glProgramUniform3ui,
-  glProgramUniform3ui64ARB,
-  glProgramUniform3ui64NV,
-  glProgramUniform3ui64vARB,
-  glProgramUniform3ui64vNV,
-  glProgramUniform3uiEXT,
-  glProgramUniform3uiv,
-  glProgramUniform3uivEXT,
-  glProgramUniform4d,
-  glProgramUniform4dEXT,
-  glProgramUniform4dv,
-  glProgramUniform4dvEXT,
-  glProgramUniform4f,
-  glProgramUniform4fEXT,
-  glProgramUniform4fv,
-  glProgramUniform4fvEXT,
-  glProgramUniform4i,
-  glProgramUniform4i64ARB,
-  glProgramUniform4i64NV,
-  glProgramUniform4i64vARB,
-  glProgramUniform4i64vNV,
-  glProgramUniform4iEXT,
-  glProgramUniform4iv,
-  glProgramUniform4ivEXT,
-  glProgramUniform4ui,
-  glProgramUniform4ui64ARB,
-  glProgramUniform4ui64NV,
-  glProgramUniform4ui64vARB,
-  glProgramUniform4ui64vNV,
-  glProgramUniform4uiEXT,
-  glProgramUniform4uiv,
-  glProgramUniform4uivEXT,
-  glProgramUniformHandleui64ARB,
-  glProgramUniformHandleui64NV,
-  glProgramUniformHandleui64vARB,
-  glProgramUniformHandleui64vNV,
-  glProgramUniformMatrix2dv,
-  glProgramUniformMatrix2dvEXT,
-  glProgramUniformMatrix2fv,
-  glProgramUniformMatrix2fvEXT,
-  glProgramUniformMatrix2x3dv,
-  glProgramUniformMatrix2x3dvEXT,
-  glProgramUniformMatrix2x3fv,
-  glProgramUniformMatrix2x3fvEXT,
-  glProgramUniformMatrix2x4dv,
-  glProgramUniformMatrix2x4dvEXT,
-  glProgramUniformMatrix2x4fv,
-  glProgramUniformMatrix2x4fvEXT,
-  glProgramUniformMatrix3dv,
-  glProgramUniformMatrix3dvEXT,
-  glProgramUniformMatrix3fv,
-  glProgramUniformMatrix3fvEXT,
-  glProgramUniformMatrix3x2dv,
-  glProgramUniformMatrix3x2dvEXT,
-  glProgramUniformMatrix3x2fv,
-  glProgramUniformMatrix3x2fvEXT,
-  glProgramUniformMatrix3x4dv,
-  glProgramUniformMatrix3x4dvEXT,
-  glProgramUniformMatrix3x4fv,
-  glProgramUniformMatrix3x4fvEXT,
-  glProgramUniformMatrix4dv,
-  glProgramUniformMatrix4dvEXT,
-  glProgramUniformMatrix4fv,
-  glProgramUniformMatrix4fvEXT,
-  glProgramUniformMatrix4x2dv,
-  glProgramUniformMatrix4x2dvEXT,
-  glProgramUniformMatrix4x2fv,
-  glProgramUniformMatrix4x2fvEXT,
-  glProgramUniformMatrix4x3dv,
-  glProgramUniformMatrix4x3dvEXT,
-  glProgramUniformMatrix4x3fv,
-  glProgramUniformMatrix4x3fvEXT,
-  glProgramUniformui64NV,
-  glProgramUniformui64vNV,
-  glProgramVertexLimitNV,
-  glProvokingVertex,
-  glProvokingVertexEXT,
-  glPushAttrib,
-  glPushClientAttrib,
-  glPushClientAttribDefaultEXT,
-  glPushDebugGroup,
-  glPushDebugGroupKHR,
-  glPushGroupMarkerEXT,
-  glPushMatrix,
-  glPushName,
-  glQueryCounter,
-  glQueryCounterEXT,
-  glQueryMatrixxOES,
-  glQueryObjectParameteruiAMD,
-  glRasterPos2d,
-  glRasterPos2dv,
-  glRasterPos2f,
-  glRasterPos2fv,
-  glRasterPos2i,
-  glRasterPos2iv,
-  glRasterPos2s,
-  glRasterPos2sv,
-  glRasterPos2xOES,
-  glRasterPos2xvOES,
-  glRasterPos3d,
-  glRasterPos3dv,
-  glRasterPos3f,
-  glRasterPos3fv,
-  glRasterPos3i,
-  glRasterPos3iv,
-  glRasterPos3s,
-  glRasterPos3sv,
-  glRasterPos3xOES,
-  glRasterPos3xvOES,
-  glRasterPos4d,
-  glRasterPos4dv,
-  glRasterPos4f,
-  glRasterPos4fv,
-  glRasterPos4i,
-  glRasterPos4iv,
-  glRasterPos4s,
-  glRasterPos4sv,
-  glRasterPos4xOES,
-  glRasterPos4xvOES,
-  glRasterSamplesEXT,
-  glReadBuffer,
-  glReadBufferIndexedEXT,
-  glReadBufferNV,
-  glReadInstrumentsSGIX,
-  glReadPixels,
-  glReadnPixels,
-  glReadnPixelsARB,
-  glReadnPixelsEXT,
-  glReadnPixelsKHR,
-  glRectd,
-  glRectdv,
-  glRectf,
-  glRectfv,
-  glRecti,
-  glRectiv,
-  glRects,
-  glRectsv,
-  glRectxOES,
-  glRectxvOES,
-  glReferencePlaneSGIX,
-  glReleaseShaderCompiler,
-  glRenderMode,
-  glRenderbufferStorage,
-  glRenderbufferStorageEXT,
-  glRenderbufferStorageMultisample,
-  glRenderbufferStorageMultisampleANGLE,
-  glRenderbufferStorageMultisampleAPPLE,
-  glRenderbufferStorageMultisampleCoverageNV,
-  glRenderbufferStorageMultisampleEXT,
-  glRenderbufferStorageMultisampleIMG,
-  glRenderbufferStorageMultisampleNV,
-  glRenderbufferStorageOES,
-  glReplacementCodePointerSUN,
-  glReplacementCodeubSUN,
-  glReplacementCodeubvSUN,
-  glReplacementCodeuiColor3fVertex3fSUN,
-  glReplacementCodeuiColor3fVertex3fvSUN,
-  glReplacementCodeuiColor4fNormal3fVertex3fSUN,
-  glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
-  glReplacementCodeuiColor4ubVertex3fSUN,
-  glReplacementCodeuiColor4ubVertex3fvSUN,
-  glReplacementCodeuiNormal3fVertex3fSUN,
-  glReplacementCodeuiNormal3fVertex3fvSUN,
-  glReplacementCodeuiSUN,
-  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
-  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
-  glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
-  glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
-  glReplacementCodeuiTexCoord2fVertex3fSUN,
-  glReplacementCodeuiTexCoord2fVertex3fvSUN,
-  glReplacementCodeuiVertex3fSUN,
-  glReplacementCodeuiVertex3fvSUN,
-  glReplacementCodeuivSUN,
-  glReplacementCodeusSUN,
-  glReplacementCodeusvSUN,
-  glRequestResidentProgramsNV,
-  glResetHistogram,
-  glResetHistogramEXT,
-  glResetMinmax,
-  glResetMinmaxEXT,
-  glResizeBuffersMESA,
-  glResolveDepthValuesNV,
-  glResolveMultisampleFramebufferAPPLE,
-  glResumeTransformFeedback,
-  glResumeTransformFeedbackNV,
-  glRotated,
-  glRotatef,
-  glRotatex,
-  glRotatexOES,
-  glSampleCoverage,
-  glSampleCoverageARB,
-  glSampleCoveragex,
-  glSampleCoveragexOES,
-  glSampleMapATI,
-  glSampleMaskEXT,
-  glSampleMaskIndexedNV,
-  glSampleMaskSGIS,
-  glSampleMaski,
-  glSamplePatternEXT,
-  glSamplePatternSGIS,
-  glSamplerParameterIiv,
-  glSamplerParameterIivEXT,
-  glSamplerParameterIivOES,
-  glSamplerParameterIuiv,
-  glSamplerParameterIuivEXT,
-  glSamplerParameterIuivOES,
-  glSamplerParameterf,
-  glSamplerParameterfv,
-  glSamplerParameteri,
-  glSamplerParameteriv,
-  glScaled,
-  glScalef,
-  glScalex,
-  glScalexOES,
-  glScissor,
-  glScissorArrayv,
-  glScissorArrayvNV,
-  glScissorIndexed,
-  glScissorIndexedNV,
-  glScissorIndexedv,
-  glScissorIndexedvNV,
-  glSecondaryColor3b,
-  glSecondaryColor3bEXT,
-  glSecondaryColor3bv,
-  glSecondaryColor3bvEXT,
-  glSecondaryColor3d,
-  glSecondaryColor3dEXT,
-  glSecondaryColor3dv,
-  glSecondaryColor3dvEXT,
-  glSecondaryColor3f,
-  glSecondaryColor3fEXT,
-  glSecondaryColor3fv,
-  glSecondaryColor3fvEXT,
-  glSecondaryColor3hNV,
-  glSecondaryColor3hvNV,
-  glSecondaryColor3i,
-  glSecondaryColor3iEXT,
-  glSecondaryColor3iv,
-  glSecondaryColor3ivEXT,
-  glSecondaryColor3s,
-  glSecondaryColor3sEXT,
-  glSecondaryColor3sv,
-  glSecondaryColor3svEXT,
-  glSecondaryColor3ub,
-  glSecondaryColor3ubEXT,
-  glSecondaryColor3ubv,
-  glSecondaryColor3ubvEXT,
-  glSecondaryColor3ui,
-  glSecondaryColor3uiEXT,
-  glSecondaryColor3uiv,
-  glSecondaryColor3uivEXT,
-  glSecondaryColor3us,
-  glSecondaryColor3usEXT,
-  glSecondaryColor3usv,
-  glSecondaryColor3usvEXT,
-  glSecondaryColorFormatNV,
-  glSecondaryColorP3ui,
-  glSecondaryColorP3uiv,
-  glSecondaryColorPointer,
-  glSecondaryColorPointerEXT,
-  glSecondaryColorPointerListIBM,
-  glSelectBuffer,
-  glSelectPerfMonitorCountersAMD,
-  glSeparableFilter2D,
-  glSeparableFilter2DEXT,
-  glSetFenceAPPLE,
-  glSetFenceNV,
-  glSetFragmentShaderConstantATI,
-  glSetInvariantEXT,
-  glSetLocalConstantEXT,
-  glSetMultisamplefvAMD,
-  glShadeModel,
-  glShaderBinary,
-  glShaderOp1EXT,
-  glShaderOp2EXT,
-  glShaderOp3EXT,
-  glShaderSource,
-  glShaderSourceARB,
-  glShaderStorageBlockBinding,
-  glSharpenTexFuncSGIS,
-  glSpriteParameterfSGIX,
-  glSpriteParameterfvSGIX,
-  glSpriteParameteriSGIX,
-  glSpriteParameterivSGIX,
-  glStartInstrumentsSGIX,
-  glStartTilingQCOM,
-  glStateCaptureNV,
-  glStencilClearTagEXT,
-  glStencilFillPathInstancedNV,
-  glStencilFillPathNV,
-  glStencilFunc,
-  glStencilFuncSeparate,
-  glStencilFuncSeparateATI,
-  glStencilMask,
-  glStencilMaskSeparate,
-  glStencilOp,
-  glStencilOpSeparate,
-  glStencilOpSeparateATI,
-  glStencilOpValueAMD,
-  glStencilStrokePathInstancedNV,
-  glStencilStrokePathNV,
-  glStencilThenCoverFillPathInstancedNV,
-  glStencilThenCoverFillPathNV,
-  glStencilThenCoverStrokePathInstancedNV,
-  glStencilThenCoverStrokePathNV,
-  glStopInstrumentsSGIX,
-  glStringMarkerGREMEDY,
-  glSubpixelPrecisionBiasNV,
-  glSwizzleEXT,
-  glSyncTextureINTEL,
-  glTagSampleBufferSGIX,
-  glTangent3bEXT,
-  glTangent3bvEXT,
-  glTangent3dEXT,
-  glTangent3dvEXT,
-  glTangent3fEXT,
-  glTangent3fvEXT,
-  glTangent3iEXT,
-  glTangent3ivEXT,
-  glTangent3sEXT,
-  glTangent3svEXT,
-  glTangentPointerEXT,
-  glTbufferMask3DFX,
-  glTessellationFactorAMD,
-  glTessellationModeAMD,
-  glTestFenceAPPLE,
-  glTestFenceNV,
-  glTestObjectAPPLE,
-  glTexBuffer,
-  glTexBufferARB,
-  glTexBufferEXT,
-  glTexBufferOES,
-  glTexBufferRange,
-  glTexBufferRangeEXT,
-  glTexBufferRangeOES,
-  glTexBumpParameterfvATI,
-  glTexBumpParameterivATI,
-  glTexCoord1bOES,
-  glTexCoord1bvOES,
-  glTexCoord1d,
-  glTexCoord1dv,
-  glTexCoord1f,
-  glTexCoord1fv,
-  glTexCoord1hNV,
-  glTexCoord1hvNV,
-  glTexCoord1i,
-  glTexCoord1iv,
-  glTexCoord1s,
-  glTexCoord1sv,
-  glTexCoord1xOES,
-  glTexCoord1xvOES,
-  glTexCoord2bOES,
-  glTexCoord2bvOES,
-  glTexCoord2d,
-  glTexCoord2dv,
-  glTexCoord2f,
-  glTexCoord2fColor3fVertex3fSUN,
-  glTexCoord2fColor3fVertex3fvSUN,
-  glTexCoord2fColor4fNormal3fVertex3fSUN,
-  glTexCoord2fColor4fNormal3fVertex3fvSUN,
-  glTexCoord2fColor4ubVertex3fSUN,
-  glTexCoord2fColor4ubVertex3fvSUN,
-  glTexCoord2fNormal3fVertex3fSUN,
-  glTexCoord2fNormal3fVertex3fvSUN,
-  glTexCoord2fVertex3fSUN,
-  glTexCoord2fVertex3fvSUN,
-  glTexCoord2fv,
-  glTexCoord2hNV,
-  glTexCoord2hvNV,
-  glTexCoord2i,
-  glTexCoord2iv,
-  glTexCoord2s,
-  glTexCoord2sv,
-  glTexCoord2xOES,
-  glTexCoord2xvOES,
-  glTexCoord3bOES,
-  glTexCoord3bvOES,
-  glTexCoord3d,
-  glTexCoord3dv,
-  glTexCoord3f,
-  glTexCoord3fv,
-  glTexCoord3hNV,
-  glTexCoord3hvNV,
-  glTexCoord3i,
-  glTexCoord3iv,
-  glTexCoord3s,
-  glTexCoord3sv,
-  glTexCoord3xOES,
-  glTexCoord3xvOES,
-  glTexCoord4bOES,
-  glTexCoord4bvOES,
-  glTexCoord4d,
-  glTexCoord4dv,
-  glTexCoord4f,
-  glTexCoord4fColor4fNormal3fVertex4fSUN,
-  glTexCoord4fColor4fNormal3fVertex4fvSUN,
-  glTexCoord4fVertex4fSUN,
-  glTexCoord4fVertex4fvSUN,
-  glTexCoord4fv,
-  glTexCoord4hNV,
-  glTexCoord4hvNV,
-  glTexCoord4i,
-  glTexCoord4iv,
-  glTexCoord4s,
-  glTexCoord4sv,
-  glTexCoord4xOES,
-  glTexCoord4xvOES,
-  glTexCoordFormatNV,
-  glTexCoordP1ui,
-  glTexCoordP1uiv,
-  glTexCoordP2ui,
-  glTexCoordP2uiv,
-  glTexCoordP3ui,
-  glTexCoordP3uiv,
-  glTexCoordP4ui,
-  glTexCoordP4uiv,
-  glTexCoordPointer,
-  glTexCoordPointerEXT,
-  glTexCoordPointerListIBM,
-  glTexCoordPointervINTEL,
-  glTexEnvf,
-  glTexEnvfv,
-  glTexEnvi,
-  glTexEnviv,
-  glTexEnvx,
-  glTexEnvxOES,
-  glTexEnvxv,
-  glTexEnvxvOES,
-  glTexFilterFuncSGIS,
-  glTexGend,
-  glTexGendv,
-  glTexGenf,
-  glTexGenfOES,
-  glTexGenfv,
-  glTexGenfvOES,
-  glTexGeni,
-  glTexGeniOES,
-  glTexGeniv,
-  glTexGenivOES,
-  glTexGenxOES,
-  glTexGenxvOES,
-  glTexImage1D,
-  glTexImage2D,
-  glTexImage2DMultisample,
-  glTexImage2DMultisampleCoverageNV,
-  glTexImage3D,
-  glTexImage3DEXT,
-  glTexImage3DMultisample,
-  glTexImage3DMultisampleCoverageNV,
-  glTexImage3DOES,
-  glTexImage4DSGIS,
-  glTexPageCommitmentARB,
-  glTexPageCommitmentEXT,
-  glTexParameterIiv,
-  glTexParameterIivEXT,
-  glTexParameterIivOES,
-  glTexParameterIuiv,
-  glTexParameterIuivEXT,
-  glTexParameterIuivOES,
-  glTexParameterf,
-  glTexParameterfv,
-  glTexParameteri,
-  glTexParameteriv,
-  glTexParameterx,
-  glTexParameterxOES,
-  glTexParameterxv,
-  glTexParameterxvOES,
-  glTexRenderbufferNV,
-  glTexStorage1D,
-  glTexStorage1DEXT,
-  glTexStorage2D,
-  glTexStorage2DEXT,
-  glTexStorage2DMultisample,
-  glTexStorage3D,
-  glTexStorage3DEXT,
-  glTexStorage3DMultisample,
-  glTexStorage3DMultisampleOES,
-  glTexStorageSparseAMD,
-  glTexSubImage1D,
-  glTexSubImage1DEXT,
-  glTexSubImage2D,
-  glTexSubImage2DEXT,
-  glTexSubImage3D,
-  glTexSubImage3DEXT,
-  glTexSubImage3DOES,
-  glTexSubImage4DSGIS,
-  glTextureBarrier,
-  glTextureBarrierNV,
-  glTextureBuffer,
-  glTextureBufferEXT,
-  glTextureBufferRange,
-  glTextureBufferRangeEXT,
-  glTextureColorMaskSGIS,
-  glTextureImage1DEXT,
-  glTextureImage2DEXT,
-  glTextureImage2DMultisampleCoverageNV,
-  glTextureImage2DMultisampleNV,
-  glTextureImage3DEXT,
-  glTextureImage3DMultisampleCoverageNV,
-  glTextureImage3DMultisampleNV,
-  glTextureLightEXT,
-  glTextureMaterialEXT,
-  glTextureNormalEXT,
-  glTexturePageCommitmentEXT,
-  glTextureParameterIiv,
-  glTextureParameterIivEXT,
-  glTextureParameterIuiv,
-  glTextureParameterIuivEXT,
-  glTextureParameterf,
-  glTextureParameterfEXT,
-  glTextureParameterfv,
-  glTextureParameterfvEXT,
-  glTextureParameteri,
-  glTextureParameteriEXT,
-  glTextureParameteriv,
-  glTextureParameterivEXT,
-  glTextureRangeAPPLE,
-  glTextureRenderbufferEXT,
-  glTextureStorage1D,
-  glTextureStorage1DEXT,
-  glTextureStorage2D,
-  glTextureStorage2DEXT,
-  glTextureStorage2DMultisample,
-  glTextureStorage2DMultisampleEXT,
-  glTextureStorage3D,
-  glTextureStorage3DEXT,
-  glTextureStorage3DMultisample,
-  glTextureStorage3DMultisampleEXT,
-  glTextureStorageSparseAMD,
-  glTextureSubImage1D,
-  glTextureSubImage1DEXT,
-  glTextureSubImage2D,
-  glTextureSubImage2DEXT,
-  glTextureSubImage3D,
-  glTextureSubImage3DEXT,
-  glTextureView,
-  glTextureViewEXT,
-  glTextureViewOES,
-  glTrackMatrixNV,
-  glTransformFeedbackAttribsNV,
-  glTransformFeedbackBufferBase,
-  glTransformFeedbackBufferRange,
-  glTransformFeedbackStreamAttribsNV,
-  glTransformFeedbackVaryings,
-  glTransformFeedbackVaryingsEXT,
-  glTransformFeedbackVaryingsNV,
-  glTransformPathNV,
-  glTranslated,
-  glTranslatef,
-  glTranslatex,
-  glTranslatexOES,
-  glUniform1d,
-  glUniform1dv,
-  glUniform1f,
-  glUniform1fARB,
-  glUniform1fv,
-  glUniform1fvARB,
-  glUniform1i,
-  glUniform1i64ARB,
-  glUniform1i64NV,
-  glUniform1i64vARB,
-  glUniform1i64vNV,
-  glUniform1iARB,
-  glUniform1iv,
-  glUniform1ivARB,
-  glUniform1ui,
-  glUniform1ui64ARB,
-  glUniform1ui64NV,
-  glUniform1ui64vARB,
-  glUniform1ui64vNV,
-  glUniform1uiEXT,
-  glUniform1uiv,
-  glUniform1uivEXT,
-  glUniform2d,
-  glUniform2dv,
-  glUniform2f,
-  glUniform2fARB,
-  glUniform2fv,
-  glUniform2fvARB,
-  glUniform2i,
-  glUniform2i64ARB,
-  glUniform2i64NV,
-  glUniform2i64vARB,
-  glUniform2i64vNV,
-  glUniform2iARB,
-  glUniform2iv,
-  glUniform2ivARB,
-  glUniform2ui,
-  glUniform2ui64ARB,
-  glUniform2ui64NV,
-  glUniform2ui64vARB,
-  glUniform2ui64vNV,
-  glUniform2uiEXT,
-  glUniform2uiv,
-  glUniform2uivEXT,
-  glUniform3d,
-  glUniform3dv,
-  glUniform3f,
-  glUniform3fARB,
-  glUniform3fv,
-  glUniform3fvARB,
-  glUniform3i,
-  glUniform3i64ARB,
-  glUniform3i64NV,
-  glUniform3i64vARB,
-  glUniform3i64vNV,
-  glUniform3iARB,
-  glUniform3iv,
-  glUniform3ivARB,
-  glUniform3ui,
-  glUniform3ui64ARB,
-  glUniform3ui64NV,
-  glUniform3ui64vARB,
-  glUniform3ui64vNV,
-  glUniform3uiEXT,
-  glUniform3uiv,
-  glUniform3uivEXT,
-  glUniform4d,
-  glUniform4dv,
-  glUniform4f,
-  glUniform4fARB,
-  glUniform4fv,
-  glUniform4fvARB,
-  glUniform4i,
-  glUniform4i64ARB,
-  glUniform4i64NV,
-  glUniform4i64vARB,
-  glUniform4i64vNV,
-  glUniform4iARB,
-  glUniform4iv,
-  glUniform4ivARB,
-  glUniform4ui,
-  glUniform4ui64ARB,
-  glUniform4ui64NV,
-  glUniform4ui64vARB,
-  glUniform4ui64vNV,
-  glUniform4uiEXT,
-  glUniform4uiv,
-  glUniform4uivEXT,
-  glUniformBlockBinding,
-  glUniformBufferEXT,
-  glUniformHandleui64ARB,
-  glUniformHandleui64NV,
-  glUniformHandleui64vARB,
-  glUniformHandleui64vNV,
-  glUniformMatrix2dv,
-  glUniformMatrix2fv,
-  glUniformMatrix2fvARB,
-  glUniformMatrix2x3dv,
-  glUniformMatrix2x3fv,
-  glUniformMatrix2x3fvNV,
-  glUniformMatrix2x4dv,
-  glUniformMatrix2x4fv,
-  glUniformMatrix2x4fvNV,
-  glUniformMatrix3dv,
-  glUniformMatrix3fv,
-  glUniformMatrix3fvARB,
-  glUniformMatrix3x2dv,
-  glUniformMatrix3x2fv,
-  glUniformMatrix3x2fvNV,
-  glUniformMatrix3x4dv,
-  glUniformMatrix3x4fv,
-  glUniformMatrix3x4fvNV,
-  glUniformMatrix4dv,
-  glUniformMatrix4fv,
-  glUniformMatrix4fvARB,
-  glUniformMatrix4x2dv,
-  glUniformMatrix4x2fv,
-  glUniformMatrix4x2fvNV,
-  glUniformMatrix4x3dv,
-  glUniformMatrix4x3fv,
-  glUniformMatrix4x3fvNV,
-  glUniformSubroutinesuiv,
-  glUniformui64NV,
-  glUniformui64vNV,
-  glUnlockArraysEXT,
-  glUnmapBuffer,
-  glUnmapBufferARB,
-  glUnmapBufferOES,
-  glUnmapNamedBuffer,
-  glUnmapNamedBufferEXT,
-  glUnmapObjectBufferATI,
-  glUnmapTexture2DINTEL,
-  glUpdateObjectBufferATI,
-  glUseProgram,
-  glUseProgramObjectARB,
-  glUseProgramStages,
-  glUseProgramStagesEXT,
-  glUseShaderProgramEXT,
-  glVDPAUFiniNV,
-  glVDPAUGetSurfaceivNV,
-  glVDPAUInitNV,
-  glVDPAUIsSurfaceNV,
-  glVDPAUMapSurfacesNV,
-  glVDPAURegisterOutputSurfaceNV,
-  glVDPAURegisterVideoSurfaceNV,
-  glVDPAUSurfaceAccessNV,
-  glVDPAUUnmapSurfacesNV,
-  glVDPAUUnregisterSurfaceNV,
-  glValidateProgram,
-  glValidateProgramARB,
-  glValidateProgramPipeline,
-  glValidateProgramPipelineEXT,
-  glVariantArrayObjectATI,
-  glVariantPointerEXT,
-  glVariantbvEXT,
-  glVariantdvEXT,
-  glVariantfvEXT,
-  glVariantivEXT,
-  glVariantsvEXT,
-  glVariantubvEXT,
-  glVariantuivEXT,
-  glVariantusvEXT,
-  glVertex2bOES,
-  glVertex2bvOES,
-  glVertex2d,
-  glVertex2dv,
-  glVertex2f,
-  glVertex2fv,
-  glVertex2hNV,
-  glVertex2hvNV,
-  glVertex2i,
-  glVertex2iv,
-  glVertex2s,
-  glVertex2sv,
-  glVertex2xOES,
-  glVertex2xvOES,
-  glVertex3bOES,
-  glVertex3bvOES,
-  glVertex3d,
-  glVertex3dv,
-  glVertex3f,
-  glVertex3fv,
-  glVertex3hNV,
-  glVertex3hvNV,
-  glVertex3i,
-  glVertex3iv,
-  glVertex3s,
-  glVertex3sv,
-  glVertex3xOES,
-  glVertex3xvOES,
-  glVertex4bOES,
-  glVertex4bvOES,
-  glVertex4d,
-  glVertex4dv,
-  glVertex4f,
-  glVertex4fv,
-  glVertex4hNV,
-  glVertex4hvNV,
-  glVertex4i,
-  glVertex4iv,
-  glVertex4s,
-  glVertex4sv,
-  glVertex4xOES,
-  glVertex4xvOES,
-  glVertexArrayAttribBinding,
-  glVertexArrayAttribFormat,
-  glVertexArrayAttribIFormat,
-  glVertexArrayAttribLFormat,
-  glVertexArrayBindVertexBufferEXT,
-  glVertexArrayBindingDivisor,
-  glVertexArrayColorOffsetEXT,
-  glVertexArrayEdgeFlagOffsetEXT,
-  glVertexArrayElementBuffer,
-  glVertexArrayFogCoordOffsetEXT,
-  glVertexArrayIndexOffsetEXT,
-  glVertexArrayMultiTexCoordOffsetEXT,
-  glVertexArrayNormalOffsetEXT,
-  glVertexArrayParameteriAPPLE,
-  glVertexArrayRangeAPPLE,
-  glVertexArrayRangeNV,
-  glVertexArraySecondaryColorOffsetEXT,
-  glVertexArrayTexCoordOffsetEXT,
-  glVertexArrayVertexAttribBindingEXT,
-  glVertexArrayVertexAttribDivisorEXT,
-  glVertexArrayVertexAttribFormatEXT,
-  glVertexArrayVertexAttribIFormatEXT,
-  glVertexArrayVertexAttribIOffsetEXT,
-  glVertexArrayVertexAttribLFormatEXT,
-  glVertexArrayVertexAttribLOffsetEXT,
-  glVertexArrayVertexAttribOffsetEXT,
-  glVertexArrayVertexBindingDivisorEXT,
-  glVertexArrayVertexBuffer,
-  glVertexArrayVertexBuffers,
-  glVertexArrayVertexOffsetEXT,
-  glVertexAttrib1d,
-  glVertexAttrib1dARB,
-  glVertexAttrib1dNV,
-  glVertexAttrib1dv,
-  glVertexAttrib1dvARB,
-  glVertexAttrib1dvNV,
-  glVertexAttrib1f,
-  glVertexAttrib1fARB,
-  glVertexAttrib1fNV,
-  glVertexAttrib1fv,
-  glVertexAttrib1fvARB,
-  glVertexAttrib1fvNV,
-  glVertexAttrib1hNV,
-  glVertexAttrib1hvNV,
-  glVertexAttrib1s,
-  glVertexAttrib1sARB,
-  glVertexAttrib1sNV,
-  glVertexAttrib1sv,
-  glVertexAttrib1svARB,
-  glVertexAttrib1svNV,
-  glVertexAttrib2d,
-  glVertexAttrib2dARB,
-  glVertexAttrib2dNV,
-  glVertexAttrib2dv,
-  glVertexAttrib2dvARB,
-  glVertexAttrib2dvNV,
-  glVertexAttrib2f,
-  glVertexAttrib2fARB,
-  glVertexAttrib2fNV,
-  glVertexAttrib2fv,
-  glVertexAttrib2fvARB,
-  glVertexAttrib2fvNV,
-  glVertexAttrib2hNV,
-  glVertexAttrib2hvNV,
-  glVertexAttrib2s,
-  glVertexAttrib2sARB,
-  glVertexAttrib2sNV,
-  glVertexAttrib2sv,
-  glVertexAttrib2svARB,
-  glVertexAttrib2svNV,
-  glVertexAttrib3d,
-  glVertexAttrib3dARB,
-  glVertexAttrib3dNV,
-  glVertexAttrib3dv,
-  glVertexAttrib3dvARB,
-  glVertexAttrib3dvNV,
-  glVertexAttrib3f,
-  glVertexAttrib3fARB,
-  glVertexAttrib3fNV,
-  glVertexAttrib3fv,
-  glVertexAttrib3fvARB,
-  glVertexAttrib3fvNV,
-  glVertexAttrib3hNV,
-  glVertexAttrib3hvNV,
-  glVertexAttrib3s,
-  glVertexAttrib3sARB,
-  glVertexAttrib3sNV,
-  glVertexAttrib3sv,
-  glVertexAttrib3svARB,
-  glVertexAttrib3svNV,
-  glVertexAttrib4Nbv,
-  glVertexAttrib4NbvARB,
-  glVertexAttrib4Niv,
-  glVertexAttrib4NivARB,
-  glVertexAttrib4Nsv,
-  glVertexAttrib4NsvARB,
-  glVertexAttrib4Nub,
-  glVertexAttrib4NubARB,
-  glVertexAttrib4Nubv,
-  glVertexAttrib4NubvARB,
-  glVertexAttrib4Nuiv,
-  glVertexAttrib4NuivARB,
-  glVertexAttrib4Nusv,
-  glVertexAttrib4NusvARB,
-  glVertexAttrib4bv,
-  glVertexAttrib4bvARB,
-  glVertexAttrib4d,
-  glVertexAttrib4dARB,
-  glVertexAttrib4dNV,
-  glVertexAttrib4dv,
-  glVertexAttrib4dvARB,
-  glVertexAttrib4dvNV,
-  glVertexAttrib4f,
-  glVertexAttrib4fARB,
-  glVertexAttrib4fNV,
-  glVertexAttrib4fv,
-  glVertexAttrib4fvARB,
-  glVertexAttrib4fvNV,
-  glVertexAttrib4hNV,
-  glVertexAttrib4hvNV,
-  glVertexAttrib4iv,
-  glVertexAttrib4ivARB,
-  glVertexAttrib4s,
-  glVertexAttrib4sARB,
-  glVertexAttrib4sNV,
-  glVertexAttrib4sv,
-  glVertexAttrib4svARB,
-  glVertexAttrib4svNV,
-  glVertexAttrib4ubNV,
-  glVertexAttrib4ubv,
-  glVertexAttrib4ubvARB,
-  glVertexAttrib4ubvNV,
-  glVertexAttrib4uiv,
-  glVertexAttrib4uivARB,
-  glVertexAttrib4usv,
-  glVertexAttrib4usvARB,
-  glVertexAttribArrayObjectATI,
-  glVertexAttribBinding,
-  glVertexAttribDivisor,
-  glVertexAttribDivisorANGLE,
-  glVertexAttribDivisorARB,
-  glVertexAttribDivisorEXT,
-  glVertexAttribDivisorNV,
-  glVertexAttribFormat,
-  glVertexAttribFormatNV,
-  glVertexAttribI1i,
-  glVertexAttribI1iEXT,
-  glVertexAttribI1iv,
-  glVertexAttribI1ivEXT,
-  glVertexAttribI1ui,
-  glVertexAttribI1uiEXT,
-  glVertexAttribI1uiv,
-  glVertexAttribI1uivEXT,
-  glVertexAttribI2i,
-  glVertexAttribI2iEXT,
-  glVertexAttribI2iv,
-  glVertexAttribI2ivEXT,
-  glVertexAttribI2ui,
-  glVertexAttribI2uiEXT,
-  glVertexAttribI2uiv,
-  glVertexAttribI2uivEXT,
-  glVertexAttribI3i,
-  glVertexAttribI3iEXT,
-  glVertexAttribI3iv,
-  glVertexAttribI3ivEXT,
-  glVertexAttribI3ui,
-  glVertexAttribI3uiEXT,
-  glVertexAttribI3uiv,
-  glVertexAttribI3uivEXT,
-  glVertexAttribI4bv,
-  glVertexAttribI4bvEXT,
-  glVertexAttribI4i,
-  glVertexAttribI4iEXT,
-  glVertexAttribI4iv,
-  glVertexAttribI4ivEXT,
-  glVertexAttribI4sv,
-  glVertexAttribI4svEXT,
-  glVertexAttribI4ubv,
-  glVertexAttribI4ubvEXT,
-  glVertexAttribI4ui,
-  glVertexAttribI4uiEXT,
-  glVertexAttribI4uiv,
-  glVertexAttribI4uivEXT,
-  glVertexAttribI4usv,
-  glVertexAttribI4usvEXT,
-  glVertexAttribIFormat,
-  glVertexAttribIFormatNV,
-  glVertexAttribIPointer,
-  glVertexAttribIPointerEXT,
-  glVertexAttribL1d,
-  glVertexAttribL1dEXT,
-  glVertexAttribL1dv,
-  glVertexAttribL1dvEXT,
-  glVertexAttribL1i64NV,
-  glVertexAttribL1i64vNV,
-  glVertexAttribL1ui64ARB,
-  glVertexAttribL1ui64NV,
-  glVertexAttribL1ui64vARB,
-  glVertexAttribL1ui64vNV,
-  glVertexAttribL2d,
-  glVertexAttribL2dEXT,
-  glVertexAttribL2dv,
-  glVertexAttribL2dvEXT,
-  glVertexAttribL2i64NV,
-  glVertexAttribL2i64vNV,
-  glVertexAttribL2ui64NV,
-  glVertexAttribL2ui64vNV,
-  glVertexAttribL3d,
-  glVertexAttribL3dEXT,
-  glVertexAttribL3dv,
-  glVertexAttribL3dvEXT,
-  glVertexAttribL3i64NV,
-  glVertexAttribL3i64vNV,
-  glVertexAttribL3ui64NV,
-  glVertexAttribL3ui64vNV,
-  glVertexAttribL4d,
-  glVertexAttribL4dEXT,
-  glVertexAttribL4dv,
-  glVertexAttribL4dvEXT,
-  glVertexAttribL4i64NV,
-  glVertexAttribL4i64vNV,
-  glVertexAttribL4ui64NV,
-  glVertexAttribL4ui64vNV,
-  glVertexAttribLFormat,
-  glVertexAttribLFormatNV,
-  glVertexAttribLPointer,
-  glVertexAttribLPointerEXT,
-  glVertexAttribP1ui,
-  glVertexAttribP1uiv,
-  glVertexAttribP2ui,
-  glVertexAttribP2uiv,
-  glVertexAttribP3ui,
-  glVertexAttribP3uiv,
-  glVertexAttribP4ui,
-  glVertexAttribP4uiv,
-  glVertexAttribParameteriAMD,
-  glVertexAttribPointer,
-  glVertexAttribPointerARB,
-  glVertexAttribPointerNV,
-  glVertexAttribs1dvNV,
-  glVertexAttribs1fvNV,
-  glVertexAttribs1hvNV,
-  glVertexAttribs1svNV,
-  glVertexAttribs2dvNV,
-  glVertexAttribs2fvNV,
-  glVertexAttribs2hvNV,
-  glVertexAttribs2svNV,
-  glVertexAttribs3dvNV,
-  glVertexAttribs3fvNV,
-  glVertexAttribs3hvNV,
-  glVertexAttribs3svNV,
-  glVertexAttribs4dvNV,
-  glVertexAttribs4fvNV,
-  glVertexAttribs4hvNV,
-  glVertexAttribs4svNV,
-  glVertexAttribs4ubvNV,
-  glVertexBindingDivisor,
-  glVertexBlendARB,
-  glVertexBlendEnvfATI,
-  glVertexBlendEnviATI,
-  glVertexFormatNV,
-  glVertexP2ui,
-  glVertexP2uiv,
-  glVertexP3ui,
-  glVertexP3uiv,
-  glVertexP4ui,
-  glVertexP4uiv,
-  glVertexPointer,
-  glVertexPointerEXT,
-  glVertexPointerListIBM,
-  glVertexPointervINTEL,
-  glVertexStream1dATI,
-  glVertexStream1dvATI,
-  glVertexStream1fATI,
-  glVertexStream1fvATI,
-  glVertexStream1iATI,
-  glVertexStream1ivATI,
-  glVertexStream1sATI,
-  glVertexStream1svATI,
-  glVertexStream2dATI,
-  glVertexStream2dvATI,
-  glVertexStream2fATI,
-  glVertexStream2fvATI,
-  glVertexStream2iATI,
-  glVertexStream2ivATI,
-  glVertexStream2sATI,
-  glVertexStream2svATI,
-  glVertexStream3dATI,
-  glVertexStream3dvATI,
-  glVertexStream3fATI,
-  glVertexStream3fvATI,
-  glVertexStream3iATI,
-  glVertexStream3ivATI,
-  glVertexStream3sATI,
-  glVertexStream3svATI,
-  glVertexStream4dATI,
-  glVertexStream4dvATI,
-  glVertexStream4fATI,
-  glVertexStream4fvATI,
-  glVertexStream4iATI,
-  glVertexStream4ivATI,
-  glVertexStream4sATI,
-  glVertexStream4svATI,
-  glVertexWeightPointerEXT,
-  glVertexWeightfEXT,
-  glVertexWeightfvEXT,
-  glVertexWeighthNV,
-  glVertexWeighthvNV,
-  glVideoCaptureNV,
-  glVideoCaptureStreamParameterdvNV,
-  glVideoCaptureStreamParameterfvNV,
-  glVideoCaptureStreamParameterivNV,
-  glViewport,
-  glViewportArrayv,
-  glViewportArrayvNV,
-  glViewportIndexedf,
-  glViewportIndexedfNV,
-  glViewportIndexedfv,
-  glViewportIndexedfvNV,
-  glWaitSync,
-  glWaitSyncAPPLE,
-  glWeightPathsNV,
-  glWeightPointerARB,
-  glWeightPointerOES,
-  glWeightbvARB,
-  glWeightdvARB,
-  glWeightfvARB,
-  glWeightivARB,
-  glWeightsvARB,
-  glWeightubvARB,
-  glWeightuivARB,
-  glWeightusvARB,
-  glWindowPos2d,
-  glWindowPos2dARB,
-  glWindowPos2dMESA,
-  glWindowPos2dv,
-  glWindowPos2dvARB,
-  glWindowPos2dvMESA,
-  glWindowPos2f,
-  glWindowPos2fARB,
-  glWindowPos2fMESA,
-  glWindowPos2fv,
-  glWindowPos2fvARB,
-  glWindowPos2fvMESA,
-  glWindowPos2i,
-  glWindowPos2iARB,
-  glWindowPos2iMESA,
-  glWindowPos2iv,
-  glWindowPos2ivARB,
-  glWindowPos2ivMESA,
-  glWindowPos2s,
-  glWindowPos2sARB,
-  glWindowPos2sMESA,
-  glWindowPos2sv,
-  glWindowPos2svARB,
-  glWindowPos2svMESA,
-  glWindowPos3d,
-  glWindowPos3dARB,
-  glWindowPos3dMESA,
-  glWindowPos3dv,
-  glWindowPos3dvARB,
-  glWindowPos3dvMESA,
-  glWindowPos3f,
-  glWindowPos3fARB,
-  glWindowPos3fMESA,
-  glWindowPos3fv,
-  glWindowPos3fvARB,
-  glWindowPos3fvMESA,
-  glWindowPos3i,
-  glWindowPos3iARB,
-  glWindowPos3iMESA,
-  glWindowPos3iv,
-  glWindowPos3ivARB,
-  glWindowPos3ivMESA,
-  glWindowPos3s,
-  glWindowPos3sARB,
-  glWindowPos3sMESA,
-  glWindowPos3sv,
-  glWindowPos3svARB,
-  glWindowPos3svMESA,
-  glWindowPos4dMESA,
-  glWindowPos4dvMESA,
-  glWindowPos4fMESA,
-  glWindowPos4fvMESA,
-  glWindowPos4iMESA,
-  glWindowPos4ivMESA,
-  glWindowPos4sMESA,
-  glWindowPos4svMESA,
-  glWriteMaskEXT
-) where
-
-import Control.Monad.IO.Class ( MonadIO(..) )
-import Foreign.Marshal.Error ( throwIf )
-import Foreign.Ptr ( Ptr, FunPtr, nullFunPtr )
-import System.IO.Unsafe ( unsafePerformIO )
-
-import Graphics.Rendering.OpenGL.Raw.Foreign
-import Graphics.Rendering.OpenGL.Raw.GetProcAddress ( getProcAddress )
-import Graphics.Rendering.OpenGL.Raw.Types
-
-getCommand :: String -> IO (FunPtr a)
-getCommand cmd =
-  throwIfNullFunPtr ("unknown OpenGL command " ++ cmd) $ getProcAddress cmd
-
-throwIfNullFunPtr :: String -> IO (FunPtr a) -> IO (FunPtr a)
-throwIfNullFunPtr = throwIf (== nullFunPtr) . const
-
--- glAccum ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAccum.xml OpenGL 2.x>.
-glAccum
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type [AccumOp](Graphics-Rendering-OpenGL-Raw-Groups.html#AccumOp).
-  -> GLfloat -- ^ @value@ of type @CoordF@.
-  -> m ()
-glAccum v1 v2 = liftIO $ dyn0 ptr_glAccum v1 v2
-
-{-# NOINLINE ptr_glAccum #-}
-ptr_glAccum :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glAccum = unsafePerformIO $ getCommand "glAccum"
-
--- glAccumxOES -----------------------------------------------------------------
-
-glAccumxOES
-  :: MonadIO m
-  => GLenum -- ^ @op@.
-  -> GLfixed -- ^ @value@.
-  -> m ()
-glAccumxOES v1 v2 = liftIO $ dyn1 ptr_glAccumxOES v1 v2
-
-{-# NOINLINE ptr_glAccumxOES #-}
-ptr_glAccumxOES :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glAccumxOES = unsafePerformIO $ getCommand "glAccumxOES"
-
--- glActiveProgramEXT ----------------------------------------------------------
-
-glActiveProgramEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m ()
-glActiveProgramEXT v1 = liftIO $ dyn2 ptr_glActiveProgramEXT v1
-
-{-# NOINLINE ptr_glActiveProgramEXT #-}
-ptr_glActiveProgramEXT :: FunPtr (GLuint -> IO ())
-ptr_glActiveProgramEXT = unsafePerformIO $ getCommand "glActiveProgramEXT"
-
--- glActiveShaderProgram -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glActiveShaderProgram.xhtml OpenGL 4.x>.
-glActiveShaderProgram
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLuint -- ^ @program@.
-  -> m ()
-glActiveShaderProgram v1 v2 = liftIO $ dyn3 ptr_glActiveShaderProgram v1 v2
-
-{-# NOINLINE ptr_glActiveShaderProgram #-}
-ptr_glActiveShaderProgram :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glActiveShaderProgram = unsafePerformIO $ getCommand "glActiveShaderProgram"
-
--- glActiveShaderProgramEXT ----------------------------------------------------
-
-glActiveShaderProgramEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLuint -- ^ @program@.
-  -> m ()
-glActiveShaderProgramEXT v1 v2 = liftIO $ dyn3 ptr_glActiveShaderProgramEXT v1 v2
-
-{-# NOINLINE ptr_glActiveShaderProgramEXT #-}
-ptr_glActiveShaderProgramEXT :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glActiveShaderProgramEXT = unsafePerformIO $ getCommand "glActiveShaderProgramEXT"
-
--- glActiveStencilFaceEXT ------------------------------------------------------
-
-glActiveStencilFaceEXT
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
-  -> m ()
-glActiveStencilFaceEXT v1 = liftIO $ dyn4 ptr_glActiveStencilFaceEXT v1
-
-{-# NOINLINE ptr_glActiveStencilFaceEXT #-}
-ptr_glActiveStencilFaceEXT :: FunPtr (GLenum -> IO ())
-ptr_glActiveStencilFaceEXT = unsafePerformIO $ getCommand "glActiveStencilFaceEXT"
-
--- glActiveTexture -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glActiveTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glActiveTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glActiveTexture.xhtml OpenGL 4.x>.
-glActiveTexture
-  :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
-  -> m ()
-glActiveTexture v1 = liftIO $ dyn4 ptr_glActiveTexture v1
-
-{-# NOINLINE ptr_glActiveTexture #-}
-ptr_glActiveTexture :: FunPtr (GLenum -> IO ())
-ptr_glActiveTexture = unsafePerformIO $ getCommand "glActiveTexture"
-
--- glActiveTextureARB ----------------------------------------------------------
-
--- | This command is an alias for 'glActiveTexture'.
-glActiveTextureARB
-  :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
-  -> m ()
-glActiveTextureARB v1 = liftIO $ dyn4 ptr_glActiveTextureARB v1
-
-{-# NOINLINE ptr_glActiveTextureARB #-}
-ptr_glActiveTextureARB :: FunPtr (GLenum -> IO ())
-ptr_glActiveTextureARB = unsafePerformIO $ getCommand "glActiveTextureARB"
-
--- glActiveVaryingNV -----------------------------------------------------------
-
-glActiveVaryingNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m ()
-glActiveVaryingNV v1 v2 = liftIO $ dyn5 ptr_glActiveVaryingNV v1 v2
-
-{-# NOINLINE ptr_glActiveVaryingNV #-}
-ptr_glActiveVaryingNV :: FunPtr (GLuint -> Ptr GLchar -> IO ())
-ptr_glActiveVaryingNV = unsafePerformIO $ getCommand "glActiveVaryingNV"
-
--- glAlphaFragmentOp1ATI -------------------------------------------------------
-
-glAlphaFragmentOp1ATI
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
-  -> GLuint -- ^ @dst@.
-  -> GLuint -- ^ @dstMod@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg1Rep@.
-  -> GLuint -- ^ @arg1Mod@.
-  -> m ()
-glAlphaFragmentOp1ATI v1 v2 v3 v4 v5 v6 = liftIO $ dyn6 ptr_glAlphaFragmentOp1ATI v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glAlphaFragmentOp1ATI #-}
-ptr_glAlphaFragmentOp1ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glAlphaFragmentOp1ATI = unsafePerformIO $ getCommand "glAlphaFragmentOp1ATI"
-
--- glAlphaFragmentOp2ATI -------------------------------------------------------
-
-glAlphaFragmentOp2ATI
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
-  -> GLuint -- ^ @dst@.
-  -> GLuint -- ^ @dstMod@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg1Rep@.
-  -> GLuint -- ^ @arg1Mod@.
-  -> GLuint -- ^ @arg2@.
-  -> GLuint -- ^ @arg2Rep@.
-  -> GLuint -- ^ @arg2Mod@.
-  -> m ()
-glAlphaFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn7 ptr_glAlphaFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glAlphaFragmentOp2ATI #-}
-ptr_glAlphaFragmentOp2ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glAlphaFragmentOp2ATI = unsafePerformIO $ getCommand "glAlphaFragmentOp2ATI"
-
--- glAlphaFragmentOp3ATI -------------------------------------------------------
-
-glAlphaFragmentOp3ATI
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
-  -> GLuint -- ^ @dst@.
-  -> GLuint -- ^ @dstMod@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg1Rep@.
-  -> GLuint -- ^ @arg1Mod@.
-  -> GLuint -- ^ @arg2@.
-  -> GLuint -- ^ @arg2Rep@.
-  -> GLuint -- ^ @arg2Mod@.
-  -> GLuint -- ^ @arg3@.
-  -> GLuint -- ^ @arg3Rep@.
-  -> GLuint -- ^ @arg3Mod@.
-  -> m ()
-glAlphaFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn8 ptr_glAlphaFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glAlphaFragmentOp3ATI #-}
-ptr_glAlphaFragmentOp3ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glAlphaFragmentOp3ATI = unsafePerformIO $ getCommand "glAlphaFragmentOp3ATI"
-
--- glAlphaFunc -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAlphaFunc.xml OpenGL 2.x>.
-glAlphaFunc
-  :: MonadIO m
-  => GLenum -- ^ @func@ of type [AlphaFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#AlphaFunction).
-  -> GLfloat -- ^ @ref@.
-  -> m ()
-glAlphaFunc v1 v2 = liftIO $ dyn0 ptr_glAlphaFunc v1 v2
-
-{-# NOINLINE ptr_glAlphaFunc #-}
-ptr_glAlphaFunc :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glAlphaFunc = unsafePerformIO $ getCommand "glAlphaFunc"
-
--- glAlphaFuncQCOM -------------------------------------------------------------
-
-glAlphaFuncQCOM
-  :: MonadIO m
-  => GLenum -- ^ @func@.
-  -> GLclampf -- ^ @ref@.
-  -> m ()
-glAlphaFuncQCOM v1 v2 = liftIO $ dyn9 ptr_glAlphaFuncQCOM v1 v2
-
-{-# NOINLINE ptr_glAlphaFuncQCOM #-}
-ptr_glAlphaFuncQCOM :: FunPtr (GLenum -> GLclampf -> IO ())
-ptr_glAlphaFuncQCOM = unsafePerformIO $ getCommand "glAlphaFuncQCOM"
-
--- glAlphaFuncx ----------------------------------------------------------------
-
-glAlphaFuncx
-  :: MonadIO m
-  => GLenum -- ^ @func@.
-  -> GLfixed -- ^ @ref@.
-  -> m ()
-glAlphaFuncx v1 v2 = liftIO $ dyn1 ptr_glAlphaFuncx v1 v2
-
-{-# NOINLINE ptr_glAlphaFuncx #-}
-ptr_glAlphaFuncx :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glAlphaFuncx = unsafePerformIO $ getCommand "glAlphaFuncx"
-
--- glAlphaFuncxOES -------------------------------------------------------------
-
-glAlphaFuncxOES
-  :: MonadIO m
-  => GLenum -- ^ @func@.
-  -> GLfixed -- ^ @ref@ of type @ClampedFixed@.
-  -> m ()
-glAlphaFuncxOES v1 v2 = liftIO $ dyn1 ptr_glAlphaFuncxOES v1 v2
-
-{-# NOINLINE ptr_glAlphaFuncxOES #-}
-ptr_glAlphaFuncxOES :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glAlphaFuncxOES = unsafePerformIO $ getCommand "glAlphaFuncxOES"
-
--- glApplyFramebufferAttachmentCMAAINTEL ---------------------------------------
-
-glApplyFramebufferAttachmentCMAAINTEL
-  :: MonadIO m
-  => m ()
-glApplyFramebufferAttachmentCMAAINTEL = liftIO $ dyn10 ptr_glApplyFramebufferAttachmentCMAAINTEL
-
-{-# NOINLINE ptr_glApplyFramebufferAttachmentCMAAINTEL #-}
-ptr_glApplyFramebufferAttachmentCMAAINTEL :: FunPtr (IO ())
-ptr_glApplyFramebufferAttachmentCMAAINTEL = unsafePerformIO $ getCommand "glApplyFramebufferAttachmentCMAAINTEL"
-
--- glApplyTextureEXT -----------------------------------------------------------
-
-glApplyTextureEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type @LightTextureModeEXT@.
-  -> m ()
-glApplyTextureEXT v1 = liftIO $ dyn4 ptr_glApplyTextureEXT v1
-
-{-# NOINLINE ptr_glApplyTextureEXT #-}
-ptr_glApplyTextureEXT :: FunPtr (GLenum -> IO ())
-ptr_glApplyTextureEXT = unsafePerformIO $ getCommand "glApplyTextureEXT"
-
--- glAreProgramsResidentNV -----------------------------------------------------
-
-glAreProgramsResidentNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
-  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glAreProgramsResidentNV v1 v2 v3 = liftIO $ dyn11 ptr_glAreProgramsResidentNV v1 v2 v3
-
-{-# NOINLINE ptr_glAreProgramsResidentNV #-}
-ptr_glAreProgramsResidentNV :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-ptr_glAreProgramsResidentNV = unsafePerformIO $ getCommand "glAreProgramsResidentNV"
-
--- glAreTexturesResident -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glAreTexturesResident.xml OpenGL 2.x>.
-glAreTexturesResident
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glAreTexturesResident v1 v2 v3 = liftIO $ dyn11 ptr_glAreTexturesResident v1 v2 v3
-
-{-# NOINLINE ptr_glAreTexturesResident #-}
-ptr_glAreTexturesResident :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-ptr_glAreTexturesResident = unsafePerformIO $ getCommand "glAreTexturesResident"
-
--- glAreTexturesResidentEXT ----------------------------------------------------
-
-glAreTexturesResidentEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> Ptr GLboolean -- ^ @residences@ pointing to @n@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glAreTexturesResidentEXT v1 v2 v3 = liftIO $ dyn11 ptr_glAreTexturesResidentEXT v1 v2 v3
-
-{-# NOINLINE ptr_glAreTexturesResidentEXT #-}
-ptr_glAreTexturesResidentEXT :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLboolean -> IO GLboolean)
-ptr_glAreTexturesResidentEXT = unsafePerformIO $ getCommand "glAreTexturesResidentEXT"
-
--- glArrayElement --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glArrayElement.xml OpenGL 2.x>.
-glArrayElement
-  :: MonadIO m
-  => GLint -- ^ @i@.
-  -> m ()
-glArrayElement v1 = liftIO $ dyn12 ptr_glArrayElement v1
-
-{-# NOINLINE ptr_glArrayElement #-}
-ptr_glArrayElement :: FunPtr (GLint -> IO ())
-ptr_glArrayElement = unsafePerformIO $ getCommand "glArrayElement"
-
--- glArrayElementEXT -----------------------------------------------------------
-
--- | This command is an alias for 'glArrayElement'.
-glArrayElementEXT
-  :: MonadIO m
-  => GLint -- ^ @i@.
-  -> m ()
-glArrayElementEXT v1 = liftIO $ dyn12 ptr_glArrayElementEXT v1
-
-{-# NOINLINE ptr_glArrayElementEXT #-}
-ptr_glArrayElementEXT :: FunPtr (GLint -> IO ())
-ptr_glArrayElementEXT = unsafePerformIO $ getCommand "glArrayElementEXT"
-
--- glArrayObjectATI ------------------------------------------------------------
-
-glArrayObjectATI
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @ScalarType@.
-  -> GLsizei -- ^ @stride@.
-  -> GLuint -- ^ @buffer@.
-  -> GLuint -- ^ @offset@.
-  -> m ()
-glArrayObjectATI v1 v2 v3 v4 v5 v6 = liftIO $ dyn13 ptr_glArrayObjectATI v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glArrayObjectATI #-}
-ptr_glArrayObjectATI :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
-ptr_glArrayObjectATI = unsafePerformIO $ getCommand "glArrayObjectATI"
-
--- glAsyncMarkerSGIX -----------------------------------------------------------
-
-glAsyncMarkerSGIX
-  :: MonadIO m
-  => GLuint -- ^ @marker@.
-  -> m ()
-glAsyncMarkerSGIX v1 = liftIO $ dyn2 ptr_glAsyncMarkerSGIX v1
-
-{-# NOINLINE ptr_glAsyncMarkerSGIX #-}
-ptr_glAsyncMarkerSGIX :: FunPtr (GLuint -> IO ())
-ptr_glAsyncMarkerSGIX = unsafePerformIO $ getCommand "glAsyncMarkerSGIX"
-
--- glAttachObjectARB -----------------------------------------------------------
-
--- | This command is an alias for 'glAttachShader'.
-glAttachObjectARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @containerObj@ of type @handleARB@.
-  -> GLhandleARB -- ^ @obj@ of type @handleARB@.
-  -> m ()
-glAttachObjectARB v1 v2 = liftIO $ dyn14 ptr_glAttachObjectARB v1 v2
-
-{-# NOINLINE ptr_glAttachObjectARB #-}
-ptr_glAttachObjectARB :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
-ptr_glAttachObjectARB = unsafePerformIO $ getCommand "glAttachObjectARB"
-
--- glAttachShader --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glAttachShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glAttachShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glAttachShader.xhtml OpenGL 4.x>.
-glAttachShader
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @shader@.
-  -> m ()
-glAttachShader v1 v2 = liftIO $ dyn3 ptr_glAttachShader v1 v2
-
-{-# NOINLINE ptr_glAttachShader #-}
-ptr_glAttachShader :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glAttachShader = unsafePerformIO $ getCommand "glAttachShader"
-
--- glBegin ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBegin.xml OpenGL 2.x>.
-glBegin
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> m ()
-glBegin v1 = liftIO $ dyn4 ptr_glBegin v1
-
-{-# NOINLINE ptr_glBegin #-}
-ptr_glBegin :: FunPtr (GLenum -> IO ())
-ptr_glBegin = unsafePerformIO $ getCommand "glBegin"
-
--- glBeginConditionalRender ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml OpenGL 4.x>.
-glBeginConditionalRender
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @mode@ of type @TypeEnum@.
-  -> m ()
-glBeginConditionalRender v1 v2 = liftIO $ dyn15 ptr_glBeginConditionalRender v1 v2
-
-{-# NOINLINE ptr_glBeginConditionalRender #-}
-ptr_glBeginConditionalRender :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glBeginConditionalRender = unsafePerformIO $ getCommand "glBeginConditionalRender"
-
--- glBeginConditionalRenderNV --------------------------------------------------
-
--- | This command is an alias for 'glBeginConditionalRender'.
-glBeginConditionalRenderNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @mode@ of type @TypeEnum@.
-  -> m ()
-glBeginConditionalRenderNV v1 v2 = liftIO $ dyn15 ptr_glBeginConditionalRenderNV v1 v2
-
-{-# NOINLINE ptr_glBeginConditionalRenderNV #-}
-ptr_glBeginConditionalRenderNV :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glBeginConditionalRenderNV = unsafePerformIO $ getCommand "glBeginConditionalRenderNV"
-
--- glBeginConditionalRenderNVX -------------------------------------------------
-
-glBeginConditionalRenderNVX
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glBeginConditionalRenderNVX v1 = liftIO $ dyn2 ptr_glBeginConditionalRenderNVX v1
-
-{-# NOINLINE ptr_glBeginConditionalRenderNVX #-}
-ptr_glBeginConditionalRenderNVX :: FunPtr (GLuint -> IO ())
-ptr_glBeginConditionalRenderNVX = unsafePerformIO $ getCommand "glBeginConditionalRenderNVX"
-
--- glBeginFragmentShaderATI ----------------------------------------------------
-
-glBeginFragmentShaderATI
-  :: MonadIO m
-  => m ()
-glBeginFragmentShaderATI = liftIO $ dyn10 ptr_glBeginFragmentShaderATI
-
-{-# NOINLINE ptr_glBeginFragmentShaderATI #-}
-ptr_glBeginFragmentShaderATI :: FunPtr (IO ())
-ptr_glBeginFragmentShaderATI = unsafePerformIO $ getCommand "glBeginFragmentShaderATI"
-
--- glBeginOcclusionQueryNV -----------------------------------------------------
-
-glBeginOcclusionQueryNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glBeginOcclusionQueryNV v1 = liftIO $ dyn2 ptr_glBeginOcclusionQueryNV v1
-
-{-# NOINLINE ptr_glBeginOcclusionQueryNV #-}
-ptr_glBeginOcclusionQueryNV :: FunPtr (GLuint -> IO ())
-ptr_glBeginOcclusionQueryNV = unsafePerformIO $ getCommand "glBeginOcclusionQueryNV"
-
--- glBeginPerfMonitorAMD -------------------------------------------------------
-
-glBeginPerfMonitorAMD
-  :: MonadIO m
-  => GLuint -- ^ @monitor@.
-  -> m ()
-glBeginPerfMonitorAMD v1 = liftIO $ dyn2 ptr_glBeginPerfMonitorAMD v1
-
-{-# NOINLINE ptr_glBeginPerfMonitorAMD #-}
-ptr_glBeginPerfMonitorAMD :: FunPtr (GLuint -> IO ())
-ptr_glBeginPerfMonitorAMD = unsafePerformIO $ getCommand "glBeginPerfMonitorAMD"
-
--- glBeginPerfQueryINTEL -------------------------------------------------------
-
-glBeginPerfQueryINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryHandle@.
-  -> m ()
-glBeginPerfQueryINTEL v1 = liftIO $ dyn2 ptr_glBeginPerfQueryINTEL v1
-
-{-# NOINLINE ptr_glBeginPerfQueryINTEL #-}
-ptr_glBeginPerfQueryINTEL :: FunPtr (GLuint -> IO ())
-ptr_glBeginPerfQueryINTEL = unsafePerformIO $ getCommand "glBeginPerfQueryINTEL"
-
--- glBeginQuery ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBeginQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml OpenGL 4.x>.
-glBeginQuery
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @id@.
-  -> m ()
-glBeginQuery v1 v2 = liftIO $ dyn16 ptr_glBeginQuery v1 v2
-
-{-# NOINLINE ptr_glBeginQuery #-}
-ptr_glBeginQuery :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBeginQuery = unsafePerformIO $ getCommand "glBeginQuery"
-
--- glBeginQueryARB -------------------------------------------------------------
-
--- | This command is an alias for 'glBeginQuery'.
-glBeginQueryARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @id@.
-  -> m ()
-glBeginQueryARB v1 v2 = liftIO $ dyn16 ptr_glBeginQueryARB v1 v2
-
-{-# NOINLINE ptr_glBeginQueryARB #-}
-ptr_glBeginQueryARB :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBeginQueryARB = unsafePerformIO $ getCommand "glBeginQueryARB"
-
--- glBeginQueryEXT -------------------------------------------------------------
-
-glBeginQueryEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @id@.
-  -> m ()
-glBeginQueryEXT v1 v2 = liftIO $ dyn16 ptr_glBeginQueryEXT v1 v2
-
-{-# NOINLINE ptr_glBeginQueryEXT #-}
-ptr_glBeginQueryEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBeginQueryEXT = unsafePerformIO $ getCommand "glBeginQueryEXT"
-
--- glBeginQueryIndexed ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
-glBeginQueryIndexed
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @id@.
-  -> m ()
-glBeginQueryIndexed v1 v2 v3 = liftIO $ dyn17 ptr_glBeginQueryIndexed v1 v2 v3
-
-{-# NOINLINE ptr_glBeginQueryIndexed #-}
-ptr_glBeginQueryIndexed :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-ptr_glBeginQueryIndexed = unsafePerformIO $ getCommand "glBeginQueryIndexed"
-
--- glBeginTransformFeedback ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml OpenGL 4.x>.
-glBeginTransformFeedback
-  :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
-  -> m ()
-glBeginTransformFeedback v1 = liftIO $ dyn4 ptr_glBeginTransformFeedback v1
-
-{-# NOINLINE ptr_glBeginTransformFeedback #-}
-ptr_glBeginTransformFeedback :: FunPtr (GLenum -> IO ())
-ptr_glBeginTransformFeedback = unsafePerformIO $ getCommand "glBeginTransformFeedback"
-
--- glBeginTransformFeedbackEXT -------------------------------------------------
-
--- | This command is an alias for 'glBeginTransformFeedback'.
-glBeginTransformFeedbackEXT
-  :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
-  -> m ()
-glBeginTransformFeedbackEXT v1 = liftIO $ dyn4 ptr_glBeginTransformFeedbackEXT v1
-
-{-# NOINLINE ptr_glBeginTransformFeedbackEXT #-}
-ptr_glBeginTransformFeedbackEXT :: FunPtr (GLenum -> IO ())
-ptr_glBeginTransformFeedbackEXT = unsafePerformIO $ getCommand "glBeginTransformFeedbackEXT"
-
--- glBeginTransformFeedbackNV --------------------------------------------------
-
--- | This command is an alias for 'glBeginTransformFeedback'.
-glBeginTransformFeedbackNV
-  :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
-  -> m ()
-glBeginTransformFeedbackNV v1 = liftIO $ dyn4 ptr_glBeginTransformFeedbackNV v1
-
-{-# NOINLINE ptr_glBeginTransformFeedbackNV #-}
-ptr_glBeginTransformFeedbackNV :: FunPtr (GLenum -> IO ())
-ptr_glBeginTransformFeedbackNV = unsafePerformIO $ getCommand "glBeginTransformFeedbackNV"
-
--- glBeginVertexShaderEXT ------------------------------------------------------
-
-glBeginVertexShaderEXT
-  :: MonadIO m
-  => m ()
-glBeginVertexShaderEXT = liftIO $ dyn10 ptr_glBeginVertexShaderEXT
-
-{-# NOINLINE ptr_glBeginVertexShaderEXT #-}
-ptr_glBeginVertexShaderEXT :: FunPtr (IO ())
-ptr_glBeginVertexShaderEXT = unsafePerformIO $ getCommand "glBeginVertexShaderEXT"
-
--- glBeginVideoCaptureNV -------------------------------------------------------
-
-glBeginVideoCaptureNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> m ()
-glBeginVideoCaptureNV v1 = liftIO $ dyn2 ptr_glBeginVideoCaptureNV v1
-
-{-# NOINLINE ptr_glBeginVideoCaptureNV #-}
-ptr_glBeginVideoCaptureNV :: FunPtr (GLuint -> IO ())
-ptr_glBeginVideoCaptureNV = unsafePerformIO $ getCommand "glBeginVideoCaptureNV"
-
--- glBindAttribLocation --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindAttribLocation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindAttribLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindAttribLocation.xhtml OpenGL 4.x>.
-glBindAttribLocation
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m ()
-glBindAttribLocation v1 v2 v3 = liftIO $ dyn18 ptr_glBindAttribLocation v1 v2 v3
-
-{-# NOINLINE ptr_glBindAttribLocation #-}
-ptr_glBindAttribLocation :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
-ptr_glBindAttribLocation = unsafePerformIO $ getCommand "glBindAttribLocation"
-
--- glBindAttribLocationARB -----------------------------------------------------
-
--- | This command is an alias for 'glBindAttribLocation'.
-glBindAttribLocationARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLcharARB -- ^ @name@.
-  -> m ()
-glBindAttribLocationARB v1 v2 v3 = liftIO $ dyn19 ptr_glBindAttribLocationARB v1 v2 v3
-
-{-# NOINLINE ptr_glBindAttribLocationARB #-}
-ptr_glBindAttribLocationARB :: FunPtr (GLhandleARB -> GLuint -> Ptr GLcharARB -> IO ())
-ptr_glBindAttribLocationARB = unsafePerformIO $ getCommand "glBindAttribLocationARB"
-
--- glBindBuffer ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBuffer.xhtml OpenGL 4.x>.
-glBindBuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glBindBuffer v1 v2 = liftIO $ dyn16 ptr_glBindBuffer v1 v2
-
-{-# NOINLINE ptr_glBindBuffer #-}
-ptr_glBindBuffer :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindBuffer = unsafePerformIO $ getCommand "glBindBuffer"
-
--- glBindBufferARB -------------------------------------------------------------
-
--- | This command is an alias for 'glBindBuffer'.
-glBindBufferARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glBindBufferARB v1 v2 = liftIO $ dyn16 ptr_glBindBufferARB v1 v2
-
-{-# NOINLINE ptr_glBindBufferARB #-}
-ptr_glBindBufferARB :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindBufferARB = unsafePerformIO $ getCommand "glBindBufferARB"
-
--- glBindBufferBase ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferBase.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferBase.xhtml OpenGL 4.x>.
-glBindBufferBase
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glBindBufferBase v1 v2 v3 = liftIO $ dyn17 ptr_glBindBufferBase v1 v2 v3
-
-{-# NOINLINE ptr_glBindBufferBase #-}
-ptr_glBindBufferBase :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-ptr_glBindBufferBase = unsafePerformIO $ getCommand "glBindBufferBase"
-
--- glBindBufferBaseEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glBindBufferBase'.
-glBindBufferBaseEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glBindBufferBaseEXT v1 v2 v3 = liftIO $ dyn17 ptr_glBindBufferBaseEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBindBufferBaseEXT #-}
-ptr_glBindBufferBaseEXT :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-ptr_glBindBufferBaseEXT = unsafePerformIO $ getCommand "glBindBufferBaseEXT"
-
--- glBindBufferBaseNV ----------------------------------------------------------
-
--- | This command is an alias for 'glBindBufferBase'.
-glBindBufferBaseNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glBindBufferBaseNV v1 v2 v3 = liftIO $ dyn17 ptr_glBindBufferBaseNV v1 v2 v3
-
-{-# NOINLINE ptr_glBindBufferBaseNV #-}
-ptr_glBindBufferBaseNV :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-ptr_glBindBufferBaseNV = unsafePerformIO $ getCommand "glBindBufferBaseNV"
-
--- glBindBufferOffsetEXT -------------------------------------------------------
-
-glBindBufferOffsetEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> m ()
-glBindBufferOffsetEXT v1 v2 v3 v4 = liftIO $ dyn20 ptr_glBindBufferOffsetEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBindBufferOffsetEXT #-}
-ptr_glBindBufferOffsetEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
-ptr_glBindBufferOffsetEXT = unsafePerformIO $ getCommand "glBindBufferOffsetEXT"
-
--- glBindBufferOffsetNV --------------------------------------------------------
-
--- | This command is an alias for 'glBindBufferOffsetEXT'.
-glBindBufferOffsetNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> m ()
-glBindBufferOffsetNV v1 v2 v3 v4 = liftIO $ dyn20 ptr_glBindBufferOffsetNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBindBufferOffsetNV #-}
-ptr_glBindBufferOffsetNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> IO ())
-ptr_glBindBufferOffsetNV = unsafePerformIO $ getCommand "glBindBufferOffsetNV"
-
--- glBindBufferRange -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindBufferRange.xhtml OpenGL 4.x>.
-glBindBufferRange
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glBindBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn21 ptr_glBindBufferRange v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBindBufferRange #-}
-ptr_glBindBufferRange :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glBindBufferRange = unsafePerformIO $ getCommand "glBindBufferRange"
-
--- glBindBufferRangeEXT --------------------------------------------------------
-
--- | This command is an alias for 'glBindBufferRange'.
-glBindBufferRangeEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glBindBufferRangeEXT v1 v2 v3 v4 v5 = liftIO $ dyn21 ptr_glBindBufferRangeEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBindBufferRangeEXT #-}
-ptr_glBindBufferRangeEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glBindBufferRangeEXT = unsafePerformIO $ getCommand "glBindBufferRangeEXT"
-
--- glBindBufferRangeNV ---------------------------------------------------------
-
--- | This command is an alias for 'glBindBufferRange'.
-glBindBufferRangeNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glBindBufferRangeNV v1 v2 v3 v4 v5 = liftIO $ dyn21 ptr_glBindBufferRangeNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBindBufferRangeNV #-}
-ptr_glBindBufferRangeNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glBindBufferRangeNV = unsafePerformIO $ getCommand "glBindBufferRangeNV"
-
--- glBindBuffersBase -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersBase.xhtml OpenGL 4.x>.
-glBindBuffersBase
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glBindBuffersBase v1 v2 v3 v4 = liftIO $ dyn22 ptr_glBindBuffersBase v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBindBuffersBase #-}
-ptr_glBindBuffersBase :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glBindBuffersBase = unsafePerformIO $ getCommand "glBindBuffersBase"
-
--- glBindBuffersRange ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindBuffersRange.xhtml OpenGL 4.x>.
-glBindBuffersRange
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLintptr -- ^ @offsets@ pointing to @count@ elements of type @GLintptr@.
-  -> Ptr GLsizeiptr -- ^ @sizes@ pointing to @count@ elements of type @GLsizeiptr@.
-  -> m ()
-glBindBuffersRange v1 v2 v3 v4 v5 v6 = liftIO $ dyn23 ptr_glBindBuffersRange v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glBindBuffersRange #-}
-ptr_glBindBuffersRange :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizeiptr -> IO ())
-ptr_glBindBuffersRange = unsafePerformIO $ getCommand "glBindBuffersRange"
-
--- glBindFragDataLocation ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFragDataLocation.xhtml OpenGL 4.x>.
-glBindFragDataLocation
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @color@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m ()
-glBindFragDataLocation v1 v2 v3 = liftIO $ dyn18 ptr_glBindFragDataLocation v1 v2 v3
-
-{-# NOINLINE ptr_glBindFragDataLocation #-}
-ptr_glBindFragDataLocation :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
-ptr_glBindFragDataLocation = unsafePerformIO $ getCommand "glBindFragDataLocation"
-
--- glBindFragDataLocationEXT ---------------------------------------------------
-
--- | This command is an alias for 'glBindFragDataLocation'.
-glBindFragDataLocationEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @color@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m ()
-glBindFragDataLocationEXT v1 v2 v3 = liftIO $ dyn18 ptr_glBindFragDataLocationEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBindFragDataLocationEXT #-}
-ptr_glBindFragDataLocationEXT :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> IO ())
-ptr_glBindFragDataLocationEXT = unsafePerformIO $ getCommand "glBindFragDataLocationEXT"
-
--- glBindFragDataLocationIndexed -----------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFragDataLocationIndexed.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFragDataLocationIndexed.xhtml OpenGL 4.x>.
-glBindFragDataLocationIndexed
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @colorNumber@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m ()
-glBindFragDataLocationIndexed v1 v2 v3 v4 = liftIO $ dyn24 ptr_glBindFragDataLocationIndexed v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBindFragDataLocationIndexed #-}
-ptr_glBindFragDataLocationIndexed :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
-ptr_glBindFragDataLocationIndexed = unsafePerformIO $ getCommand "glBindFragDataLocationIndexed"
-
--- glBindFragDataLocationIndexedEXT --------------------------------------------
-
--- | This command is an alias for 'glBindFragDataLocationIndexed'.
-glBindFragDataLocationIndexedEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @colorNumber@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m ()
-glBindFragDataLocationIndexedEXT v1 v2 v3 v4 = liftIO $ dyn24 ptr_glBindFragDataLocationIndexedEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBindFragDataLocationIndexedEXT #-}
-ptr_glBindFragDataLocationIndexedEXT :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> IO ())
-ptr_glBindFragDataLocationIndexedEXT = unsafePerformIO $ getCommand "glBindFragDataLocationIndexedEXT"
-
--- glBindFragmentShaderATI -----------------------------------------------------
-
-glBindFragmentShaderATI
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glBindFragmentShaderATI v1 = liftIO $ dyn2 ptr_glBindFragmentShaderATI v1
-
-{-# NOINLINE ptr_glBindFragmentShaderATI #-}
-ptr_glBindFragmentShaderATI :: FunPtr (GLuint -> IO ())
-ptr_glBindFragmentShaderATI = unsafePerformIO $ getCommand "glBindFragmentShaderATI"
-
--- glBindFramebuffer -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindFramebuffer.xhtml OpenGL 4.x>.
-glBindFramebuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLuint -- ^ @framebuffer@.
-  -> m ()
-glBindFramebuffer v1 v2 = liftIO $ dyn16 ptr_glBindFramebuffer v1 v2
-
-{-# NOINLINE ptr_glBindFramebuffer #-}
-ptr_glBindFramebuffer :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindFramebuffer = unsafePerformIO $ getCommand "glBindFramebuffer"
-
--- glBindFramebufferEXT --------------------------------------------------------
-
-glBindFramebufferEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLuint -- ^ @framebuffer@.
-  -> m ()
-glBindFramebufferEXT v1 v2 = liftIO $ dyn16 ptr_glBindFramebufferEXT v1 v2
-
-{-# NOINLINE ptr_glBindFramebufferEXT #-}
-ptr_glBindFramebufferEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindFramebufferEXT = unsafePerformIO $ getCommand "glBindFramebufferEXT"
-
--- glBindFramebufferOES --------------------------------------------------------
-
-glBindFramebufferOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @framebuffer@.
-  -> m ()
-glBindFramebufferOES v1 v2 = liftIO $ dyn16 ptr_glBindFramebufferOES v1 v2
-
-{-# NOINLINE ptr_glBindFramebufferOES #-}
-ptr_glBindFramebufferOES :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindFramebufferOES = unsafePerformIO $ getCommand "glBindFramebufferOES"
-
--- glBindImageTexture ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindImageTexture.xhtml OpenGL 4.x>.
-glBindImageTexture
-  :: MonadIO m
-  => GLuint -- ^ @unit@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @access@.
-  -> GLenum -- ^ @format@.
-  -> m ()
-glBindImageTexture v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn25 ptr_glBindImageTexture v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glBindImageTexture #-}
-ptr_glBindImageTexture :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLenum -> IO ())
-ptr_glBindImageTexture = unsafePerformIO $ getCommand "glBindImageTexture"
-
--- glBindImageTextureEXT -------------------------------------------------------
-
-glBindImageTextureEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @access@.
-  -> GLint -- ^ @format@.
-  -> m ()
-glBindImageTextureEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn26 ptr_glBindImageTextureEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glBindImageTextureEXT #-}
-ptr_glBindImageTextureEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLboolean -> GLint -> GLenum -> GLint -> IO ())
-ptr_glBindImageTextureEXT = unsafePerformIO $ getCommand "glBindImageTextureEXT"
-
--- glBindImageTextures ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindImageTextures.xhtml OpenGL 4.x>.
-glBindImageTextures
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glBindImageTextures v1 v2 v3 = liftIO $ dyn27 ptr_glBindImageTextures v1 v2 v3
-
-{-# NOINLINE ptr_glBindImageTextures #-}
-ptr_glBindImageTextures :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glBindImageTextures = unsafePerformIO $ getCommand "glBindImageTextures"
-
--- glBindLightParameterEXT -----------------------------------------------------
-
-glBindLightParameterEXT
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type [LightName](Graphics-Rendering-OpenGL-Raw-Groups.html#LightName).
-  -> GLenum -- ^ @value@ of type [LightParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightParameter).
-  -> m GLuint
-glBindLightParameterEXT v1 v2 = liftIO $ dyn28 ptr_glBindLightParameterEXT v1 v2
-
-{-# NOINLINE ptr_glBindLightParameterEXT #-}
-ptr_glBindLightParameterEXT :: FunPtr (GLenum -> GLenum -> IO GLuint)
-ptr_glBindLightParameterEXT = unsafePerformIO $ getCommand "glBindLightParameterEXT"
-
--- glBindMaterialParameterEXT --------------------------------------------------
-
-glBindMaterialParameterEXT
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @value@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> m GLuint
-glBindMaterialParameterEXT v1 v2 = liftIO $ dyn28 ptr_glBindMaterialParameterEXT v1 v2
-
-{-# NOINLINE ptr_glBindMaterialParameterEXT #-}
-ptr_glBindMaterialParameterEXT :: FunPtr (GLenum -> GLenum -> IO GLuint)
-ptr_glBindMaterialParameterEXT = unsafePerformIO $ getCommand "glBindMaterialParameterEXT"
-
--- glBindMultiTextureEXT -------------------------------------------------------
-
-glBindMultiTextureEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> m ()
-glBindMultiTextureEXT v1 v2 v3 = liftIO $ dyn29 ptr_glBindMultiTextureEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBindMultiTextureEXT #-}
-ptr_glBindMultiTextureEXT :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glBindMultiTextureEXT = unsafePerformIO $ getCommand "glBindMultiTextureEXT"
-
--- glBindParameterEXT ----------------------------------------------------------
-
-glBindParameterEXT
-  :: MonadIO m
-  => GLenum -- ^ @value@ of type @VertexShaderParameterEXT@.
-  -> m GLuint
-glBindParameterEXT v1 = liftIO $ dyn30 ptr_glBindParameterEXT v1
-
-{-# NOINLINE ptr_glBindParameterEXT #-}
-ptr_glBindParameterEXT :: FunPtr (GLenum -> IO GLuint)
-ptr_glBindParameterEXT = unsafePerformIO $ getCommand "glBindParameterEXT"
-
--- glBindProgramARB ------------------------------------------------------------
-
-glBindProgramARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @program@.
-  -> m ()
-glBindProgramARB v1 v2 = liftIO $ dyn16 ptr_glBindProgramARB v1 v2
-
-{-# NOINLINE ptr_glBindProgramARB #-}
-ptr_glBindProgramARB :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindProgramARB = unsafePerformIO $ getCommand "glBindProgramARB"
-
--- glBindProgramNV -------------------------------------------------------------
-
--- | This command is an alias for 'glBindProgramARB'.
-glBindProgramNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @id@.
-  -> m ()
-glBindProgramNV v1 v2 = liftIO $ dyn16 ptr_glBindProgramNV v1 v2
-
-{-# NOINLINE ptr_glBindProgramNV #-}
-ptr_glBindProgramNV :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindProgramNV = unsafePerformIO $ getCommand "glBindProgramNV"
-
--- glBindProgramPipeline -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindProgramPipeline.xhtml OpenGL 4.x>.
-glBindProgramPipeline
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> m ()
-glBindProgramPipeline v1 = liftIO $ dyn2 ptr_glBindProgramPipeline v1
-
-{-# NOINLINE ptr_glBindProgramPipeline #-}
-ptr_glBindProgramPipeline :: FunPtr (GLuint -> IO ())
-ptr_glBindProgramPipeline = unsafePerformIO $ getCommand "glBindProgramPipeline"
-
--- glBindProgramPipelineEXT ----------------------------------------------------
-
-glBindProgramPipelineEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> m ()
-glBindProgramPipelineEXT v1 = liftIO $ dyn2 ptr_glBindProgramPipelineEXT v1
-
-{-# NOINLINE ptr_glBindProgramPipelineEXT #-}
-ptr_glBindProgramPipelineEXT :: FunPtr (GLuint -> IO ())
-ptr_glBindProgramPipelineEXT = unsafePerformIO $ getCommand "glBindProgramPipelineEXT"
-
--- glBindRenderbuffer ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindRenderbuffer.xhtml OpenGL 4.x>.
-glBindRenderbuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glBindRenderbuffer v1 v2 = liftIO $ dyn16 ptr_glBindRenderbuffer v1 v2
-
-{-# NOINLINE ptr_glBindRenderbuffer #-}
-ptr_glBindRenderbuffer :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindRenderbuffer = unsafePerformIO $ getCommand "glBindRenderbuffer"
-
--- glBindRenderbufferEXT -------------------------------------------------------
-
-glBindRenderbufferEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glBindRenderbufferEXT v1 v2 = liftIO $ dyn16 ptr_glBindRenderbufferEXT v1 v2
-
-{-# NOINLINE ptr_glBindRenderbufferEXT #-}
-ptr_glBindRenderbufferEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindRenderbufferEXT = unsafePerformIO $ getCommand "glBindRenderbufferEXT"
-
--- glBindRenderbufferOES -------------------------------------------------------
-
-glBindRenderbufferOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glBindRenderbufferOES v1 v2 = liftIO $ dyn16 ptr_glBindRenderbufferOES v1 v2
-
-{-# NOINLINE ptr_glBindRenderbufferOES #-}
-ptr_glBindRenderbufferOES :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindRenderbufferOES = unsafePerformIO $ getCommand "glBindRenderbufferOES"
-
--- glBindSampler ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindSampler.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindSampler.xhtml OpenGL 4.x>.
-glBindSampler
-  :: MonadIO m
-  => GLuint -- ^ @unit@.
-  -> GLuint -- ^ @sampler@.
-  -> m ()
-glBindSampler v1 v2 = liftIO $ dyn3 ptr_glBindSampler v1 v2
-
-{-# NOINLINE ptr_glBindSampler #-}
-ptr_glBindSampler :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glBindSampler = unsafePerformIO $ getCommand "glBindSampler"
-
--- glBindSamplers --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindSamplers.xhtml OpenGL 4.x>.
-glBindSamplers
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glBindSamplers v1 v2 v3 = liftIO $ dyn27 ptr_glBindSamplers v1 v2 v3
-
-{-# NOINLINE ptr_glBindSamplers #-}
-ptr_glBindSamplers :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glBindSamplers = unsafePerformIO $ getCommand "glBindSamplers"
-
--- glBindTexGenParameterEXT ----------------------------------------------------
-
-glBindTexGenParameterEXT
-  :: MonadIO m
-  => GLenum -- ^ @unit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @value@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> m GLuint
-glBindTexGenParameterEXT v1 v2 v3 = liftIO $ dyn31 ptr_glBindTexGenParameterEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBindTexGenParameterEXT #-}
-ptr_glBindTexGenParameterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> IO GLuint)
-ptr_glBindTexGenParameterEXT = unsafePerformIO $ getCommand "glBindTexGenParameterEXT"
-
--- glBindTexture ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBindTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBindTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindTexture.xhtml OpenGL 4.x>.
-glBindTexture
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> m ()
-glBindTexture v1 v2 = liftIO $ dyn16 ptr_glBindTexture v1 v2
-
-{-# NOINLINE ptr_glBindTexture #-}
-ptr_glBindTexture :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindTexture = unsafePerformIO $ getCommand "glBindTexture"
-
--- glBindTextureEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glBindTexture'.
-glBindTextureEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> m ()
-glBindTextureEXT v1 v2 = liftIO $ dyn16 ptr_glBindTextureEXT v1 v2
-
-{-# NOINLINE ptr_glBindTextureEXT #-}
-ptr_glBindTextureEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindTextureEXT = unsafePerformIO $ getCommand "glBindTextureEXT"
-
--- glBindTextureUnit -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTextureUnit.xhtml OpenGL 4.x>.
-glBindTextureUnit
-  :: MonadIO m
-  => GLuint -- ^ @unit@.
-  -> GLuint -- ^ @texture@.
-  -> m ()
-glBindTextureUnit v1 v2 = liftIO $ dyn3 ptr_glBindTextureUnit v1 v2
-
-{-# NOINLINE ptr_glBindTextureUnit #-}
-ptr_glBindTextureUnit :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glBindTextureUnit = unsafePerformIO $ getCommand "glBindTextureUnit"
-
--- glBindTextureUnitParameterEXT -----------------------------------------------
-
-glBindTextureUnitParameterEXT
-  :: MonadIO m
-  => GLenum -- ^ @unit@ of type @TextureUnit@.
-  -> GLenum -- ^ @value@ of type @VertexShaderTextureUnitParameter@.
-  -> m GLuint
-glBindTextureUnitParameterEXT v1 v2 = liftIO $ dyn28 ptr_glBindTextureUnitParameterEXT v1 v2
-
-{-# NOINLINE ptr_glBindTextureUnitParameterEXT #-}
-ptr_glBindTextureUnitParameterEXT :: FunPtr (GLenum -> GLenum -> IO GLuint)
-ptr_glBindTextureUnitParameterEXT = unsafePerformIO $ getCommand "glBindTextureUnitParameterEXT"
-
--- glBindTextures --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTextures.xhtml OpenGL 4.x>.
-glBindTextures
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glBindTextures v1 v2 v3 = liftIO $ dyn27 ptr_glBindTextures v1 v2 v3
-
-{-# NOINLINE ptr_glBindTextures #-}
-ptr_glBindTextures :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glBindTextures = unsafePerformIO $ getCommand "glBindTextures"
-
--- glBindTransformFeedback -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindTransformFeedback.xhtml OpenGL 4.x>.
-glBindTransformFeedback
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @id@.
-  -> m ()
-glBindTransformFeedback v1 v2 = liftIO $ dyn16 ptr_glBindTransformFeedback v1 v2
-
-{-# NOINLINE ptr_glBindTransformFeedback #-}
-ptr_glBindTransformFeedback :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindTransformFeedback = unsafePerformIO $ getCommand "glBindTransformFeedback"
-
--- glBindTransformFeedbackNV ---------------------------------------------------
-
-glBindTransformFeedbackNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLuint -- ^ @id@.
-  -> m ()
-glBindTransformFeedbackNV v1 v2 = liftIO $ dyn16 ptr_glBindTransformFeedbackNV v1 v2
-
-{-# NOINLINE ptr_glBindTransformFeedbackNV #-}
-ptr_glBindTransformFeedbackNV :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glBindTransformFeedbackNV = unsafePerformIO $ getCommand "glBindTransformFeedbackNV"
-
--- glBindVertexArray -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBindVertexArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBindVertexArray.xhtml OpenGL 4.x>.
-glBindVertexArray
-  :: MonadIO m
-  => GLuint -- ^ @array@.
-  -> m ()
-glBindVertexArray v1 = liftIO $ dyn2 ptr_glBindVertexArray v1
-
-{-# NOINLINE ptr_glBindVertexArray #-}
-ptr_glBindVertexArray :: FunPtr (GLuint -> IO ())
-ptr_glBindVertexArray = unsafePerformIO $ getCommand "glBindVertexArray"
-
--- glBindVertexArrayAPPLE ------------------------------------------------------
-
-glBindVertexArrayAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @array@.
-  -> m ()
-glBindVertexArrayAPPLE v1 = liftIO $ dyn2 ptr_glBindVertexArrayAPPLE v1
-
-{-# NOINLINE ptr_glBindVertexArrayAPPLE #-}
-ptr_glBindVertexArrayAPPLE :: FunPtr (GLuint -> IO ())
-ptr_glBindVertexArrayAPPLE = unsafePerformIO $ getCommand "glBindVertexArrayAPPLE"
-
--- glBindVertexArrayOES --------------------------------------------------------
-
--- | This command is an alias for 'glBindVertexArray'.
-glBindVertexArrayOES
-  :: MonadIO m
-  => GLuint -- ^ @array@.
-  -> m ()
-glBindVertexArrayOES v1 = liftIO $ dyn2 ptr_glBindVertexArrayOES v1
-
-{-# NOINLINE ptr_glBindVertexArrayOES #-}
-ptr_glBindVertexArrayOES :: FunPtr (GLuint -> IO ())
-ptr_glBindVertexArrayOES = unsafePerformIO $ getCommand "glBindVertexArrayOES"
-
--- glBindVertexBuffer ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffer.xhtml OpenGL 4.x>.
-glBindVertexBuffer
-  :: MonadIO m
-  => GLuint -- ^ @bindingindex@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glBindVertexBuffer v1 v2 v3 v4 = liftIO $ dyn32 ptr_glBindVertexBuffer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBindVertexBuffer #-}
-ptr_glBindVertexBuffer :: FunPtr (GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
-ptr_glBindVertexBuffer = unsafePerformIO $ getCommand "glBindVertexBuffer"
-
--- glBindVertexBuffers ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffers.xhtml OpenGL 4.x>.
-glBindVertexBuffers
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @buffers@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLintptr -- ^ @offsets@ pointing to @count@ elements of type @GLintptr@.
-  -> Ptr GLsizei -- ^ @strides@ pointing to @count@ elements of type @GLsizei@.
-  -> m ()
-glBindVertexBuffers v1 v2 v3 v4 v5 = liftIO $ dyn33 ptr_glBindVertexBuffers v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBindVertexBuffers #-}
-ptr_glBindVertexBuffers :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-ptr_glBindVertexBuffers = unsafePerformIO $ getCommand "glBindVertexBuffers"
-
--- glBindVertexShaderEXT -------------------------------------------------------
-
-glBindVertexShaderEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glBindVertexShaderEXT v1 = liftIO $ dyn2 ptr_glBindVertexShaderEXT v1
-
-{-# NOINLINE ptr_glBindVertexShaderEXT #-}
-ptr_glBindVertexShaderEXT :: FunPtr (GLuint -> IO ())
-ptr_glBindVertexShaderEXT = unsafePerformIO $ getCommand "glBindVertexShaderEXT"
-
--- glBindVideoCaptureStreamBufferNV --------------------------------------------
-
-glBindVideoCaptureStreamBufferNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @frame_region@.
-  -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
-  -> m ()
-glBindVideoCaptureStreamBufferNV v1 v2 v3 v4 = liftIO $ dyn34 ptr_glBindVideoCaptureStreamBufferNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBindVideoCaptureStreamBufferNV #-}
-ptr_glBindVideoCaptureStreamBufferNV :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptrARB -> IO ())
-ptr_glBindVideoCaptureStreamBufferNV = unsafePerformIO $ getCommand "glBindVideoCaptureStreamBufferNV"
-
--- glBindVideoCaptureStreamTextureNV -------------------------------------------
-
-glBindVideoCaptureStreamTextureNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @frame_region@.
-  -> GLenum -- ^ @target@.
-  -> GLuint -- ^ @texture@.
-  -> m ()
-glBindVideoCaptureStreamTextureNV v1 v2 v3 v4 v5 = liftIO $ dyn35 ptr_glBindVideoCaptureStreamTextureNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBindVideoCaptureStreamTextureNV #-}
-ptr_glBindVideoCaptureStreamTextureNV :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glBindVideoCaptureStreamTextureNV = unsafePerformIO $ getCommand "glBindVideoCaptureStreamTextureNV"
-
--- glBinormal3bEXT -------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glBinormal3bvEXT'.
-glBinormal3bEXT
-  :: MonadIO m
-  => GLbyte -- ^ @bx@.
-  -> GLbyte -- ^ @by@.
-  -> GLbyte -- ^ @bz@.
-  -> m ()
-glBinormal3bEXT v1 v2 v3 = liftIO $ dyn36 ptr_glBinormal3bEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBinormal3bEXT #-}
-ptr_glBinormal3bEXT :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glBinormal3bEXT = unsafePerformIO $ getCommand "glBinormal3bEXT"
-
--- glBinormal3bvEXT ------------------------------------------------------------
-
-glBinormal3bvEXT
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @GLbyte@.
-  -> m ()
-glBinormal3bvEXT v1 = liftIO $ dyn37 ptr_glBinormal3bvEXT v1
-
-{-# NOINLINE ptr_glBinormal3bvEXT #-}
-ptr_glBinormal3bvEXT :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glBinormal3bvEXT = unsafePerformIO $ getCommand "glBinormal3bvEXT"
-
--- glBinormal3dEXT -------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glBinormal3dvEXT'.
-glBinormal3dEXT
-  :: MonadIO m
-  => GLdouble -- ^ @bx@ of type @CoordD@.
-  -> GLdouble -- ^ @by@ of type @CoordD@.
-  -> GLdouble -- ^ @bz@ of type @CoordD@.
-  -> m ()
-glBinormal3dEXT v1 v2 v3 = liftIO $ dyn38 ptr_glBinormal3dEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBinormal3dEXT #-}
-ptr_glBinormal3dEXT :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glBinormal3dEXT = unsafePerformIO $ getCommand "glBinormal3dEXT"
-
--- glBinormal3dvEXT ------------------------------------------------------------
-
-glBinormal3dvEXT
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glBinormal3dvEXT v1 = liftIO $ dyn39 ptr_glBinormal3dvEXT v1
-
-{-# NOINLINE ptr_glBinormal3dvEXT #-}
-ptr_glBinormal3dvEXT :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glBinormal3dvEXT = unsafePerformIO $ getCommand "glBinormal3dvEXT"
-
--- glBinormal3fEXT -------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glBinormal3fvEXT'.
-glBinormal3fEXT
-  :: MonadIO m
-  => GLfloat -- ^ @bx@ of type @CoordF@.
-  -> GLfloat -- ^ @by@ of type @CoordF@.
-  -> GLfloat -- ^ @bz@ of type @CoordF@.
-  -> m ()
-glBinormal3fEXT v1 v2 v3 = liftIO $ dyn40 ptr_glBinormal3fEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBinormal3fEXT #-}
-ptr_glBinormal3fEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glBinormal3fEXT = unsafePerformIO $ getCommand "glBinormal3fEXT"
-
--- glBinormal3fvEXT ------------------------------------------------------------
-
-glBinormal3fvEXT
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glBinormal3fvEXT v1 = liftIO $ dyn41 ptr_glBinormal3fvEXT v1
-
-{-# NOINLINE ptr_glBinormal3fvEXT #-}
-ptr_glBinormal3fvEXT :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glBinormal3fvEXT = unsafePerformIO $ getCommand "glBinormal3fvEXT"
-
--- glBinormal3iEXT -------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glBinormal3ivEXT'.
-glBinormal3iEXT
-  :: MonadIO m
-  => GLint -- ^ @bx@.
-  -> GLint -- ^ @by@.
-  -> GLint -- ^ @bz@.
-  -> m ()
-glBinormal3iEXT v1 v2 v3 = liftIO $ dyn42 ptr_glBinormal3iEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBinormal3iEXT #-}
-ptr_glBinormal3iEXT :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glBinormal3iEXT = unsafePerformIO $ getCommand "glBinormal3iEXT"
-
--- glBinormal3ivEXT ------------------------------------------------------------
-
-glBinormal3ivEXT
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glBinormal3ivEXT v1 = liftIO $ dyn43 ptr_glBinormal3ivEXT v1
-
-{-# NOINLINE ptr_glBinormal3ivEXT #-}
-ptr_glBinormal3ivEXT :: FunPtr (Ptr GLint -> IO ())
-ptr_glBinormal3ivEXT = unsafePerformIO $ getCommand "glBinormal3ivEXT"
-
--- glBinormal3sEXT -------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glBinormal3svEXT'.
-glBinormal3sEXT
-  :: MonadIO m
-  => GLshort -- ^ @bx@.
-  -> GLshort -- ^ @by@.
-  -> GLshort -- ^ @bz@.
-  -> m ()
-glBinormal3sEXT v1 v2 v3 = liftIO $ dyn44 ptr_glBinormal3sEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBinormal3sEXT #-}
-ptr_glBinormal3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glBinormal3sEXT = unsafePerformIO $ getCommand "glBinormal3sEXT"
-
--- glBinormal3svEXT ------------------------------------------------------------
-
-glBinormal3svEXT
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glBinormal3svEXT v1 = liftIO $ dyn45 ptr_glBinormal3svEXT v1
-
-{-# NOINLINE ptr_glBinormal3svEXT #-}
-ptr_glBinormal3svEXT :: FunPtr (Ptr GLshort -> IO ())
-ptr_glBinormal3svEXT = unsafePerformIO $ getCommand "glBinormal3svEXT"
-
--- glBinormalPointerEXT --------------------------------------------------------
-
-glBinormalPointerEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type @BinormalPointerTypeEXT@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glBinormalPointerEXT v1 v2 v3 = liftIO $ dyn46 ptr_glBinormalPointerEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBinormalPointerEXT #-}
-ptr_glBinormalPointerEXT :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glBinormalPointerEXT = unsafePerformIO $ getCommand "glBinormalPointerEXT"
-
--- glBitmap --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBitmap.xml OpenGL 2.x>.
-glBitmap
-  :: MonadIO m
-  => GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLfloat -- ^ @xorig@ of type @CoordF@.
-  -> GLfloat -- ^ @yorig@ of type @CoordF@.
-  -> GLfloat -- ^ @xmove@ of type @CoordF@.
-  -> GLfloat -- ^ @ymove@ of type @CoordF@.
-  -> Ptr GLubyte -- ^ @bitmap@ pointing to @COMPSIZE(width,height)@ elements of type @GLubyte@.
-  -> m ()
-glBitmap v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn47 ptr_glBitmap v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glBitmap #-}
-ptr_glBitmap :: FunPtr (GLsizei -> GLsizei -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> Ptr GLubyte -> IO ())
-ptr_glBitmap = unsafePerformIO $ getCommand "glBitmap"
-
--- glBitmapxOES ----------------------------------------------------------------
-
-glBitmapxOES
-  :: MonadIO m
-  => GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLfixed -- ^ @xorig@.
-  -> GLfixed -- ^ @yorig@.
-  -> GLfixed -- ^ @xmove@.
-  -> GLfixed -- ^ @ymove@.
-  -> Ptr GLubyte -- ^ @bitmap@ pointing to @COMPSIZE(width,height)@ elements of type @GLubyte@.
-  -> m ()
-glBitmapxOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn48 ptr_glBitmapxOES v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glBitmapxOES #-}
-ptr_glBitmapxOES :: FunPtr (GLsizei -> GLsizei -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> Ptr GLubyte -> IO ())
-ptr_glBitmapxOES = unsafePerformIO $ getCommand "glBitmapxOES"
-
--- glBlendBarrier --------------------------------------------------------------
-
-glBlendBarrier
-  :: MonadIO m
-  => m ()
-glBlendBarrier = liftIO $ dyn10 ptr_glBlendBarrier
-
-{-# NOINLINE ptr_glBlendBarrier #-}
-ptr_glBlendBarrier :: FunPtr (IO ())
-ptr_glBlendBarrier = unsafePerformIO $ getCommand "glBlendBarrier"
-
--- glBlendBarrierKHR -----------------------------------------------------------
-
--- | This command is an alias for 'glBlendBarrier'.
-glBlendBarrierKHR
-  :: MonadIO m
-  => m ()
-glBlendBarrierKHR = liftIO $ dyn10 ptr_glBlendBarrierKHR
-
-{-# NOINLINE ptr_glBlendBarrierKHR #-}
-ptr_glBlendBarrierKHR :: FunPtr (IO ())
-ptr_glBlendBarrierKHR = unsafePerformIO $ getCommand "glBlendBarrierKHR"
-
--- glBlendBarrierNV ------------------------------------------------------------
-
--- | This command is an alias for 'glBlendBarrier'.
-glBlendBarrierNV
-  :: MonadIO m
-  => m ()
-glBlendBarrierNV = liftIO $ dyn10 ptr_glBlendBarrierNV
-
-{-# NOINLINE ptr_glBlendBarrierNV #-}
-ptr_glBlendBarrierNV :: FunPtr (IO ())
-ptr_glBlendBarrierNV = unsafePerformIO $ getCommand "glBlendBarrierNV"
-
--- glBlendColor ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendColor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendColor.xhtml OpenGL 4.x>.
-glBlendColor
-  :: MonadIO m
-  => GLfloat -- ^ @red@ of type @ColorF@.
-  -> GLfloat -- ^ @green@ of type @ColorF@.
-  -> GLfloat -- ^ @blue@ of type @ColorF@.
-  -> GLfloat -- ^ @alpha@ of type @ColorF@.
-  -> m ()
-glBlendColor v1 v2 v3 v4 = liftIO $ dyn49 ptr_glBlendColor v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBlendColor #-}
-ptr_glBlendColor :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glBlendColor = unsafePerformIO $ getCommand "glBlendColor"
-
--- glBlendColorEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glBlendColor'.
-glBlendColorEXT
-  :: MonadIO m
-  => GLfloat -- ^ @red@ of type @ColorF@.
-  -> GLfloat -- ^ @green@ of type @ColorF@.
-  -> GLfloat -- ^ @blue@ of type @ColorF@.
-  -> GLfloat -- ^ @alpha@ of type @ColorF@.
-  -> m ()
-glBlendColorEXT v1 v2 v3 v4 = liftIO $ dyn49 ptr_glBlendColorEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBlendColorEXT #-}
-ptr_glBlendColorEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glBlendColorEXT = unsafePerformIO $ getCommand "glBlendColorEXT"
-
--- glBlendColorxOES ------------------------------------------------------------
-
-glBlendColorxOES
-  :: MonadIO m
-  => GLfixed -- ^ @red@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @green@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
-  -> m ()
-glBlendColorxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glBlendColorxOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBlendColorxOES #-}
-ptr_glBlendColorxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glBlendColorxOES = unsafePerformIO $ getCommand "glBlendColorxOES"
-
--- glBlendEquation -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendEquation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml OpenGL 4.x>.
-glBlendEquation
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type @BlendEquationMode@.
-  -> m ()
-glBlendEquation v1 = liftIO $ dyn4 ptr_glBlendEquation v1
-
-{-# NOINLINE ptr_glBlendEquation #-}
-ptr_glBlendEquation :: FunPtr (GLenum -> IO ())
-ptr_glBlendEquation = unsafePerformIO $ getCommand "glBlendEquation"
-
--- glBlendEquationEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glBlendEquation'.
-glBlendEquationEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [BlendEquationModeEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#BlendEquationModeEXT).
-  -> m ()
-glBlendEquationEXT v1 = liftIO $ dyn4 ptr_glBlendEquationEXT v1
-
-{-# NOINLINE ptr_glBlendEquationEXT #-}
-ptr_glBlendEquationEXT :: FunPtr (GLenum -> IO ())
-ptr_glBlendEquationEXT = unsafePerformIO $ getCommand "glBlendEquationEXT"
-
--- glBlendEquationIndexedAMD ---------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationi'.
-glBlendEquationIndexedAMD
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
-  -> m ()
-glBlendEquationIndexedAMD v1 v2 = liftIO $ dyn15 ptr_glBlendEquationIndexedAMD v1 v2
-
-{-# NOINLINE ptr_glBlendEquationIndexedAMD #-}
-ptr_glBlendEquationIndexedAMD :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glBlendEquationIndexedAMD = unsafePerformIO $ getCommand "glBlendEquationIndexedAMD"
-
--- glBlendEquationOES ----------------------------------------------------------
-
-glBlendEquationOES
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> m ()
-glBlendEquationOES v1 = liftIO $ dyn4 ptr_glBlendEquationOES v1
-
-{-# NOINLINE ptr_glBlendEquationOES #-}
-ptr_glBlendEquationOES :: FunPtr (GLenum -> IO ())
-ptr_glBlendEquationOES = unsafePerformIO $ getCommand "glBlendEquationOES"
-
--- glBlendEquationSeparate -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendEquationSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendEquationSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendEquationSeparate.xhtml OpenGL 4.x>.
-glBlendEquationSeparate
-  :: MonadIO m
-  => GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#BlendEquationModeEXT).
-  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#BlendEquationModeEXT).
-  -> m ()
-glBlendEquationSeparate v1 v2 = liftIO $ dyn51 ptr_glBlendEquationSeparate v1 v2
-
-{-# NOINLINE ptr_glBlendEquationSeparate #-}
-ptr_glBlendEquationSeparate :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparate = unsafePerformIO $ getCommand "glBlendEquationSeparate"
-
--- glBlendEquationSeparateEXT --------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationSeparate'.
-glBlendEquationSeparateEXT
-  :: MonadIO m
-  => GLenum -- ^ @modeRGB@ of type [BlendEquationModeEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#BlendEquationModeEXT).
-  -> GLenum -- ^ @modeAlpha@ of type [BlendEquationModeEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#BlendEquationModeEXT).
-  -> m ()
-glBlendEquationSeparateEXT v1 v2 = liftIO $ dyn51 ptr_glBlendEquationSeparateEXT v1 v2
-
-{-# NOINLINE ptr_glBlendEquationSeparateEXT #-}
-ptr_glBlendEquationSeparateEXT :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparateEXT = unsafePerformIO $ getCommand "glBlendEquationSeparateEXT"
-
--- glBlendEquationSeparateIndexedAMD -------------------------------------------
-
--- | This command is an alias for 'glBlendEquationSeparatei'.
-glBlendEquationSeparateIndexedAMD
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
-  -> m ()
-glBlendEquationSeparateIndexedAMD v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateIndexedAMD v1 v2 v3
-
-{-# NOINLINE ptr_glBlendEquationSeparateIndexedAMD #-}
-ptr_glBlendEquationSeparateIndexedAMD :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparateIndexedAMD = unsafePerformIO $ getCommand "glBlendEquationSeparateIndexedAMD"
-
--- glBlendEquationSeparateOES --------------------------------------------------
-
-glBlendEquationSeparateOES
-  :: MonadIO m
-  => GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
-  -> m ()
-glBlendEquationSeparateOES v1 v2 = liftIO $ dyn51 ptr_glBlendEquationSeparateOES v1 v2
-
-{-# NOINLINE ptr_glBlendEquationSeparateOES #-}
-ptr_glBlendEquationSeparateOES :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparateOES = unsafePerformIO $ getCommand "glBlendEquationSeparateOES"
-
--- glBlendEquationSeparatei ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendEquationSeparate.xhtml OpenGL 4.x>.
-glBlendEquationSeparatei
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
-  -> m ()
-glBlendEquationSeparatei v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparatei v1 v2 v3
-
-{-# NOINLINE ptr_glBlendEquationSeparatei #-}
-ptr_glBlendEquationSeparatei :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparatei = unsafePerformIO $ getCommand "glBlendEquationSeparatei"
-
--- glBlendEquationSeparateiARB -------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationSeparatei'.
-glBlendEquationSeparateiARB
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
-  -> m ()
-glBlendEquationSeparateiARB v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateiARB v1 v2 v3
-
-{-# NOINLINE ptr_glBlendEquationSeparateiARB #-}
-ptr_glBlendEquationSeparateiARB :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparateiARB = unsafePerformIO $ getCommand "glBlendEquationSeparateiARB"
-
--- glBlendEquationSeparateiEXT -------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationSeparatei'.
-glBlendEquationSeparateiEXT
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
-  -> m ()
-glBlendEquationSeparateiEXT v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateiEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBlendEquationSeparateiEXT #-}
-ptr_glBlendEquationSeparateiEXT :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparateiEXT = unsafePerformIO $ getCommand "glBlendEquationSeparateiEXT"
-
--- glBlendEquationSeparateiOES -------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationSeparatei'.
-glBlendEquationSeparateiOES
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @modeRGB@.
-  -> GLenum -- ^ @modeAlpha@.
-  -> m ()
-glBlendEquationSeparateiOES v1 v2 v3 = liftIO $ dyn52 ptr_glBlendEquationSeparateiOES v1 v2 v3
-
-{-# NOINLINE ptr_glBlendEquationSeparateiOES #-}
-ptr_glBlendEquationSeparateiOES :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendEquationSeparateiOES = unsafePerformIO $ getCommand "glBlendEquationSeparateiOES"
-
--- glBlendEquationi ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendEquation.xhtml OpenGL 4.x>.
-glBlendEquationi
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
-  -> m ()
-glBlendEquationi v1 v2 = liftIO $ dyn15 ptr_glBlendEquationi v1 v2
-
-{-# NOINLINE ptr_glBlendEquationi #-}
-ptr_glBlendEquationi :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glBlendEquationi = unsafePerformIO $ getCommand "glBlendEquationi"
-
--- glBlendEquationiARB ---------------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationi'.
-glBlendEquationiARB
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
-  -> m ()
-glBlendEquationiARB v1 v2 = liftIO $ dyn15 ptr_glBlendEquationiARB v1 v2
-
-{-# NOINLINE ptr_glBlendEquationiARB #-}
-ptr_glBlendEquationiARB :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glBlendEquationiARB = unsafePerformIO $ getCommand "glBlendEquationiARB"
-
--- glBlendEquationiEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationi'.
-glBlendEquationiEXT
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
-  -> m ()
-glBlendEquationiEXT v1 v2 = liftIO $ dyn15 ptr_glBlendEquationiEXT v1 v2
-
-{-# NOINLINE ptr_glBlendEquationiEXT #-}
-ptr_glBlendEquationiEXT :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glBlendEquationiEXT = unsafePerformIO $ getCommand "glBlendEquationiEXT"
-
--- glBlendEquationiOES ---------------------------------------------------------
-
--- | This command is an alias for 'glBlendEquationi'.
-glBlendEquationiOES
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @mode@.
-  -> m ()
-glBlendEquationiOES v1 v2 = liftIO $ dyn15 ptr_glBlendEquationiOES v1 v2
-
-{-# NOINLINE ptr_glBlendEquationiOES #-}
-ptr_glBlendEquationiOES :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glBlendEquationiOES = unsafePerformIO $ getCommand "glBlendEquationiOES"
-
--- glBlendFunc -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendFunc.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFunc.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml OpenGL 4.x>.
-glBlendFunc
-  :: MonadIO m
-  => GLenum -- ^ @sfactor@ of type [BlendingFactorSrc](Graphics-Rendering-OpenGL-Raw-Groups.html#BlendingFactorSrc).
-  -> GLenum -- ^ @dfactor@ of type [BlendingFactorDest](Graphics-Rendering-OpenGL-Raw-Groups.html#BlendingFactorDest).
-  -> m ()
-glBlendFunc v1 v2 = liftIO $ dyn51 ptr_glBlendFunc v1 v2
-
-{-# NOINLINE ptr_glBlendFunc #-}
-ptr_glBlendFunc :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glBlendFunc = unsafePerformIO $ getCommand "glBlendFunc"
-
--- glBlendFuncIndexedAMD -------------------------------------------------------
-
--- | This command is an alias for 'glBlendFunci'.
-glBlendFuncIndexedAMD
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
-  -> m ()
-glBlendFuncIndexedAMD v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFuncIndexedAMD v1 v2 v3
-
-{-# NOINLINE ptr_glBlendFuncIndexedAMD #-}
-ptr_glBlendFuncIndexedAMD :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncIndexedAMD = unsafePerformIO $ getCommand "glBlendFuncIndexedAMD"
-
--- glBlendFuncSeparate ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBlendFuncSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBlendFuncSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml OpenGL 4.x>.
-glBlendFuncSeparate
-  :: MonadIO m
-  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> m ()
-glBlendFuncSeparate v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparate v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBlendFuncSeparate #-}
-ptr_glBlendFuncSeparate :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparate = unsafePerformIO $ getCommand "glBlendFuncSeparate"
-
--- glBlendFuncSeparateEXT ------------------------------------------------------
-
--- | This command is an alias for 'glBlendFuncSeparate'.
-glBlendFuncSeparateEXT
-  :: MonadIO m
-  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> m ()
-glBlendFuncSeparateEXT v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparateEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBlendFuncSeparateEXT #-}
-ptr_glBlendFuncSeparateEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparateEXT = unsafePerformIO $ getCommand "glBlendFuncSeparateEXT"
-
--- glBlendFuncSeparateINGR -----------------------------------------------------
-
--- | This command is an alias for 'glBlendFuncSeparate'.
-glBlendFuncSeparateINGR
-  :: MonadIO m
-  => GLenum -- ^ @sfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorRGB@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @sfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> GLenum -- ^ @dfactorAlpha@ of type @BlendFuncSeparateParameterEXT@.
-  -> m ()
-glBlendFuncSeparateINGR v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparateINGR v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBlendFuncSeparateINGR #-}
-ptr_glBlendFuncSeparateINGR :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparateINGR = unsafePerformIO $ getCommand "glBlendFuncSeparateINGR"
-
--- glBlendFuncSeparateIndexedAMD -----------------------------------------------
-
--- | This command is an alias for 'glBlendFuncSeparatei'.
-glBlendFuncSeparateIndexedAMD
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
-  -> m ()
-glBlendFuncSeparateIndexedAMD v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateIndexedAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBlendFuncSeparateIndexedAMD #-}
-ptr_glBlendFuncSeparateIndexedAMD :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparateIndexedAMD = unsafePerformIO $ getCommand "glBlendFuncSeparateIndexedAMD"
-
--- glBlendFuncSeparateOES ------------------------------------------------------
-
-glBlendFuncSeparateOES
-  :: MonadIO m
-  => GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
-  -> m ()
-glBlendFuncSeparateOES v1 v2 v3 v4 = liftIO $ dyn53 ptr_glBlendFuncSeparateOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBlendFuncSeparateOES #-}
-ptr_glBlendFuncSeparateOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparateOES = unsafePerformIO $ getCommand "glBlendFuncSeparateOES"
-
--- glBlendFuncSeparatei --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendFuncSeparate.xhtml OpenGL 4.x>.
-glBlendFuncSeparatei
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
-  -> m ()
-glBlendFuncSeparatei v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparatei v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBlendFuncSeparatei #-}
-ptr_glBlendFuncSeparatei :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparatei = unsafePerformIO $ getCommand "glBlendFuncSeparatei"
-
--- glBlendFuncSeparateiARB -----------------------------------------------------
-
--- | This command is an alias for 'glBlendFuncSeparatei'.
-glBlendFuncSeparateiARB
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
-  -> m ()
-glBlendFuncSeparateiARB v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateiARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBlendFuncSeparateiARB #-}
-ptr_glBlendFuncSeparateiARB :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparateiARB = unsafePerformIO $ getCommand "glBlendFuncSeparateiARB"
-
--- glBlendFuncSeparateiEXT -----------------------------------------------------
-
--- | This command is an alias for 'glBlendFuncSeparatei'.
-glBlendFuncSeparateiEXT
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
-  -> m ()
-glBlendFuncSeparateiEXT v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateiEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBlendFuncSeparateiEXT #-}
-ptr_glBlendFuncSeparateiEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparateiEXT = unsafePerformIO $ getCommand "glBlendFuncSeparateiEXT"
-
--- glBlendFuncSeparateiOES -----------------------------------------------------
-
--- | This command is an alias for 'glBlendFuncSeparatei'.
-glBlendFuncSeparateiOES
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @srcRGB@.
-  -> GLenum -- ^ @dstRGB@.
-  -> GLenum -- ^ @srcAlpha@.
-  -> GLenum -- ^ @dstAlpha@.
-  -> m ()
-glBlendFuncSeparateiOES v1 v2 v3 v4 v5 = liftIO $ dyn54 ptr_glBlendFuncSeparateiOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glBlendFuncSeparateiOES #-}
-ptr_glBlendFuncSeparateiOES :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glBlendFuncSeparateiOES = unsafePerformIO $ getCommand "glBlendFuncSeparateiOES"
-
--- glBlendFunci ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlendFunc.xhtml OpenGL 4.x>.
-glBlendFunci
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
-  -> m ()
-glBlendFunci v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunci v1 v2 v3
-
-{-# NOINLINE ptr_glBlendFunci #-}
-ptr_glBlendFunci :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendFunci = unsafePerformIO $ getCommand "glBlendFunci"
-
--- glBlendFunciARB -------------------------------------------------------------
-
--- | This command is an alias for 'glBlendFunci'.
-glBlendFunciARB
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
-  -> m ()
-glBlendFunciARB v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunciARB v1 v2 v3
-
-{-# NOINLINE ptr_glBlendFunciARB #-}
-ptr_glBlendFunciARB :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendFunciARB = unsafePerformIO $ getCommand "glBlendFunciARB"
-
--- glBlendFunciEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glBlendFunci'.
-glBlendFunciEXT
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
-  -> m ()
-glBlendFunciEXT v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunciEXT v1 v2 v3
-
-{-# NOINLINE ptr_glBlendFunciEXT #-}
-ptr_glBlendFunciEXT :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendFunciEXT = unsafePerformIO $ getCommand "glBlendFunciEXT"
-
--- glBlendFunciOES -------------------------------------------------------------
-
--- | This command is an alias for 'glBlendFunci'.
-glBlendFunciOES
-  :: MonadIO m
-  => GLuint -- ^ @buf@.
-  -> GLenum -- ^ @src@.
-  -> GLenum -- ^ @dst@.
-  -> m ()
-glBlendFunciOES v1 v2 v3 = liftIO $ dyn52 ptr_glBlendFunciOES v1 v2 v3
-
-{-# NOINLINE ptr_glBlendFunciOES #-}
-ptr_glBlendFunciOES :: FunPtr (GLuint -> GLenum -> GLenum -> IO ())
-ptr_glBlendFunciOES = unsafePerformIO $ getCommand "glBlendFunciOES"
-
--- glBlendParameteriNV ---------------------------------------------------------
-
-glBlendParameteriNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glBlendParameteriNV v1 v2 = liftIO $ dyn55 ptr_glBlendParameteriNV v1 v2
-
-{-# NOINLINE ptr_glBlendParameteriNV #-}
-ptr_glBlendParameteriNV :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glBlendParameteriNV = unsafePerformIO $ getCommand "glBlendParameteriNV"
-
--- glBlitFramebuffer -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBlitFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBlitFramebuffer.xhtml OpenGL 4.x>.
-glBlitFramebuffer
-  :: MonadIO m
-  => GLint -- ^ @srcX0@.
-  -> GLint -- ^ @srcY0@.
-  -> GLint -- ^ @srcX1@.
-  -> GLint -- ^ @srcY1@.
-  -> GLint -- ^ @dstX0@.
-  -> GLint -- ^ @dstY0@.
-  -> GLint -- ^ @dstX1@.
-  -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-Rendering-OpenGL-Raw-Groups.html#ClearBufferMask).
-  -> GLenum -- ^ @filter@.
-  -> m ()
-glBlitFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glBlitFramebuffer #-}
-ptr_glBlitFramebuffer :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-ptr_glBlitFramebuffer = unsafePerformIO $ getCommand "glBlitFramebuffer"
-
--- glBlitFramebufferANGLE ------------------------------------------------------
-
-glBlitFramebufferANGLE
-  :: MonadIO m
-  => GLint -- ^ @srcX0@.
-  -> GLint -- ^ @srcY0@.
-  -> GLint -- ^ @srcX1@.
-  -> GLint -- ^ @srcY1@.
-  -> GLint -- ^ @dstX0@.
-  -> GLint -- ^ @dstY0@.
-  -> GLint -- ^ @dstX1@.
-  -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@.
-  -> GLenum -- ^ @filter@.
-  -> m ()
-glBlitFramebufferANGLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebufferANGLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glBlitFramebufferANGLE #-}
-ptr_glBlitFramebufferANGLE :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-ptr_glBlitFramebufferANGLE = unsafePerformIO $ getCommand "glBlitFramebufferANGLE"
-
--- glBlitFramebufferEXT --------------------------------------------------------
-
--- | This command is an alias for 'glBlitFramebuffer'.
-glBlitFramebufferEXT
-  :: MonadIO m
-  => GLint -- ^ @srcX0@.
-  -> GLint -- ^ @srcY0@.
-  -> GLint -- ^ @srcX1@.
-  -> GLint -- ^ @srcY1@.
-  -> GLint -- ^ @dstX0@.
-  -> GLint -- ^ @dstY0@.
-  -> GLint -- ^ @dstX1@.
-  -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-Rendering-OpenGL-Raw-Groups.html#ClearBufferMask).
-  -> GLenum -- ^ @filter@.
-  -> m ()
-glBlitFramebufferEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebufferEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glBlitFramebufferEXT #-}
-ptr_glBlitFramebufferEXT :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-ptr_glBlitFramebufferEXT = unsafePerformIO $ getCommand "glBlitFramebufferEXT"
-
--- glBlitFramebufferNV ---------------------------------------------------------
-
--- | This command is an alias for 'glBlitFramebuffer'.
-glBlitFramebufferNV
-  :: MonadIO m
-  => GLint -- ^ @srcX0@.
-  -> GLint -- ^ @srcY0@.
-  -> GLint -- ^ @srcX1@.
-  -> GLint -- ^ @srcY1@.
-  -> GLint -- ^ @dstX0@.
-  -> GLint -- ^ @dstY0@.
-  -> GLint -- ^ @dstX1@.
-  -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@.
-  -> GLenum -- ^ @filter@.
-  -> m ()
-glBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn56 ptr_glBlitFramebufferNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glBlitFramebufferNV #-}
-ptr_glBlitFramebufferNV :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-ptr_glBlitFramebufferNV = unsafePerformIO $ getCommand "glBlitFramebufferNV"
-
--- glBlitNamedFramebuffer ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBlitFramebuffer.xhtml OpenGL 4.x>.
-glBlitNamedFramebuffer
-  :: MonadIO m
-  => GLuint -- ^ @readFramebuffer@.
-  -> GLuint -- ^ @drawFramebuffer@.
-  -> GLint -- ^ @srcX0@.
-  -> GLint -- ^ @srcY0@.
-  -> GLint -- ^ @srcX1@.
-  -> GLint -- ^ @srcY1@.
-  -> GLint -- ^ @dstX0@.
-  -> GLint -- ^ @dstY0@.
-  -> GLint -- ^ @dstX1@.
-  -> GLint -- ^ @dstY1@.
-  -> GLbitfield -- ^ @mask@.
-  -> GLenum -- ^ @filter@.
-  -> m ()
-glBlitNamedFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn57 ptr_glBlitNamedFramebuffer v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glBlitNamedFramebuffer #-}
-ptr_glBlitNamedFramebuffer :: FunPtr (GLuint -> GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLbitfield -> GLenum -> IO ())
-ptr_glBlitNamedFramebuffer = unsafePerformIO $ getCommand "glBlitNamedFramebuffer"
-
--- glBufferAddressRangeNV ------------------------------------------------------
-
-glBufferAddressRangeNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLuint -- ^ @index@.
-  -> GLuint64EXT -- ^ @address@.
-  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> m ()
-glBufferAddressRangeNV v1 v2 v3 v4 = liftIO $ dyn58 ptr_glBufferAddressRangeNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferAddressRangeNV #-}
-ptr_glBufferAddressRangeNV :: FunPtr (GLenum -> GLuint -> GLuint64EXT -> GLsizeiptr -> IO ())
-ptr_glBufferAddressRangeNV = unsafePerformIO $ getCommand "glBufferAddressRangeNV"
-
--- glBufferData ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBufferData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBufferData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBufferData.xhtml OpenGL 4.x>.
-glBufferData
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLenum -- ^ @usage@ of type @BufferUsageARB@.
-  -> m ()
-glBufferData v1 v2 v3 v4 = liftIO $ dyn59 ptr_glBufferData v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferData #-}
-ptr_glBufferData :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-ptr_glBufferData = unsafePerformIO $ getCommand "glBufferData"
-
--- glBufferDataARB -------------------------------------------------------------
-
--- | This command is an alias for 'glBufferData'.
-glBufferDataARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLenum -- ^ @usage@ of type @BufferUsageARB@.
-  -> m ()
-glBufferDataARB v1 v2 v3 v4 = liftIO $ dyn60 ptr_glBufferDataARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferDataARB #-}
-ptr_glBufferDataARB :: FunPtr (GLenum -> GLsizeiptrARB -> Ptr a -> GLenum -> IO ())
-ptr_glBufferDataARB = unsafePerformIO $ getCommand "glBufferDataARB"
-
--- glBufferPageCommitmentARB ---------------------------------------------------
-
-glBufferPageCommitmentARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@.
-  -> GLboolean -- ^ @commit@.
-  -> m ()
-glBufferPageCommitmentARB v1 v2 v3 v4 = liftIO $ dyn61 ptr_glBufferPageCommitmentARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferPageCommitmentARB #-}
-ptr_glBufferPageCommitmentARB :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
-ptr_glBufferPageCommitmentARB = unsafePerformIO $ getCommand "glBufferPageCommitmentARB"
-
--- glBufferParameteriAPPLE -----------------------------------------------------
-
-glBufferParameteriAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glBufferParameteriAPPLE v1 v2 v3 = liftIO $ dyn62 ptr_glBufferParameteriAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glBufferParameteriAPPLE #-}
-ptr_glBufferParameteriAPPLE :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glBufferParameteriAPPLE = unsafePerformIO $ getCommand "glBufferParameteriAPPLE"
-
--- glBufferStorage -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferStorage.xhtml OpenGL 4.x>.
-glBufferStorage
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizeiptr -- ^ @size@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
-  -> m ()
-glBufferStorage v1 v2 v3 v4 = liftIO $ dyn63 ptr_glBufferStorage v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferStorage #-}
-ptr_glBufferStorage :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-ptr_glBufferStorage = unsafePerformIO $ getCommand "glBufferStorage"
-
--- glBufferStorageEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glBufferStorage'.
-glBufferStorageEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizeiptr -- ^ @size@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
-  -> m ()
-glBufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn63 ptr_glBufferStorageEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferStorageEXT #-}
-ptr_glBufferStorageEXT :: FunPtr (GLenum -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-ptr_glBufferStorageEXT = unsafePerformIO $ getCommand "glBufferStorageEXT"
-
--- glBufferSubData -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBufferSubData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBufferSubData.xhtml OpenGL 4.x>.
-glBufferSubData
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> m ()
-glBufferSubData v1 v2 v3 v4 = liftIO $ dyn64 ptr_glBufferSubData v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferSubData #-}
-ptr_glBufferSubData :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-ptr_glBufferSubData = unsafePerformIO $ getCommand "glBufferSubData"
-
--- glBufferSubDataARB ----------------------------------------------------------
-
--- | This command is an alias for 'glBufferSubData'.
-glBufferSubDataARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
-  -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> m ()
-glBufferSubDataARB v1 v2 v3 v4 = liftIO $ dyn65 ptr_glBufferSubDataARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glBufferSubDataARB #-}
-ptr_glBufferSubDataARB :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
-ptr_glBufferSubDataARB = unsafePerformIO $ getCommand "glBufferSubDataARB"
-
--- glCallCommandListNV ---------------------------------------------------------
-
-glCallCommandListNV
-  :: MonadIO m
-  => GLuint -- ^ @list@.
-  -> m ()
-glCallCommandListNV v1 = liftIO $ dyn2 ptr_glCallCommandListNV v1
-
-{-# NOINLINE ptr_glCallCommandListNV #-}
-ptr_glCallCommandListNV :: FunPtr (GLuint -> IO ())
-ptr_glCallCommandListNV = unsafePerformIO $ getCommand "glCallCommandListNV"
-
--- glCallList ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCallList.xml OpenGL 2.x>.
-glCallList
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> m ()
-glCallList v1 = liftIO $ dyn2 ptr_glCallList v1
-
-{-# NOINLINE ptr_glCallList #-}
-ptr_glCallList :: FunPtr (GLuint -> IO ())
-ptr_glCallList = unsafePerformIO $ getCommand "glCallList"
-
--- glCallLists -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCallLists.xml OpenGL 2.x>.
-glCallLists
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> GLenum -- ^ @type@ of type [ListNameType](Graphics-Rendering-OpenGL-Raw-Groups.html#ListNameType).
-  -> Ptr a -- ^ @lists@ pointing to @COMPSIZE(n,type)@ elements of type @a@.
-  -> m ()
-glCallLists v1 v2 v3 = liftIO $ dyn66 ptr_glCallLists v1 v2 v3
-
-{-# NOINLINE ptr_glCallLists #-}
-ptr_glCallLists :: FunPtr (GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glCallLists = unsafePerformIO $ getCommand "glCallLists"
-
--- glCheckFramebufferStatus ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCheckFramebufferStatus.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml OpenGL 4.x>.
-glCheckFramebufferStatus
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> m GLenum
-glCheckFramebufferStatus v1 = liftIO $ dyn67 ptr_glCheckFramebufferStatus v1
-
-{-# NOINLINE ptr_glCheckFramebufferStatus #-}
-ptr_glCheckFramebufferStatus :: FunPtr (GLenum -> IO GLenum)
-ptr_glCheckFramebufferStatus = unsafePerformIO $ getCommand "glCheckFramebufferStatus"
-
--- glCheckFramebufferStatusEXT -------------------------------------------------
-
--- | This command is an alias for 'glCheckFramebufferStatus'.
-glCheckFramebufferStatusEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> m GLenum
-glCheckFramebufferStatusEXT v1 = liftIO $ dyn67 ptr_glCheckFramebufferStatusEXT v1
-
-{-# NOINLINE ptr_glCheckFramebufferStatusEXT #-}
-ptr_glCheckFramebufferStatusEXT :: FunPtr (GLenum -> IO GLenum)
-ptr_glCheckFramebufferStatusEXT = unsafePerformIO $ getCommand "glCheckFramebufferStatusEXT"
-
--- glCheckFramebufferStatusOES -------------------------------------------------
-
-glCheckFramebufferStatusOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m GLenum
-glCheckFramebufferStatusOES v1 = liftIO $ dyn67 ptr_glCheckFramebufferStatusOES v1
-
-{-# NOINLINE ptr_glCheckFramebufferStatusOES #-}
-ptr_glCheckFramebufferStatusOES :: FunPtr (GLenum -> IO GLenum)
-ptr_glCheckFramebufferStatusOES = unsafePerformIO $ getCommand "glCheckFramebufferStatusOES"
-
--- glCheckNamedFramebufferStatus -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCheckFramebufferStatus.xhtml OpenGL 4.x>.
-glCheckNamedFramebufferStatus
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @target@.
-  -> m GLenum
-glCheckNamedFramebufferStatus v1 v2 = liftIO $ dyn68 ptr_glCheckNamedFramebufferStatus v1 v2
-
-{-# NOINLINE ptr_glCheckNamedFramebufferStatus #-}
-ptr_glCheckNamedFramebufferStatus :: FunPtr (GLuint -> GLenum -> IO GLenum)
-ptr_glCheckNamedFramebufferStatus = unsafePerformIO $ getCommand "glCheckNamedFramebufferStatus"
-
--- glCheckNamedFramebufferStatusEXT --------------------------------------------
-
-glCheckNamedFramebufferStatusEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> m GLenum -- ^ of type @FramebufferStatus@.
-glCheckNamedFramebufferStatusEXT v1 v2 = liftIO $ dyn68 ptr_glCheckNamedFramebufferStatusEXT v1 v2
-
-{-# NOINLINE ptr_glCheckNamedFramebufferStatusEXT #-}
-ptr_glCheckNamedFramebufferStatusEXT :: FunPtr (GLuint -> GLenum -> IO GLenum)
-ptr_glCheckNamedFramebufferStatusEXT = unsafePerformIO $ getCommand "glCheckNamedFramebufferStatusEXT"
-
--- glClampColor ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClampColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClampColor.xhtml OpenGL 4.x>.
-glClampColor
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ClampColorTargetARB@.
-  -> GLenum -- ^ @clamp@ of type @ClampColorModeARB@.
-  -> m ()
-glClampColor v1 v2 = liftIO $ dyn51 ptr_glClampColor v1 v2
-
-{-# NOINLINE ptr_glClampColor #-}
-ptr_glClampColor :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glClampColor = unsafePerformIO $ getCommand "glClampColor"
-
--- glClampColorARB -------------------------------------------------------------
-
--- | This command is an alias for 'glClampColor'.
-glClampColorARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ClampColorTargetARB@.
-  -> GLenum -- ^ @clamp@ of type @ClampColorModeARB@.
-  -> m ()
-glClampColorARB v1 v2 = liftIO $ dyn51 ptr_glClampColorARB v1 v2
-
-{-# NOINLINE ptr_glClampColorARB #-}
-ptr_glClampColorARB :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glClampColorARB = unsafePerformIO $ getCommand "glClampColorARB"
-
--- glClear ---------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClear.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClear.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClear.xhtml OpenGL 4.x>.
-glClear
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@ of type [ClearBufferMask](Graphics-Rendering-OpenGL-Raw-Groups.html#ClearBufferMask).
-  -> m ()
-glClear v1 = liftIO $ dyn69 ptr_glClear v1
-
-{-# NOINLINE ptr_glClear #-}
-ptr_glClear :: FunPtr (GLbitfield -> IO ())
-ptr_glClear = unsafePerformIO $ getCommand "glClear"
-
--- glClearAccum ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearAccum.xml OpenGL 2.x>.
-glClearAccum
-  :: MonadIO m
-  => GLfloat -- ^ @red@.
-  -> GLfloat -- ^ @green@.
-  -> GLfloat -- ^ @blue@.
-  -> GLfloat -- ^ @alpha@.
-  -> m ()
-glClearAccum v1 v2 v3 v4 = liftIO $ dyn49 ptr_glClearAccum v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearAccum #-}
-ptr_glClearAccum :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glClearAccum = unsafePerformIO $ getCommand "glClearAccum"
-
--- glClearAccumxOES ------------------------------------------------------------
-
-glClearAccumxOES
-  :: MonadIO m
-  => GLfixed -- ^ @red@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @green@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
-  -> m ()
-glClearAccumxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glClearAccumxOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearAccumxOES #-}
-ptr_glClearAccumxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glClearAccumxOES = unsafePerformIO $ getCommand "glClearAccumxOES"
-
--- glClearBufferData -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferData.xhtml OpenGL 4.x>.
-glClearBufferData
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
-  -> m ()
-glClearBufferData v1 v2 v3 v4 v5 = liftIO $ dyn70 ptr_glClearBufferData v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glClearBufferData #-}
-ptr_glClearBufferData :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearBufferData = unsafePerformIO $ getCommand "glClearBufferData"
-
--- glClearBufferSubData --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferSubData.xhtml OpenGL 4.x>.
-glClearBufferSubData
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
-  -> m ()
-glClearBufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn71 ptr_glClearBufferSubData v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glClearBufferSubData #-}
-ptr_glClearBufferSubData :: FunPtr (GLenum -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearBufferSubData = unsafePerformIO $ getCommand "glClearBufferSubData"
-
--- glClearBufferfi -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearBufferfi
-  :: MonadIO m
-  => GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
-  -> GLfloat -- ^ @depth@.
-  -> GLint -- ^ @stencil@.
-  -> m ()
-glClearBufferfi v1 v2 v3 v4 = liftIO $ dyn72 ptr_glClearBufferfi v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearBufferfi #-}
-ptr_glClearBufferfi :: FunPtr (GLenum -> GLint -> GLfloat -> GLint -> IO ())
-ptr_glClearBufferfi = unsafePerformIO $ getCommand "glClearBufferfi"
-
--- glClearBufferfv -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearBufferfv
-  :: MonadIO m
-  => GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLfloat@.
-  -> m ()
-glClearBufferfv v1 v2 v3 = liftIO $ dyn73 ptr_glClearBufferfv v1 v2 v3
-
-{-# NOINLINE ptr_glClearBufferfv #-}
-ptr_glClearBufferfv :: FunPtr (GLenum -> GLint -> Ptr GLfloat -> IO ())
-ptr_glClearBufferfv = unsafePerformIO $ getCommand "glClearBufferfv"
-
--- glClearBufferiv -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearBufferiv
-  :: MonadIO m
-  => GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
-  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLint@.
-  -> m ()
-glClearBufferiv v1 v2 v3 = liftIO $ dyn74 ptr_glClearBufferiv v1 v2 v3
-
-{-# NOINLINE ptr_glClearBufferiv #-}
-ptr_glClearBufferiv :: FunPtr (GLenum -> GLint -> Ptr GLint -> IO ())
-ptr_glClearBufferiv = unsafePerformIO $ getCommand "glClearBufferiv"
-
--- glClearBufferuiv ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClearBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearBufferuiv
-  :: MonadIO m
-  => GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@ of type @DrawBufferName@.
-  -> Ptr GLuint -- ^ @value@ pointing to @COMPSIZE(buffer)@ elements of type @GLuint@.
-  -> m ()
-glClearBufferuiv v1 v2 v3 = liftIO $ dyn75 ptr_glClearBufferuiv v1 v2 v3
-
-{-# NOINLINE ptr_glClearBufferuiv #-}
-ptr_glClearBufferuiv :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
-ptr_glClearBufferuiv = unsafePerformIO $ getCommand "glClearBufferuiv"
-
--- glClearColor ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearColor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClearColor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearColor.xhtml OpenGL 4.x>.
-glClearColor
-  :: MonadIO m
-  => GLfloat -- ^ @red@ of type @ColorF@.
-  -> GLfloat -- ^ @green@ of type @ColorF@.
-  -> GLfloat -- ^ @blue@ of type @ColorF@.
-  -> GLfloat -- ^ @alpha@ of type @ColorF@.
-  -> m ()
-glClearColor v1 v2 v3 v4 = liftIO $ dyn49 ptr_glClearColor v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearColor #-}
-ptr_glClearColor :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glClearColor = unsafePerformIO $ getCommand "glClearColor"
-
--- glClearColorIiEXT -----------------------------------------------------------
-
-glClearColorIiEXT
-  :: MonadIO m
-  => GLint -- ^ @red@.
-  -> GLint -- ^ @green@.
-  -> GLint -- ^ @blue@.
-  -> GLint -- ^ @alpha@.
-  -> m ()
-glClearColorIiEXT v1 v2 v3 v4 = liftIO $ dyn76 ptr_glClearColorIiEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearColorIiEXT #-}
-ptr_glClearColorIiEXT :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glClearColorIiEXT = unsafePerformIO $ getCommand "glClearColorIiEXT"
-
--- glClearColorIuiEXT ----------------------------------------------------------
-
-glClearColorIuiEXT
-  :: MonadIO m
-  => GLuint -- ^ @red@.
-  -> GLuint -- ^ @green@.
-  -> GLuint -- ^ @blue@.
-  -> GLuint -- ^ @alpha@.
-  -> m ()
-glClearColorIuiEXT v1 v2 v3 v4 = liftIO $ dyn77 ptr_glClearColorIuiEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearColorIuiEXT #-}
-ptr_glClearColorIuiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glClearColorIuiEXT = unsafePerformIO $ getCommand "glClearColorIuiEXT"
-
--- glClearColorx ---------------------------------------------------------------
-
-glClearColorx
-  :: MonadIO m
-  => GLfixed -- ^ @red@.
-  -> GLfixed -- ^ @green@.
-  -> GLfixed -- ^ @blue@.
-  -> GLfixed -- ^ @alpha@.
-  -> m ()
-glClearColorx v1 v2 v3 v4 = liftIO $ dyn50 ptr_glClearColorx v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearColorx #-}
-ptr_glClearColorx :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glClearColorx = unsafePerformIO $ getCommand "glClearColorx"
-
--- glClearColorxOES ------------------------------------------------------------
-
-glClearColorxOES
-  :: MonadIO m
-  => GLfixed -- ^ @red@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @green@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @blue@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @alpha@ of type @ClampedFixed@.
-  -> m ()
-glClearColorxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glClearColorxOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearColorxOES #-}
-ptr_glClearColorxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glClearColorxOES = unsafePerformIO $ getCommand "glClearColorxOES"
-
--- glClearDepth ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearDepth.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClearDepth.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearDepth.xhtml OpenGL 4.x>.
-glClearDepth
-  :: MonadIO m
-  => GLdouble -- ^ @depth@.
-  -> m ()
-glClearDepth v1 = liftIO $ dyn78 ptr_glClearDepth v1
-
-{-# NOINLINE ptr_glClearDepth #-}
-ptr_glClearDepth :: FunPtr (GLdouble -> IO ())
-ptr_glClearDepth = unsafePerformIO $ getCommand "glClearDepth"
-
--- glClearDepthdNV -------------------------------------------------------------
-
-glClearDepthdNV
-  :: MonadIO m
-  => GLdouble -- ^ @depth@.
-  -> m ()
-glClearDepthdNV v1 = liftIO $ dyn78 ptr_glClearDepthdNV v1
-
-{-# NOINLINE ptr_glClearDepthdNV #-}
-ptr_glClearDepthdNV :: FunPtr (GLdouble -> IO ())
-ptr_glClearDepthdNV = unsafePerformIO $ getCommand "glClearDepthdNV"
-
--- glClearDepthf ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearDepth.xhtml OpenGL 4.x>.
-glClearDepthf
-  :: MonadIO m
-  => GLfloat -- ^ @d@.
-  -> m ()
-glClearDepthf v1 = liftIO $ dyn79 ptr_glClearDepthf v1
-
-{-# NOINLINE ptr_glClearDepthf #-}
-ptr_glClearDepthf :: FunPtr (GLfloat -> IO ())
-ptr_glClearDepthf = unsafePerformIO $ getCommand "glClearDepthf"
-
--- glClearDepthfOES ------------------------------------------------------------
-
--- | This command is an alias for 'glClearDepthf'.
-glClearDepthfOES
-  :: MonadIO m
-  => GLclampf -- ^ @depth@ of type @ClampedFloat32@.
-  -> m ()
-glClearDepthfOES v1 = liftIO $ dyn80 ptr_glClearDepthfOES v1
-
-{-# NOINLINE ptr_glClearDepthfOES #-}
-ptr_glClearDepthfOES :: FunPtr (GLclampf -> IO ())
-ptr_glClearDepthfOES = unsafePerformIO $ getCommand "glClearDepthfOES"
-
--- glClearDepthx ---------------------------------------------------------------
-
-glClearDepthx
-  :: MonadIO m
-  => GLfixed -- ^ @depth@.
-  -> m ()
-glClearDepthx v1 = liftIO $ dyn81 ptr_glClearDepthx v1
-
-{-# NOINLINE ptr_glClearDepthx #-}
-ptr_glClearDepthx :: FunPtr (GLfixed -> IO ())
-ptr_glClearDepthx = unsafePerformIO $ getCommand "glClearDepthx"
-
--- glClearDepthxOES ------------------------------------------------------------
-
-glClearDepthxOES
-  :: MonadIO m
-  => GLfixed -- ^ @depth@ of type @ClampedFixed@.
-  -> m ()
-glClearDepthxOES v1 = liftIO $ dyn81 ptr_glClearDepthxOES v1
-
-{-# NOINLINE ptr_glClearDepthxOES #-}
-ptr_glClearDepthxOES :: FunPtr (GLfixed -> IO ())
-ptr_glClearDepthxOES = unsafePerformIO $ getCommand "glClearDepthxOES"
-
--- glClearIndex ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearIndex.xml OpenGL 2.x>.
-glClearIndex
-  :: MonadIO m
-  => GLfloat -- ^ @c@ of type @MaskedColorIndexValueF@.
-  -> m ()
-glClearIndex v1 = liftIO $ dyn79 ptr_glClearIndex v1
-
-{-# NOINLINE ptr_glClearIndex #-}
-ptr_glClearIndex :: FunPtr (GLfloat -> IO ())
-ptr_glClearIndex = unsafePerformIO $ getCommand "glClearIndex"
-
--- glClearNamedBufferData ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferData.xhtml OpenGL 4.x>.
-glClearNamedBufferData
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @data@.
-  -> m ()
-glClearNamedBufferData v1 v2 v3 v4 v5 = liftIO $ dyn82 ptr_glClearNamedBufferData v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glClearNamedBufferData #-}
-ptr_glClearNamedBufferData :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearNamedBufferData = unsafePerformIO $ getCommand "glClearNamedBufferData"
-
--- glClearNamedBufferDataEXT ---------------------------------------------------
-
-glClearNamedBufferDataEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
-  -> m ()
-glClearNamedBufferDataEXT v1 v2 v3 v4 v5 = liftIO $ dyn82 ptr_glClearNamedBufferDataEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glClearNamedBufferDataEXT #-}
-ptr_glClearNamedBufferDataEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearNamedBufferDataEXT = unsafePerformIO $ getCommand "glClearNamedBufferDataEXT"
-
--- glClearNamedBufferSubData ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBufferSubData.xhtml OpenGL 4.x>.
-glClearNamedBufferSubData
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @data@.
-  -> m ()
-glClearNamedBufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn83 ptr_glClearNamedBufferSubData v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glClearNamedBufferSubData #-}
-ptr_glClearNamedBufferSubData :: FunPtr (GLuint -> GLenum -> GLintptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearNamedBufferSubData = unsafePerformIO $ getCommand "glClearNamedBufferSubData"
-
--- glClearNamedBufferSubDataEXT ------------------------------------------------
-
-glClearNamedBufferSubDataEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizeiptr -- ^ @offset@ of type @BufferSize@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
-  -> m ()
-glClearNamedBufferSubDataEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn84 ptr_glClearNamedBufferSubDataEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glClearNamedBufferSubDataEXT #-}
-ptr_glClearNamedBufferSubDataEXT :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> GLsizeiptr -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearNamedBufferSubDataEXT = unsafePerformIO $ getCommand "glClearNamedBufferSubDataEXT"
-
--- glClearNamedFramebufferfi ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearNamedFramebufferfi
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@.
-  -> GLfloat -- ^ @depth@.
-  -> GLint -- ^ @stencil@.
-  -> m ()
-glClearNamedFramebufferfi v1 v2 v3 v4 v5 = liftIO $ dyn85 ptr_glClearNamedFramebufferfi v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glClearNamedFramebufferfi #-}
-ptr_glClearNamedFramebufferfi :: FunPtr (GLuint -> GLenum -> GLint -> GLfloat -> GLint -> IO ())
-ptr_glClearNamedFramebufferfi = unsafePerformIO $ getCommand "glClearNamedFramebufferfi"
-
--- glClearNamedFramebufferfv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearNamedFramebufferfv
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@.
-  -> Ptr GLfloat -- ^ @value@.
-  -> m ()
-glClearNamedFramebufferfv v1 v2 v3 v4 = liftIO $ dyn86 ptr_glClearNamedFramebufferfv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearNamedFramebufferfv #-}
-ptr_glClearNamedFramebufferfv :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-ptr_glClearNamedFramebufferfv = unsafePerformIO $ getCommand "glClearNamedFramebufferfv"
-
--- glClearNamedFramebufferiv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearNamedFramebufferiv
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@.
-  -> Ptr GLint -- ^ @value@.
-  -> m ()
-glClearNamedFramebufferiv v1 v2 v3 v4 = liftIO $ dyn87 ptr_glClearNamedFramebufferiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearNamedFramebufferiv #-}
-ptr_glClearNamedFramebufferiv :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLint -> IO ())
-ptr_glClearNamedFramebufferiv = unsafePerformIO $ getCommand "glClearNamedFramebufferiv"
-
--- glClearNamedFramebufferuiv --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearBuffer.xhtml OpenGL 4.x>.
-glClearNamedFramebufferuiv
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buffer@.
-  -> GLint -- ^ @drawbuffer@.
-  -> Ptr GLuint -- ^ @value@.
-  -> m ()
-glClearNamedFramebufferuiv v1 v2 v3 v4 = liftIO $ dyn88 ptr_glClearNamedFramebufferuiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glClearNamedFramebufferuiv #-}
-ptr_glClearNamedFramebufferuiv :: FunPtr (GLuint -> GLenum -> GLint -> Ptr GLuint -> IO ())
-ptr_glClearNamedFramebufferuiv = unsafePerformIO $ getCommand "glClearNamedFramebufferuiv"
-
--- glClearStencil --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glClearStencil.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glClearStencil.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClearStencil.xhtml OpenGL 4.x>.
-glClearStencil
-  :: MonadIO m
-  => GLint -- ^ @s@ of type @StencilValue@.
-  -> m ()
-glClearStencil v1 = liftIO $ dyn12 ptr_glClearStencil v1
-
-{-# NOINLINE ptr_glClearStencil #-}
-ptr_glClearStencil :: FunPtr (GLint -> IO ())
-ptr_glClearStencil = unsafePerformIO $ getCommand "glClearStencil"
-
--- glClearTexImage -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearTexImage.xhtml OpenGL 4.x>.
-glClearTexImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
-  -> m ()
-glClearTexImage v1 v2 v3 v4 v5 = liftIO $ dyn89 ptr_glClearTexImage v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glClearTexImage #-}
-ptr_glClearTexImage :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearTexImage = unsafePerformIO $ getCommand "glClearTexImage"
-
--- glClearTexSubImage ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClearTexSubImage.xhtml OpenGL 4.x>.
-glClearTexSubImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type)@ elements of type @a@.
-  -> m ()
-glClearTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn90 ptr_glClearTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glClearTexSubImage #-}
-ptr_glClearTexSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glClearTexSubImage = unsafePerformIO $ getCommand "glClearTexSubImage"
-
--- glClientActiveTexture -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClientActiveTexture.xml OpenGL 2.x>.
-glClientActiveTexture
-  :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
-  -> m ()
-glClientActiveTexture v1 = liftIO $ dyn4 ptr_glClientActiveTexture v1
-
-{-# NOINLINE ptr_glClientActiveTexture #-}
-ptr_glClientActiveTexture :: FunPtr (GLenum -> IO ())
-ptr_glClientActiveTexture = unsafePerformIO $ getCommand "glClientActiveTexture"
-
--- glClientActiveTextureARB ----------------------------------------------------
-
--- | This command is an alias for 'glClientActiveTexture'.
-glClientActiveTextureARB
-  :: MonadIO m
-  => GLenum -- ^ @texture@ of type @TextureUnit@.
-  -> m ()
-glClientActiveTextureARB v1 = liftIO $ dyn4 ptr_glClientActiveTextureARB v1
-
-{-# NOINLINE ptr_glClientActiveTextureARB #-}
-ptr_glClientActiveTextureARB :: FunPtr (GLenum -> IO ())
-ptr_glClientActiveTextureARB = unsafePerformIO $ getCommand "glClientActiveTextureARB"
-
--- glClientActiveVertexStreamATI -----------------------------------------------
-
-glClientActiveVertexStreamATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> m ()
-glClientActiveVertexStreamATI v1 = liftIO $ dyn4 ptr_glClientActiveVertexStreamATI v1
-
-{-# NOINLINE ptr_glClientActiveVertexStreamATI #-}
-ptr_glClientActiveVertexStreamATI :: FunPtr (GLenum -> IO ())
-ptr_glClientActiveVertexStreamATI = unsafePerformIO $ getCommand "glClientActiveVertexStreamATI"
-
--- glClientAttribDefaultEXT ----------------------------------------------------
-
-glClientAttribDefaultEXT
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@ of type [ClientAttribMask](Graphics-Rendering-OpenGL-Raw-Groups.html#ClientAttribMask).
-  -> m ()
-glClientAttribDefaultEXT v1 = liftIO $ dyn69 ptr_glClientAttribDefaultEXT v1
-
-{-# NOINLINE ptr_glClientAttribDefaultEXT #-}
-ptr_glClientAttribDefaultEXT :: FunPtr (GLbitfield -> IO ())
-ptr_glClientAttribDefaultEXT = unsafePerformIO $ getCommand "glClientAttribDefaultEXT"
-
--- glClientWaitSync ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glClientWaitSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glClientWaitSync.xhtml OpenGL 4.x>.
-glClientWaitSync
-  :: MonadIO m
-  => GLsync -- ^ @sync@ of type @sync@.
-  -> GLbitfield -- ^ @flags@.
-  -> GLuint64 -- ^ @timeout@.
-  -> m GLenum
-glClientWaitSync v1 v2 v3 = liftIO $ dyn91 ptr_glClientWaitSync v1 v2 v3
-
-{-# NOINLINE ptr_glClientWaitSync #-}
-ptr_glClientWaitSync :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
-ptr_glClientWaitSync = unsafePerformIO $ getCommand "glClientWaitSync"
-
--- glClientWaitSyncAPPLE -------------------------------------------------------
-
--- | This command is an alias for 'glClientWaitSync'.
-glClientWaitSyncAPPLE
-  :: MonadIO m
-  => GLsync -- ^ @sync@.
-  -> GLbitfield -- ^ @flags@.
-  -> GLuint64 -- ^ @timeout@.
-  -> m GLenum
-glClientWaitSyncAPPLE v1 v2 v3 = liftIO $ dyn91 ptr_glClientWaitSyncAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glClientWaitSyncAPPLE #-}
-ptr_glClientWaitSyncAPPLE :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO GLenum)
-ptr_glClientWaitSyncAPPLE = unsafePerformIO $ getCommand "glClientWaitSyncAPPLE"
-
--- glClipControl ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glClipControl.xhtml OpenGL 4.x>.
-glClipControl
-  :: MonadIO m
-  => GLenum -- ^ @origin@.
-  -> GLenum -- ^ @depth@.
-  -> m ()
-glClipControl v1 v2 = liftIO $ dyn51 ptr_glClipControl v1 v2
-
-{-# NOINLINE ptr_glClipControl #-}
-ptr_glClipControl :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glClipControl = unsafePerformIO $ getCommand "glClipControl"
-
--- glClipPlane -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glClipPlane.xml OpenGL 2.x>.
-glClipPlane
-  :: MonadIO m
-  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-Rendering-OpenGL-Raw-Groups.html#ClipPlaneName).
-  -> Ptr GLdouble -- ^ @equation@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glClipPlane v1 v2 = liftIO $ dyn92 ptr_glClipPlane v1 v2
-
-{-# NOINLINE ptr_glClipPlane #-}
-ptr_glClipPlane :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glClipPlane = unsafePerformIO $ getCommand "glClipPlane"
-
--- glClipPlanef ----------------------------------------------------------------
-
-glClipPlanef
-  :: MonadIO m
-  => GLenum -- ^ @p@.
-  -> Ptr GLfloat -- ^ @eqn@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glClipPlanef v1 v2 = liftIO $ dyn93 ptr_glClipPlanef v1 v2
-
-{-# NOINLINE ptr_glClipPlanef #-}
-ptr_glClipPlanef :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glClipPlanef = unsafePerformIO $ getCommand "glClipPlanef"
-
--- glClipPlanefIMG -------------------------------------------------------------
-
-glClipPlanefIMG
-  :: MonadIO m
-  => GLenum -- ^ @p@.
-  -> Ptr GLfloat -- ^ @eqn@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glClipPlanefIMG v1 v2 = liftIO $ dyn93 ptr_glClipPlanefIMG v1 v2
-
-{-# NOINLINE ptr_glClipPlanefIMG #-}
-ptr_glClipPlanefIMG :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glClipPlanefIMG = unsafePerformIO $ getCommand "glClipPlanefIMG"
-
--- glClipPlanefOES -------------------------------------------------------------
-
-glClipPlanefOES
-  :: MonadIO m
-  => GLenum -- ^ @plane@.
-  -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glClipPlanefOES v1 v2 = liftIO $ dyn93 ptr_glClipPlanefOES v1 v2
-
-{-# NOINLINE ptr_glClipPlanefOES #-}
-ptr_glClipPlanefOES :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glClipPlanefOES = unsafePerformIO $ getCommand "glClipPlanefOES"
-
--- glClipPlanex ----------------------------------------------------------------
-
-glClipPlanex
-  :: MonadIO m
-  => GLenum -- ^ @plane@.
-  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glClipPlanex v1 v2 = liftIO $ dyn94 ptr_glClipPlanex v1 v2
-
-{-# NOINLINE ptr_glClipPlanex #-}
-ptr_glClipPlanex :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glClipPlanex = unsafePerformIO $ getCommand "glClipPlanex"
-
--- glClipPlanexIMG -------------------------------------------------------------
-
-glClipPlanexIMG
-  :: MonadIO m
-  => GLenum -- ^ @p@.
-  -> Ptr GLfixed -- ^ @eqn@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glClipPlanexIMG v1 v2 = liftIO $ dyn94 ptr_glClipPlanexIMG v1 v2
-
-{-# NOINLINE ptr_glClipPlanexIMG #-}
-ptr_glClipPlanexIMG :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glClipPlanexIMG = unsafePerformIO $ getCommand "glClipPlanexIMG"
-
--- glClipPlanexOES -------------------------------------------------------------
-
-glClipPlanexOES
-  :: MonadIO m
-  => GLenum -- ^ @plane@.
-  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glClipPlanexOES v1 v2 = liftIO $ dyn94 ptr_glClipPlanexOES v1 v2
-
-{-# NOINLINE ptr_glClipPlanexOES #-}
-ptr_glClipPlanexOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glClipPlanexOES = unsafePerformIO $ getCommand "glClipPlanexOES"
-
--- glColor3b -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3bv'.
-glColor3b
-  :: MonadIO m
-  => GLbyte -- ^ @red@ of type @ColorB@.
-  -> GLbyte -- ^ @green@ of type @ColorB@.
-  -> GLbyte -- ^ @blue@ of type @ColorB@.
-  -> m ()
-glColor3b v1 v2 v3 = liftIO $ dyn36 ptr_glColor3b v1 v2 v3
-
-{-# NOINLINE ptr_glColor3b #-}
-ptr_glColor3b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glColor3b = unsafePerformIO $ getCommand "glColor3b"
-
--- glColor3bv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3bv
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @ColorB@.
-  -> m ()
-glColor3bv v1 = liftIO $ dyn37 ptr_glColor3bv v1
-
-{-# NOINLINE ptr_glColor3bv #-}
-ptr_glColor3bv :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glColor3bv = unsafePerformIO $ getCommand "glColor3bv"
-
--- glColor3d -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3dv'.
-glColor3d
-  :: MonadIO m
-  => GLdouble -- ^ @red@ of type @ColorD@.
-  -> GLdouble -- ^ @green@ of type @ColorD@.
-  -> GLdouble -- ^ @blue@ of type @ColorD@.
-  -> m ()
-glColor3d v1 v2 v3 = liftIO $ dyn38 ptr_glColor3d v1 v2 v3
-
-{-# NOINLINE ptr_glColor3d #-}
-ptr_glColor3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glColor3d = unsafePerformIO $ getCommand "glColor3d"
-
--- glColor3dv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @ColorD@.
-  -> m ()
-glColor3dv v1 = liftIO $ dyn39 ptr_glColor3dv v1
-
-{-# NOINLINE ptr_glColor3dv #-}
-ptr_glColor3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glColor3dv = unsafePerformIO $ getCommand "glColor3dv"
-
--- glColor3f -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3fv'.
-glColor3f
-  :: MonadIO m
-  => GLfloat -- ^ @red@ of type @ColorF@.
-  -> GLfloat -- ^ @green@ of type @ColorF@.
-  -> GLfloat -- ^ @blue@ of type @ColorF@.
-  -> m ()
-glColor3f v1 v2 v3 = liftIO $ dyn40 ptr_glColor3f v1 v2 v3
-
-{-# NOINLINE ptr_glColor3f #-}
-ptr_glColor3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glColor3f = unsafePerformIO $ getCommand "glColor3f"
-
--- glColor3fVertex3fSUN --------------------------------------------------------
-
-glColor3fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glColor3fVertex3fSUN v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glColor3fVertex3fSUN #-}
-ptr_glColor3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glColor3fVertex3fSUN = unsafePerformIO $ getCommand "glColor3fVertex3fSUN"
-
--- glColor3fVertex3fvSUN -------------------------------------------------------
-
-glColor3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @c@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glColor3fVertex3fvSUN v1 v2 = liftIO $ dyn96 ptr_glColor3fVertex3fvSUN v1 v2
-
-{-# NOINLINE ptr_glColor3fVertex3fvSUN #-}
-ptr_glColor3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glColor3fVertex3fvSUN = unsafePerformIO $ getCommand "glColor3fVertex3fvSUN"
-
--- glColor3fv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @ColorF@.
-  -> m ()
-glColor3fv v1 = liftIO $ dyn41 ptr_glColor3fv v1
-
-{-# NOINLINE ptr_glColor3fv #-}
-ptr_glColor3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glColor3fv = unsafePerformIO $ getCommand "glColor3fv"
-
--- glColor3hNV -----------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glColor3hvNV'.
-glColor3hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @red@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @green@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @blue@ of type @Half16NV@.
-  -> m ()
-glColor3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glColor3hNV v1 v2 v3
-
-{-# NOINLINE ptr_glColor3hNV #-}
-ptr_glColor3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glColor3hNV = unsafePerformIO $ getCommand "glColor3hNV"
-
--- glColor3hvNV ----------------------------------------------------------------
-
-glColor3hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
-  -> m ()
-glColor3hvNV v1 = liftIO $ dyn98 ptr_glColor3hvNV v1
-
-{-# NOINLINE ptr_glColor3hvNV #-}
-ptr_glColor3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glColor3hvNV = unsafePerformIO $ getCommand "glColor3hvNV"
-
--- glColor3i -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3iv'.
-glColor3i
-  :: MonadIO m
-  => GLint -- ^ @red@ of type @ColorI@.
-  -> GLint -- ^ @green@ of type @ColorI@.
-  -> GLint -- ^ @blue@ of type @ColorI@.
-  -> m ()
-glColor3i v1 v2 v3 = liftIO $ dyn42 ptr_glColor3i v1 v2 v3
-
-{-# NOINLINE ptr_glColor3i #-}
-ptr_glColor3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glColor3i = unsafePerformIO $ getCommand "glColor3i"
-
--- glColor3iv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
-  -> m ()
-glColor3iv v1 = liftIO $ dyn43 ptr_glColor3iv v1
-
-{-# NOINLINE ptr_glColor3iv #-}
-ptr_glColor3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glColor3iv = unsafePerformIO $ getCommand "glColor3iv"
-
--- glColor3s -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3sv'.
-glColor3s
-  :: MonadIO m
-  => GLshort -- ^ @red@ of type @ColorS@.
-  -> GLshort -- ^ @green@ of type @ColorS@.
-  -> GLshort -- ^ @blue@ of type @ColorS@.
-  -> m ()
-glColor3s v1 v2 v3 = liftIO $ dyn44 ptr_glColor3s v1 v2 v3
-
-{-# NOINLINE ptr_glColor3s #-}
-ptr_glColor3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glColor3s = unsafePerformIO $ getCommand "glColor3s"
-
--- glColor3sv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
-  -> m ()
-glColor3sv v1 = liftIO $ dyn45 ptr_glColor3sv v1
-
-{-# NOINLINE ptr_glColor3sv #-}
-ptr_glColor3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glColor3sv = unsafePerformIO $ getCommand "glColor3sv"
-
--- glColor3ub ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3ubv'.
-glColor3ub
-  :: MonadIO m
-  => GLubyte -- ^ @red@ of type @ColorUB@.
-  -> GLubyte -- ^ @green@ of type @ColorUB@.
-  -> GLubyte -- ^ @blue@ of type @ColorUB@.
-  -> m ()
-glColor3ub v1 v2 v3 = liftIO $ dyn99 ptr_glColor3ub v1 v2 v3
-
-{-# NOINLINE ptr_glColor3ub #-}
-ptr_glColor3ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glColor3ub = unsafePerformIO $ getCommand "glColor3ub"
-
--- glColor3ubv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3ubv
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @v@ pointing to @3@ elements of type @ColorUB@.
-  -> m ()
-glColor3ubv v1 = liftIO $ dyn100 ptr_glColor3ubv v1
-
-{-# NOINLINE ptr_glColor3ubv #-}
-ptr_glColor3ubv :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glColor3ubv = unsafePerformIO $ getCommand "glColor3ubv"
-
--- glColor3ui ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3uiv'.
-glColor3ui
-  :: MonadIO m
-  => GLuint -- ^ @red@ of type @ColorUI@.
-  -> GLuint -- ^ @green@ of type @ColorUI@.
-  -> GLuint -- ^ @blue@ of type @ColorUI@.
-  -> m ()
-glColor3ui v1 v2 v3 = liftIO $ dyn101 ptr_glColor3ui v1 v2 v3
-
-{-# NOINLINE ptr_glColor3ui #-}
-ptr_glColor3ui :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glColor3ui = unsafePerformIO $ getCommand "glColor3ui"
-
--- glColor3uiv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3uiv
-  :: MonadIO m
-  => Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @ColorUI@.
-  -> m ()
-glColor3uiv v1 = liftIO $ dyn102 ptr_glColor3uiv v1
-
-{-# NOINLINE ptr_glColor3uiv #-}
-ptr_glColor3uiv :: FunPtr (Ptr GLuint -> IO ())
-ptr_glColor3uiv = unsafePerformIO $ getCommand "glColor3uiv"
-
--- glColor3us ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor3usv'.
-glColor3us
-  :: MonadIO m
-  => GLushort -- ^ @red@ of type @ColorUS@.
-  -> GLushort -- ^ @green@ of type @ColorUS@.
-  -> GLushort -- ^ @blue@ of type @ColorUS@.
-  -> m ()
-glColor3us v1 v2 v3 = liftIO $ dyn103 ptr_glColor3us v1 v2 v3
-
-{-# NOINLINE ptr_glColor3us #-}
-ptr_glColor3us :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-ptr_glColor3us = unsafePerformIO $ getCommand "glColor3us"
-
--- glColor3usv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor3usv
-  :: MonadIO m
-  => Ptr GLushort -- ^ @v@ pointing to @3@ elements of type @ColorUS@.
-  -> m ()
-glColor3usv v1 = liftIO $ dyn104 ptr_glColor3usv v1
-
-{-# NOINLINE ptr_glColor3usv #-}
-ptr_glColor3usv :: FunPtr (Ptr GLushort -> IO ())
-ptr_glColor3usv = unsafePerformIO $ getCommand "glColor3usv"
-
--- glColor3xOES ----------------------------------------------------------------
-
-glColor3xOES
-  :: MonadIO m
-  => GLfixed -- ^ @red@.
-  -> GLfixed -- ^ @green@.
-  -> GLfixed -- ^ @blue@.
-  -> m ()
-glColor3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glColor3xOES v1 v2 v3
-
-{-# NOINLINE ptr_glColor3xOES #-}
-ptr_glColor3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glColor3xOES = unsafePerformIO $ getCommand "glColor3xOES"
-
--- glColor3xvOES ---------------------------------------------------------------
-
-glColor3xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @components@ pointing to @3@ elements of type @GLfixed@.
-  -> m ()
-glColor3xvOES v1 = liftIO $ dyn106 ptr_glColor3xvOES v1
-
-{-# NOINLINE ptr_glColor3xvOES #-}
-ptr_glColor3xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glColor3xvOES = unsafePerformIO $ getCommand "glColor3xvOES"
-
--- glColor4b -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4bv'.
-glColor4b
-  :: MonadIO m
-  => GLbyte -- ^ @red@ of type @ColorB@.
-  -> GLbyte -- ^ @green@ of type @ColorB@.
-  -> GLbyte -- ^ @blue@ of type @ColorB@.
-  -> GLbyte -- ^ @alpha@ of type @ColorB@.
-  -> m ()
-glColor4b v1 v2 v3 v4 = liftIO $ dyn107 ptr_glColor4b v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4b #-}
-ptr_glColor4b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glColor4b = unsafePerformIO $ getCommand "glColor4b"
-
--- glColor4bv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4bv
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @ColorB@.
-  -> m ()
-glColor4bv v1 = liftIO $ dyn37 ptr_glColor4bv v1
-
-{-# NOINLINE ptr_glColor4bv #-}
-ptr_glColor4bv :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glColor4bv = unsafePerformIO $ getCommand "glColor4bv"
-
--- glColor4d -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4dv'.
-glColor4d
-  :: MonadIO m
-  => GLdouble -- ^ @red@ of type @ColorD@.
-  -> GLdouble -- ^ @green@ of type @ColorD@.
-  -> GLdouble -- ^ @blue@ of type @ColorD@.
-  -> GLdouble -- ^ @alpha@ of type @ColorD@.
-  -> m ()
-glColor4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glColor4d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4d #-}
-ptr_glColor4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glColor4d = unsafePerformIO $ getCommand "glColor4d"
-
--- glColor4dv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @ColorD@.
-  -> m ()
-glColor4dv v1 = liftIO $ dyn39 ptr_glColor4dv v1
-
-{-# NOINLINE ptr_glColor4dv #-}
-ptr_glColor4dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glColor4dv = unsafePerformIO $ getCommand "glColor4dv"
-
--- glColor4f -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4fv'.
-glColor4f
-  :: MonadIO m
-  => GLfloat -- ^ @red@ of type @ColorF@.
-  -> GLfloat -- ^ @green@ of type @ColorF@.
-  -> GLfloat -- ^ @blue@ of type @ColorF@.
-  -> GLfloat -- ^ @alpha@ of type @ColorF@.
-  -> m ()
-glColor4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glColor4f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4f #-}
-ptr_glColor4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glColor4f = unsafePerformIO $ getCommand "glColor4f"
-
--- glColor4fNormal3fVertex3fSUN ------------------------------------------------
-
-glColor4fNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @a@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn109 ptr_glColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glColor4fNormal3fVertex3fSUN #-}
-ptr_glColor4fNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glColor4fNormal3fVertex3fSUN"
-
--- glColor4fNormal3fVertex3fvSUN -----------------------------------------------
-
-glColor4fNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glColor4fNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn110 ptr_glColor4fNormal3fVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glColor4fNormal3fVertex3fvSUN #-}
-ptr_glColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glColor4fNormal3fVertex3fvSUN"
-
--- glColor4fv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @ColorF@.
-  -> m ()
-glColor4fv v1 = liftIO $ dyn41 ptr_glColor4fv v1
-
-{-# NOINLINE ptr_glColor4fv #-}
-ptr_glColor4fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glColor4fv = unsafePerformIO $ getCommand "glColor4fv"
-
--- glColor4hNV -----------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glColor4hvNV'.
-glColor4hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @red@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @green@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @blue@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @alpha@ of type @Half16NV@.
-  -> m ()
-glColor4hNV v1 v2 v3 v4 = liftIO $ dyn111 ptr_glColor4hNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4hNV #-}
-ptr_glColor4hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glColor4hNV = unsafePerformIO $ getCommand "glColor4hNV"
-
--- glColor4hvNV ----------------------------------------------------------------
-
-glColor4hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
-  -> m ()
-glColor4hvNV v1 = liftIO $ dyn98 ptr_glColor4hvNV v1
-
-{-# NOINLINE ptr_glColor4hvNV #-}
-ptr_glColor4hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glColor4hvNV = unsafePerformIO $ getCommand "glColor4hvNV"
-
--- glColor4i -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4iv'.
-glColor4i
-  :: MonadIO m
-  => GLint -- ^ @red@ of type @ColorI@.
-  -> GLint -- ^ @green@ of type @ColorI@.
-  -> GLint -- ^ @blue@ of type @ColorI@.
-  -> GLint -- ^ @alpha@ of type @ColorI@.
-  -> m ()
-glColor4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glColor4i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4i #-}
-ptr_glColor4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glColor4i = unsafePerformIO $ getCommand "glColor4i"
-
--- glColor4iv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @ColorI@.
-  -> m ()
-glColor4iv v1 = liftIO $ dyn43 ptr_glColor4iv v1
-
-{-# NOINLINE ptr_glColor4iv #-}
-ptr_glColor4iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glColor4iv = unsafePerformIO $ getCommand "glColor4iv"
-
--- glColor4s -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4sv'.
-glColor4s
-  :: MonadIO m
-  => GLshort -- ^ @red@ of type @ColorS@.
-  -> GLshort -- ^ @green@ of type @ColorS@.
-  -> GLshort -- ^ @blue@ of type @ColorS@.
-  -> GLshort -- ^ @alpha@ of type @ColorS@.
-  -> m ()
-glColor4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glColor4s v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4s #-}
-ptr_glColor4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glColor4s = unsafePerformIO $ getCommand "glColor4s"
-
--- glColor4sv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @ColorS@.
-  -> m ()
-glColor4sv v1 = liftIO $ dyn45 ptr_glColor4sv v1
-
-{-# NOINLINE ptr_glColor4sv #-}
-ptr_glColor4sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glColor4sv = unsafePerformIO $ getCommand "glColor4sv"
-
--- glColor4ub ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4ubv'.
-glColor4ub
-  :: MonadIO m
-  => GLubyte -- ^ @red@ of type @ColorUB@.
-  -> GLubyte -- ^ @green@ of type @ColorUB@.
-  -> GLubyte -- ^ @blue@ of type @ColorUB@.
-  -> GLubyte -- ^ @alpha@ of type @ColorUB@.
-  -> m ()
-glColor4ub v1 v2 v3 v4 = liftIO $ dyn113 ptr_glColor4ub v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4ub #-}
-ptr_glColor4ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glColor4ub = unsafePerformIO $ getCommand "glColor4ub"
-
--- glColor4ubVertex2fSUN -------------------------------------------------------
-
-glColor4ubVertex2fSUN
-  :: MonadIO m
-  => GLubyte -- ^ @r@.
-  -> GLubyte -- ^ @g@.
-  -> GLubyte -- ^ @b@.
-  -> GLubyte -- ^ @a@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> m ()
-glColor4ubVertex2fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn114 ptr_glColor4ubVertex2fSUN v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glColor4ubVertex2fSUN #-}
-ptr_glColor4ubVertex2fSUN :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> IO ())
-ptr_glColor4ubVertex2fSUN = unsafePerformIO $ getCommand "glColor4ubVertex2fSUN"
-
--- glColor4ubVertex2fvSUN ------------------------------------------------------
-
-glColor4ubVertex2fvSUN
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glColor4ubVertex2fvSUN v1 v2 = liftIO $ dyn115 ptr_glColor4ubVertex2fvSUN v1 v2
-
-{-# NOINLINE ptr_glColor4ubVertex2fvSUN #-}
-ptr_glColor4ubVertex2fvSUN :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
-ptr_glColor4ubVertex2fvSUN = unsafePerformIO $ getCommand "glColor4ubVertex2fvSUN"
-
--- glColor4ubVertex3fSUN -------------------------------------------------------
-
-glColor4ubVertex3fSUN
-  :: MonadIO m
-  => GLubyte -- ^ @r@.
-  -> GLubyte -- ^ @g@.
-  -> GLubyte -- ^ @b@.
-  -> GLubyte -- ^ @a@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn116 ptr_glColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glColor4ubVertex3fSUN #-}
-ptr_glColor4ubVertex3fSUN :: FunPtr (GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glColor4ubVertex3fSUN = unsafePerformIO $ getCommand "glColor4ubVertex3fSUN"
-
--- glColor4ubVertex3fvSUN ------------------------------------------------------
-
-glColor4ubVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glColor4ubVertex3fvSUN v1 v2 = liftIO $ dyn115 ptr_glColor4ubVertex3fvSUN v1 v2
-
-{-# NOINLINE ptr_glColor4ubVertex3fvSUN #-}
-ptr_glColor4ubVertex3fvSUN :: FunPtr (Ptr GLubyte -> Ptr GLfloat -> IO ())
-ptr_glColor4ubVertex3fvSUN = unsafePerformIO $ getCommand "glColor4ubVertex3fvSUN"
-
--- glColor4ubv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4ubv
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @ColorUB@.
-  -> m ()
-glColor4ubv v1 = liftIO $ dyn100 ptr_glColor4ubv v1
-
-{-# NOINLINE ptr_glColor4ubv #-}
-ptr_glColor4ubv :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glColor4ubv = unsafePerformIO $ getCommand "glColor4ubv"
-
--- glColor4ui ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4uiv'.
-glColor4ui
-  :: MonadIO m
-  => GLuint -- ^ @red@ of type @ColorUI@.
-  -> GLuint -- ^ @green@ of type @ColorUI@.
-  -> GLuint -- ^ @blue@ of type @ColorUI@.
-  -> GLuint -- ^ @alpha@ of type @ColorUI@.
-  -> m ()
-glColor4ui v1 v2 v3 v4 = liftIO $ dyn77 ptr_glColor4ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4ui #-}
-ptr_glColor4ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glColor4ui = unsafePerformIO $ getCommand "glColor4ui"
-
--- glColor4uiv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4uiv
-  :: MonadIO m
-  => Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @ColorUI@.
-  -> m ()
-glColor4uiv v1 = liftIO $ dyn102 ptr_glColor4uiv v1
-
-{-# NOINLINE ptr_glColor4uiv #-}
-ptr_glColor4uiv :: FunPtr (Ptr GLuint -> IO ())
-ptr_glColor4uiv = unsafePerformIO $ getCommand "glColor4uiv"
-
--- glColor4us ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glColor4usv'.
-glColor4us
-  :: MonadIO m
-  => GLushort -- ^ @red@ of type @ColorUS@.
-  -> GLushort -- ^ @green@ of type @ColorUS@.
-  -> GLushort -- ^ @blue@ of type @ColorUS@.
-  -> GLushort -- ^ @alpha@ of type @ColorUS@.
-  -> m ()
-glColor4us v1 v2 v3 v4 = liftIO $ dyn117 ptr_glColor4us v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4us #-}
-ptr_glColor4us :: FunPtr (GLushort -> GLushort -> GLushort -> GLushort -> IO ())
-ptr_glColor4us = unsafePerformIO $ getCommand "glColor4us"
-
--- glColor4usv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColor.xml OpenGL 2.x>.
-glColor4usv
-  :: MonadIO m
-  => Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @ColorUS@.
-  -> m ()
-glColor4usv v1 = liftIO $ dyn104 ptr_glColor4usv v1
-
-{-# NOINLINE ptr_glColor4usv #-}
-ptr_glColor4usv :: FunPtr (Ptr GLushort -> IO ())
-ptr_glColor4usv = unsafePerformIO $ getCommand "glColor4usv"
-
--- glColor4x -------------------------------------------------------------------
-
-glColor4x
-  :: MonadIO m
-  => GLfixed -- ^ @red@.
-  -> GLfixed -- ^ @green@.
-  -> GLfixed -- ^ @blue@.
-  -> GLfixed -- ^ @alpha@.
-  -> m ()
-glColor4x v1 v2 v3 v4 = liftIO $ dyn50 ptr_glColor4x v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4x #-}
-ptr_glColor4x :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glColor4x = unsafePerformIO $ getCommand "glColor4x"
-
--- glColor4xOES ----------------------------------------------------------------
-
-glColor4xOES
-  :: MonadIO m
-  => GLfixed -- ^ @red@.
-  -> GLfixed -- ^ @green@.
-  -> GLfixed -- ^ @blue@.
-  -> GLfixed -- ^ @alpha@.
-  -> m ()
-glColor4xOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glColor4xOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColor4xOES #-}
-ptr_glColor4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glColor4xOES = unsafePerformIO $ getCommand "glColor4xOES"
-
--- glColor4xvOES ---------------------------------------------------------------
-
-glColor4xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @components@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glColor4xvOES v1 = liftIO $ dyn106 ptr_glColor4xvOES v1
-
-{-# NOINLINE ptr_glColor4xvOES #-}
-ptr_glColor4xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glColor4xvOES = unsafePerformIO $ getCommand "glColor4xvOES"
-
--- glColorFormatNV -------------------------------------------------------------
-
-glColorFormatNV
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glColorFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glColorFormatNV v1 v2 v3
-
-{-# NOINLINE ptr_glColorFormatNV #-}
-ptr_glColorFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
-ptr_glColorFormatNV = unsafePerformIO $ getCommand "glColorFormatNV"
-
--- glColorFragmentOp1ATI -------------------------------------------------------
-
-glColorFragmentOp1ATI
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
-  -> GLuint -- ^ @dst@.
-  -> GLuint -- ^ @dstMask@.
-  -> GLuint -- ^ @dstMod@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg1Rep@.
-  -> GLuint -- ^ @arg1Mod@.
-  -> m ()
-glColorFragmentOp1ATI v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn119 ptr_glColorFragmentOp1ATI v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glColorFragmentOp1ATI #-}
-ptr_glColorFragmentOp1ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glColorFragmentOp1ATI = unsafePerformIO $ getCommand "glColorFragmentOp1ATI"
-
--- glColorFragmentOp2ATI -------------------------------------------------------
-
-glColorFragmentOp2ATI
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
-  -> GLuint -- ^ @dst@.
-  -> GLuint -- ^ @dstMask@.
-  -> GLuint -- ^ @dstMod@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg1Rep@.
-  -> GLuint -- ^ @arg1Mod@.
-  -> GLuint -- ^ @arg2@.
-  -> GLuint -- ^ @arg2Rep@.
-  -> GLuint -- ^ @arg2Mod@.
-  -> m ()
-glColorFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn120 ptr_glColorFragmentOp2ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glColorFragmentOp2ATI #-}
-ptr_glColorFragmentOp2ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glColorFragmentOp2ATI = unsafePerformIO $ getCommand "glColorFragmentOp2ATI"
-
--- glColorFragmentOp3ATI -------------------------------------------------------
-
-glColorFragmentOp3ATI
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @FragmentOpATI@.
-  -> GLuint -- ^ @dst@.
-  -> GLuint -- ^ @dstMask@.
-  -> GLuint -- ^ @dstMod@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg1Rep@.
-  -> GLuint -- ^ @arg1Mod@.
-  -> GLuint -- ^ @arg2@.
-  -> GLuint -- ^ @arg2Rep@.
-  -> GLuint -- ^ @arg2Mod@.
-  -> GLuint -- ^ @arg3@.
-  -> GLuint -- ^ @arg3Rep@.
-  -> GLuint -- ^ @arg3Mod@.
-  -> m ()
-glColorFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn121 ptr_glColorFragmentOp3ATI v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
-
-{-# NOINLINE ptr_glColorFragmentOp3ATI #-}
-ptr_glColorFragmentOp3ATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glColorFragmentOp3ATI = unsafePerformIO $ getCommand "glColorFragmentOp3ATI"
-
--- glColorMask -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorMask.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glColorMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glColorMask.xhtml OpenGL 4.x>.
-glColorMask
-  :: MonadIO m
-  => GLboolean -- ^ @red@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @green@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @blue@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @alpha@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glColorMask v1 v2 v3 v4 = liftIO $ dyn122 ptr_glColorMask v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColorMask #-}
-ptr_glColorMask :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-ptr_glColorMask = unsafePerformIO $ getCommand "glColorMask"
-
--- glColorMaskIndexedEXT -------------------------------------------------------
-
--- | This command is an alias for 'glColorMaski'.
-glColorMaskIndexedEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glColorMaskIndexedEXT v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaskIndexedEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glColorMaskIndexedEXT #-}
-ptr_glColorMaskIndexedEXT :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-ptr_glColorMaskIndexedEXT = unsafePerformIO $ getCommand "glColorMaskIndexedEXT"
-
--- glColorMaski ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glColorMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glColorMask.xhtml OpenGL 4.x>.
-glColorMaski
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glColorMaski v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaski v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glColorMaski #-}
-ptr_glColorMaski :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-ptr_glColorMaski = unsafePerformIO $ getCommand "glColorMaski"
-
--- glColorMaskiEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glColorMaski'.
-glColorMaskiEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glColorMaskiEXT v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaskiEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glColorMaskiEXT #-}
-ptr_glColorMaskiEXT :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-ptr_glColorMaskiEXT = unsafePerformIO $ getCommand "glColorMaskiEXT"
-
--- glColorMaskiOES -------------------------------------------------------------
-
--- | This command is an alias for 'glColorMaski'.
-glColorMaskiOES
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLboolean -- ^ @r@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @g@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @b@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @a@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glColorMaskiOES v1 v2 v3 v4 v5 = liftIO $ dyn123 ptr_glColorMaskiOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glColorMaskiOES #-}
-ptr_glColorMaskiOES :: FunPtr (GLuint -> GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-ptr_glColorMaskiOES = unsafePerformIO $ getCommand "glColorMaskiOES"
-
--- glColorMaterial -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorMaterial.xml OpenGL 2.x>.
-glColorMaterial
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @mode@ of type [ColorMaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorMaterialParameter).
-  -> m ()
-glColorMaterial v1 v2 = liftIO $ dyn51 ptr_glColorMaterial v1 v2
-
-{-# NOINLINE ptr_glColorMaterial #-}
-ptr_glColorMaterial :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glColorMaterial = unsafePerformIO $ getCommand "glColorMaterial"
-
--- glColorP3ui -----------------------------------------------------------------
-
-glColorP3ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @color@.
-  -> m ()
-glColorP3ui v1 v2 = liftIO $ dyn16 ptr_glColorP3ui v1 v2
-
-{-# NOINLINE ptr_glColorP3ui #-}
-ptr_glColorP3ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glColorP3ui = unsafePerformIO $ getCommand "glColorP3ui"
-
--- glColorP3uiv ----------------------------------------------------------------
-
-glColorP3uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glColorP3uiv v1 v2 = liftIO $ dyn124 ptr_glColorP3uiv v1 v2
-
-{-# NOINLINE ptr_glColorP3uiv #-}
-ptr_glColorP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glColorP3uiv = unsafePerformIO $ getCommand "glColorP3uiv"
-
--- glColorP4ui -----------------------------------------------------------------
-
-glColorP4ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @color@.
-  -> m ()
-glColorP4ui v1 v2 = liftIO $ dyn16 ptr_glColorP4ui v1 v2
-
-{-# NOINLINE ptr_glColorP4ui #-}
-ptr_glColorP4ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glColorP4ui = unsafePerformIO $ getCommand "glColorP4ui"
-
--- glColorP4uiv ----------------------------------------------------------------
-
-glColorP4uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glColorP4uiv v1 v2 = liftIO $ dyn124 ptr_glColorP4uiv v1 v2
-
-{-# NOINLINE ptr_glColorP4uiv #-}
-ptr_glColorP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glColorP4uiv = unsafePerformIO $ getCommand "glColorP4uiv"
-
--- glColorPointer --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorPointer.xml OpenGL 2.x>.
-glColorPointer
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glColorPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glColorPointer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glColorPointer #-}
-ptr_glColorPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glColorPointer = unsafePerformIO $ getCommand "glColorPointer"
-
--- glColorPointerEXT -----------------------------------------------------------
-
-glColorPointerEXT
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
-  -> m ()
-glColorPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn126 ptr_glColorPointerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glColorPointerEXT #-}
-ptr_glColorPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-ptr_glColorPointerEXT = unsafePerformIO $ getCommand "glColorPointerEXT"
-
--- glColorPointerListIBM -------------------------------------------------------
-
-glColorPointerListIBM
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorPointerType).
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glColorPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glColorPointerListIBM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glColorPointerListIBM #-}
-ptr_glColorPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glColorPointerListIBM = unsafePerformIO $ getCommand "glColorPointerListIBM"
-
--- glColorPointervINTEL --------------------------------------------------------
-
-glColorPointervINTEL
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#VertexPointerType).
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
-  -> m ()
-glColorPointervINTEL v1 v2 v3 = liftIO $ dyn128 ptr_glColorPointervINTEL v1 v2 v3
-
-{-# NOINLINE ptr_glColorPointervINTEL #-}
-ptr_glColorPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glColorPointervINTEL = unsafePerformIO $ getCommand "glColorPointervINTEL"
-
--- glColorSubTable -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorSubTable.xml OpenGL 2.x>.
-glColorSubTable
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLsizei -- ^ @start@.
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type,count)@ elements of type @a@.
-  -> m ()
-glColorSubTable v1 v2 v3 v4 v5 v6 = liftIO $ dyn129 ptr_glColorSubTable v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glColorSubTable #-}
-ptr_glColorSubTable :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glColorSubTable = unsafePerformIO $ getCommand "glColorSubTable"
-
--- glColorSubTableEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glColorSubTable'.
-glColorSubTableEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLsizei -- ^ @start@.
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(format,type,count)@ elements of type @a@.
-  -> m ()
-glColorSubTableEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn129 ptr_glColorSubTableEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glColorSubTableEXT #-}
-ptr_glColorSubTableEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glColorSubTableEXT = unsafePerformIO $ getCommand "glColorSubTableEXT"
-
--- glColorTable ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTable.xml OpenGL 2.x>.
-glColorTable
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glColorTable v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glColorTable v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glColorTable #-}
-ptr_glColorTable :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glColorTable = unsafePerformIO $ getCommand "glColorTable"
-
--- glColorTableEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glColorTable'.
-glColorTableEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @internalFormat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glColorTableEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glColorTableEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glColorTableEXT #-}
-ptr_glColorTableEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glColorTableEXT = unsafePerformIO $ getCommand "glColorTableEXT"
-
--- glColorTableParameterfv -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
-glColorTableParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @ColorTableParameterPName@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glColorTableParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glColorTableParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glColorTableParameterfv #-}
-ptr_glColorTableParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glColorTableParameterfv = unsafePerformIO $ getCommand "glColorTableParameterfv"
-
--- glColorTableParameterfvSGI --------------------------------------------------
-
--- | This command is an alias for 'glColorTableParameterfv'.
-glColorTableParameterfvSGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableTargetSGI).
-  -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableParameterPNameSGI).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glColorTableParameterfvSGI v1 v2 v3 = liftIO $ dyn131 ptr_glColorTableParameterfvSGI v1 v2 v3
-
-{-# NOINLINE ptr_glColorTableParameterfvSGI #-}
-ptr_glColorTableParameterfvSGI :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glColorTableParameterfvSGI = unsafePerformIO $ getCommand "glColorTableParameterfvSGI"
-
--- glColorTableParameteriv -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glColorTableParameter.xml OpenGL 2.x>.
-glColorTableParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @ColorTableParameterPName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glColorTableParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glColorTableParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glColorTableParameteriv #-}
-ptr_glColorTableParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glColorTableParameteriv = unsafePerformIO $ getCommand "glColorTableParameteriv"
-
--- glColorTableParameterivSGI --------------------------------------------------
-
--- | This command is an alias for 'glColorTableParameteriv'.
-glColorTableParameterivSGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableTargetSGI).
-  -> GLenum -- ^ @pname@ of type [ColorTableParameterPNameSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableParameterPNameSGI).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glColorTableParameterivSGI v1 v2 v3 = liftIO $ dyn132 ptr_glColorTableParameterivSGI v1 v2 v3
-
-{-# NOINLINE ptr_glColorTableParameterivSGI #-}
-ptr_glColorTableParameterivSGI :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glColorTableParameterivSGI = unsafePerformIO $ getCommand "glColorTableParameterivSGI"
-
--- glColorTableSGI -------------------------------------------------------------
-
--- | This command is an alias for 'glColorTable'.
-glColorTableSGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableTargetSGI).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glColorTableSGI v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glColorTableSGI v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glColorTableSGI #-}
-ptr_glColorTableSGI :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glColorTableSGI = unsafePerformIO $ getCommand "glColorTableSGI"
-
--- glCombinerInputNV -----------------------------------------------------------
-
-glCombinerInputNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
-  -> GLenum -- ^ @variable@ of type @CombinerVariableNV@.
-  -> GLenum -- ^ @input@ of type @CombinerRegisterNV@.
-  -> GLenum -- ^ @mapping@ of type @CombinerMappingNV@.
-  -> GLenum -- ^ @componentUsage@ of type @CombinerComponentUsageNV@.
-  -> m ()
-glCombinerInputNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn133 ptr_glCombinerInputNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glCombinerInputNV #-}
-ptr_glCombinerInputNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glCombinerInputNV = unsafePerformIO $ getCommand "glCombinerInputNV"
-
--- glCombinerOutputNV ----------------------------------------------------------
-
-glCombinerOutputNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
-  -> GLenum -- ^ @abOutput@ of type @CombinerRegisterNV@.
-  -> GLenum -- ^ @cdOutput@ of type @CombinerRegisterNV@.
-  -> GLenum -- ^ @sumOutput@ of type @CombinerRegisterNV@.
-  -> GLenum -- ^ @scale@ of type @CombinerScaleNV@.
-  -> GLenum -- ^ @bias@ of type @CombinerBiasNV@.
-  -> GLboolean -- ^ @abDotProduct@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @cdDotProduct@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @muxSum@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glCombinerOutputNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn134 ptr_glCombinerOutputNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glCombinerOutputNV #-}
-ptr_glCombinerOutputNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLenum -> GLboolean -> GLboolean -> GLboolean -> IO ())
-ptr_glCombinerOutputNV = unsafePerformIO $ getCommand "glCombinerOutputNV"
-
--- glCombinerParameterfNV ------------------------------------------------------
-
-glCombinerParameterfNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glCombinerParameterfNV v1 v2 = liftIO $ dyn0 ptr_glCombinerParameterfNV v1 v2
-
-{-# NOINLINE ptr_glCombinerParameterfNV #-}
-ptr_glCombinerParameterfNV :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glCombinerParameterfNV = unsafePerformIO $ getCommand "glCombinerParameterfNV"
-
--- glCombinerParameterfvNV -----------------------------------------------------
-
-glCombinerParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glCombinerParameterfvNV v1 v2 = liftIO $ dyn93 ptr_glCombinerParameterfvNV v1 v2
-
-{-# NOINLINE ptr_glCombinerParameterfvNV #-}
-ptr_glCombinerParameterfvNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glCombinerParameterfvNV = unsafePerformIO $ getCommand "glCombinerParameterfvNV"
-
--- glCombinerParameteriNV ------------------------------------------------------
-
-glCombinerParameteriNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glCombinerParameteriNV v1 v2 = liftIO $ dyn55 ptr_glCombinerParameteriNV v1 v2
-
-{-# NOINLINE ptr_glCombinerParameteriNV #-}
-ptr_glCombinerParameteriNV :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glCombinerParameteriNV = unsafePerformIO $ getCommand "glCombinerParameteriNV"
-
--- glCombinerParameterivNV -----------------------------------------------------
-
-glCombinerParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glCombinerParameterivNV v1 v2 = liftIO $ dyn135 ptr_glCombinerParameterivNV v1 v2
-
-{-# NOINLINE ptr_glCombinerParameterivNV #-}
-ptr_glCombinerParameterivNV :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glCombinerParameterivNV = unsafePerformIO $ getCommand "glCombinerParameterivNV"
-
--- glCombinerStageParameterfvNV ------------------------------------------------
-
-glCombinerStageParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glCombinerStageParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glCombinerStageParameterfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glCombinerStageParameterfvNV #-}
-ptr_glCombinerStageParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glCombinerStageParameterfvNV = unsafePerformIO $ getCommand "glCombinerStageParameterfvNV"
-
--- glCommandListSegmentsNV -----------------------------------------------------
-
-glCommandListSegmentsNV
-  :: MonadIO m
-  => GLuint -- ^ @list@.
-  -> GLuint -- ^ @segments@.
-  -> m ()
-glCommandListSegmentsNV v1 v2 = liftIO $ dyn3 ptr_glCommandListSegmentsNV v1 v2
-
-{-# NOINLINE ptr_glCommandListSegmentsNV #-}
-ptr_glCommandListSegmentsNV :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glCommandListSegmentsNV = unsafePerformIO $ getCommand "glCommandListSegmentsNV"
-
--- glCompileCommandListNV ------------------------------------------------------
-
-glCompileCommandListNV
-  :: MonadIO m
-  => GLuint -- ^ @list@.
-  -> m ()
-glCompileCommandListNV v1 = liftIO $ dyn2 ptr_glCompileCommandListNV v1
-
-{-# NOINLINE ptr_glCompileCommandListNV #-}
-ptr_glCompileCommandListNV :: FunPtr (GLuint -> IO ())
-ptr_glCompileCommandListNV = unsafePerformIO $ getCommand "glCompileCommandListNV"
-
--- glCompileShader -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompileShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompileShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompileShader.xhtml OpenGL 4.x>.
-glCompileShader
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> m ()
-glCompileShader v1 = liftIO $ dyn2 ptr_glCompileShader v1
-
-{-# NOINLINE ptr_glCompileShader #-}
-ptr_glCompileShader :: FunPtr (GLuint -> IO ())
-ptr_glCompileShader = unsafePerformIO $ getCommand "glCompileShader"
-
--- glCompileShaderARB ----------------------------------------------------------
-
--- | This command is an alias for 'glCompileShader'.
-glCompileShaderARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @shaderObj@ of type @handleARB@.
-  -> m ()
-glCompileShaderARB v1 = liftIO $ dyn136 ptr_glCompileShaderARB v1
-
-{-# NOINLINE ptr_glCompileShaderARB #-}
-ptr_glCompileShaderARB :: FunPtr (GLhandleARB -> IO ())
-ptr_glCompileShaderARB = unsafePerformIO $ getCommand "glCompileShaderARB"
-
--- glCompileShaderIncludeARB ---------------------------------------------------
-
-glCompileShaderIncludeARB
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr (Ptr GLchar) -- ^ @path@ pointing to @count@ elements of type @Ptr GLchar@.
-  -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
-  -> m ()
-glCompileShaderIncludeARB v1 v2 v3 v4 = liftIO $ dyn137 ptr_glCompileShaderIncludeARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glCompileShaderIncludeARB #-}
-ptr_glCompileShaderIncludeARB :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
-ptr_glCompileShaderIncludeARB = unsafePerformIO $ getCommand "glCompileShaderIncludeARB"
-
--- glCompressedMultiTexImage1DEXT ----------------------------------------------
-
-glCompressedMultiTexImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn138 ptr_glCompressedMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCompressedMultiTexImage1DEXT #-}
-ptr_glCompressedMultiTexImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedMultiTexImage1DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexImage1DEXT"
-
--- glCompressedMultiTexImage2DEXT ----------------------------------------------
-
-glCompressedMultiTexImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn139 ptr_glCompressedMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedMultiTexImage2DEXT #-}
-ptr_glCompressedMultiTexImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedMultiTexImage2DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexImage2DEXT"
-
--- glCompressedMultiTexImage3DEXT ----------------------------------------------
-
-glCompressedMultiTexImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn140 ptr_glCompressedMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glCompressedMultiTexImage3DEXT #-}
-ptr_glCompressedMultiTexImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedMultiTexImage3DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexImage3DEXT"
-
--- glCompressedMultiTexSubImage1DEXT -------------------------------------------
-
-glCompressedMultiTexSubImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn141 ptr_glCompressedMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCompressedMultiTexSubImage1DEXT #-}
-ptr_glCompressedMultiTexSubImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedMultiTexSubImage1DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexSubImage1DEXT"
-
--- glCompressedMultiTexSubImage2DEXT -------------------------------------------
-
-glCompressedMultiTexSubImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn142 ptr_glCompressedMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glCompressedMultiTexSubImage2DEXT #-}
-ptr_glCompressedMultiTexSubImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedMultiTexSubImage2DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexSubImage2DEXT"
-
--- glCompressedMultiTexSubImage3DEXT -------------------------------------------
-
-glCompressedMultiTexSubImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn143 ptr_glCompressedMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glCompressedMultiTexSubImage3DEXT #-}
-ptr_glCompressedMultiTexSubImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedMultiTexSubImage3DEXT = unsafePerformIO $ getCommand "glCompressedMultiTexSubImage3DEXT"
-
--- glCompressedTexImage1D ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage1D.xhtml OpenGL 4.x>.
-glCompressedTexImage1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn144 ptr_glCompressedTexImage1D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCompressedTexImage1D #-}
-ptr_glCompressedTexImage1D :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexImage1D = unsafePerformIO $ getCommand "glCompressedTexImage1D"
-
--- glCompressedTexImage1DARB ---------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexImage1D'.
-glCompressedTexImage1DARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexImage1DARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn144 ptr_glCompressedTexImage1DARB v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCompressedTexImage1DARB #-}
-ptr_glCompressedTexImage1DARB :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexImage1DARB = unsafePerformIO $ getCommand "glCompressedTexImage1DARB"
-
--- glCompressedTexImage2D ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage2D.xhtml OpenGL 4.x>.
-glCompressedTexImage2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn145 ptr_glCompressedTexImage2D v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCompressedTexImage2D #-}
-ptr_glCompressedTexImage2D :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexImage2D = unsafePerformIO $ getCommand "glCompressedTexImage2D"
-
--- glCompressedTexImage2DARB ---------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexImage2D'.
-glCompressedTexImage2DARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexImage2DARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn145 ptr_glCompressedTexImage2DARB v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCompressedTexImage2DARB #-}
-ptr_glCompressedTexImage2DARB :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexImage2DARB = unsafePerformIO $ getCommand "glCompressedTexImage2DARB"
-
--- glCompressedTexImage3D ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexImage3D.xhtml OpenGL 4.x>.
-glCompressedTexImage3D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn146 ptr_glCompressedTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedTexImage3D #-}
-ptr_glCompressedTexImage3D :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexImage3D = unsafePerformIO $ getCommand "glCompressedTexImage3D"
-
--- glCompressedTexImage3DARB ---------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexImage3D'.
-glCompressedTexImage3DARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn146 ptr_glCompressedTexImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedTexImage3DARB #-}
-ptr_glCompressedTexImage3DARB :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexImage3DARB = unsafePerformIO $ getCommand "glCompressedTexImage3DARB"
-
--- glCompressedTexImage3DOES ---------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexImage3D'.
-glCompressedTexImage3DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn146 ptr_glCompressedTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedTexImage3DOES #-}
-ptr_glCompressedTexImage3DOES :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexImage3DOES = unsafePerformIO $ getCommand "glCompressedTexImage3DOES"
-
--- glCompressedTexSubImage1D ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage1D.xhtml OpenGL 4.x>.
-glCompressedTexSubImage1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn147 ptr_glCompressedTexSubImage1D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCompressedTexSubImage1D #-}
-ptr_glCompressedTexSubImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexSubImage1D = unsafePerformIO $ getCommand "glCompressedTexSubImage1D"
-
--- glCompressedTexSubImage1DARB ------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexSubImage1D'.
-glCompressedTexSubImage1DARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexSubImage1DARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn147 ptr_glCompressedTexSubImage1DARB v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCompressedTexSubImage1DARB #-}
-ptr_glCompressedTexSubImage1DARB :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexSubImage1DARB = unsafePerformIO $ getCommand "glCompressedTexSubImage1DARB"
-
--- glCompressedTexSubImage2D ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage2D.xhtml OpenGL 4.x>.
-glCompressedTexSubImage2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn148 ptr_glCompressedTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedTexSubImage2D #-}
-ptr_glCompressedTexSubImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexSubImage2D = unsafePerformIO $ getCommand "glCompressedTexSubImage2D"
-
--- glCompressedTexSubImage2DARB ------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexSubImage2D'.
-glCompressedTexSubImage2DARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexSubImage2DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn148 ptr_glCompressedTexSubImage2DARB v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedTexSubImage2DARB #-}
-ptr_glCompressedTexSubImage2DARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexSubImage2DARB = unsafePerformIO $ getCommand "glCompressedTexSubImage2DARB"
-
--- glCompressedTexSubImage3D ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCompressedTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCompressedTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage3D.xhtml OpenGL 4.x>.
-glCompressedTexSubImage3D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn149 ptr_glCompressedTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glCompressedTexSubImage3D #-}
-ptr_glCompressedTexSubImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexSubImage3D = unsafePerformIO $ getCommand "glCompressedTexSubImage3D"
-
--- glCompressedTexSubImage3DARB ------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexSubImage3D'.
-glCompressedTexSubImage3DARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @CompressedTextureARB@.
-  -> m ()
-glCompressedTexSubImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn149 ptr_glCompressedTexSubImage3DARB v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glCompressedTexSubImage3DARB #-}
-ptr_glCompressedTexSubImage3DARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexSubImage3DARB = unsafePerformIO $ getCommand "glCompressedTexSubImage3DARB"
-
--- glCompressedTexSubImage3DOES ------------------------------------------------
-
--- | This command is an alias for 'glCompressedTexSubImage3D'.
-glCompressedTexSubImage3DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn149 ptr_glCompressedTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glCompressedTexSubImage3DOES #-}
-ptr_glCompressedTexSubImage3DOES :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTexSubImage3DOES = unsafePerformIO $ getCommand "glCompressedTexSubImage3DOES"
-
--- glCompressedTextureImage1DEXT -----------------------------------------------
-
-glCompressedTextureImage1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn150 ptr_glCompressedTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCompressedTextureImage1DEXT #-}
-ptr_glCompressedTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureImage1DEXT = unsafePerformIO $ getCommand "glCompressedTextureImage1DEXT"
-
--- glCompressedTextureImage2DEXT -----------------------------------------------
-
-glCompressedTextureImage2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn151 ptr_glCompressedTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedTextureImage2DEXT #-}
-ptr_glCompressedTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureImage2DEXT = unsafePerformIO $ getCommand "glCompressedTextureImage2DEXT"
-
--- glCompressedTextureImage3DEXT -----------------------------------------------
-
-glCompressedTextureImage3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn152 ptr_glCompressedTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glCompressedTextureImage3DEXT #-}
-ptr_glCompressedTextureImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureImage3DEXT = unsafePerformIO $ getCommand "glCompressedTextureImage3DEXT"
-
--- glCompressedTextureSubImage1D -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage1D.xhtml OpenGL 4.x>.
-glCompressedTextureSubImage1D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@.
-  -> m ()
-glCompressedTextureSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn153 ptr_glCompressedTextureSubImage1D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCompressedTextureSubImage1D #-}
-ptr_glCompressedTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureSubImage1D = unsafePerformIO $ getCommand "glCompressedTextureSubImage1D"
-
--- glCompressedTextureSubImage1DEXT --------------------------------------------
-
-glCompressedTextureSubImage1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn154 ptr_glCompressedTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCompressedTextureSubImage1DEXT #-}
-ptr_glCompressedTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureSubImage1DEXT = unsafePerformIO $ getCommand "glCompressedTextureSubImage1DEXT"
-
--- glCompressedTextureSubImage2D -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage2D.xhtml OpenGL 4.x>.
-glCompressedTextureSubImage2D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@.
-  -> m ()
-glCompressedTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn155 ptr_glCompressedTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCompressedTextureSubImage2D #-}
-ptr_glCompressedTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureSubImage2D = unsafePerformIO $ getCommand "glCompressedTextureSubImage2D"
-
--- glCompressedTextureSubImage2DEXT --------------------------------------------
-
-glCompressedTextureSubImage2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn156 ptr_glCompressedTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glCompressedTextureSubImage2DEXT #-}
-ptr_glCompressedTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureSubImage2DEXT = unsafePerformIO $ getCommand "glCompressedTextureSubImage2DEXT"
-
--- glCompressedTextureSubImage3D -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCompressedTexSubImage3D.xhtml OpenGL 4.x>.
-glCompressedTextureSubImage3D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @data@.
-  -> m ()
-glCompressedTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn157 ptr_glCompressedTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glCompressedTextureSubImage3D #-}
-ptr_glCompressedTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureSubImage3D = unsafePerformIO $ getCommand "glCompressedTextureSubImage3D"
-
--- glCompressedTextureSubImage3DEXT --------------------------------------------
-
-glCompressedTextureSubImage3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLsizei -- ^ @imageSize@.
-  -> Ptr a -- ^ @bits@ pointing to @imageSize@ elements of type @a@.
-  -> m ()
-glCompressedTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn158 ptr_glCompressedTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glCompressedTextureSubImage3DEXT #-}
-ptr_glCompressedTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glCompressedTextureSubImage3DEXT = unsafePerformIO $ getCommand "glCompressedTextureSubImage3DEXT"
-
--- glConservativeRasterParameterfNV --------------------------------------------
-
-glConservativeRasterParameterfNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfloat -- ^ @value@.
-  -> m ()
-glConservativeRasterParameterfNV v1 v2 = liftIO $ dyn0 ptr_glConservativeRasterParameterfNV v1 v2
-
-{-# NOINLINE ptr_glConservativeRasterParameterfNV #-}
-ptr_glConservativeRasterParameterfNV :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glConservativeRasterParameterfNV = unsafePerformIO $ getCommand "glConservativeRasterParameterfNV"
-
--- glConvolutionFilter1D -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter1D.xml OpenGL 2.x>.
-glConvolutionFilter1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glConvolutionFilter1D v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glConvolutionFilter1D v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glConvolutionFilter1D #-}
-ptr_glConvolutionFilter1D :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glConvolutionFilter1D = unsafePerformIO $ getCommand "glConvolutionFilter1D"
-
--- glConvolutionFilter1DEXT ----------------------------------------------------
-
--- | This command is an alias for 'glConvolutionFilter1D'.
-glConvolutionFilter1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glConvolutionFilter1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn130 ptr_glConvolutionFilter1DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glConvolutionFilter1DEXT #-}
-ptr_glConvolutionFilter1DEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glConvolutionFilter1DEXT = unsafePerformIO $ getCommand "glConvolutionFilter1DEXT"
-
--- glConvolutionFilter2D -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionFilter2D.xml OpenGL 2.x>.
-glConvolutionFilter2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glConvolutionFilter2D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn159 ptr_glConvolutionFilter2D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glConvolutionFilter2D #-}
-ptr_glConvolutionFilter2D :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glConvolutionFilter2D = unsafePerformIO $ getCommand "glConvolutionFilter2D"
-
--- glConvolutionFilter2DEXT ----------------------------------------------------
-
--- | This command is an alias for 'glConvolutionFilter2D'.
-glConvolutionFilter2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn159 ptr_glConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glConvolutionFilter2DEXT #-}
-ptr_glConvolutionFilter2DEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glConvolutionFilter2DEXT = unsafePerformIO $ getCommand "glConvolutionFilter2DEXT"
-
--- glConvolutionParameterf -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
-glConvolutionParameterf
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
-  -> GLfloat -- ^ @params@ of type @CheckedFloat32@.
-  -> m ()
-glConvolutionParameterf v1 v2 v3 = liftIO $ dyn160 ptr_glConvolutionParameterf v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameterf #-}
-ptr_glConvolutionParameterf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glConvolutionParameterf = unsafePerformIO $ getCommand "glConvolutionParameterf"
-
--- glConvolutionParameterfEXT --------------------------------------------------
-
--- | This command is an alias for 'glConvolutionParameterf'.
-glConvolutionParameterfEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionParameterEXT).
-  -> GLfloat -- ^ @params@ of type @CheckedFloat32@.
-  -> m ()
-glConvolutionParameterfEXT v1 v2 v3 = liftIO $ dyn160 ptr_glConvolutionParameterfEXT v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameterfEXT #-}
-ptr_glConvolutionParameterfEXT :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glConvolutionParameterfEXT = unsafePerformIO $ getCommand "glConvolutionParameterfEXT"
-
--- glConvolutionParameterfv ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
-glConvolutionParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glConvolutionParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glConvolutionParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameterfv #-}
-ptr_glConvolutionParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glConvolutionParameterfv = unsafePerformIO $ getCommand "glConvolutionParameterfv"
-
--- glConvolutionParameterfvEXT -------------------------------------------------
-
--- | This command is an alias for 'glConvolutionParameterfv'.
-glConvolutionParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionParameterEXT).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glConvolutionParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glConvolutionParameterfvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameterfvEXT #-}
-ptr_glConvolutionParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glConvolutionParameterfvEXT = unsafePerformIO $ getCommand "glConvolutionParameterfvEXT"
-
--- glConvolutionParameteri -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
-glConvolutionParameteri
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
-  -> GLint -- ^ @params@ of type @CheckedInt32@.
-  -> m ()
-glConvolutionParameteri v1 v2 v3 = liftIO $ dyn62 ptr_glConvolutionParameteri v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameteri #-}
-ptr_glConvolutionParameteri :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glConvolutionParameteri = unsafePerformIO $ getCommand "glConvolutionParameteri"
-
--- glConvolutionParameteriEXT --------------------------------------------------
-
--- | This command is an alias for 'glConvolutionParameteri'.
-glConvolutionParameteriEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionParameterEXT).
-  -> GLint -- ^ @params@ of type @CheckedInt32@.
-  -> m ()
-glConvolutionParameteriEXT v1 v2 v3 = liftIO $ dyn62 ptr_glConvolutionParameteriEXT v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameteriEXT #-}
-ptr_glConvolutionParameteriEXT :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glConvolutionParameteriEXT = unsafePerformIO $ getCommand "glConvolutionParameteriEXT"
-
--- glConvolutionParameteriv ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glConvolutionParameter.xml OpenGL 2.x>.
-glConvolutionParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @ConvolutionParameter@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glConvolutionParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glConvolutionParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameteriv #-}
-ptr_glConvolutionParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glConvolutionParameteriv = unsafePerformIO $ getCommand "glConvolutionParameteriv"
-
--- glConvolutionParameterivEXT -------------------------------------------------
-
--- | This command is an alias for 'glConvolutionParameteriv'.
-glConvolutionParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionParameterEXT).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glConvolutionParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glConvolutionParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameterivEXT #-}
-ptr_glConvolutionParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glConvolutionParameterivEXT = unsafePerformIO $ getCommand "glConvolutionParameterivEXT"
-
--- glConvolutionParameterxOES --------------------------------------------------
-
-glConvolutionParameterxOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glConvolutionParameterxOES v1 v2 v3 = liftIO $ dyn161 ptr_glConvolutionParameterxOES v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameterxOES #-}
-ptr_glConvolutionParameterxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glConvolutionParameterxOES = unsafePerformIO $ getCommand "glConvolutionParameterxOES"
-
--- glConvolutionParameterxvOES -------------------------------------------------
-
-glConvolutionParameterxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glConvolutionParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glConvolutionParameterxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glConvolutionParameterxvOES #-}
-ptr_glConvolutionParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glConvolutionParameterxvOES = unsafePerformIO $ getCommand "glConvolutionParameterxvOES"
-
--- glCopyBufferSubData ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml OpenGL 4.x>.
-glCopyBufferSubData
-  :: MonadIO m
-  => GLenum -- ^ @readTarget@.
-  -> GLenum -- ^ @writeTarget@.
-  -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
-  -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glCopyBufferSubData v1 v2 v3 v4 v5 = liftIO $ dyn163 ptr_glCopyBufferSubData v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyBufferSubData #-}
-ptr_glCopyBufferSubData :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glCopyBufferSubData = unsafePerformIO $ getCommand "glCopyBufferSubData"
-
--- glCopyBufferSubDataNV -------------------------------------------------------
-
--- | This command is an alias for 'glCopyBufferSubData'.
-glCopyBufferSubDataNV
-  :: MonadIO m
-  => GLenum -- ^ @readTarget@.
-  -> GLenum -- ^ @writeTarget@.
-  -> GLintptr -- ^ @readOffset@ of type @BufferOffset@.
-  -> GLintptr -- ^ @writeOffset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glCopyBufferSubDataNV v1 v2 v3 v4 v5 = liftIO $ dyn163 ptr_glCopyBufferSubDataNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyBufferSubDataNV #-}
-ptr_glCopyBufferSubDataNV :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glCopyBufferSubDataNV = unsafePerformIO $ getCommand "glCopyBufferSubDataNV"
-
--- glCopyColorSubTable ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorSubTable.xml OpenGL 2.x>.
-glCopyColorSubTable
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLsizei -- ^ @start@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyColorSubTable v1 v2 v3 v4 v5 = liftIO $ dyn164 ptr_glCopyColorSubTable v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyColorSubTable #-}
-ptr_glCopyColorSubTable :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyColorSubTable = unsafePerformIO $ getCommand "glCopyColorSubTable"
-
--- glCopyColorSubTableEXT ------------------------------------------------------
-
--- | This command is an alias for 'glCopyColorSubTable'.
-glCopyColorSubTableEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLsizei -- ^ @start@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyColorSubTableEXT v1 v2 v3 v4 v5 = liftIO $ dyn164 ptr_glCopyColorSubTableEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyColorSubTableEXT #-}
-ptr_glCopyColorSubTableEXT :: FunPtr (GLenum -> GLsizei -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyColorSubTableEXT = unsafePerformIO $ getCommand "glCopyColorSubTableEXT"
-
--- glCopyColorTable ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyColorTable.xml OpenGL 2.x>.
-glCopyColorTable
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyColorTable v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyColorTable v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyColorTable #-}
-ptr_glCopyColorTable :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyColorTable = unsafePerformIO $ getCommand "glCopyColorTable"
-
--- glCopyColorTableSGI ---------------------------------------------------------
-
--- | This command is an alias for 'glCopyColorTable'.
-glCopyColorTableSGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableTargetSGI).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyColorTableSGI v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyColorTableSGI v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyColorTableSGI #-}
-ptr_glCopyColorTableSGI :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyColorTableSGI = unsafePerformIO $ getCommand "glCopyColorTableSGI"
-
--- glCopyConvolutionFilter1D ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter1D.xml OpenGL 2.x>.
-glCopyConvolutionFilter1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyConvolutionFilter1D v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyConvolutionFilter1D v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyConvolutionFilter1D #-}
-ptr_glCopyConvolutionFilter1D :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyConvolutionFilter1D = unsafePerformIO $ getCommand "glCopyConvolutionFilter1D"
-
--- glCopyConvolutionFilter1DEXT ------------------------------------------------
-
--- | This command is an alias for 'glCopyConvolutionFilter1D'.
-glCopyConvolutionFilter1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyConvolutionFilter1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn165 ptr_glCopyConvolutionFilter1DEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyConvolutionFilter1DEXT #-}
-ptr_glCopyConvolutionFilter1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyConvolutionFilter1DEXT = unsafePerformIO $ getCommand "glCopyConvolutionFilter1DEXT"
-
--- glCopyConvolutionFilter2D ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyConvolutionFilter2D.xml OpenGL 2.x>.
-glCopyConvolutionFilter2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyConvolutionFilter2D v1 v2 v3 v4 v5 v6 = liftIO $ dyn166 ptr_glCopyConvolutionFilter2D v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glCopyConvolutionFilter2D #-}
-ptr_glCopyConvolutionFilter2D :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyConvolutionFilter2D = unsafePerformIO $ getCommand "glCopyConvolutionFilter2D"
-
--- glCopyConvolutionFilter2DEXT ------------------------------------------------
-
--- | This command is an alias for 'glCopyConvolutionFilter2D'.
-glCopyConvolutionFilter2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn166 ptr_glCopyConvolutionFilter2DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glCopyConvolutionFilter2DEXT #-}
-ptr_glCopyConvolutionFilter2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyConvolutionFilter2DEXT = unsafePerformIO $ getCommand "glCopyConvolutionFilter2DEXT"
-
--- glCopyImageSubData ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyImageSubData.xhtml OpenGL 4.x>.
-glCopyImageSubData
-  :: MonadIO m
-  => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
-  -> GLint -- ^ @srcLevel@.
-  -> GLint -- ^ @srcX@.
-  -> GLint -- ^ @srcY@.
-  -> GLint -- ^ @srcZ@.
-  -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
-  -> GLint -- ^ @dstLevel@.
-  -> GLint -- ^ @dstX@.
-  -> GLint -- ^ @dstY@.
-  -> GLint -- ^ @dstZ@.
-  -> GLsizei -- ^ @srcWidth@.
-  -> GLsizei -- ^ @srcHeight@.
-  -> GLsizei -- ^ @srcDepth@.
-  -> m ()
-glCopyImageSubData v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubData v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
-
-{-# NOINLINE ptr_glCopyImageSubData #-}
-ptr_glCopyImageSubData :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyImageSubData = unsafePerformIO $ getCommand "glCopyImageSubData"
-
--- glCopyImageSubDataEXT -------------------------------------------------------
-
--- | This command is an alias for 'glCopyImageSubData'.
-glCopyImageSubDataEXT
-  :: MonadIO m
-  => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
-  -> GLint -- ^ @srcLevel@.
-  -> GLint -- ^ @srcX@.
-  -> GLint -- ^ @srcY@.
-  -> GLint -- ^ @srcZ@.
-  -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
-  -> GLint -- ^ @dstLevel@.
-  -> GLint -- ^ @dstX@.
-  -> GLint -- ^ @dstY@.
-  -> GLint -- ^ @dstZ@.
-  -> GLsizei -- ^ @srcWidth@.
-  -> GLsizei -- ^ @srcHeight@.
-  -> GLsizei -- ^ @srcDepth@.
-  -> m ()
-glCopyImageSubDataEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubDataEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
-
-{-# NOINLINE ptr_glCopyImageSubDataEXT #-}
-ptr_glCopyImageSubDataEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyImageSubDataEXT = unsafePerformIO $ getCommand "glCopyImageSubDataEXT"
-
--- glCopyImageSubDataNV --------------------------------------------------------
-
-glCopyImageSubDataNV
-  :: MonadIO m
-  => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
-  -> GLint -- ^ @srcLevel@.
-  -> GLint -- ^ @srcX@.
-  -> GLint -- ^ @srcY@.
-  -> GLint -- ^ @srcZ@.
-  -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
-  -> GLint -- ^ @dstLevel@.
-  -> GLint -- ^ @dstX@.
-  -> GLint -- ^ @dstY@.
-  -> GLint -- ^ @dstZ@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> m ()
-glCopyImageSubDataNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubDataNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
-
-{-# NOINLINE ptr_glCopyImageSubDataNV #-}
-ptr_glCopyImageSubDataNV :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyImageSubDataNV = unsafePerformIO $ getCommand "glCopyImageSubDataNV"
-
--- glCopyImageSubDataOES -------------------------------------------------------
-
--- | This command is an alias for 'glCopyImageSubData'.
-glCopyImageSubDataOES
-  :: MonadIO m
-  => GLuint -- ^ @srcName@.
-  -> GLenum -- ^ @srcTarget@.
-  -> GLint -- ^ @srcLevel@.
-  -> GLint -- ^ @srcX@.
-  -> GLint -- ^ @srcY@.
-  -> GLint -- ^ @srcZ@.
-  -> GLuint -- ^ @dstName@.
-  -> GLenum -- ^ @dstTarget@.
-  -> GLint -- ^ @dstLevel@.
-  -> GLint -- ^ @dstX@.
-  -> GLint -- ^ @dstY@.
-  -> GLint -- ^ @dstZ@.
-  -> GLsizei -- ^ @srcWidth@.
-  -> GLsizei -- ^ @srcHeight@.
-  -> GLsizei -- ^ @srcDepth@.
-  -> m ()
-glCopyImageSubDataOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn167 ptr_glCopyImageSubDataOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
-
-{-# NOINLINE ptr_glCopyImageSubDataOES #-}
-ptr_glCopyImageSubDataOES :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyImageSubDataOES = unsafePerformIO $ getCommand "glCopyImageSubDataOES"
-
--- glCopyMultiTexImage1DEXT ----------------------------------------------------
-
-glCopyMultiTexImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn168 ptr_glCopyMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCopyMultiTexImage1DEXT #-}
-ptr_glCopyMultiTexImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-ptr_glCopyMultiTexImage1DEXT = unsafePerformIO $ getCommand "glCopyMultiTexImage1DEXT"
-
--- glCopyMultiTexImage2DEXT ----------------------------------------------------
-
-glCopyMultiTexImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn169 ptr_glCopyMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyMultiTexImage2DEXT #-}
-ptr_glCopyMultiTexImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glCopyMultiTexImage2DEXT = unsafePerformIO $ getCommand "glCopyMultiTexImage2DEXT"
-
--- glCopyMultiTexSubImage1DEXT -------------------------------------------------
-
-glCopyMultiTexSubImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn170 ptr_glCopyMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCopyMultiTexSubImage1DEXT #-}
-ptr_glCopyMultiTexSubImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyMultiTexSubImage1DEXT = unsafePerformIO $ getCommand "glCopyMultiTexSubImage1DEXT"
-
--- glCopyMultiTexSubImage2DEXT -------------------------------------------------
-
-glCopyMultiTexSubImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn171 ptr_glCopyMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyMultiTexSubImage2DEXT #-}
-ptr_glCopyMultiTexSubImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyMultiTexSubImage2DEXT = unsafePerformIO $ getCommand "glCopyMultiTexSubImage2DEXT"
-
--- glCopyMultiTexSubImage3DEXT -------------------------------------------------
-
-glCopyMultiTexSubImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn172 ptr_glCopyMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glCopyMultiTexSubImage3DEXT #-}
-ptr_glCopyMultiTexSubImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyMultiTexSubImage3DEXT = unsafePerformIO $ getCommand "glCopyMultiTexSubImage3DEXT"
-
--- glCopyNamedBufferSubData ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyBufferSubData.xhtml OpenGL 4.x>.
-glCopyNamedBufferSubData
-  :: MonadIO m
-  => GLuint -- ^ @readBuffer@.
-  -> GLuint -- ^ @writeBuffer@.
-  -> GLintptr -- ^ @readOffset@.
-  -> GLintptr -- ^ @writeOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glCopyNamedBufferSubData v1 v2 v3 v4 v5 = liftIO $ dyn173 ptr_glCopyNamedBufferSubData v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyNamedBufferSubData #-}
-ptr_glCopyNamedBufferSubData :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glCopyNamedBufferSubData = unsafePerformIO $ getCommand "glCopyNamedBufferSubData"
-
--- glCopyPathNV ----------------------------------------------------------------
-
-glCopyPathNV
-  :: MonadIO m
-  => GLuint -- ^ @resultPath@ of type @Path@.
-  -> GLuint -- ^ @srcPath@ of type @Path@.
-  -> m ()
-glCopyPathNV v1 v2 = liftIO $ dyn3 ptr_glCopyPathNV v1 v2
-
-{-# NOINLINE ptr_glCopyPathNV #-}
-ptr_glCopyPathNV :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glCopyPathNV = unsafePerformIO $ getCommand "glCopyPathNV"
-
--- glCopyPixels ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyPixels.xml OpenGL 2.x>.
-glCopyPixels
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @type@ of type [PixelCopyType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelCopyType).
-  -> m ()
-glCopyPixels v1 v2 v3 v4 v5 = liftIO $ dyn174 ptr_glCopyPixels v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glCopyPixels #-}
-ptr_glCopyPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> IO ())
-ptr_glCopyPixels = unsafePerformIO $ getCommand "glCopyPixels"
-
--- glCopyTexImage1D ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage1D.xhtml OpenGL 4.x>.
-glCopyTexImage1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyTexImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn175 ptr_glCopyTexImage1D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCopyTexImage1D #-}
-ptr_glCopyTexImage1D :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-ptr_glCopyTexImage1D = unsafePerformIO $ getCommand "glCopyTexImage1D"
-
--- glCopyTexImage1DEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glCopyTexImage1D'.
-glCopyTexImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn175 ptr_glCopyTexImage1DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCopyTexImage1DEXT #-}
-ptr_glCopyTexImage1DEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-ptr_glCopyTexImage1DEXT = unsafePerformIO $ getCommand "glCopyTexImage1DEXT"
-
--- glCopyTexImage2D ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexImage2D.xhtml OpenGL 4.x>.
-glCopyTexImage2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn176 ptr_glCopyTexImage2D v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCopyTexImage2D #-}
-ptr_glCopyTexImage2D :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glCopyTexImage2D = unsafePerformIO $ getCommand "glCopyTexImage2D"
-
--- glCopyTexImage2DEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glCopyTexImage2D'.
-glCopyTexImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn176 ptr_glCopyTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCopyTexImage2DEXT #-}
-ptr_glCopyTexImage2DEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glCopyTexImage2DEXT = unsafePerformIO $ getCommand "glCopyTexImage2DEXT"
-
--- glCopyTexSubImage1D ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage1D.xhtml OpenGL 4.x>.
-glCopyTexSubImage1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyTexSubImage1D v1 v2 v3 v4 v5 v6 = liftIO $ dyn177 ptr_glCopyTexSubImage1D v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glCopyTexSubImage1D #-}
-ptr_glCopyTexSubImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyTexSubImage1D = unsafePerformIO $ getCommand "glCopyTexSubImage1D"
-
--- glCopyTexSubImage1DEXT ------------------------------------------------------
-
--- | This command is an alias for 'glCopyTexSubImage1D'.
-glCopyTexSubImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyTexSubImage1DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn177 ptr_glCopyTexSubImage1DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glCopyTexSubImage1DEXT #-}
-ptr_glCopyTexSubImage1DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyTexSubImage1DEXT = unsafePerformIO $ getCommand "glCopyTexSubImage1DEXT"
-
--- glCopyTexSubImage2D ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage2D.xhtml OpenGL 4.x>.
-glCopyTexSubImage2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn178 ptr_glCopyTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCopyTexSubImage2D #-}
-ptr_glCopyTexSubImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTexSubImage2D = unsafePerformIO $ getCommand "glCopyTexSubImage2D"
-
--- glCopyTexSubImage2DEXT ------------------------------------------------------
-
--- | This command is an alias for 'glCopyTexSubImage2D'.
-glCopyTexSubImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn178 ptr_glCopyTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCopyTexSubImage2DEXT #-}
-ptr_glCopyTexSubImage2DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTexSubImage2DEXT = unsafePerformIO $ getCommand "glCopyTexSubImage2DEXT"
-
--- glCopyTexSubImage3D ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCopyTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCopyTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
-glCopyTexSubImage3D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn179 ptr_glCopyTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyTexSubImage3D #-}
-ptr_glCopyTexSubImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTexSubImage3D = unsafePerformIO $ getCommand "glCopyTexSubImage3D"
-
--- glCopyTexSubImage3DEXT ------------------------------------------------------
-
--- | This command is an alias for 'glCopyTexSubImage3D'.
-glCopyTexSubImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn179 ptr_glCopyTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyTexSubImage3DEXT #-}
-ptr_glCopyTexSubImage3DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTexSubImage3DEXT = unsafePerformIO $ getCommand "glCopyTexSubImage3DEXT"
-
--- glCopyTexSubImage3DOES ------------------------------------------------------
-
--- | This command is an alias for 'glCopyTexSubImage3D'.
-glCopyTexSubImage3DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn179 ptr_glCopyTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyTexSubImage3DOES #-}
-ptr_glCopyTexSubImage3DOES :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTexSubImage3DOES = unsafePerformIO $ getCommand "glCopyTexSubImage3DOES"
-
--- glCopyTextureImage1DEXT -----------------------------------------------------
-
-glCopyTextureImage1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn180 ptr_glCopyTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCopyTextureImage1DEXT #-}
-ptr_glCopyTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> IO ())
-ptr_glCopyTextureImage1DEXT = unsafePerformIO $ getCommand "glCopyTextureImage1DEXT"
-
--- glCopyTextureImage2DEXT -----------------------------------------------------
-
-glCopyTextureImage2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> m ()
-glCopyTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn181 ptr_glCopyTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyTextureImage2DEXT #-}
-ptr_glCopyTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glCopyTextureImage2DEXT = unsafePerformIO $ getCommand "glCopyTextureImage2DEXT"
-
--- glCopyTextureLevelsAPPLE ----------------------------------------------------
-
-glCopyTextureLevelsAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @destinationTexture@.
-  -> GLuint -- ^ @sourceTexture@.
-  -> GLint -- ^ @sourceBaseLevel@.
-  -> GLsizei -- ^ @sourceLevelCount@.
-  -> m ()
-glCopyTextureLevelsAPPLE v1 v2 v3 v4 = liftIO $ dyn182 ptr_glCopyTextureLevelsAPPLE v1 v2 v3 v4
-
-{-# NOINLINE ptr_glCopyTextureLevelsAPPLE #-}
-ptr_glCopyTextureLevelsAPPLE :: FunPtr (GLuint -> GLuint -> GLint -> GLsizei -> IO ())
-ptr_glCopyTextureLevelsAPPLE = unsafePerformIO $ getCommand "glCopyTextureLevelsAPPLE"
-
--- glCopyTextureSubImage1D -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage1D.xhtml OpenGL 4.x>.
-glCopyTextureSubImage1D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyTextureSubImage1D v1 v2 v3 v4 v5 v6 = liftIO $ dyn183 ptr_glCopyTextureSubImage1D v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glCopyTextureSubImage1D #-}
-ptr_glCopyTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyTextureSubImage1D = unsafePerformIO $ getCommand "glCopyTextureSubImage1D"
-
--- glCopyTextureSubImage1DEXT --------------------------------------------------
-
-glCopyTextureSubImage1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glCopyTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn184 ptr_glCopyTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCopyTextureSubImage1DEXT #-}
-ptr_glCopyTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glCopyTextureSubImage1DEXT = unsafePerformIO $ getCommand "glCopyTextureSubImage1DEXT"
-
--- glCopyTextureSubImage2D -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage2D.xhtml OpenGL 4.x>.
-glCopyTextureSubImage2D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn185 ptr_glCopyTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glCopyTextureSubImage2D #-}
-ptr_glCopyTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTextureSubImage2D = unsafePerformIO $ getCommand "glCopyTextureSubImage2D"
-
--- glCopyTextureSubImage2DEXT --------------------------------------------------
-
-glCopyTextureSubImage2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn186 ptr_glCopyTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyTextureSubImage2DEXT #-}
-ptr_glCopyTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTextureSubImage2DEXT = unsafePerformIO $ getCommand "glCopyTextureSubImage2DEXT"
-
--- glCopyTextureSubImage3D -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCopyTexSubImage3D.xhtml OpenGL 4.x>.
-glCopyTextureSubImage3D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn187 ptr_glCopyTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glCopyTextureSubImage3D #-}
-ptr_glCopyTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTextureSubImage3D = unsafePerformIO $ getCommand "glCopyTextureSubImage3D"
-
--- glCopyTextureSubImage3DEXT --------------------------------------------------
-
-glCopyTextureSubImage3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glCopyTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn188 ptr_glCopyTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glCopyTextureSubImage3DEXT #-}
-ptr_glCopyTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glCopyTextureSubImage3DEXT = unsafePerformIO $ getCommand "glCopyTextureSubImage3DEXT"
-
--- glCoverFillPathInstancedNV --------------------------------------------------
-
-glCoverFillPathInstancedNV
-  :: MonadIO m
-  => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
-  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
-  -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
-  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
-  -> m ()
-glCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn189 ptr_glCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCoverFillPathInstancedNV #-}
-ptr_glCoverFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glCoverFillPathInstancedNV = unsafePerformIO $ getCommand "glCoverFillPathInstancedNV"
-
--- glCoverFillPathNV -----------------------------------------------------------
-
-glCoverFillPathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
-  -> m ()
-glCoverFillPathNV v1 v2 = liftIO $ dyn15 ptr_glCoverFillPathNV v1 v2
-
-{-# NOINLINE ptr_glCoverFillPathNV #-}
-ptr_glCoverFillPathNV :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glCoverFillPathNV = unsafePerformIO $ getCommand "glCoverFillPathNV"
-
--- glCoverStrokePathInstancedNV ------------------------------------------------
-
-glCoverStrokePathInstancedNV
-  :: MonadIO m
-  => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
-  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
-  -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
-  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
-  -> m ()
-glCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn189 ptr_glCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glCoverStrokePathInstancedNV #-}
-ptr_glCoverStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glCoverStrokePathInstancedNV = unsafePerformIO $ getCommand "glCoverStrokePathInstancedNV"
-
--- glCoverStrokePathNV ---------------------------------------------------------
-
-glCoverStrokePathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @coverMode@ of type @PathCoverMode@.
-  -> m ()
-glCoverStrokePathNV v1 v2 = liftIO $ dyn15 ptr_glCoverStrokePathNV v1 v2
-
-{-# NOINLINE ptr_glCoverStrokePathNV #-}
-ptr_glCoverStrokePathNV :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glCoverStrokePathNV = unsafePerformIO $ getCommand "glCoverStrokePathNV"
-
--- glCoverageMaskNV ------------------------------------------------------------
-
-glCoverageMaskNV
-  :: MonadIO m
-  => GLboolean -- ^ @mask@.
-  -> m ()
-glCoverageMaskNV v1 = liftIO $ dyn190 ptr_glCoverageMaskNV v1
-
-{-# NOINLINE ptr_glCoverageMaskNV #-}
-ptr_glCoverageMaskNV :: FunPtr (GLboolean -> IO ())
-ptr_glCoverageMaskNV = unsafePerformIO $ getCommand "glCoverageMaskNV"
-
--- glCoverageModulationNV ------------------------------------------------------
-
-glCoverageModulationNV
-  :: MonadIO m
-  => GLenum -- ^ @components@.
-  -> m ()
-glCoverageModulationNV v1 = liftIO $ dyn4 ptr_glCoverageModulationNV v1
-
-{-# NOINLINE ptr_glCoverageModulationNV #-}
-ptr_glCoverageModulationNV :: FunPtr (GLenum -> IO ())
-ptr_glCoverageModulationNV = unsafePerformIO $ getCommand "glCoverageModulationNV"
-
--- glCoverageModulationTableNV -------------------------------------------------
-
-glCoverageModulationTableNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glCoverageModulationTableNV v1 v2 = liftIO $ dyn191 ptr_glCoverageModulationTableNV v1 v2
-
-{-# NOINLINE ptr_glCoverageModulationTableNV #-}
-ptr_glCoverageModulationTableNV :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
-ptr_glCoverageModulationTableNV = unsafePerformIO $ getCommand "glCoverageModulationTableNV"
-
--- glCoverageOperationNV -------------------------------------------------------
-
-glCoverageOperationNV
-  :: MonadIO m
-  => GLenum -- ^ @operation@.
-  -> m ()
-glCoverageOperationNV v1 = liftIO $ dyn4 ptr_glCoverageOperationNV v1
-
-{-# NOINLINE ptr_glCoverageOperationNV #-}
-ptr_glCoverageOperationNV :: FunPtr (GLenum -> IO ())
-ptr_glCoverageOperationNV = unsafePerformIO $ getCommand "glCoverageOperationNV"
-
--- glCreateBuffers -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateBuffers.xhtml OpenGL 4.x>.
-glCreateBuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @buffers@.
-  -> m ()
-glCreateBuffers v1 v2 = liftIO $ dyn192 ptr_glCreateBuffers v1 v2
-
-{-# NOINLINE ptr_glCreateBuffers #-}
-ptr_glCreateBuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateBuffers = unsafePerformIO $ getCommand "glCreateBuffers"
-
--- glCreateCommandListsNV ------------------------------------------------------
-
-glCreateCommandListsNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @lists@.
-  -> m ()
-glCreateCommandListsNV v1 v2 = liftIO $ dyn192 ptr_glCreateCommandListsNV v1 v2
-
-{-# NOINLINE ptr_glCreateCommandListsNV #-}
-ptr_glCreateCommandListsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateCommandListsNV = unsafePerformIO $ getCommand "glCreateCommandListsNV"
-
--- glCreateFramebuffers --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateFramebuffers.xhtml OpenGL 4.x>.
-glCreateFramebuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@.
-  -> m ()
-glCreateFramebuffers v1 v2 = liftIO $ dyn192 ptr_glCreateFramebuffers v1 v2
-
-{-# NOINLINE ptr_glCreateFramebuffers #-}
-ptr_glCreateFramebuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateFramebuffers = unsafePerformIO $ getCommand "glCreateFramebuffers"
-
--- glCreatePerfQueryINTEL ------------------------------------------------------
-
-glCreatePerfQueryINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryId@.
-  -> Ptr GLuint -- ^ @queryHandle@.
-  -> m ()
-glCreatePerfQueryINTEL v1 v2 = liftIO $ dyn193 ptr_glCreatePerfQueryINTEL v1 v2
-
-{-# NOINLINE ptr_glCreatePerfQueryINTEL #-}
-ptr_glCreatePerfQueryINTEL :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glCreatePerfQueryINTEL = unsafePerformIO $ getCommand "glCreatePerfQueryINTEL"
-
--- glCreateProgram -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCreateProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCreateProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCreateProgram.xhtml OpenGL 4.x>.
-glCreateProgram
-  :: MonadIO m
-  => m GLuint
-glCreateProgram = liftIO $ dyn194 ptr_glCreateProgram
-
-{-# NOINLINE ptr_glCreateProgram #-}
-ptr_glCreateProgram :: FunPtr (IO GLuint)
-ptr_glCreateProgram = unsafePerformIO $ getCommand "glCreateProgram"
-
--- glCreateProgramObjectARB ----------------------------------------------------
-
--- | This command is an alias for 'glCreateProgram'.
-glCreateProgramObjectARB
-  :: MonadIO m
-  => m GLhandleARB -- ^ of type @handleARB@.
-glCreateProgramObjectARB = liftIO $ dyn195 ptr_glCreateProgramObjectARB
-
-{-# NOINLINE ptr_glCreateProgramObjectARB #-}
-ptr_glCreateProgramObjectARB :: FunPtr (IO GLhandleARB)
-ptr_glCreateProgramObjectARB = unsafePerformIO $ getCommand "glCreateProgramObjectARB"
-
--- glCreateProgramPipelines ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateProgramPipelines.xhtml OpenGL 4.x>.
-glCreateProgramPipelines
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @pipelines@.
-  -> m ()
-glCreateProgramPipelines v1 v2 = liftIO $ dyn192 ptr_glCreateProgramPipelines v1 v2
-
-{-# NOINLINE ptr_glCreateProgramPipelines #-}
-ptr_glCreateProgramPipelines :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateProgramPipelines = unsafePerformIO $ getCommand "glCreateProgramPipelines"
-
--- glCreateQueries -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateQueries.xhtml OpenGL 4.x>.
-glCreateQueries
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@.
-  -> m ()
-glCreateQueries v1 v2 v3 = liftIO $ dyn196 ptr_glCreateQueries v1 v2 v3
-
-{-# NOINLINE ptr_glCreateQueries #-}
-ptr_glCreateQueries :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateQueries = unsafePerformIO $ getCommand "glCreateQueries"
-
--- glCreateRenderbuffers -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateRenderbuffers.xhtml OpenGL 4.x>.
-glCreateRenderbuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@.
-  -> m ()
-glCreateRenderbuffers v1 v2 = liftIO $ dyn192 ptr_glCreateRenderbuffers v1 v2
-
-{-# NOINLINE ptr_glCreateRenderbuffers #-}
-ptr_glCreateRenderbuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateRenderbuffers = unsafePerformIO $ getCommand "glCreateRenderbuffers"
-
--- glCreateSamplers ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateSamplers.xhtml OpenGL 4.x>.
-glCreateSamplers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @samplers@.
-  -> m ()
-glCreateSamplers v1 v2 = liftIO $ dyn192 ptr_glCreateSamplers v1 v2
-
-{-# NOINLINE ptr_glCreateSamplers #-}
-ptr_glCreateSamplers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateSamplers = unsafePerformIO $ getCommand "glCreateSamplers"
-
--- glCreateShader --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCreateShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCreateShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCreateShader.xhtml OpenGL 4.x>.
-glCreateShader
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> m GLuint
-glCreateShader v1 = liftIO $ dyn30 ptr_glCreateShader v1
-
-{-# NOINLINE ptr_glCreateShader #-}
-ptr_glCreateShader :: FunPtr (GLenum -> IO GLuint)
-ptr_glCreateShader = unsafePerformIO $ getCommand "glCreateShader"
-
--- glCreateShaderObjectARB -----------------------------------------------------
-
--- | This command is an alias for 'glCreateShader'.
-glCreateShaderObjectARB
-  :: MonadIO m
-  => GLenum -- ^ @shaderType@.
-  -> m GLhandleARB -- ^ of type @handleARB@.
-glCreateShaderObjectARB v1 = liftIO $ dyn197 ptr_glCreateShaderObjectARB v1
-
-{-# NOINLINE ptr_glCreateShaderObjectARB #-}
-ptr_glCreateShaderObjectARB :: FunPtr (GLenum -> IO GLhandleARB)
-ptr_glCreateShaderObjectARB = unsafePerformIO $ getCommand "glCreateShaderObjectARB"
-
--- glCreateShaderProgramEXT ----------------------------------------------------
-
-glCreateShaderProgramEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLchar -- ^ @string@.
-  -> m GLuint
-glCreateShaderProgramEXT v1 v2 = liftIO $ dyn198 ptr_glCreateShaderProgramEXT v1 v2
-
-{-# NOINLINE ptr_glCreateShaderProgramEXT #-}
-ptr_glCreateShaderProgramEXT :: FunPtr (GLenum -> Ptr GLchar -> IO GLuint)
-ptr_glCreateShaderProgramEXT = unsafePerformIO $ getCommand "glCreateShaderProgramEXT"
-
--- glCreateShaderProgramv ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateShaderProgram.xhtml OpenGL 4.x>.
-glCreateShaderProgramv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
-  -> m GLuint
-glCreateShaderProgramv v1 v2 v3 = liftIO $ dyn199 ptr_glCreateShaderProgramv v1 v2 v3
-
-{-# NOINLINE ptr_glCreateShaderProgramv #-}
-ptr_glCreateShaderProgramv :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-ptr_glCreateShaderProgramv = unsafePerformIO $ getCommand "glCreateShaderProgramv"
-
--- glCreateShaderProgramvEXT ---------------------------------------------------
-
-glCreateShaderProgramvEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr (Ptr GLchar) -- ^ @strings@ pointing to @count@ elements of type @Ptr GLchar@.
-  -> m GLuint
-glCreateShaderProgramvEXT v1 v2 v3 = liftIO $ dyn199 ptr_glCreateShaderProgramvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glCreateShaderProgramvEXT #-}
-ptr_glCreateShaderProgramvEXT :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr GLchar) -> IO GLuint)
-ptr_glCreateShaderProgramvEXT = unsafePerformIO $ getCommand "glCreateShaderProgramvEXT"
-
--- glCreateStatesNV ------------------------------------------------------------
-
-glCreateStatesNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @states@.
-  -> m ()
-glCreateStatesNV v1 v2 = liftIO $ dyn192 ptr_glCreateStatesNV v1 v2
-
-{-# NOINLINE ptr_glCreateStatesNV #-}
-ptr_glCreateStatesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateStatesNV = unsafePerformIO $ getCommand "glCreateStatesNV"
-
--- glCreateSyncFromCLeventARB --------------------------------------------------
-
-glCreateSyncFromCLeventARB
-  :: MonadIO m
-  => Ptr a -- ^ @context@ pointing to elements of type @cl_context@.
-  -> Ptr b -- ^ @event@ pointing to elements of type @cl_event@.
-  -> GLbitfield -- ^ @flags@.
-  -> m GLsync -- ^ of type @sync@.
-glCreateSyncFromCLeventARB v1 v2 v3 = liftIO $ dyn200 ptr_glCreateSyncFromCLeventARB v1 v2 v3
-
-{-# NOINLINE ptr_glCreateSyncFromCLeventARB #-}
-ptr_glCreateSyncFromCLeventARB :: FunPtr (Ptr a -> Ptr b -> GLbitfield -> IO GLsync)
-ptr_glCreateSyncFromCLeventARB = unsafePerformIO $ getCommand "glCreateSyncFromCLeventARB"
-
--- glCreateTextures ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateTextures.xhtml OpenGL 4.x>.
-glCreateTextures
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@.
-  -> m ()
-glCreateTextures v1 v2 v3 = liftIO $ dyn196 ptr_glCreateTextures v1 v2 v3
-
-{-# NOINLINE ptr_glCreateTextures #-}
-ptr_glCreateTextures :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateTextures = unsafePerformIO $ getCommand "glCreateTextures"
-
--- glCreateTransformFeedbacks --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateTransformFeedbacks.xhtml OpenGL 4.x>.
-glCreateTransformFeedbacks
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@.
-  -> m ()
-glCreateTransformFeedbacks v1 v2 = liftIO $ dyn192 ptr_glCreateTransformFeedbacks v1 v2
-
-{-# NOINLINE ptr_glCreateTransformFeedbacks #-}
-ptr_glCreateTransformFeedbacks :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateTransformFeedbacks = unsafePerformIO $ getCommand "glCreateTransformFeedbacks"
-
--- glCreateVertexArrays --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glCreateVertexArrays.xhtml OpenGL 4.x>.
-glCreateVertexArrays
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@.
-  -> m ()
-glCreateVertexArrays v1 v2 = liftIO $ dyn192 ptr_glCreateVertexArrays v1 v2
-
-{-# NOINLINE ptr_glCreateVertexArrays #-}
-ptr_glCreateVertexArrays :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glCreateVertexArrays = unsafePerformIO $ getCommand "glCreateVertexArrays"
-
--- glCullFace ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glCullFace.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glCullFace.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glCullFace.xhtml OpenGL 4.x>.
-glCullFace
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [CullFaceMode](Graphics-Rendering-OpenGL-Raw-Groups.html#CullFaceMode).
-  -> m ()
-glCullFace v1 = liftIO $ dyn4 ptr_glCullFace v1
-
-{-# NOINLINE ptr_glCullFace #-}
-ptr_glCullFace :: FunPtr (GLenum -> IO ())
-ptr_glCullFace = unsafePerformIO $ getCommand "glCullFace"
-
--- glCullParameterdvEXT --------------------------------------------------------
-
-glCullParameterdvEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @CullParameterEXT@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glCullParameterdvEXT v1 v2 = liftIO $ dyn92 ptr_glCullParameterdvEXT v1 v2
-
-{-# NOINLINE ptr_glCullParameterdvEXT #-}
-ptr_glCullParameterdvEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glCullParameterdvEXT = unsafePerformIO $ getCommand "glCullParameterdvEXT"
-
--- glCullParameterfvEXT --------------------------------------------------------
-
-glCullParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @CullParameterEXT@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glCullParameterfvEXT v1 v2 = liftIO $ dyn93 ptr_glCullParameterfvEXT v1 v2
-
-{-# NOINLINE ptr_glCullParameterfvEXT #-}
-ptr_glCullParameterfvEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glCullParameterfvEXT = unsafePerformIO $ getCommand "glCullParameterfvEXT"
-
--- glCurrentPaletteMatrixARB ---------------------------------------------------
-
-glCurrentPaletteMatrixARB
-  :: MonadIO m
-  => GLint -- ^ @index@.
-  -> m ()
-glCurrentPaletteMatrixARB v1 = liftIO $ dyn12 ptr_glCurrentPaletteMatrixARB v1
-
-{-# NOINLINE ptr_glCurrentPaletteMatrixARB #-}
-ptr_glCurrentPaletteMatrixARB :: FunPtr (GLint -> IO ())
-ptr_glCurrentPaletteMatrixARB = unsafePerformIO $ getCommand "glCurrentPaletteMatrixARB"
-
--- glCurrentPaletteMatrixOES ---------------------------------------------------
-
-glCurrentPaletteMatrixOES
-  :: MonadIO m
-  => GLuint -- ^ @matrixpaletteindex@.
-  -> m ()
-glCurrentPaletteMatrixOES v1 = liftIO $ dyn2 ptr_glCurrentPaletteMatrixOES v1
-
-{-# NOINLINE ptr_glCurrentPaletteMatrixOES #-}
-ptr_glCurrentPaletteMatrixOES :: FunPtr (GLuint -> IO ())
-ptr_glCurrentPaletteMatrixOES = unsafePerformIO $ getCommand "glCurrentPaletteMatrixOES"
-
--- glDebugMessageCallback ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageCallback.xhtml OpenGL 4.x>.
-glDebugMessageCallback
-  :: MonadIO m
-  => GLDEBUGPROC -- ^ @callback@.
-  -> Ptr a -- ^ @userParam@.
-  -> m ()
-glDebugMessageCallback v1 v2 = liftIO $ dyn201 ptr_glDebugMessageCallback v1 v2
-
-{-# NOINLINE ptr_glDebugMessageCallback #-}
-ptr_glDebugMessageCallback :: FunPtr (GLDEBUGPROC -> Ptr a -> IO ())
-ptr_glDebugMessageCallback = unsafePerformIO $ getCommand "glDebugMessageCallback"
-
--- glDebugMessageCallbackAMD ---------------------------------------------------
-
-glDebugMessageCallbackAMD
-  :: MonadIO m
-  => GLDEBUGPROCAMD -- ^ @callback@.
-  -> Ptr a -- ^ @userParam@.
-  -> m ()
-glDebugMessageCallbackAMD v1 v2 = liftIO $ dyn202 ptr_glDebugMessageCallbackAMD v1 v2
-
-{-# NOINLINE ptr_glDebugMessageCallbackAMD #-}
-ptr_glDebugMessageCallbackAMD :: FunPtr (GLDEBUGPROCAMD -> Ptr a -> IO ())
-ptr_glDebugMessageCallbackAMD = unsafePerformIO $ getCommand "glDebugMessageCallbackAMD"
-
--- glDebugMessageCallbackARB ---------------------------------------------------
-
--- | This command is an alias for 'glDebugMessageCallback'.
-glDebugMessageCallbackARB
-  :: MonadIO m
-  => GLDEBUGPROCARB -- ^ @callback@.
-  -> Ptr a -- ^ @userParam@ pointing to @COMPSIZE(callback)@ elements of type @a@.
-  -> m ()
-glDebugMessageCallbackARB v1 v2 = liftIO $ dyn203 ptr_glDebugMessageCallbackARB v1 v2
-
-{-# NOINLINE ptr_glDebugMessageCallbackARB #-}
-ptr_glDebugMessageCallbackARB :: FunPtr (GLDEBUGPROCARB -> Ptr a -> IO ())
-ptr_glDebugMessageCallbackARB = unsafePerformIO $ getCommand "glDebugMessageCallbackARB"
-
--- glDebugMessageCallbackKHR ---------------------------------------------------
-
--- | This command is an alias for 'glDebugMessageCallback'.
-glDebugMessageCallbackKHR
-  :: MonadIO m
-  => GLDEBUGPROCKHR -- ^ @callback@.
-  -> Ptr a -- ^ @userParam@.
-  -> m ()
-glDebugMessageCallbackKHR v1 v2 = liftIO $ dyn204 ptr_glDebugMessageCallbackKHR v1 v2
-
-{-# NOINLINE ptr_glDebugMessageCallbackKHR #-}
-ptr_glDebugMessageCallbackKHR :: FunPtr (GLDEBUGPROCKHR -> Ptr a -> IO ())
-ptr_glDebugMessageCallbackKHR = unsafePerformIO $ getCommand "glDebugMessageCallbackKHR"
-
--- glDebugMessageControl -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageControl.xhtml OpenGL 4.x>.
-glDebugMessageControl
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glDebugMessageControl v1 v2 v3 v4 v5 v6 = liftIO $ dyn205 ptr_glDebugMessageControl v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDebugMessageControl #-}
-ptr_glDebugMessageControl :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-ptr_glDebugMessageControl = unsafePerformIO $ getCommand "glDebugMessageControl"
-
--- glDebugMessageControlARB ----------------------------------------------------
-
--- | This command is an alias for 'glDebugMessageControl'.
-glDebugMessageControlARB
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glDebugMessageControlARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn205 ptr_glDebugMessageControlARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDebugMessageControlARB #-}
-ptr_glDebugMessageControlARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-ptr_glDebugMessageControlARB = unsafePerformIO $ getCommand "glDebugMessageControlARB"
-
--- glDebugMessageControlKHR ----------------------------------------------------
-
--- | This command is an alias for 'glDebugMessageControl'.
-glDebugMessageControlKHR
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @ids@.
-  -> GLboolean -- ^ @enabled@.
-  -> m ()
-glDebugMessageControlKHR v1 v2 v3 v4 v5 v6 = liftIO $ dyn205 ptr_glDebugMessageControlKHR v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDebugMessageControlKHR #-}
-ptr_glDebugMessageControlKHR :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-ptr_glDebugMessageControlKHR = unsafePerformIO $ getCommand "glDebugMessageControlKHR"
-
--- glDebugMessageEnableAMD -----------------------------------------------------
-
-glDebugMessageEnableAMD
-  :: MonadIO m
-  => GLenum -- ^ @category@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> GLboolean -- ^ @enabled@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glDebugMessageEnableAMD v1 v2 v3 v4 v5 = liftIO $ dyn206 ptr_glDebugMessageEnableAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDebugMessageEnableAMD #-}
-ptr_glDebugMessageEnableAMD :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLuint -> GLboolean -> IO ())
-ptr_glDebugMessageEnableAMD = unsafePerformIO $ getCommand "glDebugMessageEnableAMD"
-
--- glDebugMessageInsert --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDebugMessageInsert.xhtml OpenGL 4.x>.
-glDebugMessageInsert
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @buf@ pointing to @COMPSIZE(buf,length)@ elements of type @GLchar@.
-  -> m ()
-glDebugMessageInsert v1 v2 v3 v4 v5 v6 = liftIO $ dyn207 ptr_glDebugMessageInsert v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDebugMessageInsert #-}
-ptr_glDebugMessageInsert :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glDebugMessageInsert = unsafePerformIO $ getCommand "glDebugMessageInsert"
-
--- glDebugMessageInsertAMD -----------------------------------------------------
-
-glDebugMessageInsertAMD
-  :: MonadIO m
-  => GLenum -- ^ @category@.
-  -> GLenum -- ^ @severity@.
-  -> GLuint -- ^ @id@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
-  -> m ()
-glDebugMessageInsertAMD v1 v2 v3 v4 v5 = liftIO $ dyn208 ptr_glDebugMessageInsertAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDebugMessageInsertAMD #-}
-ptr_glDebugMessageInsertAMD :: FunPtr (GLenum -> GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glDebugMessageInsertAMD = unsafePerformIO $ getCommand "glDebugMessageInsertAMD"
-
--- glDebugMessageInsertARB -----------------------------------------------------
-
--- | This command is an alias for 'glDebugMessageInsert'.
-glDebugMessageInsertARB
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @buf@ pointing to @length@ elements of type @GLchar@.
-  -> m ()
-glDebugMessageInsertARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn207 ptr_glDebugMessageInsertARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDebugMessageInsertARB #-}
-ptr_glDebugMessageInsertARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glDebugMessageInsertARB = unsafePerformIO $ getCommand "glDebugMessageInsertARB"
-
--- glDebugMessageInsertKHR -----------------------------------------------------
-
--- | This command is an alias for 'glDebugMessageInsert'.
-glDebugMessageInsertKHR
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @buf@.
-  -> m ()
-glDebugMessageInsertKHR v1 v2 v3 v4 v5 v6 = liftIO $ dyn207 ptr_glDebugMessageInsertKHR v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDebugMessageInsertKHR #-}
-ptr_glDebugMessageInsertKHR :: FunPtr (GLenum -> GLenum -> GLuint -> GLenum -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glDebugMessageInsertKHR = unsafePerformIO $ getCommand "glDebugMessageInsertKHR"
-
--- glDeformSGIX ----------------------------------------------------------------
-
-glDeformSGIX
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@ of type [FfdMaskSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FfdMaskSGIX).
-  -> m ()
-glDeformSGIX v1 = liftIO $ dyn69 ptr_glDeformSGIX v1
-
-{-# NOINLINE ptr_glDeformSGIX #-}
-ptr_glDeformSGIX :: FunPtr (GLbitfield -> IO ())
-ptr_glDeformSGIX = unsafePerformIO $ getCommand "glDeformSGIX"
-
--- glDeformationMap3dSGIX ------------------------------------------------------
-
-glDeformationMap3dSGIX
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [FfdTargetSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FfdTargetSGIX).
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> GLint -- ^ @ustride@.
-  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
-  -> GLdouble -- ^ @v1@ of type @CoordD@.
-  -> GLdouble -- ^ @v2@ of type @CoordD@.
-  -> GLint -- ^ @vstride@.
-  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
-  -> GLdouble -- ^ @w1@ of type @CoordD@.
-  -> GLdouble -- ^ @w2@ of type @CoordD@.
-  -> GLint -- ^ @wstride@.
-  -> GLint -- ^ @worder@ of type @CheckedInt32@.
-  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)@ elements of type @CoordD@.
-  -> m ()
-glDeformationMap3dSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO $ dyn209 ptr_glDeformationMap3dSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14
-
-{-# NOINLINE ptr_glDeformationMap3dSGIX #-}
-ptr_glDeformationMap3dSGIX :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-ptr_glDeformationMap3dSGIX = unsafePerformIO $ getCommand "glDeformationMap3dSGIX"
-
--- glDeformationMap3fSGIX ------------------------------------------------------
-
-glDeformationMap3fSGIX
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [FfdTargetSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FfdTargetSGIX).
-  -> GLfloat -- ^ @u1@ of type @CoordF@.
-  -> GLfloat -- ^ @u2@ of type @CoordF@.
-  -> GLint -- ^ @ustride@.
-  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
-  -> GLfloat -- ^ @v1@ of type @CoordF@.
-  -> GLfloat -- ^ @v2@ of type @CoordF@.
-  -> GLint -- ^ @vstride@.
-  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
-  -> GLfloat -- ^ @w1@ of type @CoordF@.
-  -> GLfloat -- ^ @w2@ of type @CoordF@.
-  -> GLint -- ^ @wstride@.
-  -> GLint -- ^ @worder@ of type @CheckedInt32@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder,wstride,worder)@ elements of type @CoordF@.
-  -> m ()
-glDeformationMap3fSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 = liftIO $ dyn210 ptr_glDeformationMap3fSGIX v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14
-
-{-# NOINLINE ptr_glDeformationMap3fSGIX #-}
-ptr_glDeformationMap3fSGIX :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-ptr_glDeformationMap3fSGIX = unsafePerformIO $ getCommand "glDeformationMap3fSGIX"
-
--- glDeleteAsyncMarkersSGIX ----------------------------------------------------
-
-glDeleteAsyncMarkersSGIX
-  :: MonadIO m
-  => GLuint -- ^ @marker@.
-  -> GLsizei -- ^ @range@.
-  -> m ()
-glDeleteAsyncMarkersSGIX v1 v2 = liftIO $ dyn211 ptr_glDeleteAsyncMarkersSGIX v1 v2
-
-{-# NOINLINE ptr_glDeleteAsyncMarkersSGIX #-}
-ptr_glDeleteAsyncMarkersSGIX :: FunPtr (GLuint -> GLsizei -> IO ())
-ptr_glDeleteAsyncMarkersSGIX = unsafePerformIO $ getCommand "glDeleteAsyncMarkersSGIX"
-
--- glDeleteBuffers -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteBuffers.xhtml OpenGL 4.x>.
-glDeleteBuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteBuffers v1 v2 = liftIO $ dyn192 ptr_glDeleteBuffers v1 v2
-
-{-# NOINLINE ptr_glDeleteBuffers #-}
-ptr_glDeleteBuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteBuffers = unsafePerformIO $ getCommand "glDeleteBuffers"
-
--- glDeleteBuffersARB ----------------------------------------------------------
-
--- | This command is an alias for 'glDeleteBuffers'.
-glDeleteBuffersARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteBuffersARB v1 v2 = liftIO $ dyn192 ptr_glDeleteBuffersARB v1 v2
-
-{-# NOINLINE ptr_glDeleteBuffersARB #-}
-ptr_glDeleteBuffersARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteBuffersARB = unsafePerformIO $ getCommand "glDeleteBuffersARB"
-
--- glDeleteCommandListsNV ------------------------------------------------------
-
-glDeleteCommandListsNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @lists@.
-  -> m ()
-glDeleteCommandListsNV v1 v2 = liftIO $ dyn192 ptr_glDeleteCommandListsNV v1 v2
-
-{-# NOINLINE ptr_glDeleteCommandListsNV #-}
-ptr_glDeleteCommandListsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteCommandListsNV = unsafePerformIO $ getCommand "glDeleteCommandListsNV"
-
--- glDeleteFencesAPPLE ---------------------------------------------------------
-
-glDeleteFencesAPPLE
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
-  -> m ()
-glDeleteFencesAPPLE v1 v2 = liftIO $ dyn192 ptr_glDeleteFencesAPPLE v1 v2
-
-{-# NOINLINE ptr_glDeleteFencesAPPLE #-}
-ptr_glDeleteFencesAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteFencesAPPLE = unsafePerformIO $ getCommand "glDeleteFencesAPPLE"
-
--- glDeleteFencesNV ------------------------------------------------------------
-
-glDeleteFencesNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
-  -> m ()
-glDeleteFencesNV v1 v2 = liftIO $ dyn192 ptr_glDeleteFencesNV v1 v2
-
-{-# NOINLINE ptr_glDeleteFencesNV #-}
-ptr_glDeleteFencesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteFencesNV = unsafePerformIO $ getCommand "glDeleteFencesNV"
-
--- glDeleteFragmentShaderATI ---------------------------------------------------
-
-glDeleteFragmentShaderATI
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glDeleteFragmentShaderATI v1 = liftIO $ dyn2 ptr_glDeleteFragmentShaderATI v1
-
-{-# NOINLINE ptr_glDeleteFragmentShaderATI #-}
-ptr_glDeleteFragmentShaderATI :: FunPtr (GLuint -> IO ())
-ptr_glDeleteFragmentShaderATI = unsafePerformIO $ getCommand "glDeleteFragmentShaderATI"
-
--- glDeleteFramebuffers --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteFramebuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteFramebuffers.xhtml OpenGL 4.x>.
-glDeleteFramebuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteFramebuffers v1 v2 = liftIO $ dyn192 ptr_glDeleteFramebuffers v1 v2
-
-{-# NOINLINE ptr_glDeleteFramebuffers #-}
-ptr_glDeleteFramebuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteFramebuffers = unsafePerformIO $ getCommand "glDeleteFramebuffers"
-
--- glDeleteFramebuffersEXT -----------------------------------------------------
-
--- | This command is an alias for 'glDeleteFramebuffers'.
-glDeleteFramebuffersEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteFramebuffersEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteFramebuffersEXT v1 v2
-
-{-# NOINLINE ptr_glDeleteFramebuffersEXT #-}
-ptr_glDeleteFramebuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteFramebuffersEXT = unsafePerformIO $ getCommand "glDeleteFramebuffersEXT"
-
--- glDeleteFramebuffersOES -----------------------------------------------------
-
-glDeleteFramebuffersOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteFramebuffersOES v1 v2 = liftIO $ dyn192 ptr_glDeleteFramebuffersOES v1 v2
-
-{-# NOINLINE ptr_glDeleteFramebuffersOES #-}
-ptr_glDeleteFramebuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteFramebuffersOES = unsafePerformIO $ getCommand "glDeleteFramebuffersOES"
-
--- glDeleteLists ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteLists.xml OpenGL 2.x>.
-glDeleteLists
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLsizei -- ^ @range@.
-  -> m ()
-glDeleteLists v1 v2 = liftIO $ dyn211 ptr_glDeleteLists v1 v2
-
-{-# NOINLINE ptr_glDeleteLists #-}
-ptr_glDeleteLists :: FunPtr (GLuint -> GLsizei -> IO ())
-ptr_glDeleteLists = unsafePerformIO $ getCommand "glDeleteLists"
-
--- glDeleteNamedStringARB ------------------------------------------------------
-
-glDeleteNamedStringARB
-  :: MonadIO m
-  => GLint -- ^ @namelen@.
-  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
-  -> m ()
-glDeleteNamedStringARB v1 v2 = liftIO $ dyn212 ptr_glDeleteNamedStringARB v1 v2
-
-{-# NOINLINE ptr_glDeleteNamedStringARB #-}
-ptr_glDeleteNamedStringARB :: FunPtr (GLint -> Ptr GLchar -> IO ())
-ptr_glDeleteNamedStringARB = unsafePerformIO $ getCommand "glDeleteNamedStringARB"
-
--- glDeleteNamesAMD ------------------------------------------------------------
-
-glDeleteNamesAMD
-  :: MonadIO m
-  => GLenum -- ^ @identifier@.
-  -> GLuint -- ^ @num@.
-  -> Ptr GLuint -- ^ @names@ pointing to @num@ elements of type @GLuint@.
-  -> m ()
-glDeleteNamesAMD v1 v2 v3 = liftIO $ dyn213 ptr_glDeleteNamesAMD v1 v2 v3
-
-{-# NOINLINE ptr_glDeleteNamesAMD #-}
-ptr_glDeleteNamesAMD :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glDeleteNamesAMD = unsafePerformIO $ getCommand "glDeleteNamesAMD"
-
--- glDeleteObjectARB -----------------------------------------------------------
-
-glDeleteObjectARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @obj@ of type @handleARB@.
-  -> m ()
-glDeleteObjectARB v1 = liftIO $ dyn136 ptr_glDeleteObjectARB v1
-
-{-# NOINLINE ptr_glDeleteObjectARB #-}
-ptr_glDeleteObjectARB :: FunPtr (GLhandleARB -> IO ())
-ptr_glDeleteObjectARB = unsafePerformIO $ getCommand "glDeleteObjectARB"
-
--- glDeleteOcclusionQueriesNV --------------------------------------------------
-
-glDeleteOcclusionQueriesNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteOcclusionQueriesNV v1 v2 = liftIO $ dyn192 ptr_glDeleteOcclusionQueriesNV v1 v2
-
-{-# NOINLINE ptr_glDeleteOcclusionQueriesNV #-}
-ptr_glDeleteOcclusionQueriesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteOcclusionQueriesNV = unsafePerformIO $ getCommand "glDeleteOcclusionQueriesNV"
-
--- glDeletePathsNV -------------------------------------------------------------
-
-glDeletePathsNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @range@.
-  -> m ()
-glDeletePathsNV v1 v2 = liftIO $ dyn211 ptr_glDeletePathsNV v1 v2
-
-{-# NOINLINE ptr_glDeletePathsNV #-}
-ptr_glDeletePathsNV :: FunPtr (GLuint -> GLsizei -> IO ())
-ptr_glDeletePathsNV = unsafePerformIO $ getCommand "glDeletePathsNV"
-
--- glDeletePerfMonitorsAMD -----------------------------------------------------
-
-glDeletePerfMonitorsAMD
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @monitors@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeletePerfMonitorsAMD v1 v2 = liftIO $ dyn192 ptr_glDeletePerfMonitorsAMD v1 v2
-
-{-# NOINLINE ptr_glDeletePerfMonitorsAMD #-}
-ptr_glDeletePerfMonitorsAMD :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeletePerfMonitorsAMD = unsafePerformIO $ getCommand "glDeletePerfMonitorsAMD"
-
--- glDeletePerfQueryINTEL ------------------------------------------------------
-
-glDeletePerfQueryINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryHandle@.
-  -> m ()
-glDeletePerfQueryINTEL v1 = liftIO $ dyn2 ptr_glDeletePerfQueryINTEL v1
-
-{-# NOINLINE ptr_glDeletePerfQueryINTEL #-}
-ptr_glDeletePerfQueryINTEL :: FunPtr (GLuint -> IO ())
-ptr_glDeletePerfQueryINTEL = unsafePerformIO $ getCommand "glDeletePerfQueryINTEL"
-
--- glDeleteProgram -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteProgram.xhtml OpenGL 4.x>.
-glDeleteProgram
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m ()
-glDeleteProgram v1 = liftIO $ dyn2 ptr_glDeleteProgram v1
-
-{-# NOINLINE ptr_glDeleteProgram #-}
-ptr_glDeleteProgram :: FunPtr (GLuint -> IO ())
-ptr_glDeleteProgram = unsafePerformIO $ getCommand "glDeleteProgram"
-
--- glDeleteProgramPipelines ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDeleteProgramPipelines.xhtml OpenGL 4.x>.
-glDeleteProgramPipelines
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteProgramPipelines v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramPipelines v1 v2
-
-{-# NOINLINE ptr_glDeleteProgramPipelines #-}
-ptr_glDeleteProgramPipelines :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteProgramPipelines = unsafePerformIO $ getCommand "glDeleteProgramPipelines"
-
--- glDeleteProgramPipelinesEXT -------------------------------------------------
-
-glDeleteProgramPipelinesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteProgramPipelinesEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramPipelinesEXT v1 v2
-
-{-# NOINLINE ptr_glDeleteProgramPipelinesEXT #-}
-ptr_glDeleteProgramPipelinesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteProgramPipelinesEXT = unsafePerformIO $ getCommand "glDeleteProgramPipelinesEXT"
-
--- glDeleteProgramsARB ---------------------------------------------------------
-
-glDeleteProgramsARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteProgramsARB v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramsARB v1 v2
-
-{-# NOINLINE ptr_glDeleteProgramsARB #-}
-ptr_glDeleteProgramsARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteProgramsARB = unsafePerformIO $ getCommand "glDeleteProgramsARB"
-
--- glDeleteProgramsNV ----------------------------------------------------------
-
--- | This command is an alias for 'glDeleteProgramsARB'.
-glDeleteProgramsNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteProgramsNV v1 v2 = liftIO $ dyn192 ptr_glDeleteProgramsNV v1 v2
-
-{-# NOINLINE ptr_glDeleteProgramsNV #-}
-ptr_glDeleteProgramsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteProgramsNV = unsafePerformIO $ getCommand "glDeleteProgramsNV"
-
--- glDeleteQueries -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteQueries.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteQueries.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteQueries.xhtml OpenGL 4.x>.
-glDeleteQueries
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteQueries v1 v2 = liftIO $ dyn192 ptr_glDeleteQueries v1 v2
-
-{-# NOINLINE ptr_glDeleteQueries #-}
-ptr_glDeleteQueries :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteQueries = unsafePerformIO $ getCommand "glDeleteQueries"
-
--- glDeleteQueriesARB ----------------------------------------------------------
-
--- | This command is an alias for 'glDeleteQueries'.
-glDeleteQueriesARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteQueriesARB v1 v2 = liftIO $ dyn192 ptr_glDeleteQueriesARB v1 v2
-
-{-# NOINLINE ptr_glDeleteQueriesARB #-}
-ptr_glDeleteQueriesARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteQueriesARB = unsafePerformIO $ getCommand "glDeleteQueriesARB"
-
--- glDeleteQueriesEXT ----------------------------------------------------------
-
-glDeleteQueriesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteQueriesEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteQueriesEXT v1 v2
-
-{-# NOINLINE ptr_glDeleteQueriesEXT #-}
-ptr_glDeleteQueriesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteQueriesEXT = unsafePerformIO $ getCommand "glDeleteQueriesEXT"
-
--- glDeleteRenderbuffers -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteRenderbuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteRenderbuffers.xhtml OpenGL 4.x>.
-glDeleteRenderbuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteRenderbuffers v1 v2 = liftIO $ dyn192 ptr_glDeleteRenderbuffers v1 v2
-
-{-# NOINLINE ptr_glDeleteRenderbuffers #-}
-ptr_glDeleteRenderbuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteRenderbuffers = unsafePerformIO $ getCommand "glDeleteRenderbuffers"
-
--- glDeleteRenderbuffersEXT ----------------------------------------------------
-
--- | This command is an alias for 'glDeleteRenderbuffers'.
-glDeleteRenderbuffersEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteRenderbuffersEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteRenderbuffersEXT v1 v2
-
-{-# NOINLINE ptr_glDeleteRenderbuffersEXT #-}
-ptr_glDeleteRenderbuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteRenderbuffersEXT = unsafePerformIO $ getCommand "glDeleteRenderbuffersEXT"
-
--- glDeleteRenderbuffersOES ----------------------------------------------------
-
-glDeleteRenderbuffersOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteRenderbuffersOES v1 v2 = liftIO $ dyn192 ptr_glDeleteRenderbuffersOES v1 v2
-
-{-# NOINLINE ptr_glDeleteRenderbuffersOES #-}
-ptr_glDeleteRenderbuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteRenderbuffersOES = unsafePerformIO $ getCommand "glDeleteRenderbuffersOES"
-
--- glDeleteSamplers ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSamplers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteSamplers.xhtml OpenGL 4.x>.
-glDeleteSamplers
-  :: MonadIO m
-  => GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glDeleteSamplers v1 v2 = liftIO $ dyn192 ptr_glDeleteSamplers v1 v2
-
-{-# NOINLINE ptr_glDeleteSamplers #-}
-ptr_glDeleteSamplers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteSamplers = unsafePerformIO $ getCommand "glDeleteSamplers"
-
--- glDeleteShader --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteShader.xhtml OpenGL 4.x>.
-glDeleteShader
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> m ()
-glDeleteShader v1 = liftIO $ dyn2 ptr_glDeleteShader v1
-
-{-# NOINLINE ptr_glDeleteShader #-}
-ptr_glDeleteShader :: FunPtr (GLuint -> IO ())
-ptr_glDeleteShader = unsafePerformIO $ getCommand "glDeleteShader"
-
--- glDeleteStatesNV ------------------------------------------------------------
-
-glDeleteStatesNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @states@.
-  -> m ()
-glDeleteStatesNV v1 v2 = liftIO $ dyn192 ptr_glDeleteStatesNV v1 v2
-
-{-# NOINLINE ptr_glDeleteStatesNV #-}
-ptr_glDeleteStatesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteStatesNV = unsafePerformIO $ getCommand "glDeleteStatesNV"
-
--- glDeleteSync ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteSync.xhtml OpenGL 4.x>.
-glDeleteSync
-  :: MonadIO m
-  => GLsync -- ^ @sync@ of type @sync@.
-  -> m ()
-glDeleteSync v1 = liftIO $ dyn214 ptr_glDeleteSync v1
-
-{-# NOINLINE ptr_glDeleteSync #-}
-ptr_glDeleteSync :: FunPtr (GLsync -> IO ())
-ptr_glDeleteSync = unsafePerformIO $ getCommand "glDeleteSync"
-
--- glDeleteSyncAPPLE -----------------------------------------------------------
-
--- | This command is an alias for 'glDeleteSync'.
-glDeleteSyncAPPLE
-  :: MonadIO m
-  => GLsync -- ^ @sync@.
-  -> m ()
-glDeleteSyncAPPLE v1 = liftIO $ dyn214 ptr_glDeleteSyncAPPLE v1
-
-{-# NOINLINE ptr_glDeleteSyncAPPLE #-}
-ptr_glDeleteSyncAPPLE :: FunPtr (GLsync -> IO ())
-ptr_glDeleteSyncAPPLE = unsafePerformIO $ getCommand "glDeleteSyncAPPLE"
-
--- glDeleteTextures ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDeleteTextures.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteTextures.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteTextures.xhtml OpenGL 4.x>.
-glDeleteTextures
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> m ()
-glDeleteTextures v1 v2 = liftIO $ dyn192 ptr_glDeleteTextures v1 v2
-
-{-# NOINLINE ptr_glDeleteTextures #-}
-ptr_glDeleteTextures :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteTextures = unsafePerformIO $ getCommand "glDeleteTextures"
-
--- glDeleteTexturesEXT ---------------------------------------------------------
-
-glDeleteTexturesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> m ()
-glDeleteTexturesEXT v1 v2 = liftIO $ dyn192 ptr_glDeleteTexturesEXT v1 v2
-
-{-# NOINLINE ptr_glDeleteTexturesEXT #-}
-ptr_glDeleteTexturesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteTexturesEXT = unsafePerformIO $ getCommand "glDeleteTexturesEXT"
-
--- glDeleteTransformFeedbacks --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDeleteTransformFeedbacks.xhtml OpenGL 4.x>.
-glDeleteTransformFeedbacks
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteTransformFeedbacks v1 v2 = liftIO $ dyn192 ptr_glDeleteTransformFeedbacks v1 v2
-
-{-# NOINLINE ptr_glDeleteTransformFeedbacks #-}
-ptr_glDeleteTransformFeedbacks :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteTransformFeedbacks = unsafePerformIO $ getCommand "glDeleteTransformFeedbacks"
-
--- glDeleteTransformFeedbacksNV ------------------------------------------------
-
--- | This command is an alias for 'glDeleteTransformFeedbacks'.
-glDeleteTransformFeedbacksNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteTransformFeedbacksNV v1 v2 = liftIO $ dyn192 ptr_glDeleteTransformFeedbacksNV v1 v2
-
-{-# NOINLINE ptr_glDeleteTransformFeedbacksNV #-}
-ptr_glDeleteTransformFeedbacksNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteTransformFeedbacksNV = unsafePerformIO $ getCommand "glDeleteTransformFeedbacksNV"
-
--- glDeleteVertexArrays --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDeleteVertexArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDeleteVertexArrays.xhtml OpenGL 4.x>.
-glDeleteVertexArrays
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteVertexArrays v1 v2 = liftIO $ dyn192 ptr_glDeleteVertexArrays v1 v2
-
-{-# NOINLINE ptr_glDeleteVertexArrays #-}
-ptr_glDeleteVertexArrays :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteVertexArrays = unsafePerformIO $ getCommand "glDeleteVertexArrays"
-
--- glDeleteVertexArraysAPPLE ---------------------------------------------------
-
--- | This command is an alias for 'glDeleteVertexArrays'.
-glDeleteVertexArraysAPPLE
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteVertexArraysAPPLE v1 v2 = liftIO $ dyn192 ptr_glDeleteVertexArraysAPPLE v1 v2
-
-{-# NOINLINE ptr_glDeleteVertexArraysAPPLE #-}
-ptr_glDeleteVertexArraysAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteVertexArraysAPPLE = unsafePerformIO $ getCommand "glDeleteVertexArraysAPPLE"
-
--- glDeleteVertexArraysOES -----------------------------------------------------
-
--- | This command is an alias for 'glDeleteVertexArrays'.
-glDeleteVertexArraysOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glDeleteVertexArraysOES v1 v2 = liftIO $ dyn192 ptr_glDeleteVertexArraysOES v1 v2
-
-{-# NOINLINE ptr_glDeleteVertexArraysOES #-}
-ptr_glDeleteVertexArraysOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glDeleteVertexArraysOES = unsafePerformIO $ getCommand "glDeleteVertexArraysOES"
-
--- glDeleteVertexShaderEXT -----------------------------------------------------
-
-glDeleteVertexShaderEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glDeleteVertexShaderEXT v1 = liftIO $ dyn2 ptr_glDeleteVertexShaderEXT v1
-
-{-# NOINLINE ptr_glDeleteVertexShaderEXT #-}
-ptr_glDeleteVertexShaderEXT :: FunPtr (GLuint -> IO ())
-ptr_glDeleteVertexShaderEXT = unsafePerformIO $ getCommand "glDeleteVertexShaderEXT"
-
--- glDepthBoundsEXT ------------------------------------------------------------
-
-glDepthBoundsEXT
-  :: MonadIO m
-  => GLclampd -- ^ @zmin@ of type @ClampedFloat64@.
-  -> GLclampd -- ^ @zmax@ of type @ClampedFloat64@.
-  -> m ()
-glDepthBoundsEXT v1 v2 = liftIO $ dyn215 ptr_glDepthBoundsEXT v1 v2
-
-{-# NOINLINE ptr_glDepthBoundsEXT #-}
-ptr_glDepthBoundsEXT :: FunPtr (GLclampd -> GLclampd -> IO ())
-ptr_glDepthBoundsEXT = unsafePerformIO $ getCommand "glDepthBoundsEXT"
-
--- glDepthBoundsdNV ------------------------------------------------------------
-
-glDepthBoundsdNV
-  :: MonadIO m
-  => GLdouble -- ^ @zmin@.
-  -> GLdouble -- ^ @zmax@.
-  -> m ()
-glDepthBoundsdNV v1 v2 = liftIO $ dyn216 ptr_glDepthBoundsdNV v1 v2
-
-{-# NOINLINE ptr_glDepthBoundsdNV #-}
-ptr_glDepthBoundsdNV :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glDepthBoundsdNV = unsafePerformIO $ getCommand "glDepthBoundsdNV"
-
--- glDepthFunc -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthFunc.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthFunc.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthFunc.xhtml OpenGL 4.x>.
-glDepthFunc
-  :: MonadIO m
-  => GLenum -- ^ @func@ of type [DepthFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#DepthFunction).
-  -> m ()
-glDepthFunc v1 = liftIO $ dyn4 ptr_glDepthFunc v1
-
-{-# NOINLINE ptr_glDepthFunc #-}
-ptr_glDepthFunc :: FunPtr (GLenum -> IO ())
-ptr_glDepthFunc = unsafePerformIO $ getCommand "glDepthFunc"
-
--- glDepthMask -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthMask.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthMask.xhtml OpenGL 4.x>.
-glDepthMask
-  :: MonadIO m
-  => GLboolean -- ^ @flag@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glDepthMask v1 = liftIO $ dyn190 ptr_glDepthMask v1
-
-{-# NOINLINE ptr_glDepthMask #-}
-ptr_glDepthMask :: FunPtr (GLboolean -> IO ())
-ptr_glDepthMask = unsafePerformIO $ getCommand "glDepthMask"
-
--- glDepthRange ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDepthRange.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDepthRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml OpenGL 4.x>.
-glDepthRange
-  :: MonadIO m
-  => GLdouble -- ^ @near@.
-  -> GLdouble -- ^ @far@.
-  -> m ()
-glDepthRange v1 v2 = liftIO $ dyn216 ptr_glDepthRange v1 v2
-
-{-# NOINLINE ptr_glDepthRange #-}
-ptr_glDepthRange :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glDepthRange = unsafePerformIO $ getCommand "glDepthRange"
-
--- glDepthRangeArrayfvNV -------------------------------------------------------
-
-glDepthRangeArrayfvNV
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glDepthRangeArrayfvNV v1 v2 v3 = liftIO $ dyn217 ptr_glDepthRangeArrayfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glDepthRangeArrayfvNV #-}
-ptr_glDepthRangeArrayfvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glDepthRangeArrayfvNV = unsafePerformIO $ getCommand "glDepthRangeArrayfvNV"
-
--- glDepthRangeArrayv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDepthRangeArray.xhtml OpenGL 4.x>.
-glDepthRangeArrayv
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLdouble@.
-  -> m ()
-glDepthRangeArrayv v1 v2 v3 = liftIO $ dyn218 ptr_glDepthRangeArrayv v1 v2 v3
-
-{-# NOINLINE ptr_glDepthRangeArrayv #-}
-ptr_glDepthRangeArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glDepthRangeArrayv = unsafePerformIO $ getCommand "glDepthRangeArrayv"
-
--- glDepthRangeIndexed ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDepthRangeIndexed.xhtml OpenGL 4.x>.
-glDepthRangeIndexed
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @n@.
-  -> GLdouble -- ^ @f@.
-  -> m ()
-glDepthRangeIndexed v1 v2 v3 = liftIO $ dyn219 ptr_glDepthRangeIndexed v1 v2 v3
-
-{-# NOINLINE ptr_glDepthRangeIndexed #-}
-ptr_glDepthRangeIndexed :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-ptr_glDepthRangeIndexed = unsafePerformIO $ getCommand "glDepthRangeIndexed"
-
--- glDepthRangeIndexedfNV ------------------------------------------------------
-
-glDepthRangeIndexedfNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @n@.
-  -> GLfloat -- ^ @f@.
-  -> m ()
-glDepthRangeIndexedfNV v1 v2 v3 = liftIO $ dyn220 ptr_glDepthRangeIndexedfNV v1 v2 v3
-
-{-# NOINLINE ptr_glDepthRangeIndexedfNV #-}
-ptr_glDepthRangeIndexedfNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-ptr_glDepthRangeIndexedfNV = unsafePerformIO $ getCommand "glDepthRangeIndexedfNV"
-
--- glDepthRangedNV -------------------------------------------------------------
-
-glDepthRangedNV
-  :: MonadIO m
-  => GLdouble -- ^ @zNear@.
-  -> GLdouble -- ^ @zFar@.
-  -> m ()
-glDepthRangedNV v1 v2 = liftIO $ dyn216 ptr_glDepthRangedNV v1 v2
-
-{-# NOINLINE ptr_glDepthRangedNV #-}
-ptr_glDepthRangedNV :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glDepthRangedNV = unsafePerformIO $ getCommand "glDepthRangedNV"
-
--- glDepthRangef ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDepthRange.xhtml OpenGL 4.x>.
-glDepthRangef
-  :: MonadIO m
-  => GLfloat -- ^ @n@.
-  -> GLfloat -- ^ @f@.
-  -> m ()
-glDepthRangef v1 v2 = liftIO $ dyn221 ptr_glDepthRangef v1 v2
-
-{-# NOINLINE ptr_glDepthRangef #-}
-ptr_glDepthRangef :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glDepthRangef = unsafePerformIO $ getCommand "glDepthRangef"
-
--- glDepthRangefOES ------------------------------------------------------------
-
--- | This command is an alias for 'glDepthRangef'.
-glDepthRangefOES
-  :: MonadIO m
-  => GLclampf -- ^ @n@ of type @ClampedFloat32@.
-  -> GLclampf -- ^ @f@ of type @ClampedFloat32@.
-  -> m ()
-glDepthRangefOES v1 v2 = liftIO $ dyn222 ptr_glDepthRangefOES v1 v2
-
-{-# NOINLINE ptr_glDepthRangefOES #-}
-ptr_glDepthRangefOES :: FunPtr (GLclampf -> GLclampf -> IO ())
-ptr_glDepthRangefOES = unsafePerformIO $ getCommand "glDepthRangefOES"
-
--- glDepthRangex ---------------------------------------------------------------
-
-glDepthRangex
-  :: MonadIO m
-  => GLfixed -- ^ @n@.
-  -> GLfixed -- ^ @f@.
-  -> m ()
-glDepthRangex v1 v2 = liftIO $ dyn223 ptr_glDepthRangex v1 v2
-
-{-# NOINLINE ptr_glDepthRangex #-}
-ptr_glDepthRangex :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glDepthRangex = unsafePerformIO $ getCommand "glDepthRangex"
-
--- glDepthRangexOES ------------------------------------------------------------
-
-glDepthRangexOES
-  :: MonadIO m
-  => GLfixed -- ^ @n@ of type @ClampedFixed@.
-  -> GLfixed -- ^ @f@ of type @ClampedFixed@.
-  -> m ()
-glDepthRangexOES v1 v2 = liftIO $ dyn223 ptr_glDepthRangexOES v1 v2
-
-{-# NOINLINE ptr_glDepthRangexOES #-}
-ptr_glDepthRangexOES :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glDepthRangexOES = unsafePerformIO $ getCommand "glDepthRangexOES"
-
--- glDetachObjectARB -----------------------------------------------------------
-
--- | This command is an alias for 'glDetachShader'.
-glDetachObjectARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @containerObj@ of type @handleARB@.
-  -> GLhandleARB -- ^ @attachedObj@ of type @handleARB@.
-  -> m ()
-glDetachObjectARB v1 v2 = liftIO $ dyn14 ptr_glDetachObjectARB v1 v2
-
-{-# NOINLINE ptr_glDetachObjectARB #-}
-ptr_glDetachObjectARB :: FunPtr (GLhandleARB -> GLhandleARB -> IO ())
-ptr_glDetachObjectARB = unsafePerformIO $ getCommand "glDetachObjectARB"
-
--- glDetachShader --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDetachShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDetachShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDetachShader.xhtml OpenGL 4.x>.
-glDetachShader
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @shader@.
-  -> m ()
-glDetachShader v1 v2 = liftIO $ dyn3 ptr_glDetachShader v1 v2
-
-{-# NOINLINE ptr_glDetachShader #-}
-ptr_glDetachShader :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glDetachShader = unsafePerformIO $ getCommand "glDetachShader"
-
--- glDetailTexFuncSGIS ---------------------------------------------------------
-
-glDetailTexFuncSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
-  -> m ()
-glDetailTexFuncSGIS v1 v2 v3 = liftIO $ dyn224 ptr_glDetailTexFuncSGIS v1 v2 v3
-
-{-# NOINLINE ptr_glDetailTexFuncSGIS #-}
-ptr_glDetailTexFuncSGIS :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glDetailTexFuncSGIS = unsafePerformIO $ getCommand "glDetailTexFuncSGIS"
-
--- glDisable -------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnable.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
-glDisable
-  :: MonadIO m
-  => GLenum -- ^ @cap@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> m ()
-glDisable v1 = liftIO $ dyn4 ptr_glDisable v1
-
-{-# NOINLINE ptr_glDisable #-}
-ptr_glDisable :: FunPtr (GLenum -> IO ())
-ptr_glDisable = unsafePerformIO $ getCommand "glDisable"
-
--- glDisableClientState --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableClientState.xml OpenGL 2.x>.
-glDisableClientState
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> m ()
-glDisableClientState v1 = liftIO $ dyn4 ptr_glDisableClientState v1
-
-{-# NOINLINE ptr_glDisableClientState #-}
-ptr_glDisableClientState :: FunPtr (GLenum -> IO ())
-ptr_glDisableClientState = unsafePerformIO $ getCommand "glDisableClientState"
-
--- glDisableClientStateIndexedEXT ----------------------------------------------
-
-glDisableClientStateIndexedEXT
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableClientStateIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glDisableClientStateIndexedEXT v1 v2
-
-{-# NOINLINE ptr_glDisableClientStateIndexedEXT #-}
-ptr_glDisableClientStateIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDisableClientStateIndexedEXT = unsafePerformIO $ getCommand "glDisableClientStateIndexedEXT"
-
--- glDisableClientStateiEXT ----------------------------------------------------
-
-glDisableClientStateiEXT
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableClientStateiEXT v1 v2 = liftIO $ dyn16 ptr_glDisableClientStateiEXT v1 v2
-
-{-# NOINLINE ptr_glDisableClientStateiEXT #-}
-ptr_glDisableClientStateiEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDisableClientStateiEXT = unsafePerformIO $ getCommand "glDisableClientStateiEXT"
-
--- glDisableDriverControlQCOM --------------------------------------------------
-
-glDisableDriverControlQCOM
-  :: MonadIO m
-  => GLuint -- ^ @driverControl@.
-  -> m ()
-glDisableDriverControlQCOM v1 = liftIO $ dyn2 ptr_glDisableDriverControlQCOM v1
-
-{-# NOINLINE ptr_glDisableDriverControlQCOM #-}
-ptr_glDisableDriverControlQCOM :: FunPtr (GLuint -> IO ())
-ptr_glDisableDriverControlQCOM = unsafePerformIO $ getCommand "glDisableDriverControlQCOM"
-
--- glDisableIndexedEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glDisablei'.
-glDisableIndexedEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glDisableIndexedEXT v1 v2
-
-{-# NOINLINE ptr_glDisableIndexedEXT #-}
-ptr_glDisableIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDisableIndexedEXT = unsafePerformIO $ getCommand "glDisableIndexedEXT"
-
--- glDisableVariantClientStateEXT ----------------------------------------------
-
-glDisableVariantClientStateEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glDisableVariantClientStateEXT v1 = liftIO $ dyn2 ptr_glDisableVariantClientStateEXT v1
-
-{-# NOINLINE ptr_glDisableVariantClientStateEXT #-}
-ptr_glDisableVariantClientStateEXT :: FunPtr (GLuint -> IO ())
-ptr_glDisableVariantClientStateEXT = unsafePerformIO $ getCommand "glDisableVariantClientStateEXT"
-
--- glDisableVertexArrayAttrib --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
-glDisableVertexArrayAttrib
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableVertexArrayAttrib v1 v2 = liftIO $ dyn3 ptr_glDisableVertexArrayAttrib v1 v2
-
-{-# NOINLINE ptr_glDisableVertexArrayAttrib #-}
-ptr_glDisableVertexArrayAttrib :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glDisableVertexArrayAttrib = unsafePerformIO $ getCommand "glDisableVertexArrayAttrib"
-
--- glDisableVertexArrayAttribEXT -----------------------------------------------
-
-glDisableVertexArrayAttribEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableVertexArrayAttribEXT v1 v2 = liftIO $ dyn3 ptr_glDisableVertexArrayAttribEXT v1 v2
-
-{-# NOINLINE ptr_glDisableVertexArrayAttribEXT #-}
-ptr_glDisableVertexArrayAttribEXT :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glDisableVertexArrayAttribEXT = unsafePerformIO $ getCommand "glDisableVertexArrayAttribEXT"
-
--- glDisableVertexArrayEXT -----------------------------------------------------
-
-glDisableVertexArrayEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> m ()
-glDisableVertexArrayEXT v1 v2 = liftIO $ dyn15 ptr_glDisableVertexArrayEXT v1 v2
-
-{-# NOINLINE ptr_glDisableVertexArrayEXT #-}
-ptr_glDisableVertexArrayEXT :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glDisableVertexArrayEXT = unsafePerformIO $ getCommand "glDisableVertexArrayEXT"
-
--- glDisableVertexAttribAPPLE --------------------------------------------------
-
-glDisableVertexAttribAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> m ()
-glDisableVertexAttribAPPLE v1 v2 = liftIO $ dyn15 ptr_glDisableVertexAttribAPPLE v1 v2
-
-{-# NOINLINE ptr_glDisableVertexAttribAPPLE #-}
-ptr_glDisableVertexAttribAPPLE :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glDisableVertexAttribAPPLE = unsafePerformIO $ getCommand "glDisableVertexAttribAPPLE"
-
--- glDisableVertexAttribArray --------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableVertexAttribArray.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
-glDisableVertexAttribArray
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> m ()
-glDisableVertexAttribArray v1 = liftIO $ dyn2 ptr_glDisableVertexAttribArray v1
-
-{-# NOINLINE ptr_glDisableVertexAttribArray #-}
-ptr_glDisableVertexAttribArray :: FunPtr (GLuint -> IO ())
-ptr_glDisableVertexAttribArray = unsafePerformIO $ getCommand "glDisableVertexAttribArray"
-
--- glDisableVertexAttribArrayARB -----------------------------------------------
-
--- | This command is an alias for 'glDisableVertexAttribArray'.
-glDisableVertexAttribArrayARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> m ()
-glDisableVertexAttribArrayARB v1 = liftIO $ dyn2 ptr_glDisableVertexAttribArrayARB v1
-
-{-# NOINLINE ptr_glDisableVertexAttribArrayARB #-}
-ptr_glDisableVertexAttribArrayARB :: FunPtr (GLuint -> IO ())
-ptr_glDisableVertexAttribArrayARB = unsafePerformIO $ getCommand "glDisableVertexAttribArrayARB"
-
--- glDisablei ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
-glDisablei
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisablei v1 v2 = liftIO $ dyn16 ptr_glDisablei v1 v2
-
-{-# NOINLINE ptr_glDisablei #-}
-ptr_glDisablei :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDisablei = unsafePerformIO $ getCommand "glDisablei"
-
--- glDisableiEXT ---------------------------------------------------------------
-
--- | This command is an alias for 'glDisablei'.
-glDisableiEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableiEXT v1 v2 = liftIO $ dyn16 ptr_glDisableiEXT v1 v2
-
-{-# NOINLINE ptr_glDisableiEXT #-}
-ptr_glDisableiEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDisableiEXT = unsafePerformIO $ getCommand "glDisableiEXT"
-
--- glDisableiNV ----------------------------------------------------------------
-
--- | This command is an alias for 'glDisablei'.
-glDisableiNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableiNV v1 v2 = liftIO $ dyn16 ptr_glDisableiNV v1 v2
-
-{-# NOINLINE ptr_glDisableiNV #-}
-ptr_glDisableiNV :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDisableiNV = unsafePerformIO $ getCommand "glDisableiNV"
-
--- glDisableiOES ---------------------------------------------------------------
-
--- | This command is an alias for 'glDisablei'.
-glDisableiOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glDisableiOES v1 v2 = liftIO $ dyn16 ptr_glDisableiOES v1 v2
-
-{-# NOINLINE ptr_glDisableiOES #-}
-ptr_glDisableiOES :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDisableiOES = unsafePerformIO $ getCommand "glDisableiOES"
-
--- glDiscardFramebufferEXT -----------------------------------------------------
-
-glDiscardFramebufferEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
-  -> m ()
-glDiscardFramebufferEXT v1 v2 v3 = liftIO $ dyn225 ptr_glDiscardFramebufferEXT v1 v2 v3
-
-{-# NOINLINE ptr_glDiscardFramebufferEXT #-}
-ptr_glDiscardFramebufferEXT :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-ptr_glDiscardFramebufferEXT = unsafePerformIO $ getCommand "glDiscardFramebufferEXT"
-
--- glDispatchCompute -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDispatchCompute.xhtml OpenGL 4.x>.
-glDispatchCompute
-  :: MonadIO m
-  => GLuint -- ^ @num_groups_x@.
-  -> GLuint -- ^ @num_groups_y@.
-  -> GLuint -- ^ @num_groups_z@.
-  -> m ()
-glDispatchCompute v1 v2 v3 = liftIO $ dyn101 ptr_glDispatchCompute v1 v2 v3
-
-{-# NOINLINE ptr_glDispatchCompute #-}
-ptr_glDispatchCompute :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glDispatchCompute = unsafePerformIO $ getCommand "glDispatchCompute"
-
--- glDispatchComputeGroupSizeARB -----------------------------------------------
-
-glDispatchComputeGroupSizeARB
-  :: MonadIO m
-  => GLuint -- ^ @num_groups_x@.
-  -> GLuint -- ^ @num_groups_y@.
-  -> GLuint -- ^ @num_groups_z@.
-  -> GLuint -- ^ @group_size_x@.
-  -> GLuint -- ^ @group_size_y@.
-  -> GLuint -- ^ @group_size_z@.
-  -> m ()
-glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn226 ptr_glDispatchComputeGroupSizeARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDispatchComputeGroupSizeARB #-}
-ptr_glDispatchComputeGroupSizeARB :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glDispatchComputeGroupSizeARB = unsafePerformIO $ getCommand "glDispatchComputeGroupSizeARB"
-
--- glDispatchComputeIndirect ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDispatchComputeIndirect.xhtml OpenGL 4.x>.
-glDispatchComputeIndirect
-  :: MonadIO m
-  => GLintptr -- ^ @indirect@ of type @BufferOffset@.
-  -> m ()
-glDispatchComputeIndirect v1 = liftIO $ dyn227 ptr_glDispatchComputeIndirect v1
-
-{-# NOINLINE ptr_glDispatchComputeIndirect #-}
-ptr_glDispatchComputeIndirect :: FunPtr (GLintptr -> IO ())
-ptr_glDispatchComputeIndirect = unsafePerformIO $ getCommand "glDispatchComputeIndirect"
-
--- glDrawArrays ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawArrays.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawArrays.xhtml OpenGL 4.x>.
-glDrawArrays
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> m ()
-glDrawArrays v1 v2 v3 = liftIO $ dyn228 ptr_glDrawArrays v1 v2 v3
-
-{-# NOINLINE ptr_glDrawArrays #-}
-ptr_glDrawArrays :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
-ptr_glDrawArrays = unsafePerformIO $ getCommand "glDrawArrays"
-
--- glDrawArraysEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glDrawArrays'.
-glDrawArraysEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> m ()
-glDrawArraysEXT v1 v2 v3 = liftIO $ dyn228 ptr_glDrawArraysEXT v1 v2 v3
-
-{-# NOINLINE ptr_glDrawArraysEXT #-}
-ptr_glDrawArraysEXT :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
-ptr_glDrawArraysEXT = unsafePerformIO $ getCommand "glDrawArraysEXT"
-
--- glDrawArraysIndirect --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawArraysIndirect.xhtml OpenGL 4.x>.
-glDrawArraysIndirect
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr a -- ^ @indirect@.
-  -> m ()
-glDrawArraysIndirect v1 v2 = liftIO $ dyn229 ptr_glDrawArraysIndirect v1 v2
-
-{-# NOINLINE ptr_glDrawArraysIndirect #-}
-ptr_glDrawArraysIndirect :: FunPtr (GLenum -> Ptr a -> IO ())
-ptr_glDrawArraysIndirect = unsafePerformIO $ getCommand "glDrawArraysIndirect"
-
--- glDrawArraysInstanced -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawArraysInstanced.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawArraysInstanced.xhtml OpenGL 4.x>.
-glDrawArraysInstanced
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @instancecount@.
-  -> m ()
-glDrawArraysInstanced v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstanced v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawArraysInstanced #-}
-ptr_glDrawArraysInstanced :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glDrawArraysInstanced = unsafePerformIO $ getCommand "glDrawArraysInstanced"
-
--- glDrawArraysInstancedANGLE --------------------------------------------------
-
--- | This command is an alias for 'glDrawArraysInstanced'.
-glDrawArraysInstancedANGLE
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawArraysInstancedANGLE v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedANGLE v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawArraysInstancedANGLE #-}
-ptr_glDrawArraysInstancedANGLE :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glDrawArraysInstancedANGLE = unsafePerformIO $ getCommand "glDrawArraysInstancedANGLE"
-
--- glDrawArraysInstancedARB ----------------------------------------------------
-
--- | This command is an alias for 'glDrawArraysInstanced'.
-glDrawArraysInstancedARB
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawArraysInstancedARB v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawArraysInstancedARB #-}
-ptr_glDrawArraysInstancedARB :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glDrawArraysInstancedARB = unsafePerformIO $ getCommand "glDrawArraysInstancedARB"
-
--- glDrawArraysInstancedBaseInstance -------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawArraysInstancedBaseInstance.xhtml OpenGL 4.x>.
-glDrawArraysInstancedBaseInstance
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLuint -- ^ @baseinstance@.
-  -> m ()
-glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5 = liftIO $ dyn231 ptr_glDrawArraysInstancedBaseInstance v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawArraysInstancedBaseInstance #-}
-ptr_glDrawArraysInstancedBaseInstance :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
-ptr_glDrawArraysInstancedBaseInstance = unsafePerformIO $ getCommand "glDrawArraysInstancedBaseInstance"
-
--- glDrawArraysInstancedBaseInstanceEXT ----------------------------------------
-
--- | This command is an alias for 'glDrawArraysInstancedBaseInstance'.
-glDrawArraysInstancedBaseInstanceEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLuint -- ^ @baseinstance@.
-  -> m ()
-glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5 = liftIO $ dyn231 ptr_glDrawArraysInstancedBaseInstanceEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawArraysInstancedBaseInstanceEXT #-}
-ptr_glDrawArraysInstancedBaseInstanceEXT :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> GLuint -> IO ())
-ptr_glDrawArraysInstancedBaseInstanceEXT = unsafePerformIO $ getCommand "glDrawArraysInstancedBaseInstanceEXT"
-
--- glDrawArraysInstancedEXT ----------------------------------------------------
-
--- | This command is an alias for 'glDrawArraysInstanced'.
-glDrawArraysInstancedEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @start@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawArraysInstancedEXT v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawArraysInstancedEXT #-}
-ptr_glDrawArraysInstancedEXT :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glDrawArraysInstancedEXT = unsafePerformIO $ getCommand "glDrawArraysInstancedEXT"
-
--- glDrawArraysInstancedNV -----------------------------------------------------
-
--- | This command is an alias for 'glDrawArraysInstanced'.
-glDrawArraysInstancedNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawArraysInstancedNV v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawArraysInstancedNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawArraysInstancedNV #-}
-ptr_glDrawArraysInstancedNV :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glDrawArraysInstancedNV = unsafePerformIO $ getCommand "glDrawArraysInstancedNV"
-
--- glDrawBuffer ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffer.xhtml OpenGL 4.x>.
-glDrawBuffer
-  :: MonadIO m
-  => GLenum -- ^ @buf@ of type [DrawBufferMode](Graphics-Rendering-OpenGL-Raw-Groups.html#DrawBufferMode).
-  -> m ()
-glDrawBuffer v1 = liftIO $ dyn4 ptr_glDrawBuffer v1
-
-{-# NOINLINE ptr_glDrawBuffer #-}
-ptr_glDrawBuffer :: FunPtr (GLenum -> IO ())
-ptr_glDrawBuffer = unsafePerformIO $ getCommand "glDrawBuffer"
-
--- glDrawBuffers ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffers.xhtml OpenGL 4.x>.
-glDrawBuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
-  -> m ()
-glDrawBuffers v1 v2 = liftIO $ dyn232 ptr_glDrawBuffers v1 v2
-
-{-# NOINLINE ptr_glDrawBuffers #-}
-ptr_glDrawBuffers :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
-ptr_glDrawBuffers = unsafePerformIO $ getCommand "glDrawBuffers"
-
--- glDrawBuffersARB ------------------------------------------------------------
-
--- | This command is an alias for 'glDrawBuffers'.
-glDrawBuffersARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
-  -> m ()
-glDrawBuffersARB v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersARB v1 v2
-
-{-# NOINLINE ptr_glDrawBuffersARB #-}
-ptr_glDrawBuffersARB :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
-ptr_glDrawBuffersARB = unsafePerformIO $ getCommand "glDrawBuffersARB"
-
--- glDrawBuffersATI ------------------------------------------------------------
-
--- | This command is an alias for 'glDrawBuffers'.
-glDrawBuffersATI
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @DrawBufferModeATI@.
-  -> m ()
-glDrawBuffersATI v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersATI v1 v2
-
-{-# NOINLINE ptr_glDrawBuffersATI #-}
-ptr_glDrawBuffersATI :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
-ptr_glDrawBuffersATI = unsafePerformIO $ getCommand "glDrawBuffersATI"
-
--- glDrawBuffersEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glDrawBuffers'.
-glDrawBuffersEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@.
-  -> m ()
-glDrawBuffersEXT v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersEXT v1 v2
-
-{-# NOINLINE ptr_glDrawBuffersEXT #-}
-ptr_glDrawBuffersEXT :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
-ptr_glDrawBuffersEXT = unsafePerformIO $ getCommand "glDrawBuffersEXT"
-
--- glDrawBuffersIndexedEXT -----------------------------------------------------
-
-glDrawBuffersIndexedEXT
-  :: MonadIO m
-  => GLint -- ^ @n@.
-  -> Ptr GLenum -- ^ @location@ pointing to @n@ elements of type @GLenum@.
-  -> Ptr GLint -- ^ @indices@ pointing to @n@ elements of type @GLint@.
-  -> m ()
-glDrawBuffersIndexedEXT v1 v2 v3 = liftIO $ dyn233 ptr_glDrawBuffersIndexedEXT v1 v2 v3
-
-{-# NOINLINE ptr_glDrawBuffersIndexedEXT #-}
-ptr_glDrawBuffersIndexedEXT :: FunPtr (GLint -> Ptr GLenum -> Ptr GLint -> IO ())
-ptr_glDrawBuffersIndexedEXT = unsafePerformIO $ getCommand "glDrawBuffersIndexedEXT"
-
--- glDrawBuffersNV -------------------------------------------------------------
-
-glDrawBuffersNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type @GLenum@.
-  -> m ()
-glDrawBuffersNV v1 v2 = liftIO $ dyn232 ptr_glDrawBuffersNV v1 v2
-
-{-# NOINLINE ptr_glDrawBuffersNV #-}
-ptr_glDrawBuffersNV :: FunPtr (GLsizei -> Ptr GLenum -> IO ())
-ptr_glDrawBuffersNV = unsafePerformIO $ getCommand "glDrawBuffersNV"
-
--- glDrawCommandsAddressNV -----------------------------------------------------
-
-glDrawCommandsAddressNV
-  :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
-  -> Ptr GLuint64 -- ^ @indirects@.
-  -> Ptr GLsizei -- ^ @sizes@.
-  -> GLuint -- ^ @count@.
-  -> m ()
-glDrawCommandsAddressNV v1 v2 v3 v4 = liftIO $ dyn234 ptr_glDrawCommandsAddressNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawCommandsAddressNV #-}
-ptr_glDrawCommandsAddressNV :: FunPtr (GLenum -> Ptr GLuint64 -> Ptr GLsizei -> GLuint -> IO ())
-ptr_glDrawCommandsAddressNV = unsafePerformIO $ getCommand "glDrawCommandsAddressNV"
-
--- glDrawCommandsNV ------------------------------------------------------------
-
-glDrawCommandsNV
-  :: MonadIO m
-  => GLenum -- ^ @primitiveMode@.
-  -> GLuint -- ^ @buffer@.
-  -> Ptr GLintptr -- ^ @indirects@.
-  -> Ptr GLsizei -- ^ @sizes@.
-  -> GLuint -- ^ @count@.
-  -> m ()
-glDrawCommandsNV v1 v2 v3 v4 v5 = liftIO $ dyn235 ptr_glDrawCommandsNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawCommandsNV #-}
-ptr_glDrawCommandsNV :: FunPtr (GLenum -> GLuint -> Ptr GLintptr -> Ptr GLsizei -> GLuint -> IO ())
-ptr_glDrawCommandsNV = unsafePerformIO $ getCommand "glDrawCommandsNV"
-
--- glDrawCommandsStatesAddressNV -----------------------------------------------
-
-glDrawCommandsStatesAddressNV
-  :: MonadIO m
-  => Ptr GLuint64 -- ^ @indirects@.
-  -> Ptr GLsizei -- ^ @sizes@.
-  -> Ptr GLuint -- ^ @states@.
-  -> Ptr GLuint -- ^ @fbos@.
-  -> GLuint -- ^ @count@.
-  -> m ()
-glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5 = liftIO $ dyn236 ptr_glDrawCommandsStatesAddressNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawCommandsStatesAddressNV #-}
-ptr_glDrawCommandsStatesAddressNV :: FunPtr (Ptr GLuint64 -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-ptr_glDrawCommandsStatesAddressNV = unsafePerformIO $ getCommand "glDrawCommandsStatesAddressNV"
-
--- glDrawCommandsStatesNV ------------------------------------------------------
-
-glDrawCommandsStatesNV
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> Ptr GLintptr -- ^ @indirects@.
-  -> Ptr GLsizei -- ^ @sizes@.
-  -> Ptr GLuint -- ^ @states@.
-  -> Ptr GLuint -- ^ @fbos@.
-  -> GLuint -- ^ @count@.
-  -> m ()
-glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn237 ptr_glDrawCommandsStatesNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawCommandsStatesNV #-}
-ptr_glDrawCommandsStatesNV :: FunPtr (GLuint -> Ptr GLintptr -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-ptr_glDrawCommandsStatesNV = unsafePerformIO $ getCommand "glDrawCommandsStatesNV"
-
--- glDrawElementArrayAPPLE -----------------------------------------------------
-
-glDrawElementArrayAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> m ()
-glDrawElementArrayAPPLE v1 v2 v3 = liftIO $ dyn228 ptr_glDrawElementArrayAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glDrawElementArrayAPPLE #-}
-ptr_glDrawElementArrayAPPLE :: FunPtr (GLenum -> GLint -> GLsizei -> IO ())
-ptr_glDrawElementArrayAPPLE = unsafePerformIO $ getCommand "glDrawElementArrayAPPLE"
-
--- glDrawElementArrayATI -------------------------------------------------------
-
-glDrawElementArrayATI
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> m ()
-glDrawElementArrayATI v1 v2 = liftIO $ dyn238 ptr_glDrawElementArrayATI v1 v2
-
-{-# NOINLINE ptr_glDrawElementArrayATI #-}
-ptr_glDrawElementArrayATI :: FunPtr (GLenum -> GLsizei -> IO ())
-ptr_glDrawElementArrayATI = unsafePerformIO $ getCommand "glDrawElementArrayATI"
-
--- glDrawElements --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElements.xhtml OpenGL 4.x>.
-glDrawElements
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> m ()
-glDrawElements v1 v2 v3 v4 = liftIO $ dyn239 ptr_glDrawElements v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawElements #-}
-ptr_glDrawElements :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glDrawElements = unsafePerformIO $ getCommand "glDrawElements"
-
--- glDrawElementsBaseVertex ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsBaseVertex.xhtml OpenGL 4.x>.
-glDrawElementsBaseVertex
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawElementsBaseVertex v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawElementsBaseVertex v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsBaseVertex #-}
-ptr_glDrawElementsBaseVertex :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-ptr_glDrawElementsBaseVertex = unsafePerformIO $ getCommand "glDrawElementsBaseVertex"
-
--- glDrawElementsBaseVertexEXT -------------------------------------------------
-
--- | This command is an alias for 'glDrawElementsBaseVertex'.
-glDrawElementsBaseVertexEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawElementsBaseVertexEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsBaseVertexEXT #-}
-ptr_glDrawElementsBaseVertexEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-ptr_glDrawElementsBaseVertexEXT = unsafePerformIO $ getCommand "glDrawElementsBaseVertexEXT"
-
--- glDrawElementsBaseVertexOES -------------------------------------------------
-
--- | This command is an alias for 'glDrawElementsBaseVertex'.
-glDrawElementsBaseVertexOES
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawElementsBaseVertexOES v1 v2 v3 v4 v5 = liftIO $ dyn240 ptr_glDrawElementsBaseVertexOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsBaseVertexOES #-}
-ptr_glDrawElementsBaseVertexOES :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-ptr_glDrawElementsBaseVertexOES = unsafePerformIO $ getCommand "glDrawElementsBaseVertexOES"
-
--- glDrawElementsIndirect ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsIndirect.xhtml OpenGL 4.x>.
-glDrawElementsIndirect
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indirect@.
-  -> m ()
-glDrawElementsIndirect v1 v2 v3 = liftIO $ dyn241 ptr_glDrawElementsIndirect v1 v2 v3
-
-{-# NOINLINE ptr_glDrawElementsIndirect #-}
-ptr_glDrawElementsIndirect :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glDrawElementsIndirect = unsafePerformIO $ getCommand "glDrawElementsIndirect"
-
--- glDrawElementsInstanced -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstanced.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstanced.xhtml OpenGL 4.x>.
-glDrawElementsInstanced
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> m ()
-glDrawElementsInstanced v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstanced v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsInstanced #-}
-ptr_glDrawElementsInstanced :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
-ptr_glDrawElementsInstanced = unsafePerformIO $ getCommand "glDrawElementsInstanced"
-
--- glDrawElementsInstancedANGLE ------------------------------------------------
-
--- | This command is an alias for 'glDrawElementsInstanced'.
-glDrawElementsInstancedANGLE
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawElementsInstancedANGLE v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedANGLE v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsInstancedANGLE #-}
-ptr_glDrawElementsInstancedANGLE :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
-ptr_glDrawElementsInstancedANGLE = unsafePerformIO $ getCommand "glDrawElementsInstancedANGLE"
-
--- glDrawElementsInstancedARB --------------------------------------------------
-
--- | This command is an alias for 'glDrawElementsInstanced'.
-glDrawElementsInstancedARB
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawElementsInstancedARB v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsInstancedARB #-}
-ptr_glDrawElementsInstancedARB :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
-ptr_glDrawElementsInstancedARB = unsafePerformIO $ getCommand "glDrawElementsInstancedARB"
-
--- glDrawElementsInstancedBaseInstance -----------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstancedBaseInstance.xhtml OpenGL 4.x>.
-glDrawElementsInstancedBaseInstance
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLuint -- ^ @baseinstance@.
-  -> m ()
-glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6 = liftIO $ dyn243 ptr_glDrawElementsInstancedBaseInstance v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawElementsInstancedBaseInstance #-}
-ptr_glDrawElementsInstancedBaseInstance :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
-ptr_glDrawElementsInstancedBaseInstance = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseInstance"
-
--- glDrawElementsInstancedBaseInstanceEXT --------------------------------------
-
--- | This command is an alias for 'glDrawElementsInstancedBaseInstance'.
-glDrawElementsInstancedBaseInstanceEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLuint -- ^ @baseinstance@.
-  -> m ()
-glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn243 ptr_glDrawElementsInstancedBaseInstanceEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawElementsInstancedBaseInstanceEXT #-}
-ptr_glDrawElementsInstancedBaseInstanceEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLuint -> IO ())
-ptr_glDrawElementsInstancedBaseInstanceEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseInstanceEXT"
-
--- glDrawElementsInstancedBaseVertex -------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawElementsInstancedBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstancedBaseVertex.xhtml OpenGL 4.x>.
-glDrawElementsInstancedBaseVertex
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn244 ptr_glDrawElementsInstancedBaseVertex v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawElementsInstancedBaseVertex #-}
-ptr_glDrawElementsInstancedBaseVertex :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
-ptr_glDrawElementsInstancedBaseVertex = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertex"
-
--- glDrawElementsInstancedBaseVertexBaseInstance -------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawElementsInstancedBaseVertexBaseInstance.xhtml OpenGL 4.x>.
-glDrawElementsInstancedBaseVertexBaseInstance
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLint -- ^ @basevertex@.
-  -> GLuint -- ^ @baseinstance@.
-  -> m ()
-glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn245 ptr_glDrawElementsInstancedBaseVertexBaseInstance v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexBaseInstance #-}
-ptr_glDrawElementsInstancedBaseVertexBaseInstance :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
-ptr_glDrawElementsInstancedBaseVertexBaseInstance = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexBaseInstance"
-
--- glDrawElementsInstancedBaseVertexBaseInstanceEXT ----------------------------
-
--- | This command is an alias for 'glDrawElementsInstancedBaseVertexBaseInstance'.
-glDrawElementsInstancedBaseVertexBaseInstanceEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indices@ pointing to @count@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLint -- ^ @basevertex@.
-  -> GLuint -- ^ @baseinstance@.
-  -> m ()
-glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn245 ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT #-}
-ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> GLuint -> IO ())
-ptr_glDrawElementsInstancedBaseVertexBaseInstanceEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexBaseInstanceEXT"
-
--- glDrawElementsInstancedBaseVertexEXT ----------------------------------------
-
--- | This command is an alias for 'glDrawElementsInstancedBaseVertex'.
-glDrawElementsInstancedBaseVertexEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn244 ptr_glDrawElementsInstancedBaseVertexEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexEXT #-}
-ptr_glDrawElementsInstancedBaseVertexEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
-ptr_glDrawElementsInstancedBaseVertexEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexEXT"
-
--- glDrawElementsInstancedBaseVertexOES ----------------------------------------
-
--- | This command is an alias for 'glDrawElementsInstancedBaseVertex'.
-glDrawElementsInstancedBaseVertexOES
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @instancecount@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn244 ptr_glDrawElementsInstancedBaseVertexOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawElementsInstancedBaseVertexOES #-}
-ptr_glDrawElementsInstancedBaseVertexOES :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> GLint -> IO ())
-ptr_glDrawElementsInstancedBaseVertexOES = unsafePerformIO $ getCommand "glDrawElementsInstancedBaseVertexOES"
-
--- glDrawElementsInstancedEXT --------------------------------------------------
-
--- | This command is an alias for 'glDrawElementsInstanced'.
-glDrawElementsInstancedEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawElementsInstancedEXT v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsInstancedEXT #-}
-ptr_glDrawElementsInstancedEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
-ptr_glDrawElementsInstancedEXT = unsafePerformIO $ getCommand "glDrawElementsInstancedEXT"
-
--- glDrawElementsInstancedNV ---------------------------------------------------
-
--- | This command is an alias for 'glDrawElementsInstanced'.
-glDrawElementsInstancedNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glDrawElementsInstancedNV v1 v2 v3 v4 v5 = liftIO $ dyn242 ptr_glDrawElementsInstancedNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawElementsInstancedNV #-}
-ptr_glDrawElementsInstancedNV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLsizei -> IO ())
-ptr_glDrawElementsInstancedNV = unsafePerformIO $ getCommand "glDrawElementsInstancedNV"
-
--- glDrawMeshArraysSUN ---------------------------------------------------------
-
-glDrawMeshArraysSUN
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glDrawMeshArraysSUN v1 v2 v3 v4 = liftIO $ dyn230 ptr_glDrawMeshArraysSUN v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawMeshArraysSUN #-}
-ptr_glDrawMeshArraysSUN :: FunPtr (GLenum -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glDrawMeshArraysSUN = unsafePerformIO $ getCommand "glDrawMeshArraysSUN"
-
--- glDrawPixels ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawPixels.xml OpenGL 2.x>.
-glDrawPixels
-  :: MonadIO m
-  => GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glDrawPixels v1 v2 v3 v4 v5 = liftIO $ dyn246 ptr_glDrawPixels v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawPixels #-}
-ptr_glDrawPixels :: FunPtr (GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glDrawPixels = unsafePerformIO $ getCommand "glDrawPixels"
-
--- glDrawRangeElementArrayAPPLE ------------------------------------------------
-
-glDrawRangeElementArrayAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> m ()
-glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn247 ptr_glDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawRangeElementArrayAPPLE #-}
-ptr_glDrawRangeElementArrayAPPLE :: FunPtr (GLenum -> GLuint -> GLuint -> GLint -> GLsizei -> IO ())
-ptr_glDrawRangeElementArrayAPPLE = unsafePerformIO $ getCommand "glDrawRangeElementArrayAPPLE"
-
--- glDrawRangeElementArrayATI --------------------------------------------------
-
-glDrawRangeElementArrayATI
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> GLsizei -- ^ @count@.
-  -> m ()
-glDrawRangeElementArrayATI v1 v2 v3 v4 = liftIO $ dyn248 ptr_glDrawRangeElementArrayATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawRangeElementArrayATI #-}
-ptr_glDrawRangeElementArrayATI :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
-ptr_glDrawRangeElementArrayATI = unsafePerformIO $ getCommand "glDrawRangeElementArrayATI"
-
--- glDrawRangeElements ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glDrawRangeElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawRangeElements.xhtml OpenGL 4.x>.
-glDrawRangeElements
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> m ()
-glDrawRangeElements v1 v2 v3 v4 v5 v6 = liftIO $ dyn249 ptr_glDrawRangeElements v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawRangeElements #-}
-ptr_glDrawRangeElements :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glDrawRangeElements = unsafePerformIO $ getCommand "glDrawRangeElements"
-
--- glDrawRangeElementsBaseVertex -----------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glDrawRangeElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glDrawRangeElementsBaseVertex.xhtml OpenGL 4.x>.
-glDrawRangeElementsBaseVertex
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawRangeElementsBaseVertex v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glDrawRangeElementsBaseVertex #-}
-ptr_glDrawRangeElementsBaseVertex :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-ptr_glDrawRangeElementsBaseVertex = unsafePerformIO $ getCommand "glDrawRangeElementsBaseVertex"
-
--- glDrawRangeElementsBaseVertexEXT --------------------------------------------
-
--- | This command is an alias for 'glDrawRangeElementsBaseVertex'.
-glDrawRangeElementsBaseVertexEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawRangeElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glDrawRangeElementsBaseVertexEXT #-}
-ptr_glDrawRangeElementsBaseVertexEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-ptr_glDrawRangeElementsBaseVertexEXT = unsafePerformIO $ getCommand "glDrawRangeElementsBaseVertexEXT"
-
--- glDrawRangeElementsBaseVertexOES --------------------------------------------
-
--- | This command is an alias for 'glDrawRangeElementsBaseVertex'.
-glDrawRangeElementsBaseVertexOES
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> GLint -- ^ @basevertex@.
-  -> m ()
-glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn250 ptr_glDrawRangeElementsBaseVertexOES v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glDrawRangeElementsBaseVertexOES #-}
-ptr_glDrawRangeElementsBaseVertexOES :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> GLint -> IO ())
-ptr_glDrawRangeElementsBaseVertexOES = unsafePerformIO $ getCommand "glDrawRangeElementsBaseVertexOES"
-
--- glDrawRangeElementsEXT ------------------------------------------------------
-
--- | This command is an alias for 'glDrawRangeElements'.
-glDrawRangeElementsEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> GLsizei -- ^ @count@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr a -- ^ @indices@ pointing to @COMPSIZE(count,type)@ elements of type @a@.
-  -> m ()
-glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn249 ptr_glDrawRangeElementsEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glDrawRangeElementsEXT #-}
-ptr_glDrawRangeElementsEXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glDrawRangeElementsEXT = unsafePerformIO $ getCommand "glDrawRangeElementsEXT"
-
--- glDrawTexfOES ---------------------------------------------------------------
-
-glDrawTexfOES
-  :: MonadIO m
-  => GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @width@.
-  -> GLfloat -- ^ @height@.
-  -> m ()
-glDrawTexfOES v1 v2 v3 v4 v5 = liftIO $ dyn251 ptr_glDrawTexfOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawTexfOES #-}
-ptr_glDrawTexfOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glDrawTexfOES = unsafePerformIO $ getCommand "glDrawTexfOES"
-
--- glDrawTexfvOES --------------------------------------------------------------
-
-glDrawTexfvOES
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @coords@.
-  -> m ()
-glDrawTexfvOES v1 = liftIO $ dyn41 ptr_glDrawTexfvOES v1
-
-{-# NOINLINE ptr_glDrawTexfvOES #-}
-ptr_glDrawTexfvOES :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glDrawTexfvOES = unsafePerformIO $ getCommand "glDrawTexfvOES"
-
--- glDrawTexiOES ---------------------------------------------------------------
-
-glDrawTexiOES
-  :: MonadIO m
-  => GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @width@.
-  -> GLint -- ^ @height@.
-  -> m ()
-glDrawTexiOES v1 v2 v3 v4 v5 = liftIO $ dyn252 ptr_glDrawTexiOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawTexiOES #-}
-ptr_glDrawTexiOES :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glDrawTexiOES = unsafePerformIO $ getCommand "glDrawTexiOES"
-
--- glDrawTexivOES --------------------------------------------------------------
-
-glDrawTexivOES
-  :: MonadIO m
-  => Ptr GLint -- ^ @coords@.
-  -> m ()
-glDrawTexivOES v1 = liftIO $ dyn43 ptr_glDrawTexivOES v1
-
-{-# NOINLINE ptr_glDrawTexivOES #-}
-ptr_glDrawTexivOES :: FunPtr (Ptr GLint -> IO ())
-ptr_glDrawTexivOES = unsafePerformIO $ getCommand "glDrawTexivOES"
-
--- glDrawTexsOES ---------------------------------------------------------------
-
-glDrawTexsOES
-  :: MonadIO m
-  => GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> GLshort -- ^ @width@.
-  -> GLshort -- ^ @height@.
-  -> m ()
-glDrawTexsOES v1 v2 v3 v4 v5 = liftIO $ dyn253 ptr_glDrawTexsOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawTexsOES #-}
-ptr_glDrawTexsOES :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glDrawTexsOES = unsafePerformIO $ getCommand "glDrawTexsOES"
-
--- glDrawTexsvOES --------------------------------------------------------------
-
-glDrawTexsvOES
-  :: MonadIO m
-  => Ptr GLshort -- ^ @coords@.
-  -> m ()
-glDrawTexsvOES v1 = liftIO $ dyn45 ptr_glDrawTexsvOES v1
-
-{-# NOINLINE ptr_glDrawTexsvOES #-}
-ptr_glDrawTexsvOES :: FunPtr (Ptr GLshort -> IO ())
-ptr_glDrawTexsvOES = unsafePerformIO $ getCommand "glDrawTexsvOES"
-
--- glDrawTextureNV -------------------------------------------------------------
-
-glDrawTextureNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLuint -- ^ @sampler@.
-  -> GLfloat -- ^ @x0@.
-  -> GLfloat -- ^ @y0@.
-  -> GLfloat -- ^ @x1@.
-  -> GLfloat -- ^ @y1@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @s0@.
-  -> GLfloat -- ^ @t0@.
-  -> GLfloat -- ^ @s1@.
-  -> GLfloat -- ^ @t1@.
-  -> m ()
-glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn254 ptr_glDrawTextureNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glDrawTextureNV #-}
-ptr_glDrawTextureNV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glDrawTextureNV = unsafePerformIO $ getCommand "glDrawTextureNV"
-
--- glDrawTexxOES ---------------------------------------------------------------
-
-glDrawTexxOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> GLfixed -- ^ @width@.
-  -> GLfixed -- ^ @height@.
-  -> m ()
-glDrawTexxOES v1 v2 v3 v4 v5 = liftIO $ dyn255 ptr_glDrawTexxOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glDrawTexxOES #-}
-ptr_glDrawTexxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glDrawTexxOES = unsafePerformIO $ getCommand "glDrawTexxOES"
-
--- glDrawTexxvOES --------------------------------------------------------------
-
-glDrawTexxvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@.
-  -> m ()
-glDrawTexxvOES v1 = liftIO $ dyn106 ptr_glDrawTexxvOES v1
-
-{-# NOINLINE ptr_glDrawTexxvOES #-}
-ptr_glDrawTexxvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glDrawTexxvOES = unsafePerformIO $ getCommand "glDrawTexxvOES"
-
--- glDrawTransformFeedback -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedback.xhtml OpenGL 4.x>.
-glDrawTransformFeedback
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @id@.
-  -> m ()
-glDrawTransformFeedback v1 v2 = liftIO $ dyn16 ptr_glDrawTransformFeedback v1 v2
-
-{-# NOINLINE ptr_glDrawTransformFeedback #-}
-ptr_glDrawTransformFeedback :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDrawTransformFeedback = unsafePerformIO $ getCommand "glDrawTransformFeedback"
-
--- glDrawTransformFeedbackInstanced --------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackInstanced.xhtml OpenGL 4.x>.
-glDrawTransformFeedbackInstanced
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @id@.
-  -> GLsizei -- ^ @instancecount@.
-  -> m ()
-glDrawTransformFeedbackInstanced v1 v2 v3 = liftIO $ dyn256 ptr_glDrawTransformFeedbackInstanced v1 v2 v3
-
-{-# NOINLINE ptr_glDrawTransformFeedbackInstanced #-}
-ptr_glDrawTransformFeedbackInstanced :: FunPtr (GLenum -> GLuint -> GLsizei -> IO ())
-ptr_glDrawTransformFeedbackInstanced = unsafePerformIO $ getCommand "glDrawTransformFeedbackInstanced"
-
--- glDrawTransformFeedbackNV ---------------------------------------------------
-
--- | This command is an alias for 'glDrawTransformFeedback'.
-glDrawTransformFeedbackNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @id@.
-  -> m ()
-glDrawTransformFeedbackNV v1 v2 = liftIO $ dyn16 ptr_glDrawTransformFeedbackNV v1 v2
-
-{-# NOINLINE ptr_glDrawTransformFeedbackNV #-}
-ptr_glDrawTransformFeedbackNV :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glDrawTransformFeedbackNV = unsafePerformIO $ getCommand "glDrawTransformFeedbackNV"
-
--- glDrawTransformFeedbackStream -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStream.xhtml OpenGL 4.x>.
-glDrawTransformFeedbackStream
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @id@.
-  -> GLuint -- ^ @stream@.
-  -> m ()
-glDrawTransformFeedbackStream v1 v2 v3 = liftIO $ dyn17 ptr_glDrawTransformFeedbackStream v1 v2 v3
-
-{-# NOINLINE ptr_glDrawTransformFeedbackStream #-}
-ptr_glDrawTransformFeedbackStream :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-ptr_glDrawTransformFeedbackStream = unsafePerformIO $ getCommand "glDrawTransformFeedbackStream"
-
--- glDrawTransformFeedbackStreamInstanced --------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawTransformFeedbackStreamInstanced.xhtml OpenGL 4.x>.
-glDrawTransformFeedbackStreamInstanced
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @id@.
-  -> GLuint -- ^ @stream@.
-  -> GLsizei -- ^ @instancecount@.
-  -> m ()
-glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4 = liftIO $ dyn248 ptr_glDrawTransformFeedbackStreamInstanced v1 v2 v3 v4
-
-{-# NOINLINE ptr_glDrawTransformFeedbackStreamInstanced #-}
-ptr_glDrawTransformFeedbackStreamInstanced :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> IO ())
-ptr_glDrawTransformFeedbackStreamInstanced = unsafePerformIO $ getCommand "glDrawTransformFeedbackStreamInstanced"
-
--- glEGLImageTargetRenderbufferStorageOES --------------------------------------
-
-glEGLImageTargetRenderbufferStorageOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLeglImageOES -- ^ @image@.
-  -> m ()
-glEGLImageTargetRenderbufferStorageOES v1 v2 = liftIO $ dyn257 ptr_glEGLImageTargetRenderbufferStorageOES v1 v2
-
-{-# NOINLINE ptr_glEGLImageTargetRenderbufferStorageOES #-}
-ptr_glEGLImageTargetRenderbufferStorageOES :: FunPtr (GLenum -> GLeglImageOES -> IO ())
-ptr_glEGLImageTargetRenderbufferStorageOES = unsafePerformIO $ getCommand "glEGLImageTargetRenderbufferStorageOES"
-
--- glEGLImageTargetTexture2DOES ------------------------------------------------
-
-glEGLImageTargetTexture2DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLeglImageOES -- ^ @image@.
-  -> m ()
-glEGLImageTargetTexture2DOES v1 v2 = liftIO $ dyn257 ptr_glEGLImageTargetTexture2DOES v1 v2
-
-{-# NOINLINE ptr_glEGLImageTargetTexture2DOES #-}
-ptr_glEGLImageTargetTexture2DOES :: FunPtr (GLenum -> GLeglImageOES -> IO ())
-ptr_glEGLImageTargetTexture2DOES = unsafePerformIO $ getCommand "glEGLImageTargetTexture2DOES"
-
--- glEdgeFlag ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlag.xml OpenGL 2.x>. The vector equivalent of this command is 'glEdgeFlagv'.
-glEdgeFlag
-  :: MonadIO m
-  => GLboolean -- ^ @flag@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glEdgeFlag v1 = liftIO $ dyn190 ptr_glEdgeFlag v1
-
-{-# NOINLINE ptr_glEdgeFlag #-}
-ptr_glEdgeFlag :: FunPtr (GLboolean -> IO ())
-ptr_glEdgeFlag = unsafePerformIO $ getCommand "glEdgeFlag"
-
--- glEdgeFlagFormatNV ----------------------------------------------------------
-
-glEdgeFlagFormatNV
-  :: MonadIO m
-  => GLsizei -- ^ @stride@.
-  -> m ()
-glEdgeFlagFormatNV v1 = liftIO $ dyn258 ptr_glEdgeFlagFormatNV v1
-
-{-# NOINLINE ptr_glEdgeFlagFormatNV #-}
-ptr_glEdgeFlagFormatNV :: FunPtr (GLsizei -> IO ())
-ptr_glEdgeFlagFormatNV = unsafePerformIO $ getCommand "glEdgeFlagFormatNV"
-
--- glEdgeFlagPointer -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlagPointer.xml OpenGL 2.x>.
-glEdgeFlagPointer
-  :: MonadIO m
-  => GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @a@.
-  -> m ()
-glEdgeFlagPointer v1 v2 = liftIO $ dyn259 ptr_glEdgeFlagPointer v1 v2
-
-{-# NOINLINE ptr_glEdgeFlagPointer #-}
-ptr_glEdgeFlagPointer :: FunPtr (GLsizei -> Ptr a -> IO ())
-ptr_glEdgeFlagPointer = unsafePerformIO $ getCommand "glEdgeFlagPointer"
-
--- glEdgeFlagPointerEXT --------------------------------------------------------
-
-glEdgeFlagPointerEXT
-  :: MonadIO m
-  => GLsizei -- ^ @stride@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLboolean -- ^ @pointer@ pointing to @COMPSIZE(stride,count)@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glEdgeFlagPointerEXT v1 v2 v3 = liftIO $ dyn260 ptr_glEdgeFlagPointerEXT v1 v2 v3
-
-{-# NOINLINE ptr_glEdgeFlagPointerEXT #-}
-ptr_glEdgeFlagPointerEXT :: FunPtr (GLsizei -> GLsizei -> Ptr GLboolean -> IO ())
-ptr_glEdgeFlagPointerEXT = unsafePerformIO $ getCommand "glEdgeFlagPointerEXT"
-
--- glEdgeFlagPointerListIBM ----------------------------------------------------
-
-glEdgeFlagPointerListIBM
-  :: MonadIO m
-  => GLint -- ^ @stride@.
-  -> Ptr (Ptr GLboolean) -- ^ @pointer@ pointing to @COMPSIZE(stride)@ elements of type @Ptr BooleanPointer@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glEdgeFlagPointerListIBM v1 v2 v3 = liftIO $ dyn261 ptr_glEdgeFlagPointerListIBM v1 v2 v3
-
-{-# NOINLINE ptr_glEdgeFlagPointerListIBM #-}
-ptr_glEdgeFlagPointerListIBM :: FunPtr (GLint -> Ptr (Ptr GLboolean) -> GLint -> IO ())
-ptr_glEdgeFlagPointerListIBM = unsafePerformIO $ getCommand "glEdgeFlagPointerListIBM"
-
--- glEdgeFlagv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEdgeFlag.xml OpenGL 2.x>.
-glEdgeFlagv
-  :: MonadIO m
-  => Ptr GLboolean -- ^ @flag@ pointing to @1@ element of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glEdgeFlagv v1 = liftIO $ dyn262 ptr_glEdgeFlagv v1
-
-{-# NOINLINE ptr_glEdgeFlagv #-}
-ptr_glEdgeFlagv :: FunPtr (Ptr GLboolean -> IO ())
-ptr_glEdgeFlagv = unsafePerformIO $ getCommand "glEdgeFlagv"
-
--- glElementPointerAPPLE -------------------------------------------------------
-
-glElementPointerAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type @ElementPointerTypeATI@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
-  -> m ()
-glElementPointerAPPLE v1 v2 = liftIO $ dyn229 ptr_glElementPointerAPPLE v1 v2
-
-{-# NOINLINE ptr_glElementPointerAPPLE #-}
-ptr_glElementPointerAPPLE :: FunPtr (GLenum -> Ptr a -> IO ())
-ptr_glElementPointerAPPLE = unsafePerformIO $ getCommand "glElementPointerAPPLE"
-
--- glElementPointerATI ---------------------------------------------------------
-
-glElementPointerATI
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type @ElementPointerTypeATI@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type)@ elements of type @a@.
-  -> m ()
-glElementPointerATI v1 v2 = liftIO $ dyn229 ptr_glElementPointerATI v1 v2
-
-{-# NOINLINE ptr_glElementPointerATI #-}
-ptr_glElementPointerATI :: FunPtr (GLenum -> Ptr a -> IO ())
-ptr_glElementPointerATI = unsafePerformIO $ getCommand "glElementPointerATI"
-
--- glEnable --------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnable.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
-glEnable
-  :: MonadIO m
-  => GLenum -- ^ @cap@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> m ()
-glEnable v1 = liftIO $ dyn4 ptr_glEnable v1
-
-{-# NOINLINE ptr_glEnable #-}
-ptr_glEnable :: FunPtr (GLenum -> IO ())
-ptr_glEnable = unsafePerformIO $ getCommand "glEnable"
-
--- glEnableClientState ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableClientState.xml OpenGL 2.x>.
-glEnableClientState
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> m ()
-glEnableClientState v1 = liftIO $ dyn4 ptr_glEnableClientState v1
-
-{-# NOINLINE ptr_glEnableClientState #-}
-ptr_glEnableClientState :: FunPtr (GLenum -> IO ())
-ptr_glEnableClientState = unsafePerformIO $ getCommand "glEnableClientState"
-
--- glEnableClientStateIndexedEXT -----------------------------------------------
-
-glEnableClientStateIndexedEXT
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableClientStateIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glEnableClientStateIndexedEXT v1 v2
-
-{-# NOINLINE ptr_glEnableClientStateIndexedEXT #-}
-ptr_glEnableClientStateIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEnableClientStateIndexedEXT = unsafePerformIO $ getCommand "glEnableClientStateIndexedEXT"
-
--- glEnableClientStateiEXT -----------------------------------------------------
-
-glEnableClientStateiEXT
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableClientStateiEXT v1 v2 = liftIO $ dyn16 ptr_glEnableClientStateiEXT v1 v2
-
-{-# NOINLINE ptr_glEnableClientStateiEXT #-}
-ptr_glEnableClientStateiEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEnableClientStateiEXT = unsafePerformIO $ getCommand "glEnableClientStateiEXT"
-
--- glEnableDriverControlQCOM ---------------------------------------------------
-
-glEnableDriverControlQCOM
-  :: MonadIO m
-  => GLuint -- ^ @driverControl@.
-  -> m ()
-glEnableDriverControlQCOM v1 = liftIO $ dyn2 ptr_glEnableDriverControlQCOM v1
-
-{-# NOINLINE ptr_glEnableDriverControlQCOM #-}
-ptr_glEnableDriverControlQCOM :: FunPtr (GLuint -> IO ())
-ptr_glEnableDriverControlQCOM = unsafePerformIO $ getCommand "glEnableDriverControlQCOM"
-
--- glEnableIndexedEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glEnablei'.
-glEnableIndexedEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableIndexedEXT v1 v2 = liftIO $ dyn16 ptr_glEnableIndexedEXT v1 v2
-
-{-# NOINLINE ptr_glEnableIndexedEXT #-}
-ptr_glEnableIndexedEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEnableIndexedEXT = unsafePerformIO $ getCommand "glEnableIndexedEXT"
-
--- glEnableVariantClientStateEXT -----------------------------------------------
-
-glEnableVariantClientStateEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m ()
-glEnableVariantClientStateEXT v1 = liftIO $ dyn2 ptr_glEnableVariantClientStateEXT v1
-
-{-# NOINLINE ptr_glEnableVariantClientStateEXT #-}
-ptr_glEnableVariantClientStateEXT :: FunPtr (GLuint -> IO ())
-ptr_glEnableVariantClientStateEXT = unsafePerformIO $ getCommand "glEnableVariantClientStateEXT"
-
--- glEnableVertexArrayAttrib ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
-glEnableVertexArrayAttrib
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableVertexArrayAttrib v1 v2 = liftIO $ dyn3 ptr_glEnableVertexArrayAttrib v1 v2
-
-{-# NOINLINE ptr_glEnableVertexArrayAttrib #-}
-ptr_glEnableVertexArrayAttrib :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glEnableVertexArrayAttrib = unsafePerformIO $ getCommand "glEnableVertexArrayAttrib"
-
--- glEnableVertexArrayAttribEXT ------------------------------------------------
-
-glEnableVertexArrayAttribEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableVertexArrayAttribEXT v1 v2 = liftIO $ dyn3 ptr_glEnableVertexArrayAttribEXT v1 v2
-
-{-# NOINLINE ptr_glEnableVertexArrayAttribEXT #-}
-ptr_glEnableVertexArrayAttribEXT :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glEnableVertexArrayAttribEXT = unsafePerformIO $ getCommand "glEnableVertexArrayAttribEXT"
-
--- glEnableVertexArrayEXT ------------------------------------------------------
-
-glEnableVertexArrayEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> m ()
-glEnableVertexArrayEXT v1 v2 = liftIO $ dyn15 ptr_glEnableVertexArrayEXT v1 v2
-
-{-# NOINLINE ptr_glEnableVertexArrayEXT #-}
-ptr_glEnableVertexArrayEXT :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glEnableVertexArrayEXT = unsafePerformIO $ getCommand "glEnableVertexArrayEXT"
-
--- glEnableVertexAttribAPPLE ---------------------------------------------------
-
-glEnableVertexAttribAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> m ()
-glEnableVertexAttribAPPLE v1 v2 = liftIO $ dyn15 ptr_glEnableVertexAttribAPPLE v1 v2
-
-{-# NOINLINE ptr_glEnableVertexAttribAPPLE #-}
-ptr_glEnableVertexAttribAPPLE :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glEnableVertexAttribAPPLE = unsafePerformIO $ getCommand "glEnableVertexAttribAPPLE"
-
--- glEnableVertexAttribArray ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glEnableVertexAttribArray.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glEnableVertexAttribArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnableVertexAttribArray.xhtml OpenGL 4.x>.
-glEnableVertexAttribArray
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> m ()
-glEnableVertexAttribArray v1 = liftIO $ dyn2 ptr_glEnableVertexAttribArray v1
-
-{-# NOINLINE ptr_glEnableVertexAttribArray #-}
-ptr_glEnableVertexAttribArray :: FunPtr (GLuint -> IO ())
-ptr_glEnableVertexAttribArray = unsafePerformIO $ getCommand "glEnableVertexAttribArray"
-
--- glEnableVertexAttribArrayARB ------------------------------------------------
-
--- | This command is an alias for 'glEnableVertexAttribArray'.
-glEnableVertexAttribArrayARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> m ()
-glEnableVertexAttribArrayARB v1 = liftIO $ dyn2 ptr_glEnableVertexAttribArrayARB v1
-
-{-# NOINLINE ptr_glEnableVertexAttribArrayARB #-}
-ptr_glEnableVertexAttribArrayARB :: FunPtr (GLuint -> IO ())
-ptr_glEnableVertexAttribArrayARB = unsafePerformIO $ getCommand "glEnableVertexAttribArrayARB"
-
--- glEnablei -------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glEnable.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glEnable.xhtml OpenGL 4.x>.
-glEnablei
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnablei v1 v2 = liftIO $ dyn16 ptr_glEnablei v1 v2
-
-{-# NOINLINE ptr_glEnablei #-}
-ptr_glEnablei :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEnablei = unsafePerformIO $ getCommand "glEnablei"
-
--- glEnableiEXT ----------------------------------------------------------------
-
--- | This command is an alias for 'glEnablei'.
-glEnableiEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableiEXT v1 v2 = liftIO $ dyn16 ptr_glEnableiEXT v1 v2
-
-{-# NOINLINE ptr_glEnableiEXT #-}
-ptr_glEnableiEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEnableiEXT = unsafePerformIO $ getCommand "glEnableiEXT"
-
--- glEnableiNV -----------------------------------------------------------------
-
--- | This command is an alias for 'glEnablei'.
-glEnableiNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableiNV v1 v2 = liftIO $ dyn16 ptr_glEnableiNV v1 v2
-
-{-# NOINLINE ptr_glEnableiNV #-}
-ptr_glEnableiNV :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEnableiNV = unsafePerformIO $ getCommand "glEnableiNV"
-
--- glEnableiOES ----------------------------------------------------------------
-
--- | This command is an alias for 'glEnablei'.
-glEnableiOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEnableiOES v1 v2 = liftIO $ dyn16 ptr_glEnableiOES v1 v2
-
-{-# NOINLINE ptr_glEnableiOES #-}
-ptr_glEnableiOES :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEnableiOES = unsafePerformIO $ getCommand "glEnableiOES"
-
--- glEnd -----------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glBegin.xml OpenGL 2.x>.
-glEnd
-  :: MonadIO m
-  => m ()
-glEnd = liftIO $ dyn10 ptr_glEnd
-
-{-# NOINLINE ptr_glEnd #-}
-ptr_glEnd :: FunPtr (IO ())
-ptr_glEnd = unsafePerformIO $ getCommand "glEnd"
-
--- glEndConditionalRender ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginConditionalRender.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginConditionalRender.xhtml OpenGL 4.x>.
-glEndConditionalRender
-  :: MonadIO m
-  => m ()
-glEndConditionalRender = liftIO $ dyn10 ptr_glEndConditionalRender
-
-{-# NOINLINE ptr_glEndConditionalRender #-}
-ptr_glEndConditionalRender :: FunPtr (IO ())
-ptr_glEndConditionalRender = unsafePerformIO $ getCommand "glEndConditionalRender"
-
--- glEndConditionalRenderNV ----------------------------------------------------
-
--- | This command is an alias for 'glEndConditionalRender'.
-glEndConditionalRenderNV
-  :: MonadIO m
-  => m ()
-glEndConditionalRenderNV = liftIO $ dyn10 ptr_glEndConditionalRenderNV
-
-{-# NOINLINE ptr_glEndConditionalRenderNV #-}
-ptr_glEndConditionalRenderNV :: FunPtr (IO ())
-ptr_glEndConditionalRenderNV = unsafePerformIO $ getCommand "glEndConditionalRenderNV"
-
--- glEndConditionalRenderNVX ---------------------------------------------------
-
--- | This command is an alias for 'glEndConditionalRender'.
-glEndConditionalRenderNVX
-  :: MonadIO m
-  => m ()
-glEndConditionalRenderNVX = liftIO $ dyn10 ptr_glEndConditionalRenderNVX
-
-{-# NOINLINE ptr_glEndConditionalRenderNVX #-}
-ptr_glEndConditionalRenderNVX :: FunPtr (IO ())
-ptr_glEndConditionalRenderNVX = unsafePerformIO $ getCommand "glEndConditionalRenderNVX"
-
--- glEndFragmentShaderATI ------------------------------------------------------
-
-glEndFragmentShaderATI
-  :: MonadIO m
-  => m ()
-glEndFragmentShaderATI = liftIO $ dyn10 ptr_glEndFragmentShaderATI
-
-{-# NOINLINE ptr_glEndFragmentShaderATI #-}
-ptr_glEndFragmentShaderATI :: FunPtr (IO ())
-ptr_glEndFragmentShaderATI = unsafePerformIO $ getCommand "glEndFragmentShaderATI"
-
--- glEndList -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNewList.xml OpenGL 2.x>.
-glEndList
-  :: MonadIO m
-  => m ()
-glEndList = liftIO $ dyn10 ptr_glEndList
-
-{-# NOINLINE ptr_glEndList #-}
-ptr_glEndList :: FunPtr (IO ())
-ptr_glEndList = unsafePerformIO $ getCommand "glEndList"
-
--- glEndOcclusionQueryNV -------------------------------------------------------
-
-glEndOcclusionQueryNV
-  :: MonadIO m
-  => m ()
-glEndOcclusionQueryNV = liftIO $ dyn10 ptr_glEndOcclusionQueryNV
-
-{-# NOINLINE ptr_glEndOcclusionQueryNV #-}
-ptr_glEndOcclusionQueryNV :: FunPtr (IO ())
-ptr_glEndOcclusionQueryNV = unsafePerformIO $ getCommand "glEndOcclusionQueryNV"
-
--- glEndPerfMonitorAMD ---------------------------------------------------------
-
-glEndPerfMonitorAMD
-  :: MonadIO m
-  => GLuint -- ^ @monitor@.
-  -> m ()
-glEndPerfMonitorAMD v1 = liftIO $ dyn2 ptr_glEndPerfMonitorAMD v1
-
-{-# NOINLINE ptr_glEndPerfMonitorAMD #-}
-ptr_glEndPerfMonitorAMD :: FunPtr (GLuint -> IO ())
-ptr_glEndPerfMonitorAMD = unsafePerformIO $ getCommand "glEndPerfMonitorAMD"
-
--- glEndPerfQueryINTEL ---------------------------------------------------------
-
-glEndPerfQueryINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryHandle@.
-  -> m ()
-glEndPerfQueryINTEL v1 = liftIO $ dyn2 ptr_glEndPerfQueryINTEL v1
-
-{-# NOINLINE ptr_glEndPerfQueryINTEL #-}
-ptr_glEndPerfQueryINTEL :: FunPtr (GLuint -> IO ())
-ptr_glEndPerfQueryINTEL = unsafePerformIO $ getCommand "glEndPerfQueryINTEL"
-
--- glEndQuery ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glBeginQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginQuery.xhtml OpenGL 4.x>.
-glEndQuery
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glEndQuery v1 = liftIO $ dyn4 ptr_glEndQuery v1
-
-{-# NOINLINE ptr_glEndQuery #-}
-ptr_glEndQuery :: FunPtr (GLenum -> IO ())
-ptr_glEndQuery = unsafePerformIO $ getCommand "glEndQuery"
-
--- glEndQueryARB ---------------------------------------------------------------
-
--- | This command is an alias for 'glEndQuery'.
-glEndQueryARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glEndQueryARB v1 = liftIO $ dyn4 ptr_glEndQueryARB v1
-
-{-# NOINLINE ptr_glEndQueryARB #-}
-ptr_glEndQueryARB :: FunPtr (GLenum -> IO ())
-ptr_glEndQueryARB = unsafePerformIO $ getCommand "glEndQueryARB"
-
--- glEndQueryEXT ---------------------------------------------------------------
-
-glEndQueryEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glEndQueryEXT v1 = liftIO $ dyn4 ptr_glEndQueryEXT v1
-
-{-# NOINLINE ptr_glEndQueryEXT #-}
-ptr_glEndQueryEXT :: FunPtr (GLenum -> IO ())
-ptr_glEndQueryEXT = unsafePerformIO $ getCommand "glEndQueryEXT"
-
--- glEndQueryIndexed -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBeginQueryIndexed.xhtml OpenGL 4.x>.
-glEndQueryIndexed
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m ()
-glEndQueryIndexed v1 v2 = liftIO $ dyn16 ptr_glEndQueryIndexed v1 v2
-
-{-# NOINLINE ptr_glEndQueryIndexed #-}
-ptr_glEndQueryIndexed :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glEndQueryIndexed = unsafePerformIO $ getCommand "glEndQueryIndexed"
-
--- glEndTilingQCOM -------------------------------------------------------------
-
-glEndTilingQCOM
-  :: MonadIO m
-  => GLbitfield -- ^ @preserveMask@.
-  -> m ()
-glEndTilingQCOM v1 = liftIO $ dyn69 ptr_glEndTilingQCOM v1
-
-{-# NOINLINE ptr_glEndTilingQCOM #-}
-ptr_glEndTilingQCOM :: FunPtr (GLbitfield -> IO ())
-ptr_glEndTilingQCOM = unsafePerformIO $ getCommand "glEndTilingQCOM"
-
--- glEndTransformFeedback ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glBeginTransformFeedback.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glBeginTransformFeedback.xhtml OpenGL 4.x>.
-glEndTransformFeedback
-  :: MonadIO m
-  => m ()
-glEndTransformFeedback = liftIO $ dyn10 ptr_glEndTransformFeedback
-
-{-# NOINLINE ptr_glEndTransformFeedback #-}
-ptr_glEndTransformFeedback :: FunPtr (IO ())
-ptr_glEndTransformFeedback = unsafePerformIO $ getCommand "glEndTransformFeedback"
-
--- glEndTransformFeedbackEXT ---------------------------------------------------
-
--- | This command is an alias for 'glEndTransformFeedback'.
-glEndTransformFeedbackEXT
-  :: MonadIO m
-  => m ()
-glEndTransformFeedbackEXT = liftIO $ dyn10 ptr_glEndTransformFeedbackEXT
-
-{-# NOINLINE ptr_glEndTransformFeedbackEXT #-}
-ptr_glEndTransformFeedbackEXT :: FunPtr (IO ())
-ptr_glEndTransformFeedbackEXT = unsafePerformIO $ getCommand "glEndTransformFeedbackEXT"
-
--- glEndTransformFeedbackNV ----------------------------------------------------
-
--- | This command is an alias for 'glEndTransformFeedback'.
-glEndTransformFeedbackNV
-  :: MonadIO m
-  => m ()
-glEndTransformFeedbackNV = liftIO $ dyn10 ptr_glEndTransformFeedbackNV
-
-{-# NOINLINE ptr_glEndTransformFeedbackNV #-}
-ptr_glEndTransformFeedbackNV :: FunPtr (IO ())
-ptr_glEndTransformFeedbackNV = unsafePerformIO $ getCommand "glEndTransformFeedbackNV"
-
--- glEndVertexShaderEXT --------------------------------------------------------
-
-glEndVertexShaderEXT
-  :: MonadIO m
-  => m ()
-glEndVertexShaderEXT = liftIO $ dyn10 ptr_glEndVertexShaderEXT
-
-{-# NOINLINE ptr_glEndVertexShaderEXT #-}
-ptr_glEndVertexShaderEXT :: FunPtr (IO ())
-ptr_glEndVertexShaderEXT = unsafePerformIO $ getCommand "glEndVertexShaderEXT"
-
--- glEndVideoCaptureNV ---------------------------------------------------------
-
-glEndVideoCaptureNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> m ()
-glEndVideoCaptureNV v1 = liftIO $ dyn2 ptr_glEndVideoCaptureNV v1
-
-{-# NOINLINE ptr_glEndVideoCaptureNV #-}
-ptr_glEndVideoCaptureNV :: FunPtr (GLuint -> IO ())
-ptr_glEndVideoCaptureNV = unsafePerformIO $ getCommand "glEndVideoCaptureNV"
-
--- glEvalCoord1d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord1dv'.
-glEvalCoord1d
-  :: MonadIO m
-  => GLdouble -- ^ @u@ of type @CoordD@.
-  -> m ()
-glEvalCoord1d v1 = liftIO $ dyn78 ptr_glEvalCoord1d v1
-
-{-# NOINLINE ptr_glEvalCoord1d #-}
-ptr_glEvalCoord1d :: FunPtr (GLdouble -> IO ())
-ptr_glEvalCoord1d = unsafePerformIO $ getCommand "glEvalCoord1d"
-
--- glEvalCoord1dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
-glEvalCoord1dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @u@ pointing to @1@ element of type @CoordD@.
-  -> m ()
-glEvalCoord1dv v1 = liftIO $ dyn39 ptr_glEvalCoord1dv v1
-
-{-# NOINLINE ptr_glEvalCoord1dv #-}
-ptr_glEvalCoord1dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glEvalCoord1dv = unsafePerformIO $ getCommand "glEvalCoord1dv"
-
--- glEvalCoord1f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord1fv'.
-glEvalCoord1f
-  :: MonadIO m
-  => GLfloat -- ^ @u@ of type @CoordF@.
-  -> m ()
-glEvalCoord1f v1 = liftIO $ dyn79 ptr_glEvalCoord1f v1
-
-{-# NOINLINE ptr_glEvalCoord1f #-}
-ptr_glEvalCoord1f :: FunPtr (GLfloat -> IO ())
-ptr_glEvalCoord1f = unsafePerformIO $ getCommand "glEvalCoord1f"
-
--- glEvalCoord1fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
-glEvalCoord1fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @u@ pointing to @1@ element of type @CoordF@.
-  -> m ()
-glEvalCoord1fv v1 = liftIO $ dyn41 ptr_glEvalCoord1fv v1
-
-{-# NOINLINE ptr_glEvalCoord1fv #-}
-ptr_glEvalCoord1fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glEvalCoord1fv = unsafePerformIO $ getCommand "glEvalCoord1fv"
-
--- glEvalCoord1xOES ------------------------------------------------------------
-
-glEvalCoord1xOES
-  :: MonadIO m
-  => GLfixed -- ^ @u@.
-  -> m ()
-glEvalCoord1xOES v1 = liftIO $ dyn81 ptr_glEvalCoord1xOES v1
-
-{-# NOINLINE ptr_glEvalCoord1xOES #-}
-ptr_glEvalCoord1xOES :: FunPtr (GLfixed -> IO ())
-ptr_glEvalCoord1xOES = unsafePerformIO $ getCommand "glEvalCoord1xOES"
-
--- glEvalCoord1xvOES -----------------------------------------------------------
-
-glEvalCoord1xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
-  -> m ()
-glEvalCoord1xvOES v1 = liftIO $ dyn106 ptr_glEvalCoord1xvOES v1
-
-{-# NOINLINE ptr_glEvalCoord1xvOES #-}
-ptr_glEvalCoord1xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glEvalCoord1xvOES = unsafePerformIO $ getCommand "glEvalCoord1xvOES"
-
--- glEvalCoord2d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord2dv'.
-glEvalCoord2d
-  :: MonadIO m
-  => GLdouble -- ^ @u@ of type @CoordD@.
-  -> GLdouble -- ^ @v@ of type @CoordD@.
-  -> m ()
-glEvalCoord2d v1 v2 = liftIO $ dyn216 ptr_glEvalCoord2d v1 v2
-
-{-# NOINLINE ptr_glEvalCoord2d #-}
-ptr_glEvalCoord2d :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glEvalCoord2d = unsafePerformIO $ getCommand "glEvalCoord2d"
-
--- glEvalCoord2dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
-glEvalCoord2dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @u@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glEvalCoord2dv v1 = liftIO $ dyn39 ptr_glEvalCoord2dv v1
-
-{-# NOINLINE ptr_glEvalCoord2dv #-}
-ptr_glEvalCoord2dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glEvalCoord2dv = unsafePerformIO $ getCommand "glEvalCoord2dv"
-
--- glEvalCoord2f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glEvalCoord2fv'.
-glEvalCoord2f
-  :: MonadIO m
-  => GLfloat -- ^ @u@ of type @CoordF@.
-  -> GLfloat -- ^ @v@ of type @CoordF@.
-  -> m ()
-glEvalCoord2f v1 v2 = liftIO $ dyn221 ptr_glEvalCoord2f v1 v2
-
-{-# NOINLINE ptr_glEvalCoord2f #-}
-ptr_glEvalCoord2f :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glEvalCoord2f = unsafePerformIO $ getCommand "glEvalCoord2f"
-
--- glEvalCoord2fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalCoord.xml OpenGL 2.x>.
-glEvalCoord2fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @u@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glEvalCoord2fv v1 = liftIO $ dyn41 ptr_glEvalCoord2fv v1
-
-{-# NOINLINE ptr_glEvalCoord2fv #-}
-ptr_glEvalCoord2fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glEvalCoord2fv = unsafePerformIO $ getCommand "glEvalCoord2fv"
-
--- glEvalCoord2xOES ------------------------------------------------------------
-
-glEvalCoord2xOES
-  :: MonadIO m
-  => GLfixed -- ^ @u@.
-  -> GLfixed -- ^ @v@.
-  -> m ()
-glEvalCoord2xOES v1 v2 = liftIO $ dyn223 ptr_glEvalCoord2xOES v1 v2
-
-{-# NOINLINE ptr_glEvalCoord2xOES #-}
-ptr_glEvalCoord2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glEvalCoord2xOES = unsafePerformIO $ getCommand "glEvalCoord2xOES"
-
--- glEvalCoord2xvOES -----------------------------------------------------------
-
-glEvalCoord2xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
-  -> m ()
-glEvalCoord2xvOES v1 = liftIO $ dyn106 ptr_glEvalCoord2xvOES v1
-
-{-# NOINLINE ptr_glEvalCoord2xvOES #-}
-ptr_glEvalCoord2xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glEvalCoord2xvOES = unsafePerformIO $ getCommand "glEvalCoord2xvOES"
-
--- glEvalMapsNV ----------------------------------------------------------------
-
-glEvalMapsNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLenum -- ^ @mode@ of type @EvalMapsModeNV@.
-  -> m ()
-glEvalMapsNV v1 v2 = liftIO $ dyn51 ptr_glEvalMapsNV v1 v2
-
-{-# NOINLINE ptr_glEvalMapsNV #-}
-ptr_glEvalMapsNV :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glEvalMapsNV = unsafePerformIO $ getCommand "glEvalMapsNV"
-
--- glEvalMesh1 -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalMesh.xml OpenGL 2.x>.
-glEvalMesh1
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MeshMode1](Graphics-Rendering-OpenGL-Raw-Groups.html#MeshMode1).
-  -> GLint -- ^ @i1@ of type @CheckedInt32@.
-  -> GLint -- ^ @i2@ of type @CheckedInt32@.
-  -> m ()
-glEvalMesh1 v1 v2 v3 = liftIO $ dyn263 ptr_glEvalMesh1 v1 v2 v3
-
-{-# NOINLINE ptr_glEvalMesh1 #-}
-ptr_glEvalMesh1 :: FunPtr (GLenum -> GLint -> GLint -> IO ())
-ptr_glEvalMesh1 = unsafePerformIO $ getCommand "glEvalMesh1"
-
--- glEvalMesh2 -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalMesh.xml OpenGL 2.x>.
-glEvalMesh2
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MeshMode2](Graphics-Rendering-OpenGL-Raw-Groups.html#MeshMode2).
-  -> GLint -- ^ @i1@ of type @CheckedInt32@.
-  -> GLint -- ^ @i2@ of type @CheckedInt32@.
-  -> GLint -- ^ @j1@ of type @CheckedInt32@.
-  -> GLint -- ^ @j2@ of type @CheckedInt32@.
-  -> m ()
-glEvalMesh2 v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glEvalMesh2 v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glEvalMesh2 #-}
-ptr_glEvalMesh2 :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glEvalMesh2 = unsafePerformIO $ getCommand "glEvalMesh2"
-
--- glEvalPoint1 ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalPoint.xml OpenGL 2.x>.
-glEvalPoint1
-  :: MonadIO m
-  => GLint -- ^ @i@.
-  -> m ()
-glEvalPoint1 v1 = liftIO $ dyn12 ptr_glEvalPoint1 v1
-
-{-# NOINLINE ptr_glEvalPoint1 #-}
-ptr_glEvalPoint1 :: FunPtr (GLint -> IO ())
-ptr_glEvalPoint1 = unsafePerformIO $ getCommand "glEvalPoint1"
-
--- glEvalPoint2 ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glEvalPoint.xml OpenGL 2.x>.
-glEvalPoint2
-  :: MonadIO m
-  => GLint -- ^ @i@ of type @CheckedInt32@.
-  -> GLint -- ^ @j@ of type @CheckedInt32@.
-  -> m ()
-glEvalPoint2 v1 v2 = liftIO $ dyn265 ptr_glEvalPoint2 v1 v2
-
-{-# NOINLINE ptr_glEvalPoint2 #-}
-ptr_glEvalPoint2 :: FunPtr (GLint -> GLint -> IO ())
-ptr_glEvalPoint2 = unsafePerformIO $ getCommand "glEvalPoint2"
-
--- glEvaluateDepthValuesARB ----------------------------------------------------
-
-glEvaluateDepthValuesARB
-  :: MonadIO m
-  => m ()
-glEvaluateDepthValuesARB = liftIO $ dyn10 ptr_glEvaluateDepthValuesARB
-
-{-# NOINLINE ptr_glEvaluateDepthValuesARB #-}
-ptr_glEvaluateDepthValuesARB :: FunPtr (IO ())
-ptr_glEvaluateDepthValuesARB = unsafePerformIO $ getCommand "glEvaluateDepthValuesARB"
-
--- glExecuteProgramNV ----------------------------------------------------------
-
-glExecuteProgramNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @id@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glExecuteProgramNV v1 v2 v3 = liftIO $ dyn266 ptr_glExecuteProgramNV v1 v2 v3
-
-{-# NOINLINE ptr_glExecuteProgramNV #-}
-ptr_glExecuteProgramNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glExecuteProgramNV = unsafePerformIO $ getCommand "glExecuteProgramNV"
-
--- glExtGetBufferPointervQCOM --------------------------------------------------
-
-glExtGetBufferPointervQCOM
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> Ptr (Ptr a) -- ^ @params@.
-  -> m ()
-glExtGetBufferPointervQCOM v1 v2 = liftIO $ dyn267 ptr_glExtGetBufferPointervQCOM v1 v2
-
-{-# NOINLINE ptr_glExtGetBufferPointervQCOM #-}
-ptr_glExtGetBufferPointervQCOM :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glExtGetBufferPointervQCOM = unsafePerformIO $ getCommand "glExtGetBufferPointervQCOM"
-
--- glExtGetBuffersQCOM ---------------------------------------------------------
-
-glExtGetBuffersQCOM
-  :: MonadIO m
-  => Ptr GLuint -- ^ @buffers@ pointing to @maxBuffers@ elements of type @GLuint@.
-  -> GLint -- ^ @maxBuffers@.
-  -> Ptr GLint -- ^ @numBuffers@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glExtGetBuffersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetBuffersQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glExtGetBuffersQCOM #-}
-ptr_glExtGetBuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-ptr_glExtGetBuffersQCOM = unsafePerformIO $ getCommand "glExtGetBuffersQCOM"
-
--- glExtGetFramebuffersQCOM ----------------------------------------------------
-
-glExtGetFramebuffersQCOM
-  :: MonadIO m
-  => Ptr GLuint -- ^ @framebuffers@ pointing to @maxFramebuffers@ elements of type @GLuint@.
-  -> GLint -- ^ @maxFramebuffers@.
-  -> Ptr GLint -- ^ @numFramebuffers@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glExtGetFramebuffersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetFramebuffersQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glExtGetFramebuffersQCOM #-}
-ptr_glExtGetFramebuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-ptr_glExtGetFramebuffersQCOM = unsafePerformIO $ getCommand "glExtGetFramebuffersQCOM"
-
--- glExtGetProgramBinarySourceQCOM ---------------------------------------------
-
-glExtGetProgramBinarySourceQCOM
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> Ptr GLchar -- ^ @source@.
-  -> Ptr GLint -- ^ @length@.
-  -> m ()
-glExtGetProgramBinarySourceQCOM v1 v2 v3 v4 = liftIO $ dyn269 ptr_glExtGetProgramBinarySourceQCOM v1 v2 v3 v4
-
-{-# NOINLINE ptr_glExtGetProgramBinarySourceQCOM #-}
-ptr_glExtGetProgramBinarySourceQCOM :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> Ptr GLint -> IO ())
-ptr_glExtGetProgramBinarySourceQCOM = unsafePerformIO $ getCommand "glExtGetProgramBinarySourceQCOM"
-
--- glExtGetProgramsQCOM --------------------------------------------------------
-
-glExtGetProgramsQCOM
-  :: MonadIO m
-  => Ptr GLuint -- ^ @programs@ pointing to @maxPrograms@ elements of type @GLuint@.
-  -> GLint -- ^ @maxPrograms@.
-  -> Ptr GLint -- ^ @numPrograms@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glExtGetProgramsQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetProgramsQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glExtGetProgramsQCOM #-}
-ptr_glExtGetProgramsQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-ptr_glExtGetProgramsQCOM = unsafePerformIO $ getCommand "glExtGetProgramsQCOM"
-
--- glExtGetRenderbuffersQCOM ---------------------------------------------------
-
-glExtGetRenderbuffersQCOM
-  :: MonadIO m
-  => Ptr GLuint -- ^ @renderbuffers@ pointing to @maxRenderbuffers@ elements of type @GLuint@.
-  -> GLint -- ^ @maxRenderbuffers@.
-  -> Ptr GLint -- ^ @numRenderbuffers@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glExtGetRenderbuffersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetRenderbuffersQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glExtGetRenderbuffersQCOM #-}
-ptr_glExtGetRenderbuffersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-ptr_glExtGetRenderbuffersQCOM = unsafePerformIO $ getCommand "glExtGetRenderbuffersQCOM"
-
--- glExtGetShadersQCOM ---------------------------------------------------------
-
-glExtGetShadersQCOM
-  :: MonadIO m
-  => Ptr GLuint -- ^ @shaders@ pointing to @maxShaders@ elements of type @GLuint@.
-  -> GLint -- ^ @maxShaders@.
-  -> Ptr GLint -- ^ @numShaders@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glExtGetShadersQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetShadersQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glExtGetShadersQCOM #-}
-ptr_glExtGetShadersQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-ptr_glExtGetShadersQCOM = unsafePerformIO $ getCommand "glExtGetShadersQCOM"
-
--- glExtGetTexLevelParameterivQCOM ---------------------------------------------
-
-glExtGetTexLevelParameterivQCOM
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @face@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glExtGetTexLevelParameterivQCOM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glExtGetTexLevelParameterivQCOM #-}
-ptr_glExtGetTexLevelParameterivQCOM :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-ptr_glExtGetTexLevelParameterivQCOM = unsafePerformIO $ getCommand "glExtGetTexLevelParameterivQCOM"
-
--- glExtGetTexSubImageQCOM -----------------------------------------------------
-
-glExtGetTexSubImageQCOM
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @texels@.
-  -> m ()
-glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glExtGetTexSubImageQCOM v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glExtGetTexSubImageQCOM #-}
-ptr_glExtGetTexSubImageQCOM :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glExtGetTexSubImageQCOM = unsafePerformIO $ getCommand "glExtGetTexSubImageQCOM"
-
--- glExtGetTexturesQCOM --------------------------------------------------------
-
-glExtGetTexturesQCOM
-  :: MonadIO m
-  => Ptr GLuint -- ^ @textures@.
-  -> GLint -- ^ @maxTextures@.
-  -> Ptr GLint -- ^ @numTextures@.
-  -> m ()
-glExtGetTexturesQCOM v1 v2 v3 = liftIO $ dyn268 ptr_glExtGetTexturesQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glExtGetTexturesQCOM #-}
-ptr_glExtGetTexturesQCOM :: FunPtr (Ptr GLuint -> GLint -> Ptr GLint -> IO ())
-ptr_glExtGetTexturesQCOM = unsafePerformIO $ getCommand "glExtGetTexturesQCOM"
-
--- glExtIsProgramBinaryQCOM ----------------------------------------------------
-
-glExtIsProgramBinaryQCOM
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m GLboolean
-glExtIsProgramBinaryQCOM v1 = liftIO $ dyn272 ptr_glExtIsProgramBinaryQCOM v1
-
-{-# NOINLINE ptr_glExtIsProgramBinaryQCOM #-}
-ptr_glExtIsProgramBinaryQCOM :: FunPtr (GLuint -> IO GLboolean)
-ptr_glExtIsProgramBinaryQCOM = unsafePerformIO $ getCommand "glExtIsProgramBinaryQCOM"
-
--- glExtTexObjectStateOverrideiQCOM --------------------------------------------
-
-glExtTexObjectStateOverrideiQCOM
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glExtTexObjectStateOverrideiQCOM v1 v2 v3 = liftIO $ dyn62 ptr_glExtTexObjectStateOverrideiQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glExtTexObjectStateOverrideiQCOM #-}
-ptr_glExtTexObjectStateOverrideiQCOM :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glExtTexObjectStateOverrideiQCOM = unsafePerformIO $ getCommand "glExtTexObjectStateOverrideiQCOM"
-
--- glExtractComponentEXT -------------------------------------------------------
-
-glExtractComponentEXT
-  :: MonadIO m
-  => GLuint -- ^ @res@.
-  -> GLuint -- ^ @src@.
-  -> GLuint -- ^ @num@.
-  -> m ()
-glExtractComponentEXT v1 v2 v3 = liftIO $ dyn101 ptr_glExtractComponentEXT v1 v2 v3
-
-{-# NOINLINE ptr_glExtractComponentEXT #-}
-ptr_glExtractComponentEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glExtractComponentEXT = unsafePerformIO $ getCommand "glExtractComponentEXT"
-
--- glFeedbackBuffer ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFeedbackBuffer.xml OpenGL 2.x>.
-glFeedbackBuffer
-  :: MonadIO m
-  => GLsizei -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [FeedbackType](Graphics-Rendering-OpenGL-Raw-Groups.html#FeedbackType).
-  -> Ptr GLfloat -- ^ @buffer@ pointing to @size@ elements of type @FeedbackElement@.
-  -> m ()
-glFeedbackBuffer v1 v2 v3 = liftIO $ dyn273 ptr_glFeedbackBuffer v1 v2 v3
-
-{-# NOINLINE ptr_glFeedbackBuffer #-}
-ptr_glFeedbackBuffer :: FunPtr (GLsizei -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glFeedbackBuffer = unsafePerformIO $ getCommand "glFeedbackBuffer"
-
--- glFeedbackBufferxOES --------------------------------------------------------
-
-glFeedbackBufferxOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> GLenum -- ^ @type@.
-  -> Ptr GLfixed -- ^ @buffer@ pointing to @n@ elements of type @GLfixed@.
-  -> m ()
-glFeedbackBufferxOES v1 v2 v3 = liftIO $ dyn274 ptr_glFeedbackBufferxOES v1 v2 v3
-
-{-# NOINLINE ptr_glFeedbackBufferxOES #-}
-ptr_glFeedbackBufferxOES :: FunPtr (GLsizei -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glFeedbackBufferxOES = unsafePerformIO $ getCommand "glFeedbackBufferxOES"
-
--- glFenceSync -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFenceSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFenceSync.xhtml OpenGL 4.x>.
-glFenceSync
-  :: MonadIO m
-  => GLenum -- ^ @condition@.
-  -> GLbitfield -- ^ @flags@.
-  -> m GLsync -- ^ of type @sync@.
-glFenceSync v1 v2 = liftIO $ dyn275 ptr_glFenceSync v1 v2
-
-{-# NOINLINE ptr_glFenceSync #-}
-ptr_glFenceSync :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
-ptr_glFenceSync = unsafePerformIO $ getCommand "glFenceSync"
-
--- glFenceSyncAPPLE ------------------------------------------------------------
-
--- | This command is an alias for 'glFenceSync'.
-glFenceSyncAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @condition@.
-  -> GLbitfield -- ^ @flags@.
-  -> m GLsync
-glFenceSyncAPPLE v1 v2 = liftIO $ dyn275 ptr_glFenceSyncAPPLE v1 v2
-
-{-# NOINLINE ptr_glFenceSyncAPPLE #-}
-ptr_glFenceSyncAPPLE :: FunPtr (GLenum -> GLbitfield -> IO GLsync)
-ptr_glFenceSyncAPPLE = unsafePerformIO $ getCommand "glFenceSyncAPPLE"
-
--- glFinalCombinerInputNV ------------------------------------------------------
-
-glFinalCombinerInputNV
-  :: MonadIO m
-  => GLenum -- ^ @variable@ of type @CombinerVariableNV@.
-  -> GLenum -- ^ @input@ of type @CombinerRegisterNV@.
-  -> GLenum -- ^ @mapping@ of type @CombinerMappingNV@.
-  -> GLenum -- ^ @componentUsage@ of type @CombinerComponentUsageNV@.
-  -> m ()
-glFinalCombinerInputNV v1 v2 v3 v4 = liftIO $ dyn53 ptr_glFinalCombinerInputNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFinalCombinerInputNV #-}
-ptr_glFinalCombinerInputNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glFinalCombinerInputNV = unsafePerformIO $ getCommand "glFinalCombinerInputNV"
-
--- glFinish --------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFinish.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFinish.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFinish.xhtml OpenGL 4.x>.
-glFinish
-  :: MonadIO m
-  => m ()
-glFinish = liftIO $ dyn10 ptr_glFinish
-
-{-# NOINLINE ptr_glFinish #-}
-ptr_glFinish :: FunPtr (IO ())
-ptr_glFinish = unsafePerformIO $ getCommand "glFinish"
-
--- glFinishAsyncSGIX -----------------------------------------------------------
-
-glFinishAsyncSGIX
-  :: MonadIO m
-  => Ptr GLuint -- ^ @markerp@ pointing to @1@ element of type @GLuint@.
-  -> m GLint
-glFinishAsyncSGIX v1 = liftIO $ dyn276 ptr_glFinishAsyncSGIX v1
-
-{-# NOINLINE ptr_glFinishAsyncSGIX #-}
-ptr_glFinishAsyncSGIX :: FunPtr (Ptr GLuint -> IO GLint)
-ptr_glFinishAsyncSGIX = unsafePerformIO $ getCommand "glFinishAsyncSGIX"
-
--- glFinishFenceAPPLE ----------------------------------------------------------
-
-glFinishFenceAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> m ()
-glFinishFenceAPPLE v1 = liftIO $ dyn2 ptr_glFinishFenceAPPLE v1
-
-{-# NOINLINE ptr_glFinishFenceAPPLE #-}
-ptr_glFinishFenceAPPLE :: FunPtr (GLuint -> IO ())
-ptr_glFinishFenceAPPLE = unsafePerformIO $ getCommand "glFinishFenceAPPLE"
-
--- glFinishFenceNV -------------------------------------------------------------
-
-glFinishFenceNV
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> m ()
-glFinishFenceNV v1 = liftIO $ dyn2 ptr_glFinishFenceNV v1
-
-{-# NOINLINE ptr_glFinishFenceNV #-}
-ptr_glFinishFenceNV :: FunPtr (GLuint -> IO ())
-ptr_glFinishFenceNV = unsafePerformIO $ getCommand "glFinishFenceNV"
-
--- glFinishObjectAPPLE ---------------------------------------------------------
-
-glFinishObjectAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @object@ of type @ObjectTypeAPPLE@.
-  -> GLint -- ^ @name@.
-  -> m ()
-glFinishObjectAPPLE v1 v2 = liftIO $ dyn55 ptr_glFinishObjectAPPLE v1 v2
-
-{-# NOINLINE ptr_glFinishObjectAPPLE #-}
-ptr_glFinishObjectAPPLE :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glFinishObjectAPPLE = unsafePerformIO $ getCommand "glFinishObjectAPPLE"
-
--- glFinishTextureSUNX ---------------------------------------------------------
-
-glFinishTextureSUNX
-  :: MonadIO m
-  => m ()
-glFinishTextureSUNX = liftIO $ dyn10 ptr_glFinishTextureSUNX
-
-{-# NOINLINE ptr_glFinishTextureSUNX #-}
-ptr_glFinishTextureSUNX :: FunPtr (IO ())
-ptr_glFinishTextureSUNX = unsafePerformIO $ getCommand "glFinishTextureSUNX"
-
--- glFlush ---------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFlush.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFlush.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFlush.xhtml OpenGL 4.x>.
-glFlush
-  :: MonadIO m
-  => m ()
-glFlush = liftIO $ dyn10 ptr_glFlush
-
-{-# NOINLINE ptr_glFlush #-}
-ptr_glFlush :: FunPtr (IO ())
-ptr_glFlush = unsafePerformIO $ getCommand "glFlush"
-
--- glFlushMappedBufferRange ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFlushMappedBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFlushMappedBufferRange.xhtml OpenGL 4.x>.
-glFlushMappedBufferRange
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> m ()
-glFlushMappedBufferRange v1 v2 v3 = liftIO $ dyn277 ptr_glFlushMappedBufferRange v1 v2 v3
-
-{-# NOINLINE ptr_glFlushMappedBufferRange #-}
-ptr_glFlushMappedBufferRange :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glFlushMappedBufferRange = unsafePerformIO $ getCommand "glFlushMappedBufferRange"
-
--- glFlushMappedBufferRangeAPPLE -----------------------------------------------
-
--- | This command is an alias for 'glFlushMappedBufferRange'.
-glFlushMappedBufferRangeAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glFlushMappedBufferRangeAPPLE v1 v2 v3 = liftIO $ dyn277 ptr_glFlushMappedBufferRangeAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glFlushMappedBufferRangeAPPLE #-}
-ptr_glFlushMappedBufferRangeAPPLE :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glFlushMappedBufferRangeAPPLE = unsafePerformIO $ getCommand "glFlushMappedBufferRangeAPPLE"
-
--- glFlushMappedBufferRangeEXT -------------------------------------------------
-
--- | This command is an alias for 'glFlushMappedBufferRange'.
-glFlushMappedBufferRangeEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @length@.
-  -> m ()
-glFlushMappedBufferRangeEXT v1 v2 v3 = liftIO $ dyn277 ptr_glFlushMappedBufferRangeEXT v1 v2 v3
-
-{-# NOINLINE ptr_glFlushMappedBufferRangeEXT #-}
-ptr_glFlushMappedBufferRangeEXT :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glFlushMappedBufferRangeEXT = unsafePerformIO $ getCommand "glFlushMappedBufferRangeEXT"
-
--- glFlushMappedNamedBufferRange -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFlushMappedBufferRange.xhtml OpenGL 4.x>.
-glFlushMappedNamedBufferRange
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> m ()
-glFlushMappedNamedBufferRange v1 v2 v3 = liftIO $ dyn278 ptr_glFlushMappedNamedBufferRange v1 v2 v3
-
-{-# NOINLINE ptr_glFlushMappedNamedBufferRange #-}
-ptr_glFlushMappedNamedBufferRange :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glFlushMappedNamedBufferRange = unsafePerformIO $ getCommand "glFlushMappedNamedBufferRange"
-
--- glFlushMappedNamedBufferRangeEXT --------------------------------------------
-
-glFlushMappedNamedBufferRangeEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @length@.
-  -> m ()
-glFlushMappedNamedBufferRangeEXT v1 v2 v3 = liftIO $ dyn278 ptr_glFlushMappedNamedBufferRangeEXT v1 v2 v3
-
-{-# NOINLINE ptr_glFlushMappedNamedBufferRangeEXT #-}
-ptr_glFlushMappedNamedBufferRangeEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glFlushMappedNamedBufferRangeEXT = unsafePerformIO $ getCommand "glFlushMappedNamedBufferRangeEXT"
-
--- glFlushPixelDataRangeNV -----------------------------------------------------
-
-glFlushPixelDataRangeNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @PixelDataRangeTargetNV@.
-  -> m ()
-glFlushPixelDataRangeNV v1 = liftIO $ dyn4 ptr_glFlushPixelDataRangeNV v1
-
-{-# NOINLINE ptr_glFlushPixelDataRangeNV #-}
-ptr_glFlushPixelDataRangeNV :: FunPtr (GLenum -> IO ())
-ptr_glFlushPixelDataRangeNV = unsafePerformIO $ getCommand "glFlushPixelDataRangeNV"
-
--- glFlushRasterSGIX -----------------------------------------------------------
-
-glFlushRasterSGIX
-  :: MonadIO m
-  => m ()
-glFlushRasterSGIX = liftIO $ dyn10 ptr_glFlushRasterSGIX
-
-{-# NOINLINE ptr_glFlushRasterSGIX #-}
-ptr_glFlushRasterSGIX :: FunPtr (IO ())
-ptr_glFlushRasterSGIX = unsafePerformIO $ getCommand "glFlushRasterSGIX"
-
--- glFlushStaticDataIBM --------------------------------------------------------
-
-glFlushStaticDataIBM
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glFlushStaticDataIBM v1 = liftIO $ dyn4 ptr_glFlushStaticDataIBM v1
-
-{-# NOINLINE ptr_glFlushStaticDataIBM #-}
-ptr_glFlushStaticDataIBM :: FunPtr (GLenum -> IO ())
-ptr_glFlushStaticDataIBM = unsafePerformIO $ getCommand "glFlushStaticDataIBM"
-
--- glFlushVertexArrayRangeAPPLE ------------------------------------------------
-
-glFlushVertexArrayRangeAPPLE
-  :: MonadIO m
-  => GLsizei -- ^ @length@.
-  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
-  -> m ()
-glFlushVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn259 ptr_glFlushVertexArrayRangeAPPLE v1 v2
-
-{-# NOINLINE ptr_glFlushVertexArrayRangeAPPLE #-}
-ptr_glFlushVertexArrayRangeAPPLE :: FunPtr (GLsizei -> Ptr a -> IO ())
-ptr_glFlushVertexArrayRangeAPPLE = unsafePerformIO $ getCommand "glFlushVertexArrayRangeAPPLE"
-
--- glFlushVertexArrayRangeNV ---------------------------------------------------
-
-glFlushVertexArrayRangeNV
-  :: MonadIO m
-  => m ()
-glFlushVertexArrayRangeNV = liftIO $ dyn10 ptr_glFlushVertexArrayRangeNV
-
-{-# NOINLINE ptr_glFlushVertexArrayRangeNV #-}
-ptr_glFlushVertexArrayRangeNV :: FunPtr (IO ())
-ptr_glFlushVertexArrayRangeNV = unsafePerformIO $ getCommand "glFlushVertexArrayRangeNV"
-
--- glFogCoordFormatNV ----------------------------------------------------------
-
-glFogCoordFormatNV
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glFogCoordFormatNV v1 v2 = liftIO $ dyn238 ptr_glFogCoordFormatNV v1 v2
-
-{-# NOINLINE ptr_glFogCoordFormatNV #-}
-ptr_glFogCoordFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
-ptr_glFogCoordFormatNV = unsafePerformIO $ getCommand "glFogCoordFormatNV"
-
--- glFogCoordPointer -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoordPointer.xml OpenGL 2.x>.
-glFogCoordPointer
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [FogPointerTypeEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#FogPointerTypeEXT).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glFogCoordPointer v1 v2 v3 = liftIO $ dyn46 ptr_glFogCoordPointer v1 v2 v3
-
-{-# NOINLINE ptr_glFogCoordPointer #-}
-ptr_glFogCoordPointer :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glFogCoordPointer = unsafePerformIO $ getCommand "glFogCoordPointer"
-
--- glFogCoordPointerEXT --------------------------------------------------------
-
--- | This command is an alias for 'glFogCoordPointer'.
-glFogCoordPointerEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [FogPointerTypeEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#FogPointerTypeEXT).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glFogCoordPointerEXT v1 v2 v3 = liftIO $ dyn46 ptr_glFogCoordPointerEXT v1 v2 v3
-
-{-# NOINLINE ptr_glFogCoordPointerEXT #-}
-ptr_glFogCoordPointerEXT :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glFogCoordPointerEXT = unsafePerformIO $ getCommand "glFogCoordPointerEXT"
-
--- glFogCoordPointerListIBM ----------------------------------------------------
-
-glFogCoordPointerListIBM
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [FogPointerTypeIBM](Graphics-Rendering-OpenGL-Raw-Groups.html#FogPointerTypeIBM).
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glFogCoordPointerListIBM v1 v2 v3 v4 = liftIO $ dyn279 ptr_glFogCoordPointerListIBM v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFogCoordPointerListIBM #-}
-ptr_glFogCoordPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glFogCoordPointerListIBM = unsafePerformIO $ getCommand "glFogCoordPointerListIBM"
-
--- glFogCoordd -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glFogCoorddv'.
-glFogCoordd
-  :: MonadIO m
-  => GLdouble -- ^ @coord@ of type @CoordD@.
-  -> m ()
-glFogCoordd v1 = liftIO $ dyn78 ptr_glFogCoordd v1
-
-{-# NOINLINE ptr_glFogCoordd #-}
-ptr_glFogCoordd :: FunPtr (GLdouble -> IO ())
-ptr_glFogCoordd = unsafePerformIO $ getCommand "glFogCoordd"
-
--- glFogCoorddEXT --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glFogCoorddvEXT'. This command is an alias for 'glFogCoordd'.
-glFogCoorddEXT
-  :: MonadIO m
-  => GLdouble -- ^ @coord@ of type @CoordD@.
-  -> m ()
-glFogCoorddEXT v1 = liftIO $ dyn78 ptr_glFogCoorddEXT v1
-
-{-# NOINLINE ptr_glFogCoorddEXT #-}
-ptr_glFogCoorddEXT :: FunPtr (GLdouble -> IO ())
-ptr_glFogCoorddEXT = unsafePerformIO $ getCommand "glFogCoorddEXT"
-
--- glFogCoorddv ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>.
-glFogCoorddv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @coord@ pointing to @1@ element of type @CoordD@.
-  -> m ()
-glFogCoorddv v1 = liftIO $ dyn39 ptr_glFogCoorddv v1
-
-{-# NOINLINE ptr_glFogCoorddv #-}
-ptr_glFogCoorddv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glFogCoorddv = unsafePerformIO $ getCommand "glFogCoorddv"
-
--- glFogCoorddvEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glFogCoorddv'.
-glFogCoorddvEXT
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @coord@ pointing to @1@ element of type @CoordD@.
-  -> m ()
-glFogCoorddvEXT v1 = liftIO $ dyn39 ptr_glFogCoorddvEXT v1
-
-{-# NOINLINE ptr_glFogCoorddvEXT #-}
-ptr_glFogCoorddvEXT :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glFogCoorddvEXT = unsafePerformIO $ getCommand "glFogCoorddvEXT"
-
--- glFogCoordf -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glFogCoordfv'.
-glFogCoordf
-  :: MonadIO m
-  => GLfloat -- ^ @coord@ of type @CoordF@.
-  -> m ()
-glFogCoordf v1 = liftIO $ dyn79 ptr_glFogCoordf v1
-
-{-# NOINLINE ptr_glFogCoordf #-}
-ptr_glFogCoordf :: FunPtr (GLfloat -> IO ())
-ptr_glFogCoordf = unsafePerformIO $ getCommand "glFogCoordf"
-
--- glFogCoordfEXT --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glFogCoordfvEXT'. This command is an alias for 'glFogCoordf'.
-glFogCoordfEXT
-  :: MonadIO m
-  => GLfloat -- ^ @coord@ of type @CoordF@.
-  -> m ()
-glFogCoordfEXT v1 = liftIO $ dyn79 ptr_glFogCoordfEXT v1
-
-{-# NOINLINE ptr_glFogCoordfEXT #-}
-ptr_glFogCoordfEXT :: FunPtr (GLfloat -> IO ())
-ptr_glFogCoordfEXT = unsafePerformIO $ getCommand "glFogCoordfEXT"
-
--- glFogCoordfv ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFogCoord.xml OpenGL 2.x>.
-glFogCoordfv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @coord@ pointing to @1@ element of type @CoordF@.
-  -> m ()
-glFogCoordfv v1 = liftIO $ dyn41 ptr_glFogCoordfv v1
-
-{-# NOINLINE ptr_glFogCoordfv #-}
-ptr_glFogCoordfv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glFogCoordfv = unsafePerformIO $ getCommand "glFogCoordfv"
-
--- glFogCoordfvEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glFogCoordfv'.
-glFogCoordfvEXT
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @coord@ pointing to @1@ element of type @CoordF@.
-  -> m ()
-glFogCoordfvEXT v1 = liftIO $ dyn41 ptr_glFogCoordfvEXT v1
-
-{-# NOINLINE ptr_glFogCoordfvEXT #-}
-ptr_glFogCoordfvEXT :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glFogCoordfvEXT = unsafePerformIO $ getCommand "glFogCoordfvEXT"
-
--- glFogCoordhNV ---------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glFogCoordhvNV'.
-glFogCoordhNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @fog@ of type @Half16NV@.
-  -> m ()
-glFogCoordhNV v1 = liftIO $ dyn280 ptr_glFogCoordhNV v1
-
-{-# NOINLINE ptr_glFogCoordhNV #-}
-ptr_glFogCoordhNV :: FunPtr (GLhalfNV -> IO ())
-ptr_glFogCoordhNV = unsafePerformIO $ getCommand "glFogCoordhNV"
-
--- glFogCoordhvNV --------------------------------------------------------------
-
-glFogCoordhvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @fog@ pointing to @1@ element of type @Half16NV@.
-  -> m ()
-glFogCoordhvNV v1 = liftIO $ dyn98 ptr_glFogCoordhvNV v1
-
-{-# NOINLINE ptr_glFogCoordhvNV #-}
-ptr_glFogCoordhvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glFogCoordhvNV = unsafePerformIO $ getCommand "glFogCoordhvNV"
-
--- glFogFuncSGIS ---------------------------------------------------------------
-
-glFogFuncSGIS
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
-  -> m ()
-glFogFuncSGIS v1 v2 = liftIO $ dyn191 ptr_glFogFuncSGIS v1 v2
-
-{-# NOINLINE ptr_glFogFuncSGIS #-}
-ptr_glFogFuncSGIS :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
-ptr_glFogFuncSGIS = unsafePerformIO $ getCommand "glFogFuncSGIS"
-
--- glFogf ----------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
-glFogf
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#FogParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glFogf v1 v2 = liftIO $ dyn0 ptr_glFogf v1 v2
-
-{-# NOINLINE ptr_glFogf #-}
-ptr_glFogf :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glFogf = unsafePerformIO $ getCommand "glFogf"
-
--- glFogfv ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
-glFogfv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#FogParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glFogfv v1 v2 = liftIO $ dyn93 ptr_glFogfv v1 v2
-
-{-# NOINLINE ptr_glFogfv #-}
-ptr_glFogfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glFogfv = unsafePerformIO $ getCommand "glFogfv"
-
--- glFogi ----------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
-glFogi
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#FogParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glFogi v1 v2 = liftIO $ dyn55 ptr_glFogi v1 v2
-
-{-# NOINLINE ptr_glFogi #-}
-ptr_glFogi :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glFogi = unsafePerformIO $ getCommand "glFogi"
-
--- glFogiv ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFog.xml OpenGL 2.x>.
-glFogiv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FogParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#FogParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glFogiv v1 v2 = liftIO $ dyn135 ptr_glFogiv v1 v2
-
-{-# NOINLINE ptr_glFogiv #-}
-ptr_glFogiv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glFogiv = unsafePerformIO $ getCommand "glFogiv"
-
--- glFogx ----------------------------------------------------------------------
-
-glFogx
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glFogx v1 v2 = liftIO $ dyn1 ptr_glFogx v1 v2
-
-{-# NOINLINE ptr_glFogx #-}
-ptr_glFogx :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glFogx = unsafePerformIO $ getCommand "glFogx"
-
--- glFogxOES -------------------------------------------------------------------
-
-glFogxOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glFogxOES v1 v2 = liftIO $ dyn1 ptr_glFogxOES v1 v2
-
-{-# NOINLINE ptr_glFogxOES #-}
-ptr_glFogxOES :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glFogxOES = unsafePerformIO $ getCommand "glFogxOES"
-
--- glFogxv ---------------------------------------------------------------------
-
-glFogxv
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glFogxv v1 v2 = liftIO $ dyn94 ptr_glFogxv v1 v2
-
-{-# NOINLINE ptr_glFogxv #-}
-ptr_glFogxv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glFogxv = unsafePerformIO $ getCommand "glFogxv"
-
--- glFogxvOES ------------------------------------------------------------------
-
-glFogxvOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glFogxvOES v1 v2 = liftIO $ dyn94 ptr_glFogxvOES v1 v2
-
-{-# NOINLINE ptr_glFogxvOES #-}
-ptr_glFogxvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glFogxvOES = unsafePerformIO $ getCommand "glFogxvOES"
-
--- glFragmentColorMaterialSGIX -------------------------------------------------
-
-glFragmentColorMaterialSGIX
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @mode@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> m ()
-glFragmentColorMaterialSGIX v1 v2 = liftIO $ dyn51 ptr_glFragmentColorMaterialSGIX v1 v2
-
-{-# NOINLINE ptr_glFragmentColorMaterialSGIX #-}
-ptr_glFragmentColorMaterialSGIX :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glFragmentColorMaterialSGIX = unsafePerformIO $ getCommand "glFragmentColorMaterialSGIX"
-
--- glFragmentCoverageColorNV ---------------------------------------------------
-
-glFragmentCoverageColorNV
-  :: MonadIO m
-  => GLuint -- ^ @color@.
-  -> m ()
-glFragmentCoverageColorNV v1 = liftIO $ dyn2 ptr_glFragmentCoverageColorNV v1
-
-{-# NOINLINE ptr_glFragmentCoverageColorNV #-}
-ptr_glFragmentCoverageColorNV :: FunPtr (GLuint -> IO ())
-ptr_glFragmentCoverageColorNV = unsafePerformIO $ getCommand "glFragmentCoverageColorNV"
-
--- glFragmentLightModelfSGIX ---------------------------------------------------
-
-glFragmentLightModelfSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FragmentLightModelParameterSGIX).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glFragmentLightModelfSGIX v1 v2 = liftIO $ dyn0 ptr_glFragmentLightModelfSGIX v1 v2
-
-{-# NOINLINE ptr_glFragmentLightModelfSGIX #-}
-ptr_glFragmentLightModelfSGIX :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glFragmentLightModelfSGIX = unsafePerformIO $ getCommand "glFragmentLightModelfSGIX"
-
--- glFragmentLightModelfvSGIX --------------------------------------------------
-
-glFragmentLightModelfvSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FragmentLightModelParameterSGIX).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glFragmentLightModelfvSGIX v1 v2 = liftIO $ dyn93 ptr_glFragmentLightModelfvSGIX v1 v2
-
-{-# NOINLINE ptr_glFragmentLightModelfvSGIX #-}
-ptr_glFragmentLightModelfvSGIX :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glFragmentLightModelfvSGIX = unsafePerformIO $ getCommand "glFragmentLightModelfvSGIX"
-
--- glFragmentLightModeliSGIX ---------------------------------------------------
-
-glFragmentLightModeliSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FragmentLightModelParameterSGIX).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glFragmentLightModeliSGIX v1 v2 = liftIO $ dyn55 ptr_glFragmentLightModeliSGIX v1 v2
-
-{-# NOINLINE ptr_glFragmentLightModeliSGIX #-}
-ptr_glFragmentLightModeliSGIX :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glFragmentLightModeliSGIX = unsafePerformIO $ getCommand "glFragmentLightModeliSGIX"
-
--- glFragmentLightModelivSGIX --------------------------------------------------
-
-glFragmentLightModelivSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [FragmentLightModelParameterSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FragmentLightModelParameterSGIX).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glFragmentLightModelivSGIX v1 v2 = liftIO $ dyn135 ptr_glFragmentLightModelivSGIX v1 v2
-
-{-# NOINLINE ptr_glFragmentLightModelivSGIX #-}
-ptr_glFragmentLightModelivSGIX :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glFragmentLightModelivSGIX = unsafePerformIO $ getCommand "glFragmentLightModelivSGIX"
-
--- glFragmentLightfSGIX --------------------------------------------------------
-
-glFragmentLightfSGIX
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
-  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glFragmentLightfSGIX v1 v2 v3 = liftIO $ dyn160 ptr_glFragmentLightfSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentLightfSGIX #-}
-ptr_glFragmentLightfSGIX :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glFragmentLightfSGIX = unsafePerformIO $ getCommand "glFragmentLightfSGIX"
-
--- glFragmentLightfvSGIX -------------------------------------------------------
-
-glFragmentLightfvSGIX
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
-  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glFragmentLightfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glFragmentLightfvSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentLightfvSGIX #-}
-ptr_glFragmentLightfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glFragmentLightfvSGIX = unsafePerformIO $ getCommand "glFragmentLightfvSGIX"
-
--- glFragmentLightiSGIX --------------------------------------------------------
-
-glFragmentLightiSGIX
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
-  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glFragmentLightiSGIX v1 v2 v3 = liftIO $ dyn62 ptr_glFragmentLightiSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentLightiSGIX #-}
-ptr_glFragmentLightiSGIX :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glFragmentLightiSGIX = unsafePerformIO $ getCommand "glFragmentLightiSGIX"
-
--- glFragmentLightivSGIX -------------------------------------------------------
-
-glFragmentLightivSGIX
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
-  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glFragmentLightivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glFragmentLightivSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentLightivSGIX #-}
-ptr_glFragmentLightivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glFragmentLightivSGIX = unsafePerformIO $ getCommand "glFragmentLightivSGIX"
-
--- glFragmentMaterialfSGIX -----------------------------------------------------
-
-glFragmentMaterialfSGIX
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glFragmentMaterialfSGIX v1 v2 v3 = liftIO $ dyn160 ptr_glFragmentMaterialfSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentMaterialfSGIX #-}
-ptr_glFragmentMaterialfSGIX :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glFragmentMaterialfSGIX = unsafePerformIO $ getCommand "glFragmentMaterialfSGIX"
-
--- glFragmentMaterialfvSGIX ----------------------------------------------------
-
-glFragmentMaterialfvSGIX
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glFragmentMaterialfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glFragmentMaterialfvSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentMaterialfvSGIX #-}
-ptr_glFragmentMaterialfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glFragmentMaterialfvSGIX = unsafePerformIO $ getCommand "glFragmentMaterialfvSGIX"
-
--- glFragmentMaterialiSGIX -----------------------------------------------------
-
-glFragmentMaterialiSGIX
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glFragmentMaterialiSGIX v1 v2 v3 = liftIO $ dyn62 ptr_glFragmentMaterialiSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentMaterialiSGIX #-}
-ptr_glFragmentMaterialiSGIX :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glFragmentMaterialiSGIX = unsafePerformIO $ getCommand "glFragmentMaterialiSGIX"
-
--- glFragmentMaterialivSGIX ----------------------------------------------------
-
-glFragmentMaterialivSGIX
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glFragmentMaterialivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glFragmentMaterialivSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glFragmentMaterialivSGIX #-}
-ptr_glFragmentMaterialivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glFragmentMaterialivSGIX = unsafePerformIO $ getCommand "glFragmentMaterialivSGIX"
-
--- glFrameTerminatorGREMEDY ----------------------------------------------------
-
-glFrameTerminatorGREMEDY
-  :: MonadIO m
-  => m ()
-glFrameTerminatorGREMEDY = liftIO $ dyn10 ptr_glFrameTerminatorGREMEDY
-
-{-# NOINLINE ptr_glFrameTerminatorGREMEDY #-}
-ptr_glFrameTerminatorGREMEDY :: FunPtr (IO ())
-ptr_glFrameTerminatorGREMEDY = unsafePerformIO $ getCommand "glFrameTerminatorGREMEDY"
-
--- glFrameZoomSGIX -------------------------------------------------------------
-
-glFrameZoomSGIX
-  :: MonadIO m
-  => GLint -- ^ @factor@ of type @CheckedInt32@.
-  -> m ()
-glFrameZoomSGIX v1 = liftIO $ dyn12 ptr_glFrameZoomSGIX v1
-
-{-# NOINLINE ptr_glFrameZoomSGIX #-}
-ptr_glFrameZoomSGIX :: FunPtr (GLint -> IO ())
-ptr_glFrameZoomSGIX = unsafePerformIO $ getCommand "glFrameZoomSGIX"
-
--- glFramebufferDrawBufferEXT --------------------------------------------------
-
-glFramebufferDrawBufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @mode@ of type [DrawBufferMode](Graphics-Rendering-OpenGL-Raw-Groups.html#DrawBufferMode).
-  -> m ()
-glFramebufferDrawBufferEXT v1 v2 = liftIO $ dyn15 ptr_glFramebufferDrawBufferEXT v1 v2
-
-{-# NOINLINE ptr_glFramebufferDrawBufferEXT #-}
-ptr_glFramebufferDrawBufferEXT :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glFramebufferDrawBufferEXT = unsafePerformIO $ getCommand "glFramebufferDrawBufferEXT"
-
--- glFramebufferDrawBuffersEXT -------------------------------------------------
-
-glFramebufferDrawBuffersEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@ pointing to @n@ elements of type [DrawBufferMode](Graphics-Rendering-OpenGL-Raw-Groups.html#DrawBufferMode).
-  -> m ()
-glFramebufferDrawBuffersEXT v1 v2 v3 = liftIO $ dyn281 ptr_glFramebufferDrawBuffersEXT v1 v2 v3
-
-{-# NOINLINE ptr_glFramebufferDrawBuffersEXT #-}
-ptr_glFramebufferDrawBuffersEXT :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
-ptr_glFramebufferDrawBuffersEXT = unsafePerformIO $ getCommand "glFramebufferDrawBuffersEXT"
-
--- glFramebufferParameteri -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferParameteri.xhtml OpenGL 4.x>.
-glFramebufferParameteri
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glFramebufferParameteri v1 v2 v3 = liftIO $ dyn62 ptr_glFramebufferParameteri v1 v2 v3
-
-{-# NOINLINE ptr_glFramebufferParameteri #-}
-ptr_glFramebufferParameteri :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glFramebufferParameteri = unsafePerformIO $ getCommand "glFramebufferParameteri"
-
--- glFramebufferReadBufferEXT --------------------------------------------------
-
-glFramebufferReadBufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @mode@ of type [ReadBufferMode](Graphics-Rendering-OpenGL-Raw-Groups.html#ReadBufferMode).
-  -> m ()
-glFramebufferReadBufferEXT v1 v2 = liftIO $ dyn15 ptr_glFramebufferReadBufferEXT v1 v2
-
-{-# NOINLINE ptr_glFramebufferReadBufferEXT #-}
-ptr_glFramebufferReadBufferEXT :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glFramebufferReadBufferEXT = unsafePerformIO $ getCommand "glFramebufferReadBufferEXT"
-
--- glFramebufferRenderbuffer ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml OpenGL 4.x>.
-glFramebufferRenderbuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glFramebufferRenderbuffer v1 v2 v3 v4 = liftIO $ dyn282 ptr_glFramebufferRenderbuffer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferRenderbuffer #-}
-ptr_glFramebufferRenderbuffer :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glFramebufferRenderbuffer = unsafePerformIO $ getCommand "glFramebufferRenderbuffer"
-
--- glFramebufferRenderbufferEXT ------------------------------------------------
-
--- | This command is an alias for 'glFramebufferRenderbuffer'.
-glFramebufferRenderbufferEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glFramebufferRenderbufferEXT v1 v2 v3 v4 = liftIO $ dyn282 ptr_glFramebufferRenderbufferEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferRenderbufferEXT #-}
-ptr_glFramebufferRenderbufferEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glFramebufferRenderbufferEXT = unsafePerformIO $ getCommand "glFramebufferRenderbufferEXT"
-
--- glFramebufferRenderbufferOES ------------------------------------------------
-
-glFramebufferRenderbufferOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @renderbuffertarget@.
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glFramebufferRenderbufferOES v1 v2 v3 v4 = liftIO $ dyn282 ptr_glFramebufferRenderbufferOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferRenderbufferOES #-}
-ptr_glFramebufferRenderbufferOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glFramebufferRenderbufferOES = unsafePerformIO $ getCommand "glFramebufferRenderbufferOES"
-
--- glFramebufferSampleLocationsfvARB -------------------------------------------
-
-glFramebufferSampleLocationsfvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @start@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glFramebufferSampleLocationsfvARB v1 v2 v3 v4 = liftIO $ dyn283 ptr_glFramebufferSampleLocationsfvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferSampleLocationsfvARB #-}
-ptr_glFramebufferSampleLocationsfvARB :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glFramebufferSampleLocationsfvARB = unsafePerformIO $ getCommand "glFramebufferSampleLocationsfvARB"
-
--- glFramebufferSampleLocationsfvNV --------------------------------------------
-
-glFramebufferSampleLocationsfvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @start@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glFramebufferSampleLocationsfvNV v1 v2 v3 v4 = liftIO $ dyn283 ptr_glFramebufferSampleLocationsfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferSampleLocationsfvNV #-}
-ptr_glFramebufferSampleLocationsfvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glFramebufferSampleLocationsfvNV = unsafePerformIO $ getCommand "glFramebufferSampleLocationsfvNV"
-
--- glFramebufferTexture --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
-glFramebufferTexture
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glFramebufferTexture v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTexture v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferTexture #-}
-ptr_glFramebufferTexture :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTexture = unsafePerformIO $ getCommand "glFramebufferTexture"
-
--- glFramebufferTexture1D ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
-glFramebufferTexture1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glFramebufferTexture1D v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture1D v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTexture1D #-}
-ptr_glFramebufferTexture1D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTexture1D = unsafePerformIO $ getCommand "glFramebufferTexture1D"
-
--- glFramebufferTexture1DEXT ---------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTexture1D'.
-glFramebufferTexture1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glFramebufferTexture1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture1DEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTexture1DEXT #-}
-ptr_glFramebufferTexture1DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTexture1DEXT = unsafePerformIO $ getCommand "glFramebufferTexture1DEXT"
-
--- glFramebufferTexture2D ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
-glFramebufferTexture2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glFramebufferTexture2D v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture2D v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTexture2D #-}
-ptr_glFramebufferTexture2D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTexture2D = unsafePerformIO $ getCommand "glFramebufferTexture2D"
-
--- glFramebufferTexture2DEXT ---------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTexture2D'.
-glFramebufferTexture2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glFramebufferTexture2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture2DEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTexture2DEXT #-}
-ptr_glFramebufferTexture2DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTexture2DEXT = unsafePerformIO $ getCommand "glFramebufferTexture2DEXT"
-
--- glFramebufferTexture2DMultisampleEXT ----------------------------------------
-
-glFramebufferTexture2DMultisampleEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLsizei -- ^ @samples@.
-  -> m ()
-glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn286 ptr_glFramebufferTexture2DMultisampleEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFramebufferTexture2DMultisampleEXT #-}
-ptr_glFramebufferTexture2DMultisampleEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
-ptr_glFramebufferTexture2DMultisampleEXT = unsafePerformIO $ getCommand "glFramebufferTexture2DMultisampleEXT"
-
--- glFramebufferTexture2DMultisampleIMG ----------------------------------------
-
-glFramebufferTexture2DMultisampleIMG
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLsizei -- ^ @samples@.
-  -> m ()
-glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6 = liftIO $ dyn286 ptr_glFramebufferTexture2DMultisampleIMG v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFramebufferTexture2DMultisampleIMG #-}
-ptr_glFramebufferTexture2DMultisampleIMG :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> IO ())
-ptr_glFramebufferTexture2DMultisampleIMG = unsafePerformIO $ getCommand "glFramebufferTexture2DMultisampleIMG"
-
--- glFramebufferTexture2DOES ---------------------------------------------------
-
-glFramebufferTexture2DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glFramebufferTexture2DOES v1 v2 v3 v4 v5 = liftIO $ dyn285 ptr_glFramebufferTexture2DOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTexture2DOES #-}
-ptr_glFramebufferTexture2DOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTexture2DOES = unsafePerformIO $ getCommand "glFramebufferTexture2DOES"
-
--- glFramebufferTexture3D ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
-glFramebufferTexture3D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @zoffset@.
-  -> m ()
-glFramebufferTexture3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn287 ptr_glFramebufferTexture3D v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFramebufferTexture3D #-}
-ptr_glFramebufferTexture3D :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glFramebufferTexture3D = unsafePerformIO $ getCommand "glFramebufferTexture3D"
-
--- glFramebufferTexture3DEXT ---------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTexture3D'.
-glFramebufferTexture3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @zoffset@.
-  -> m ()
-glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn287 ptr_glFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFramebufferTexture3DEXT #-}
-ptr_glFramebufferTexture3DEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glFramebufferTexture3DEXT = unsafePerformIO $ getCommand "glFramebufferTexture3DEXT"
-
--- glFramebufferTexture3DOES ---------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTexture3D'.
-glFramebufferTexture3DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @textarget@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @zoffset@.
-  -> m ()
-glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn287 ptr_glFramebufferTexture3DOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFramebufferTexture3DOES #-}
-ptr_glFramebufferTexture3DOES :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glFramebufferTexture3DOES = unsafePerformIO $ getCommand "glFramebufferTexture3DOES"
-
--- glFramebufferTextureARB -----------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTexture'.
-glFramebufferTextureARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> m ()
-glFramebufferTextureARB v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTextureARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferTextureARB #-}
-ptr_glFramebufferTextureARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTextureARB = unsafePerformIO $ getCommand "glFramebufferTextureARB"
-
--- glFramebufferTextureEXT -----------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTexture'.
-glFramebufferTextureEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> m ()
-glFramebufferTextureEXT v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTextureEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferTextureEXT #-}
-ptr_glFramebufferTextureEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTextureEXT = unsafePerformIO $ getCommand "glFramebufferTextureEXT"
-
--- glFramebufferTextureFaceARB -------------------------------------------------
-
-glFramebufferTextureFaceARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> m ()
-glFramebufferTextureFaceARB v1 v2 v3 v4 v5 = liftIO $ dyn288 ptr_glFramebufferTextureFaceARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTextureFaceARB #-}
-ptr_glFramebufferTextureFaceARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-ptr_glFramebufferTextureFaceARB = unsafePerformIO $ getCommand "glFramebufferTextureFaceARB"
-
--- glFramebufferTextureFaceEXT -------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTextureFaceARB'.
-glFramebufferTextureFaceEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> m ()
-glFramebufferTextureFaceEXT v1 v2 v3 v4 v5 = liftIO $ dyn288 ptr_glFramebufferTextureFaceEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTextureFaceEXT #-}
-ptr_glFramebufferTextureFaceEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-ptr_glFramebufferTextureFaceEXT = unsafePerformIO $ getCommand "glFramebufferTextureFaceEXT"
-
--- glFramebufferTextureLayer ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glFramebufferTextureLayer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml OpenGL 4.x>.
-glFramebufferTextureLayer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @layer@ of type @CheckedInt32@.
-  -> m ()
-glFramebufferTextureLayer v1 v2 v3 v4 v5 = liftIO $ dyn289 ptr_glFramebufferTextureLayer v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTextureLayer #-}
-ptr_glFramebufferTextureLayer :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glFramebufferTextureLayer = unsafePerformIO $ getCommand "glFramebufferTextureLayer"
-
--- glFramebufferTextureLayerARB ------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTextureLayer'.
-glFramebufferTextureLayerARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @layer@ of type @CheckedInt32@.
-  -> m ()
-glFramebufferTextureLayerARB v1 v2 v3 v4 v5 = liftIO $ dyn289 ptr_glFramebufferTextureLayerARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTextureLayerARB #-}
-ptr_glFramebufferTextureLayerARB :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glFramebufferTextureLayerARB = unsafePerformIO $ getCommand "glFramebufferTextureLayerARB"
-
--- glFramebufferTextureLayerEXT ------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTextureLayer'.
-glFramebufferTextureLayerEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @layer@ of type @CheckedInt32@.
-  -> m ()
-glFramebufferTextureLayerEXT v1 v2 v3 v4 v5 = liftIO $ dyn289 ptr_glFramebufferTextureLayerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glFramebufferTextureLayerEXT #-}
-ptr_glFramebufferTextureLayerEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glFramebufferTextureLayerEXT = unsafePerformIO $ getCommand "glFramebufferTextureLayerEXT"
-
--- glFramebufferTextureMultisampleMultiviewOVR ---------------------------------
-
-glFramebufferTextureMultisampleMultiviewOVR
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @samples@.
-  -> GLint -- ^ @baseViewIndex@.
-  -> GLsizei -- ^ @numViews@.
-  -> m ()
-glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn290 ptr_glFramebufferTextureMultisampleMultiviewOVR v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glFramebufferTextureMultisampleMultiviewOVR #-}
-ptr_glFramebufferTextureMultisampleMultiviewOVR :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLsizei -> GLint -> GLsizei -> IO ())
-ptr_glFramebufferTextureMultisampleMultiviewOVR = unsafePerformIO $ getCommand "glFramebufferTextureMultisampleMultiviewOVR"
-
--- glFramebufferTextureMultiviewOVR --------------------------------------------
-
-glFramebufferTextureMultiviewOVR
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @baseViewIndex@.
-  -> GLsizei -- ^ @numViews@.
-  -> m ()
-glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6 = liftIO $ dyn291 ptr_glFramebufferTextureMultiviewOVR v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFramebufferTextureMultiviewOVR #-}
-ptr_glFramebufferTextureMultiviewOVR :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> GLint -> GLsizei -> IO ())
-ptr_glFramebufferTextureMultiviewOVR = unsafePerformIO $ getCommand "glFramebufferTextureMultiviewOVR"
-
--- glFramebufferTextureOES -----------------------------------------------------
-
--- | This command is an alias for 'glFramebufferTexture'.
-glFramebufferTextureOES
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> m ()
-glFramebufferTextureOES v1 v2 v3 v4 = liftIO $ dyn284 ptr_glFramebufferTextureOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glFramebufferTextureOES #-}
-ptr_glFramebufferTextureOES :: FunPtr (GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glFramebufferTextureOES = unsafePerformIO $ getCommand "glFramebufferTextureOES"
-
--- glFreeObjectBufferATI -------------------------------------------------------
-
-glFreeObjectBufferATI
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m ()
-glFreeObjectBufferATI v1 = liftIO $ dyn2 ptr_glFreeObjectBufferATI v1
-
-{-# NOINLINE ptr_glFreeObjectBufferATI #-}
-ptr_glFreeObjectBufferATI :: FunPtr (GLuint -> IO ())
-ptr_glFreeObjectBufferATI = unsafePerformIO $ getCommand "glFreeObjectBufferATI"
-
--- glFrontFace -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glFrontFace.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glFrontFace.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glFrontFace.xhtml OpenGL 4.x>.
-glFrontFace
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [FrontFaceDirection](Graphics-Rendering-OpenGL-Raw-Groups.html#FrontFaceDirection).
-  -> m ()
-glFrontFace v1 = liftIO $ dyn4 ptr_glFrontFace v1
-
-{-# NOINLINE ptr_glFrontFace #-}
-ptr_glFrontFace :: FunPtr (GLenum -> IO ())
-ptr_glFrontFace = unsafePerformIO $ getCommand "glFrontFace"
-
--- glFrustum -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glFrustum.xml OpenGL 2.x>.
-glFrustum
-  :: MonadIO m
-  => GLdouble -- ^ @left@.
-  -> GLdouble -- ^ @right@.
-  -> GLdouble -- ^ @bottom@.
-  -> GLdouble -- ^ @top@.
-  -> GLdouble -- ^ @zNear@.
-  -> GLdouble -- ^ @zFar@.
-  -> m ()
-glFrustum v1 v2 v3 v4 v5 v6 = liftIO $ dyn292 ptr_glFrustum v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFrustum #-}
-ptr_glFrustum :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glFrustum = unsafePerformIO $ getCommand "glFrustum"
-
--- glFrustumf ------------------------------------------------------------------
-
-glFrustumf
-  :: MonadIO m
-  => GLfloat -- ^ @l@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @n@.
-  -> GLfloat -- ^ @f@.
-  -> m ()
-glFrustumf v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glFrustumf v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFrustumf #-}
-ptr_glFrustumf :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glFrustumf = unsafePerformIO $ getCommand "glFrustumf"
-
--- glFrustumfOES ---------------------------------------------------------------
-
-glFrustumfOES
-  :: MonadIO m
-  => GLfloat -- ^ @l@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @n@.
-  -> GLfloat -- ^ @f@.
-  -> m ()
-glFrustumfOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glFrustumfOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFrustumfOES #-}
-ptr_glFrustumfOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glFrustumfOES = unsafePerformIO $ getCommand "glFrustumfOES"
-
--- glFrustumx ------------------------------------------------------------------
-
-glFrustumx
-  :: MonadIO m
-  => GLfixed -- ^ @l@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @b@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @n@.
-  -> GLfixed -- ^ @f@.
-  -> m ()
-glFrustumx v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glFrustumx v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFrustumx #-}
-ptr_glFrustumx :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glFrustumx = unsafePerformIO $ getCommand "glFrustumx"
-
--- glFrustumxOES ---------------------------------------------------------------
-
-glFrustumxOES
-  :: MonadIO m
-  => GLfixed -- ^ @l@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @b@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @n@.
-  -> GLfixed -- ^ @f@.
-  -> m ()
-glFrustumxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glFrustumxOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glFrustumxOES #-}
-ptr_glFrustumxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glFrustumxOES = unsafePerformIO $ getCommand "glFrustumxOES"
-
--- glGenAsyncMarkersSGIX -------------------------------------------------------
-
-glGenAsyncMarkersSGIX
-  :: MonadIO m
-  => GLsizei -- ^ @range@.
-  -> m GLuint
-glGenAsyncMarkersSGIX v1 = liftIO $ dyn294 ptr_glGenAsyncMarkersSGIX v1
-
-{-# NOINLINE ptr_glGenAsyncMarkersSGIX #-}
-ptr_glGenAsyncMarkersSGIX :: FunPtr (GLsizei -> IO GLuint)
-ptr_glGenAsyncMarkersSGIX = unsafePerformIO $ getCommand "glGenAsyncMarkersSGIX"
-
--- glGenBuffers ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenBuffers.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGenBuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenBuffers.xhtml OpenGL 4.x>.
-glGenBuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenBuffers v1 v2 = liftIO $ dyn192 ptr_glGenBuffers v1 v2
-
-{-# NOINLINE ptr_glGenBuffers #-}
-ptr_glGenBuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenBuffers = unsafePerformIO $ getCommand "glGenBuffers"
-
--- glGenBuffersARB -------------------------------------------------------------
-
--- | This command is an alias for 'glGenBuffers'.
-glGenBuffersARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @buffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenBuffersARB v1 v2 = liftIO $ dyn192 ptr_glGenBuffersARB v1 v2
-
-{-# NOINLINE ptr_glGenBuffersARB #-}
-ptr_glGenBuffersARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenBuffersARB = unsafePerformIO $ getCommand "glGenBuffersARB"
-
--- glGenFencesAPPLE ------------------------------------------------------------
-
-glGenFencesAPPLE
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
-  -> m ()
-glGenFencesAPPLE v1 v2 = liftIO $ dyn192 ptr_glGenFencesAPPLE v1 v2
-
-{-# NOINLINE ptr_glGenFencesAPPLE #-}
-ptr_glGenFencesAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenFencesAPPLE = unsafePerformIO $ getCommand "glGenFencesAPPLE"
-
--- glGenFencesNV ---------------------------------------------------------------
-
-glGenFencesNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @fences@ pointing to @n@ elements of type @FenceNV@.
-  -> m ()
-glGenFencesNV v1 v2 = liftIO $ dyn192 ptr_glGenFencesNV v1 v2
-
-{-# NOINLINE ptr_glGenFencesNV #-}
-ptr_glGenFencesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenFencesNV = unsafePerformIO $ getCommand "glGenFencesNV"
-
--- glGenFragmentShadersATI -----------------------------------------------------
-
-glGenFragmentShadersATI
-  :: MonadIO m
-  => GLuint -- ^ @range@.
-  -> m GLuint
-glGenFragmentShadersATI v1 = liftIO $ dyn295 ptr_glGenFragmentShadersATI v1
-
-{-# NOINLINE ptr_glGenFragmentShadersATI #-}
-ptr_glGenFragmentShadersATI :: FunPtr (GLuint -> IO GLuint)
-ptr_glGenFragmentShadersATI = unsafePerformIO $ getCommand "glGenFragmentShadersATI"
-
--- glGenFramebuffers -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenFramebuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenFramebuffers.xhtml OpenGL 4.x>.
-glGenFramebuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenFramebuffers v1 v2 = liftIO $ dyn192 ptr_glGenFramebuffers v1 v2
-
-{-# NOINLINE ptr_glGenFramebuffers #-}
-ptr_glGenFramebuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenFramebuffers = unsafePerformIO $ getCommand "glGenFramebuffers"
-
--- glGenFramebuffersEXT --------------------------------------------------------
-
--- | This command is an alias for 'glGenFramebuffers'.
-glGenFramebuffersEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenFramebuffersEXT v1 v2 = liftIO $ dyn192 ptr_glGenFramebuffersEXT v1 v2
-
-{-# NOINLINE ptr_glGenFramebuffersEXT #-}
-ptr_glGenFramebuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenFramebuffersEXT = unsafePerformIO $ getCommand "glGenFramebuffersEXT"
-
--- glGenFramebuffersOES --------------------------------------------------------
-
-glGenFramebuffersOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @framebuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenFramebuffersOES v1 v2 = liftIO $ dyn192 ptr_glGenFramebuffersOES v1 v2
-
-{-# NOINLINE ptr_glGenFramebuffersOES #-}
-ptr_glGenFramebuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenFramebuffersOES = unsafePerformIO $ getCommand "glGenFramebuffersOES"
-
--- glGenLists ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenLists.xml OpenGL 2.x>.
-glGenLists
-  :: MonadIO m
-  => GLsizei -- ^ @range@.
-  -> m GLuint -- ^ of type @List@.
-glGenLists v1 = liftIO $ dyn294 ptr_glGenLists v1
-
-{-# NOINLINE ptr_glGenLists #-}
-ptr_glGenLists :: FunPtr (GLsizei -> IO GLuint)
-ptr_glGenLists = unsafePerformIO $ getCommand "glGenLists"
-
--- glGenNamesAMD ---------------------------------------------------------------
-
-glGenNamesAMD
-  :: MonadIO m
-  => GLenum -- ^ @identifier@.
-  -> GLuint -- ^ @num@.
-  -> Ptr GLuint -- ^ @names@ pointing to @num@ elements of type @GLuint@.
-  -> m ()
-glGenNamesAMD v1 v2 v3 = liftIO $ dyn213 ptr_glGenNamesAMD v1 v2 v3
-
-{-# NOINLINE ptr_glGenNamesAMD #-}
-ptr_glGenNamesAMD :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glGenNamesAMD = unsafePerformIO $ getCommand "glGenNamesAMD"
-
--- glGenOcclusionQueriesNV -----------------------------------------------------
-
-glGenOcclusionQueriesNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenOcclusionQueriesNV v1 v2 = liftIO $ dyn192 ptr_glGenOcclusionQueriesNV v1 v2
-
-{-# NOINLINE ptr_glGenOcclusionQueriesNV #-}
-ptr_glGenOcclusionQueriesNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenOcclusionQueriesNV = unsafePerformIO $ getCommand "glGenOcclusionQueriesNV"
-
--- glGenPathsNV ----------------------------------------------------------------
-
-glGenPathsNV
-  :: MonadIO m
-  => GLsizei -- ^ @range@.
-  -> m GLuint -- ^ of type @Path@.
-glGenPathsNV v1 = liftIO $ dyn294 ptr_glGenPathsNV v1
-
-{-# NOINLINE ptr_glGenPathsNV #-}
-ptr_glGenPathsNV :: FunPtr (GLsizei -> IO GLuint)
-ptr_glGenPathsNV = unsafePerformIO $ getCommand "glGenPathsNV"
-
--- glGenPerfMonitorsAMD --------------------------------------------------------
-
-glGenPerfMonitorsAMD
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @monitors@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenPerfMonitorsAMD v1 v2 = liftIO $ dyn192 ptr_glGenPerfMonitorsAMD v1 v2
-
-{-# NOINLINE ptr_glGenPerfMonitorsAMD #-}
-ptr_glGenPerfMonitorsAMD :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenPerfMonitorsAMD = unsafePerformIO $ getCommand "glGenPerfMonitorsAMD"
-
--- glGenProgramPipelines -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGenProgramPipelines.xhtml OpenGL 4.x>.
-glGenProgramPipelines
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenProgramPipelines v1 v2 = liftIO $ dyn192 ptr_glGenProgramPipelines v1 v2
-
-{-# NOINLINE ptr_glGenProgramPipelines #-}
-ptr_glGenProgramPipelines :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenProgramPipelines = unsafePerformIO $ getCommand "glGenProgramPipelines"
-
--- glGenProgramPipelinesEXT ----------------------------------------------------
-
-glGenProgramPipelinesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @pipelines@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenProgramPipelinesEXT v1 v2 = liftIO $ dyn192 ptr_glGenProgramPipelinesEXT v1 v2
-
-{-# NOINLINE ptr_glGenProgramPipelinesEXT #-}
-ptr_glGenProgramPipelinesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenProgramPipelinesEXT = unsafePerformIO $ getCommand "glGenProgramPipelinesEXT"
-
--- glGenProgramsARB ------------------------------------------------------------
-
-glGenProgramsARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenProgramsARB v1 v2 = liftIO $ dyn192 ptr_glGenProgramsARB v1 v2
-
-{-# NOINLINE ptr_glGenProgramsARB #-}
-ptr_glGenProgramsARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenProgramsARB = unsafePerformIO $ getCommand "glGenProgramsARB"
-
--- glGenProgramsNV -------------------------------------------------------------
-
--- | This command is an alias for 'glGenProgramsARB'.
-glGenProgramsNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenProgramsNV v1 v2 = liftIO $ dyn192 ptr_glGenProgramsNV v1 v2
-
-{-# NOINLINE ptr_glGenProgramsNV #-}
-ptr_glGenProgramsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenProgramsNV = unsafePerformIO $ getCommand "glGenProgramsNV"
-
--- glGenQueries ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenQueries.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGenQueries.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenQueries.xhtml OpenGL 4.x>.
-glGenQueries
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenQueries v1 v2 = liftIO $ dyn192 ptr_glGenQueries v1 v2
-
-{-# NOINLINE ptr_glGenQueries #-}
-ptr_glGenQueries :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenQueries = unsafePerformIO $ getCommand "glGenQueries"
-
--- glGenQueriesARB -------------------------------------------------------------
-
--- | This command is an alias for 'glGenQueries'.
-glGenQueriesARB
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenQueriesARB v1 v2 = liftIO $ dyn192 ptr_glGenQueriesARB v1 v2
-
-{-# NOINLINE ptr_glGenQueriesARB #-}
-ptr_glGenQueriesARB :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenQueriesARB = unsafePerformIO $ getCommand "glGenQueriesARB"
-
--- glGenQueriesEXT -------------------------------------------------------------
-
-glGenQueriesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenQueriesEXT v1 v2 = liftIO $ dyn192 ptr_glGenQueriesEXT v1 v2
-
-{-# NOINLINE ptr_glGenQueriesEXT #-}
-ptr_glGenQueriesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenQueriesEXT = unsafePerformIO $ getCommand "glGenQueriesEXT"
-
--- glGenRenderbuffers ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenRenderbuffers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenRenderbuffers.xhtml OpenGL 4.x>.
-glGenRenderbuffers
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenRenderbuffers v1 v2 = liftIO $ dyn192 ptr_glGenRenderbuffers v1 v2
-
-{-# NOINLINE ptr_glGenRenderbuffers #-}
-ptr_glGenRenderbuffers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenRenderbuffers = unsafePerformIO $ getCommand "glGenRenderbuffers"
-
--- glGenRenderbuffersEXT -------------------------------------------------------
-
--- | This command is an alias for 'glGenRenderbuffers'.
-glGenRenderbuffersEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenRenderbuffersEXT v1 v2 = liftIO $ dyn192 ptr_glGenRenderbuffersEXT v1 v2
-
-{-# NOINLINE ptr_glGenRenderbuffersEXT #-}
-ptr_glGenRenderbuffersEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenRenderbuffersEXT = unsafePerformIO $ getCommand "glGenRenderbuffersEXT"
-
--- glGenRenderbuffersOES -------------------------------------------------------
-
-glGenRenderbuffersOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @renderbuffers@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenRenderbuffersOES v1 v2 = liftIO $ dyn192 ptr_glGenRenderbuffersOES v1 v2
-
-{-# NOINLINE ptr_glGenRenderbuffersOES #-}
-ptr_glGenRenderbuffersOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenRenderbuffersOES = unsafePerformIO $ getCommand "glGenRenderbuffersOES"
-
--- glGenSamplers ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenSamplers.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenSamplers.xhtml OpenGL 4.x>.
-glGenSamplers
-  :: MonadIO m
-  => GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @samplers@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glGenSamplers v1 v2 = liftIO $ dyn192 ptr_glGenSamplers v1 v2
-
-{-# NOINLINE ptr_glGenSamplers #-}
-ptr_glGenSamplers :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenSamplers = unsafePerformIO $ getCommand "glGenSamplers"
-
--- glGenSymbolsEXT -------------------------------------------------------------
-
-glGenSymbolsEXT
-  :: MonadIO m
-  => GLenum -- ^ @datatype@ of type @DataTypeEXT@.
-  -> GLenum -- ^ @storagetype@ of type @VertexShaderStorageTypeEXT@.
-  -> GLenum -- ^ @range@ of type @ParameterRangeEXT@.
-  -> GLuint -- ^ @components@.
-  -> m GLuint
-glGenSymbolsEXT v1 v2 v3 v4 = liftIO $ dyn296 ptr_glGenSymbolsEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGenSymbolsEXT #-}
-ptr_glGenSymbolsEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO GLuint)
-ptr_glGenSymbolsEXT = unsafePerformIO $ getCommand "glGenSymbolsEXT"
-
--- glGenTextures ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGenTextures.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGenTextures.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenTextures.xhtml OpenGL 4.x>.
-glGenTextures
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> m ()
-glGenTextures v1 v2 = liftIO $ dyn192 ptr_glGenTextures v1 v2
-
-{-# NOINLINE ptr_glGenTextures #-}
-ptr_glGenTextures :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenTextures = unsafePerformIO $ getCommand "glGenTextures"
-
--- glGenTexturesEXT ------------------------------------------------------------
-
-glGenTexturesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> m ()
-glGenTexturesEXT v1 v2 = liftIO $ dyn192 ptr_glGenTexturesEXT v1 v2
-
-{-# NOINLINE ptr_glGenTexturesEXT #-}
-ptr_glGenTexturesEXT :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenTexturesEXT = unsafePerformIO $ getCommand "glGenTexturesEXT"
-
--- glGenTransformFeedbacks -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGenTransformFeedbacks.xhtml OpenGL 4.x>.
-glGenTransformFeedbacks
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenTransformFeedbacks v1 v2 = liftIO $ dyn192 ptr_glGenTransformFeedbacks v1 v2
-
-{-# NOINLINE ptr_glGenTransformFeedbacks #-}
-ptr_glGenTransformFeedbacks :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenTransformFeedbacks = unsafePerformIO $ getCommand "glGenTransformFeedbacks"
-
--- glGenTransformFeedbacksNV ---------------------------------------------------
-
--- | This command is an alias for 'glGenTransformFeedbacks'.
-glGenTransformFeedbacksNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenTransformFeedbacksNV v1 v2 = liftIO $ dyn192 ptr_glGenTransformFeedbacksNV v1 v2
-
-{-# NOINLINE ptr_glGenTransformFeedbacksNV #-}
-ptr_glGenTransformFeedbacksNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenTransformFeedbacksNV = unsafePerformIO $ getCommand "glGenTransformFeedbacksNV"
-
--- glGenVertexArrays -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenVertexArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenVertexArrays.xhtml OpenGL 4.x>.
-glGenVertexArrays
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenVertexArrays v1 v2 = liftIO $ dyn192 ptr_glGenVertexArrays v1 v2
-
-{-# NOINLINE ptr_glGenVertexArrays #-}
-ptr_glGenVertexArrays :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenVertexArrays = unsafePerformIO $ getCommand "glGenVertexArrays"
-
--- glGenVertexArraysAPPLE ------------------------------------------------------
-
--- | This command is an alias for 'glGenVertexArrays'.
-glGenVertexArraysAPPLE
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenVertexArraysAPPLE v1 v2 = liftIO $ dyn192 ptr_glGenVertexArraysAPPLE v1 v2
-
-{-# NOINLINE ptr_glGenVertexArraysAPPLE #-}
-ptr_glGenVertexArraysAPPLE :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenVertexArraysAPPLE = unsafePerformIO $ getCommand "glGenVertexArraysAPPLE"
-
--- glGenVertexArraysOES --------------------------------------------------------
-
--- | This command is an alias for 'glGenVertexArrays'.
-glGenVertexArraysOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @arrays@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glGenVertexArraysOES v1 v2 = liftIO $ dyn192 ptr_glGenVertexArraysOES v1 v2
-
-{-# NOINLINE ptr_glGenVertexArraysOES #-}
-ptr_glGenVertexArraysOES :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glGenVertexArraysOES = unsafePerformIO $ getCommand "glGenVertexArraysOES"
-
--- glGenVertexShadersEXT -------------------------------------------------------
-
-glGenVertexShadersEXT
-  :: MonadIO m
-  => GLuint -- ^ @range@.
-  -> m GLuint
-glGenVertexShadersEXT v1 = liftIO $ dyn295 ptr_glGenVertexShadersEXT v1
-
-{-# NOINLINE ptr_glGenVertexShadersEXT #-}
-ptr_glGenVertexShadersEXT :: FunPtr (GLuint -> IO GLuint)
-ptr_glGenVertexShadersEXT = unsafePerformIO $ getCommand "glGenVertexShadersEXT"
-
--- glGenerateMipmap ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGenerateMipmap.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGenerateMipmap.xhtml OpenGL 4.x>.
-glGenerateMipmap
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glGenerateMipmap v1 = liftIO $ dyn4 ptr_glGenerateMipmap v1
-
-{-# NOINLINE ptr_glGenerateMipmap #-}
-ptr_glGenerateMipmap :: FunPtr (GLenum -> IO ())
-ptr_glGenerateMipmap = unsafePerformIO $ getCommand "glGenerateMipmap"
-
--- glGenerateMipmapEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glGenerateMipmap'.
-glGenerateMipmapEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glGenerateMipmapEXT v1 = liftIO $ dyn4 ptr_glGenerateMipmapEXT v1
-
-{-# NOINLINE ptr_glGenerateMipmapEXT #-}
-ptr_glGenerateMipmapEXT :: FunPtr (GLenum -> IO ())
-ptr_glGenerateMipmapEXT = unsafePerformIO $ getCommand "glGenerateMipmapEXT"
-
--- glGenerateMipmapOES ---------------------------------------------------------
-
-glGenerateMipmapOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glGenerateMipmapOES v1 = liftIO $ dyn4 ptr_glGenerateMipmapOES v1
-
-{-# NOINLINE ptr_glGenerateMipmapOES #-}
-ptr_glGenerateMipmapOES :: FunPtr (GLenum -> IO ())
-ptr_glGenerateMipmapOES = unsafePerformIO $ getCommand "glGenerateMipmapOES"
-
--- glGenerateMultiTexMipmapEXT -------------------------------------------------
-
-glGenerateMultiTexMipmapEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> m ()
-glGenerateMultiTexMipmapEXT v1 v2 = liftIO $ dyn51 ptr_glGenerateMultiTexMipmapEXT v1 v2
-
-{-# NOINLINE ptr_glGenerateMultiTexMipmapEXT #-}
-ptr_glGenerateMultiTexMipmapEXT :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glGenerateMultiTexMipmapEXT = unsafePerformIO $ getCommand "glGenerateMultiTexMipmapEXT"
-
--- glGenerateTextureMipmap -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGenerateMipmap.xhtml OpenGL 4.x>.
-glGenerateTextureMipmap
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> m ()
-glGenerateTextureMipmap v1 = liftIO $ dyn2 ptr_glGenerateTextureMipmap v1
-
-{-# NOINLINE ptr_glGenerateTextureMipmap #-}
-ptr_glGenerateTextureMipmap :: FunPtr (GLuint -> IO ())
-ptr_glGenerateTextureMipmap = unsafePerformIO $ getCommand "glGenerateTextureMipmap"
-
--- glGenerateTextureMipmapEXT --------------------------------------------------
-
-glGenerateTextureMipmapEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> m ()
-glGenerateTextureMipmapEXT v1 v2 = liftIO $ dyn15 ptr_glGenerateTextureMipmapEXT v1 v2
-
-{-# NOINLINE ptr_glGenerateTextureMipmapEXT #-}
-ptr_glGenerateTextureMipmapEXT :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glGenerateTextureMipmapEXT = unsafePerformIO $ getCommand "glGenerateTextureMipmapEXT"
-
--- glGetActiveAtomicCounterBufferiv --------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveAtomicCounterBufferiv.xhtml OpenGL 4.x>.
-glGetActiveAtomicCounterBufferiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @bufferIndex@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetActiveAtomicCounterBufferiv v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetActiveAtomicCounterBufferiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetActiveAtomicCounterBufferiv #-}
-ptr_glGetActiveAtomicCounterBufferiv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetActiveAtomicCounterBufferiv = unsafePerformIO $ getCommand "glGetActiveAtomicCounterBufferiv"
-
--- glGetActiveAttrib -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetActiveAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveAttrib.xhtml OpenGL 4.x>.
-glGetActiveAttrib
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
-  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn298 ptr_glGetActiveAttrib v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetActiveAttrib #-}
-ptr_glGetActiveAttrib :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-ptr_glGetActiveAttrib = unsafePerformIO $ getCommand "glGetActiveAttrib"
-
--- glGetActiveAttribARB --------------------------------------------------------
-
--- | This command is an alias for 'glGetActiveAttrib'.
-glGetActiveAttribARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @maxLength@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
-  -> Ptr GLcharARB -- ^ @name@ pointing to @maxLength@ elements of type @GLcharARB@.
-  -> m ()
-glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn299 ptr_glGetActiveAttribARB v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetActiveAttribARB #-}
-ptr_glGetActiveAttribARB :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
-ptr_glGetActiveAttribARB = unsafePerformIO $ getCommand "glGetActiveAttribARB"
-
--- glGetActiveSubroutineName ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineName.xhtml OpenGL 4.x>.
-glGetActiveSubroutineName
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufsize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @name@ pointing to @bufsize@ elements of type @GLchar@.
-  -> m ()
-glGetActiveSubroutineName v1 v2 v3 v4 v5 v6 = liftIO $ dyn300 ptr_glGetActiveSubroutineName v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetActiveSubroutineName #-}
-ptr_glGetActiveSubroutineName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetActiveSubroutineName = unsafePerformIO $ getCommand "glGetActiveSubroutineName"
-
--- glGetActiveSubroutineUniformName --------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineUniformName.xhtml OpenGL 4.x>.
-glGetActiveSubroutineUniformName
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufsize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @name@ pointing to @bufsize@ elements of type @GLchar@.
-  -> m ()
-glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6 = liftIO $ dyn300 ptr_glGetActiveSubroutineUniformName v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetActiveSubroutineUniformName #-}
-ptr_glGetActiveSubroutineUniformName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetActiveSubroutineUniformName = unsafePerformIO $ getCommand "glGetActiveSubroutineUniformName"
-
--- glGetActiveSubroutineUniformiv ----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetActiveSubroutineUniform.xhtml OpenGL 4.x>.
-glGetActiveSubroutineUniformiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @values@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5 = liftIO $ dyn301 ptr_glGetActiveSubroutineUniformiv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetActiveSubroutineUniformiv #-}
-ptr_glGetActiveSubroutineUniformiv :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetActiveSubroutineUniformiv = unsafePerformIO $ getCommand "glGetActiveSubroutineUniformiv"
-
--- glGetActiveUniform ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetActiveUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniform.xhtml OpenGL 4.x>.
-glGetActiveUniform
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
-  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetActiveUniform v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn298 ptr_glGetActiveUniform v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetActiveUniform #-}
-ptr_glGetActiveUniform :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLchar -> IO ())
-ptr_glGetActiveUniform = unsafePerformIO $ getCommand "glGetActiveUniform"
-
--- glGetActiveUniformARB -------------------------------------------------------
-
--- | This command is an alias for 'glGetActiveUniform'.
-glGetActiveUniformARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @maxLength@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLint -- ^ @size@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
-  -> Ptr GLcharARB -- ^ @name@ pointing to @maxLength@ elements of type @GLcharARB@.
-  -> m ()
-glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn299 ptr_glGetActiveUniformARB v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetActiveUniformARB #-}
-ptr_glGetActiveUniformARB :: FunPtr (GLhandleARB -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLint -> Ptr GLenum -> Ptr GLcharARB -> IO ())
-ptr_glGetActiveUniformARB = unsafePerformIO $ getCommand "glGetActiveUniformARB"
-
--- glGetActiveUniformBlockName -------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlockName.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformBlockName.xhtml OpenGL 4.x>.
-glGetActiveUniformBlockName
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @uniformBlockIndex@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @uniformBlockName@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetActiveUniformBlockName v1 v2 v3 v4 v5 = liftIO $ dyn302 ptr_glGetActiveUniformBlockName v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetActiveUniformBlockName #-}
-ptr_glGetActiveUniformBlockName :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetActiveUniformBlockName = unsafePerformIO $ getCommand "glGetActiveUniformBlockName"
-
--- glGetActiveUniformBlockiv ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformBlock.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformBlock.xhtml OpenGL 4.x>.
-glGetActiveUniformBlockiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @uniformBlockIndex@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(program,uniformBlockIndex,pname)@ elements of type @GLint@.
-  -> m ()
-glGetActiveUniformBlockiv v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetActiveUniformBlockiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetActiveUniformBlockiv #-}
-ptr_glGetActiveUniformBlockiv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetActiveUniformBlockiv = unsafePerformIO $ getCommand "glGetActiveUniformBlockiv"
-
--- glGetActiveUniformName ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformName.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformName.xhtml OpenGL 4.x>.
-glGetActiveUniformName
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @uniformIndex@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @uniformName@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetActiveUniformName v1 v2 v3 v4 v5 = liftIO $ dyn302 ptr_glGetActiveUniformName v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetActiveUniformName #-}
-ptr_glGetActiveUniformName :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetActiveUniformName = unsafePerformIO $ getCommand "glGetActiveUniformName"
-
--- glGetActiveUniformsiv -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetActiveUniformsiv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetActiveUniformsiv.xhtml OpenGL 4.x>.
-glGetActiveUniformsiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @uniformCount@.
-  -> Ptr GLuint -- ^ @uniformIndices@ pointing to @uniformCount@ elements of type @GLuint@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(uniformCount,pname)@ elements of type @GLint@.
-  -> m ()
-glGetActiveUniformsiv v1 v2 v3 v4 v5 = liftIO $ dyn303 ptr_glGetActiveUniformsiv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetActiveUniformsiv #-}
-ptr_glGetActiveUniformsiv :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetActiveUniformsiv = unsafePerformIO $ getCommand "glGetActiveUniformsiv"
-
--- glGetActiveVaryingNV --------------------------------------------------------
-
-glGetActiveVaryingNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLsizei -- ^ @size@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(program,index,bufSize)@ elements of type @GLchar@.
-  -> m ()
-glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn304 ptr_glGetActiveVaryingNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetActiveVaryingNV #-}
-ptr_glGetActiveVaryingNV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-ptr_glGetActiveVaryingNV = unsafePerformIO $ getCommand "glGetActiveVaryingNV"
-
--- glGetArrayObjectfvATI -------------------------------------------------------
-
-glGetArrayObjectfvATI
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glGetArrayObjectfvATI v1 v2 v3 = liftIO $ dyn131 ptr_glGetArrayObjectfvATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetArrayObjectfvATI #-}
-ptr_glGetArrayObjectfvATI :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetArrayObjectfvATI = unsafePerformIO $ getCommand "glGetArrayObjectfvATI"
-
--- glGetArrayObjectivATI -------------------------------------------------------
-
-glGetArrayObjectivATI
-  :: MonadIO m
-  => GLenum -- ^ @array@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetArrayObjectivATI v1 v2 v3 = liftIO $ dyn132 ptr_glGetArrayObjectivATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetArrayObjectivATI #-}
-ptr_glGetArrayObjectivATI :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetArrayObjectivATI = unsafePerformIO $ getCommand "glGetArrayObjectivATI"
-
--- glGetAttachedObjectsARB -----------------------------------------------------
-
-glGetAttachedObjectsARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @containerObj@ of type @handleARB@.
-  -> GLsizei -- ^ @maxCount@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLhandleARB -- ^ @obj@ pointing to @maxCount@ elements of type @handleARB@.
-  -> m ()
-glGetAttachedObjectsARB v1 v2 v3 v4 = liftIO $ dyn305 ptr_glGetAttachedObjectsARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetAttachedObjectsARB #-}
-ptr_glGetAttachedObjectsARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLhandleARB -> IO ())
-ptr_glGetAttachedObjectsARB = unsafePerformIO $ getCommand "glGetAttachedObjectsARB"
-
--- glGetAttachedShaders --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetAttachedShaders.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetAttachedShaders.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetAttachedShaders.xhtml OpenGL 4.x>.
-glGetAttachedShaders
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @maxCount@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLuint -- ^ @shaders@ pointing to @maxCount@ elements of type @GLuint@.
-  -> m ()
-glGetAttachedShaders v1 v2 v3 v4 = liftIO $ dyn306 ptr_glGetAttachedShaders v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetAttachedShaders #-}
-ptr_glGetAttachedShaders :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetAttachedShaders = unsafePerformIO $ getCommand "glGetAttachedShaders"
-
--- glGetAttribLocation ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetAttribLocation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetAttribLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetAttribLocation.xhtml OpenGL 4.x>.
-glGetAttribLocation
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m GLint
-glGetAttribLocation v1 v2 = liftIO $ dyn307 ptr_glGetAttribLocation v1 v2
-
-{-# NOINLINE ptr_glGetAttribLocation #-}
-ptr_glGetAttribLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-ptr_glGetAttribLocation = unsafePerformIO $ getCommand "glGetAttribLocation"
-
--- glGetAttribLocationARB ------------------------------------------------------
-
--- | This command is an alias for 'glGetAttribLocation'.
-glGetAttribLocationARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> Ptr GLcharARB -- ^ @name@.
-  -> m GLint
-glGetAttribLocationARB v1 v2 = liftIO $ dyn308 ptr_glGetAttribLocationARB v1 v2
-
-{-# NOINLINE ptr_glGetAttribLocationARB #-}
-ptr_glGetAttribLocationARB :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
-ptr_glGetAttribLocationARB = unsafePerformIO $ getCommand "glGetAttribLocationARB"
-
--- glGetBooleanIndexedvEXT -----------------------------------------------------
-
--- | This command is an alias for 'glGetBooleani_v'.
-glGetBooleanIndexedvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glGetBooleanIndexedvEXT v1 v2 v3 = liftIO $ dyn309 ptr_glGetBooleanIndexedvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetBooleanIndexedvEXT #-}
-ptr_glGetBooleanIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
-ptr_glGetBooleanIndexedvEXT = unsafePerformIO $ getCommand "glGetBooleanIndexedvEXT"
-
--- glGetBooleani_v -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetBooleani_v
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glGetBooleani_v v1 v2 v3 = liftIO $ dyn309 ptr_glGetBooleani_v v1 v2 v3
-
-{-# NOINLINE ptr_glGetBooleani_v #-}
-ptr_glGetBooleani_v :: FunPtr (GLenum -> GLuint -> Ptr GLboolean -> IO ())
-ptr_glGetBooleani_v = unsafePerformIO $ getCommand "glGetBooleani_v"
-
--- glGetBooleanv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetBooleanv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [GetPName](Graphics-Rendering-OpenGL-Raw-Groups.html#GetPName).
-  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glGetBooleanv v1 v2 = liftIO $ dyn310 ptr_glGetBooleanv v1 v2
-
-{-# NOINLINE ptr_glGetBooleanv #-}
-ptr_glGetBooleanv :: FunPtr (GLenum -> Ptr GLboolean -> IO ())
-ptr_glGetBooleanv = unsafePerformIO $ getCommand "glGetBooleanv"
-
--- glGetBufferParameteri64v ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
-glGetBufferParameteri64v
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLenum -- ^ @pname@ of type @BufferPNameARB@.
-  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
-  -> m ()
-glGetBufferParameteri64v v1 v2 v3 = liftIO $ dyn311 ptr_glGetBufferParameteri64v v1 v2 v3
-
-{-# NOINLINE ptr_glGetBufferParameteri64v #-}
-ptr_glGetBufferParameteri64v :: FunPtr (GLenum -> GLenum -> Ptr GLint64 -> IO ())
-ptr_glGetBufferParameteri64v = unsafePerformIO $ getCommand "glGetBufferParameteri64v"
-
--- glGetBufferParameteriv ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetBufferParameteriv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
-glGetBufferParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLenum -- ^ @pname@ of type @BufferPNameARB@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetBufferParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetBufferParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetBufferParameteriv #-}
-ptr_glGetBufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetBufferParameteriv = unsafePerformIO $ getCommand "glGetBufferParameteriv"
-
--- glGetBufferParameterivARB ---------------------------------------------------
-
--- | This command is an alias for 'glGetBufferParameteriv'.
-glGetBufferParameterivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLenum -- ^ @pname@ of type @BufferPNameARB@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetBufferParameterivARB v1 v2 v3 = liftIO $ dyn132 ptr_glGetBufferParameterivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetBufferParameterivARB #-}
-ptr_glGetBufferParameterivARB :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetBufferParameterivARB = unsafePerformIO $ getCommand "glGetBufferParameterivARB"
-
--- glGetBufferParameterui64vNV -------------------------------------------------
-
-glGetBufferParameterui64vNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
-  -> m ()
-glGetBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn312 ptr_glGetBufferParameterui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetBufferParameterui64vNV #-}
-ptr_glGetBufferParameterui64vNV :: FunPtr (GLenum -> GLenum -> Ptr GLuint64EXT -> IO ())
-ptr_glGetBufferParameterui64vNV = unsafePerformIO $ getCommand "glGetBufferParameterui64vNV"
-
--- glGetBufferPointerv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetBufferPointerv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferPointerv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferPointerv.xhtml OpenGL 4.x>.
-glGetBufferPointerv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLenum -- ^ @pname@ of type @BufferPointerNameARB@.
-  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetBufferPointerv v1 v2 v3 = liftIO $ dyn313 ptr_glGetBufferPointerv v1 v2 v3
-
-{-# NOINLINE ptr_glGetBufferPointerv #-}
-ptr_glGetBufferPointerv :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetBufferPointerv = unsafePerformIO $ getCommand "glGetBufferPointerv"
-
--- glGetBufferPointervARB ------------------------------------------------------
-
--- | This command is an alias for 'glGetBufferPointerv'.
-glGetBufferPointervARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLenum -- ^ @pname@ of type @BufferPointerNameARB@.
-  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetBufferPointervARB v1 v2 v3 = liftIO $ dyn313 ptr_glGetBufferPointervARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetBufferPointervARB #-}
-ptr_glGetBufferPointervARB :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetBufferPointervARB = unsafePerformIO $ getCommand "glGetBufferPointervARB"
-
--- glGetBufferPointervOES ------------------------------------------------------
-
--- | This command is an alias for 'glGetBufferPointerv'.
-glGetBufferPointervOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr (Ptr a) -- ^ @params@.
-  -> m ()
-glGetBufferPointervOES v1 v2 v3 = liftIO $ dyn313 ptr_glGetBufferPointervOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetBufferPointervOES #-}
-ptr_glGetBufferPointervOES :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetBufferPointervOES = unsafePerformIO $ getCommand "glGetBufferPointervOES"
-
--- glGetBufferSubData ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetBufferSubData.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetBufferSubData.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetBufferSubData.xhtml OpenGL 4.x>.
-glGetBufferSubData
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> m ()
-glGetBufferSubData v1 v2 v3 v4 = liftIO $ dyn64 ptr_glGetBufferSubData v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetBufferSubData #-}
-ptr_glGetBufferSubData :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-ptr_glGetBufferSubData = unsafePerformIO $ getCommand "glGetBufferSubData"
-
--- glGetBufferSubDataARB -------------------------------------------------------
-
--- | This command is an alias for 'glGetBufferSubData'.
-glGetBufferSubDataARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLintptrARB -- ^ @offset@ of type @BufferOffsetARB@.
-  -> GLsizeiptrARB -- ^ @size@ of type @BufferSizeARB@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> m ()
-glGetBufferSubDataARB v1 v2 v3 v4 = liftIO $ dyn65 ptr_glGetBufferSubDataARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetBufferSubDataARB #-}
-ptr_glGetBufferSubDataARB :: FunPtr (GLenum -> GLintptrARB -> GLsizeiptrARB -> Ptr a -> IO ())
-ptr_glGetBufferSubDataARB = unsafePerformIO $ getCommand "glGetBufferSubDataARB"
-
--- glGetClipPlane --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetClipPlane.xml OpenGL 2.x>.
-glGetClipPlane
-  :: MonadIO m
-  => GLenum -- ^ @plane@ of type [ClipPlaneName](Graphics-Rendering-OpenGL-Raw-Groups.html#ClipPlaneName).
-  -> Ptr GLdouble -- ^ @equation@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetClipPlane v1 v2 = liftIO $ dyn92 ptr_glGetClipPlane v1 v2
-
-{-# NOINLINE ptr_glGetClipPlane #-}
-ptr_glGetClipPlane :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetClipPlane = unsafePerformIO $ getCommand "glGetClipPlane"
-
--- glGetClipPlanef -------------------------------------------------------------
-
-glGetClipPlanef
-  :: MonadIO m
-  => GLenum -- ^ @plane@.
-  -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetClipPlanef v1 v2 = liftIO $ dyn93 ptr_glGetClipPlanef v1 v2
-
-{-# NOINLINE ptr_glGetClipPlanef #-}
-ptr_glGetClipPlanef :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetClipPlanef = unsafePerformIO $ getCommand "glGetClipPlanef"
-
--- glGetClipPlanefOES ----------------------------------------------------------
-
-glGetClipPlanefOES
-  :: MonadIO m
-  => GLenum -- ^ @plane@.
-  -> Ptr GLfloat -- ^ @equation@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetClipPlanefOES v1 v2 = liftIO $ dyn93 ptr_glGetClipPlanefOES v1 v2
-
-{-# NOINLINE ptr_glGetClipPlanefOES #-}
-ptr_glGetClipPlanefOES :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetClipPlanefOES = unsafePerformIO $ getCommand "glGetClipPlanefOES"
-
--- glGetClipPlanex -------------------------------------------------------------
-
-glGetClipPlanex
-  :: MonadIO m
-  => GLenum -- ^ @plane@.
-  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glGetClipPlanex v1 v2 = liftIO $ dyn94 ptr_glGetClipPlanex v1 v2
-
-{-# NOINLINE ptr_glGetClipPlanex #-}
-ptr_glGetClipPlanex :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetClipPlanex = unsafePerformIO $ getCommand "glGetClipPlanex"
-
--- glGetClipPlanexOES ----------------------------------------------------------
-
-glGetClipPlanexOES
-  :: MonadIO m
-  => GLenum -- ^ @plane@.
-  -> Ptr GLfixed -- ^ @equation@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glGetClipPlanexOES v1 v2 = liftIO $ dyn94 ptr_glGetClipPlanexOES v1 v2
-
-{-# NOINLINE ptr_glGetClipPlanexOES #-}
-ptr_glGetClipPlanexOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetClipPlanexOES = unsafePerformIO $ getCommand "glGetClipPlanexOES"
-
--- glGetColorTable -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTable.xml OpenGL 2.x>.
-glGetColorTable
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetColorTable v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetColorTable v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetColorTable #-}
-ptr_glGetColorTable :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetColorTable = unsafePerformIO $ getCommand "glGetColorTable"
-
--- glGetColorTableEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glGetColorTable'.
-glGetColorTableEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetColorTableEXT v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetColorTableEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetColorTableEXT #-}
-ptr_glGetColorTableEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetColorTableEXT = unsafePerformIO $ getCommand "glGetColorTableEXT"
-
--- glGetColorTableParameterfv --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTableParameter.xml OpenGL 2.x>.
-glGetColorTableParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetColorTableParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetColorTableParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetColorTableParameterfv #-}
-ptr_glGetColorTableParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetColorTableParameterfv = unsafePerformIO $ getCommand "glGetColorTableParameterfv"
-
--- glGetColorTableParameterfvEXT -----------------------------------------------
-
--- | This command is an alias for 'glGetColorTableParameterfv'.
-glGetColorTableParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetColorTableParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetColorTableParameterfvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetColorTableParameterfvEXT #-}
-ptr_glGetColorTableParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetColorTableParameterfvEXT = unsafePerformIO $ getCommand "glGetColorTableParameterfvEXT"
-
--- glGetColorTableParameterfvSGI -----------------------------------------------
-
-glGetColorTableParameterfvSGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableTargetSGI).
-  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#GetColorTableParameterPNameSGI).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetColorTableParameterfvSGI v1 v2 v3 = liftIO $ dyn131 ptr_glGetColorTableParameterfvSGI v1 v2 v3
-
-{-# NOINLINE ptr_glGetColorTableParameterfvSGI #-}
-ptr_glGetColorTableParameterfvSGI :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetColorTableParameterfvSGI = unsafePerformIO $ getCommand "glGetColorTableParameterfvSGI"
-
--- glGetColorTableParameteriv --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetColorTableParameter.xml OpenGL 2.x>.
-glGetColorTableParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetColorTableParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetColorTableParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetColorTableParameteriv #-}
-ptr_glGetColorTableParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetColorTableParameteriv = unsafePerformIO $ getCommand "glGetColorTableParameteriv"
-
--- glGetColorTableParameterivEXT -----------------------------------------------
-
--- | This command is an alias for 'glGetColorTableParameteriv'.
-glGetColorTableParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ColorTableTarget@.
-  -> GLenum -- ^ @pname@ of type @GetColorTableParameterPName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetColorTableParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetColorTableParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetColorTableParameterivEXT #-}
-ptr_glGetColorTableParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetColorTableParameterivEXT = unsafePerformIO $ getCommand "glGetColorTableParameterivEXT"
-
--- glGetColorTableParameterivSGI -----------------------------------------------
-
-glGetColorTableParameterivSGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableTargetSGI).
-  -> GLenum -- ^ @pname@ of type [GetColorTableParameterPNameSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#GetColorTableParameterPNameSGI).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetColorTableParameterivSGI v1 v2 v3 = liftIO $ dyn132 ptr_glGetColorTableParameterivSGI v1 v2 v3
-
-{-# NOINLINE ptr_glGetColorTableParameterivSGI #-}
-ptr_glGetColorTableParameterivSGI :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetColorTableParameterivSGI = unsafePerformIO $ getCommand "glGetColorTableParameterivSGI"
-
--- glGetColorTableSGI ----------------------------------------------------------
-
-glGetColorTableSGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ColorTableTargetSGI](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorTableTargetSGI).
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @table@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetColorTableSGI v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetColorTableSGI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetColorTableSGI #-}
-ptr_glGetColorTableSGI :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetColorTableSGI = unsafePerformIO $ getCommand "glGetColorTableSGI"
-
--- glGetCombinerInputParameterfvNV ---------------------------------------------
-
-glGetCombinerInputParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
-  -> GLenum -- ^ @variable@ of type @CombinerVariableNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5 = liftIO $ dyn315 ptr_glGetCombinerInputParameterfvNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetCombinerInputParameterfvNV #-}
-ptr_glGetCombinerInputParameterfvNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetCombinerInputParameterfvNV = unsafePerformIO $ getCommand "glGetCombinerInputParameterfvNV"
-
--- glGetCombinerInputParameterivNV ---------------------------------------------
-
-glGetCombinerInputParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
-  -> GLenum -- ^ @variable@ of type @CombinerVariableNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetCombinerInputParameterivNV v1 v2 v3 v4 v5 = liftIO $ dyn316 ptr_glGetCombinerInputParameterivNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetCombinerInputParameterivNV #-}
-ptr_glGetCombinerInputParameterivNV :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetCombinerInputParameterivNV = unsafePerformIO $ getCommand "glGetCombinerInputParameterivNV"
-
--- glGetCombinerOutputParameterfvNV --------------------------------------------
-
-glGetCombinerOutputParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetCombinerOutputParameterfvNV v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetCombinerOutputParameterfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetCombinerOutputParameterfvNV #-}
-ptr_glGetCombinerOutputParameterfvNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetCombinerOutputParameterfvNV = unsafePerformIO $ getCommand "glGetCombinerOutputParameterfvNV"
-
--- glGetCombinerOutputParameterivNV --------------------------------------------
-
-glGetCombinerOutputParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @portion@ of type @CombinerPortionNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetCombinerOutputParameterivNV v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetCombinerOutputParameterivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetCombinerOutputParameterivNV #-}
-ptr_glGetCombinerOutputParameterivNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetCombinerOutputParameterivNV = unsafePerformIO $ getCommand "glGetCombinerOutputParameterivNV"
-
--- glGetCombinerStageParameterfvNV ---------------------------------------------
-
-glGetCombinerStageParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @stage@ of type @CombinerStageNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetCombinerStageParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetCombinerStageParameterfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetCombinerStageParameterfvNV #-}
-ptr_glGetCombinerStageParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetCombinerStageParameterfvNV = unsafePerformIO $ getCommand "glGetCombinerStageParameterfvNV"
-
--- glGetCommandHeaderNV --------------------------------------------------------
-
-glGetCommandHeaderNV
-  :: MonadIO m
-  => GLenum -- ^ @tokenID@.
-  -> GLuint -- ^ @size@.
-  -> m GLuint
-glGetCommandHeaderNV v1 v2 = liftIO $ dyn319 ptr_glGetCommandHeaderNV v1 v2
-
-{-# NOINLINE ptr_glGetCommandHeaderNV #-}
-ptr_glGetCommandHeaderNV :: FunPtr (GLenum -> GLuint -> IO GLuint)
-ptr_glGetCommandHeaderNV = unsafePerformIO $ getCommand "glGetCommandHeaderNV"
-
--- glGetCompressedMultiTexImageEXT ---------------------------------------------
-
-glGetCompressedMultiTexImageEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @lod@ of type @CheckedInt32@.
-  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,lod)@ elements of type @a@.
-  -> m ()
-glGetCompressedMultiTexImageEXT v1 v2 v3 v4 = liftIO $ dyn320 ptr_glGetCompressedMultiTexImageEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetCompressedMultiTexImageEXT #-}
-ptr_glGetCompressedMultiTexImageEXT :: FunPtr (GLenum -> GLenum -> GLint -> Ptr a -> IO ())
-ptr_glGetCompressedMultiTexImageEXT = unsafePerformIO $ getCommand "glGetCompressedMultiTexImageEXT"
-
--- glGetCompressedTexImage -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetCompressedTexImage.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetCompressedTexImage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
-glGetCompressedTexImage
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,level)@ elements of type @CompressedTextureARB@.
-  -> m ()
-glGetCompressedTexImage v1 v2 v3 = liftIO $ dyn321 ptr_glGetCompressedTexImage v1 v2 v3
-
-{-# NOINLINE ptr_glGetCompressedTexImage #-}
-ptr_glGetCompressedTexImage :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
-ptr_glGetCompressedTexImage = unsafePerformIO $ getCommand "glGetCompressedTexImage"
-
--- glGetCompressedTexImageARB --------------------------------------------------
-
--- | This command is an alias for 'glGetCompressedTexImage'.
-glGetCompressedTexImageARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,level)@ elements of type @CompressedTextureARB@.
-  -> m ()
-glGetCompressedTexImageARB v1 v2 v3 = liftIO $ dyn321 ptr_glGetCompressedTexImageARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetCompressedTexImageARB #-}
-ptr_glGetCompressedTexImageARB :: FunPtr (GLenum -> GLint -> Ptr a -> IO ())
-ptr_glGetCompressedTexImageARB = unsafePerformIO $ getCommand "glGetCompressedTexImageARB"
-
--- glGetCompressedTextureImage -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
-glGetCompressedTextureImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glGetCompressedTextureImage v1 v2 v3 v4 = liftIO $ dyn322 ptr_glGetCompressedTextureImage v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetCompressedTextureImage #-}
-ptr_glGetCompressedTextureImage :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glGetCompressedTextureImage = unsafePerformIO $ getCommand "glGetCompressedTextureImage"
-
--- glGetCompressedTextureImageEXT ----------------------------------------------
-
-glGetCompressedTextureImageEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @lod@ of type @CheckedInt32@.
-  -> Ptr a -- ^ @img@ pointing to @COMPSIZE(target,lod)@ elements of type @a@.
-  -> m ()
-glGetCompressedTextureImageEXT v1 v2 v3 v4 = liftIO $ dyn323 ptr_glGetCompressedTextureImageEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetCompressedTextureImageEXT #-}
-ptr_glGetCompressedTextureImageEXT :: FunPtr (GLuint -> GLenum -> GLint -> Ptr a -> IO ())
-ptr_glGetCompressedTextureImageEXT = unsafePerformIO $ getCommand "glGetCompressedTextureImageEXT"
-
--- glGetCompressedTextureSubImage ----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTextureSubImage.xhtml OpenGL 4.x>.
-glGetCompressedTextureSubImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn324 ptr_glGetCompressedTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glGetCompressedTextureSubImage #-}
-ptr_glGetCompressedTextureSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> Ptr a -> IO ())
-ptr_glGetCompressedTextureSubImage = unsafePerformIO $ getCommand "glGetCompressedTextureSubImage"
-
--- glGetConvolutionFilter ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionFilter.xml OpenGL 2.x>.
-glGetConvolutionFilter
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetConvolutionFilter v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetConvolutionFilter v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetConvolutionFilter #-}
-ptr_glGetConvolutionFilter :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetConvolutionFilter = unsafePerformIO $ getCommand "glGetConvolutionFilter"
-
--- glGetConvolutionFilterEXT ---------------------------------------------------
-
-glGetConvolutionFilterEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @image@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetConvolutionFilterEXT v1 v2 v3 v4 = liftIO $ dyn314 ptr_glGetConvolutionFilterEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetConvolutionFilterEXT #-}
-ptr_glGetConvolutionFilterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetConvolutionFilterEXT = unsafePerformIO $ getCommand "glGetConvolutionFilterEXT"
-
--- glGetConvolutionParameterfv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionParameter.xml OpenGL 2.x>.
-glGetConvolutionParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @GetConvolutionParameterPName@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetConvolutionParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetConvolutionParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetConvolutionParameterfv #-}
-ptr_glGetConvolutionParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetConvolutionParameterfv = unsafePerformIO $ getCommand "glGetConvolutionParameterfv"
-
--- glGetConvolutionParameterfvEXT ----------------------------------------------
-
-glGetConvolutionParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionParameterEXT).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetConvolutionParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetConvolutionParameterfvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetConvolutionParameterfvEXT #-}
-ptr_glGetConvolutionParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetConvolutionParameterfvEXT = unsafePerformIO $ getCommand "glGetConvolutionParameterfvEXT"
-
--- glGetConvolutionParameteriv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetConvolutionParameter.xml OpenGL 2.x>.
-glGetConvolutionParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ConvolutionTarget@.
-  -> GLenum -- ^ @pname@ of type @GetConvolutionParameterPName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetConvolutionParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetConvolutionParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetConvolutionParameteriv #-}
-ptr_glGetConvolutionParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetConvolutionParameteriv = unsafePerformIO $ getCommand "glGetConvolutionParameteriv"
-
--- glGetConvolutionParameterivEXT ----------------------------------------------
-
-glGetConvolutionParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [ConvolutionTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionTargetEXT).
-  -> GLenum -- ^ @pname@ of type [ConvolutionParameterEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#ConvolutionParameterEXT).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetConvolutionParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetConvolutionParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetConvolutionParameterivEXT #-}
-ptr_glGetConvolutionParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetConvolutionParameterivEXT = unsafePerformIO $ getCommand "glGetConvolutionParameterivEXT"
-
--- glGetConvolutionParameterxvOES ----------------------------------------------
-
-glGetConvolutionParameterxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetConvolutionParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetConvolutionParameterxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetConvolutionParameterxvOES #-}
-ptr_glGetConvolutionParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetConvolutionParameterxvOES = unsafePerformIO $ getCommand "glGetConvolutionParameterxvOES"
-
--- glGetCoverageModulationTableNV ----------------------------------------------
-
-glGetCoverageModulationTableNV
-  :: MonadIO m
-  => GLsizei -- ^ @bufsize@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glGetCoverageModulationTableNV v1 v2 = liftIO $ dyn191 ptr_glGetCoverageModulationTableNV v1 v2
-
-{-# NOINLINE ptr_glGetCoverageModulationTableNV #-}
-ptr_glGetCoverageModulationTableNV :: FunPtr (GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetCoverageModulationTableNV = unsafePerformIO $ getCommand "glGetCoverageModulationTableNV"
-
--- glGetDebugMessageLog --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetDebugMessageLog.xhtml OpenGL 4.x>.
-glGetDebugMessageLog
-  :: MonadIO m
-  => GLuint -- ^ @count@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
-  -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m GLuint
-glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn325 ptr_glGetDebugMessageLog v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glGetDebugMessageLog #-}
-ptr_glGetDebugMessageLog :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-ptr_glGetDebugMessageLog = unsafePerformIO $ getCommand "glGetDebugMessageLog"
-
--- glGetDebugMessageLogAMD -----------------------------------------------------
-
-glGetDebugMessageLogAMD
-  :: MonadIO m
-  => GLuint -- ^ @count@.
-  -> GLsizei -- ^ @bufsize@.
-  -> Ptr GLenum -- ^ @categories@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLuint -- ^ @severities@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
-  -> Ptr GLchar -- ^ @message@ pointing to @bufsize@ elements of type @GLchar@.
-  -> m GLuint
-glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn326 ptr_glGetDebugMessageLogAMD v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetDebugMessageLogAMD #-}
-ptr_glGetDebugMessageLogAMD :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLuint -> Ptr GLuint -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-ptr_glGetDebugMessageLogAMD = unsafePerformIO $ getCommand "glGetDebugMessageLogAMD"
-
--- glGetDebugMessageLogARB -----------------------------------------------------
-
--- | This command is an alias for 'glGetDebugMessageLog'.
-glGetDebugMessageLogARB
-  :: MonadIO m
-  => GLuint -- ^ @count@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
-  -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m GLuint
-glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn325 ptr_glGetDebugMessageLogARB v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glGetDebugMessageLogARB #-}
-ptr_glGetDebugMessageLogARB :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-ptr_glGetDebugMessageLogARB = unsafePerformIO $ getCommand "glGetDebugMessageLogARB"
-
--- glGetDebugMessageLogKHR -----------------------------------------------------
-
--- | This command is an alias for 'glGetDebugMessageLog'.
-glGetDebugMessageLogKHR
-  :: MonadIO m
-  => GLuint -- ^ @count@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLenum -- ^ @sources@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLenum -- ^ @types@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLuint -- ^ @ids@ pointing to @count@ elements of type @GLuint@.
-  -> Ptr GLenum -- ^ @severities@ pointing to @count@ elements of type @GLenum@.
-  -> Ptr GLsizei -- ^ @lengths@ pointing to @count@ elements of type @GLsizei@.
-  -> Ptr GLchar -- ^ @messageLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m GLuint
-glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn325 ptr_glGetDebugMessageLogKHR v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glGetDebugMessageLogKHR #-}
-ptr_glGetDebugMessageLogKHR :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> Ptr GLenum -> Ptr GLuint -> Ptr GLenum -> Ptr GLsizei -> Ptr GLchar -> IO GLuint)
-ptr_glGetDebugMessageLogKHR = unsafePerformIO $ getCommand "glGetDebugMessageLogKHR"
-
--- glGetDetailTexFuncSGIS ------------------------------------------------------
-
-glGetDetailTexFuncSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
-  -> m ()
-glGetDetailTexFuncSGIS v1 v2 = liftIO $ dyn93 ptr_glGetDetailTexFuncSGIS v1 v2
-
-{-# NOINLINE ptr_glGetDetailTexFuncSGIS #-}
-ptr_glGetDetailTexFuncSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetDetailTexFuncSGIS = unsafePerformIO $ getCommand "glGetDetailTexFuncSGIS"
-
--- glGetDoubleIndexedvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glGetDoublei_v'.
-glGetDoubleIndexedvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
-  -> m ()
-glGetDoubleIndexedvEXT v1 v2 v3 = liftIO $ dyn327 ptr_glGetDoubleIndexedvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetDoubleIndexedvEXT #-}
-ptr_glGetDoubleIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glGetDoubleIndexedvEXT = unsafePerformIO $ getCommand "glGetDoubleIndexedvEXT"
-
--- glGetDoublei_v --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetDoublei_v
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLdouble@.
-  -> m ()
-glGetDoublei_v v1 v2 v3 = liftIO $ dyn327 ptr_glGetDoublei_v v1 v2 v3
-
-{-# NOINLINE ptr_glGetDoublei_v #-}
-ptr_glGetDoublei_v :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glGetDoublei_v = unsafePerformIO $ getCommand "glGetDoublei_v"
-
--- glGetDoublei_vEXT -----------------------------------------------------------
-
--- | This command is an alias for 'glGetDoublei_v'.
-glGetDoublei_vEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetDoublei_vEXT v1 v2 v3 = liftIO $ dyn327 ptr_glGetDoublei_vEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetDoublei_vEXT #-}
-ptr_glGetDoublei_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glGetDoublei_vEXT = unsafePerformIO $ getCommand "glGetDoublei_vEXT"
-
--- glGetDoublev ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetDoublev
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [GetPName](Graphics-Rendering-OpenGL-Raw-Groups.html#GetPName).
-  -> Ptr GLdouble -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetDoublev v1 v2 = liftIO $ dyn92 ptr_glGetDoublev v1 v2
-
-{-# NOINLINE ptr_glGetDoublev #-}
-ptr_glGetDoublev :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetDoublev = unsafePerformIO $ getCommand "glGetDoublev"
-
--- glGetDriverControlStringQCOM ------------------------------------------------
-
-glGetDriverControlStringQCOM
-  :: MonadIO m
-  => GLuint -- ^ @driverControl@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @driverControlString@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetDriverControlStringQCOM v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetDriverControlStringQCOM v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetDriverControlStringQCOM #-}
-ptr_glGetDriverControlStringQCOM :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetDriverControlStringQCOM = unsafePerformIO $ getCommand "glGetDriverControlStringQCOM"
-
--- glGetDriverControlsQCOM -----------------------------------------------------
-
-glGetDriverControlsQCOM
-  :: MonadIO m
-  => Ptr GLint -- ^ @num@.
-  -> GLsizei -- ^ @size@.
-  -> Ptr GLuint -- ^ @driverControls@ pointing to @size@ elements of type @GLuint@.
-  -> m ()
-glGetDriverControlsQCOM v1 v2 v3 = liftIO $ dyn329 ptr_glGetDriverControlsQCOM v1 v2 v3
-
-{-# NOINLINE ptr_glGetDriverControlsQCOM #-}
-ptr_glGetDriverControlsQCOM :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetDriverControlsQCOM = unsafePerformIO $ getCommand "glGetDriverControlsQCOM"
-
--- glGetError ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetError.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetError.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetError.xhtml OpenGL 4.x>.
-glGetError
-  :: MonadIO m
-  => m GLenum -- ^ of type [ErrorCode](Graphics-Rendering-OpenGL-Raw-Groups.html#ErrorCode).
-glGetError = liftIO $ dyn330 ptr_glGetError
-
-{-# NOINLINE ptr_glGetError #-}
-ptr_glGetError :: FunPtr (IO GLenum)
-ptr_glGetError = unsafePerformIO $ getCommand "glGetError"
-
--- glGetFenceivNV --------------------------------------------------------------
-
-glGetFenceivNV
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> GLenum -- ^ @pname@ of type @FenceParameterNameNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFenceivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetFenceivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetFenceivNV #-}
-ptr_glGetFenceivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFenceivNV = unsafePerformIO $ getCommand "glGetFenceivNV"
-
--- glGetFinalCombinerInputParameterfvNV ----------------------------------------
-
-glGetFinalCombinerInputParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @variable@ of type @CombinerVariableNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetFinalCombinerInputParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetFinalCombinerInputParameterfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetFinalCombinerInputParameterfvNV #-}
-ptr_glGetFinalCombinerInputParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetFinalCombinerInputParameterfvNV = unsafePerformIO $ getCommand "glGetFinalCombinerInputParameterfvNV"
-
--- glGetFinalCombinerInputParameterivNV ----------------------------------------
-
-glGetFinalCombinerInputParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @variable@ of type @CombinerVariableNV@.
-  -> GLenum -- ^ @pname@ of type @CombinerParameterNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFinalCombinerInputParameterivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetFinalCombinerInputParameterivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetFinalCombinerInputParameterivNV #-}
-ptr_glGetFinalCombinerInputParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFinalCombinerInputParameterivNV = unsafePerformIO $ getCommand "glGetFinalCombinerInputParameterivNV"
-
--- glGetFirstPerfQueryIdINTEL --------------------------------------------------
-
-glGetFirstPerfQueryIdINTEL
-  :: MonadIO m
-  => Ptr GLuint -- ^ @queryId@.
-  -> m ()
-glGetFirstPerfQueryIdINTEL v1 = liftIO $ dyn102 ptr_glGetFirstPerfQueryIdINTEL v1
-
-{-# NOINLINE ptr_glGetFirstPerfQueryIdINTEL #-}
-ptr_glGetFirstPerfQueryIdINTEL :: FunPtr (Ptr GLuint -> IO ())
-ptr_glGetFirstPerfQueryIdINTEL = unsafePerformIO $ getCommand "glGetFirstPerfQueryIdINTEL"
-
--- glGetFixedv -----------------------------------------------------------------
-
-glGetFixedv
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@.
-  -> m ()
-glGetFixedv v1 v2 = liftIO $ dyn94 ptr_glGetFixedv v1 v2
-
-{-# NOINLINE ptr_glGetFixedv #-}
-ptr_glGetFixedv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetFixedv = unsafePerformIO $ getCommand "glGetFixedv"
-
--- glGetFixedvOES --------------------------------------------------------------
-
-glGetFixedvOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetFixedvOES v1 v2 = liftIO $ dyn94 ptr_glGetFixedvOES v1 v2
-
-{-# NOINLINE ptr_glGetFixedvOES #-}
-ptr_glGetFixedvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetFixedvOES = unsafePerformIO $ getCommand "glGetFixedvOES"
-
--- glGetFloatIndexedvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glGetFloati_v'.
-glGetFloatIndexedvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
-  -> m ()
-glGetFloatIndexedvEXT v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloatIndexedvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetFloatIndexedvEXT #-}
-ptr_glGetFloatIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetFloatIndexedvEXT = unsafePerformIO $ getCommand "glGetFloatIndexedvEXT"
-
--- glGetFloati_v ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetFloati_v
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
-  -> m ()
-glGetFloati_v v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloati_v v1 v2 v3
-
-{-# NOINLINE ptr_glGetFloati_v #-}
-ptr_glGetFloati_v :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetFloati_v = unsafePerformIO $ getCommand "glGetFloati_v"
-
--- glGetFloati_vEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glGetFloati_v'.
-glGetFloati_vEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetFloati_vEXT v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloati_vEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetFloati_vEXT #-}
-ptr_glGetFloati_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetFloati_vEXT = unsafePerformIO $ getCommand "glGetFloati_vEXT"
-
--- glGetFloati_vNV -------------------------------------------------------------
-
--- | This command is an alias for 'glGetFloati_v'.
-glGetFloati_vNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
-  -> m ()
-glGetFloati_vNV v1 v2 v3 = liftIO $ dyn266 ptr_glGetFloati_vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetFloati_vNV #-}
-ptr_glGetFloati_vNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetFloati_vNV = unsafePerformIO $ getCommand "glGetFloati_vNV"
-
--- glGetFloatv -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetFloatv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [GetPName](Graphics-Rendering-OpenGL-Raw-Groups.html#GetPName).
-  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetFloatv v1 v2 = liftIO $ dyn93 ptr_glGetFloatv v1 v2
-
-{-# NOINLINE ptr_glGetFloatv #-}
-ptr_glGetFloatv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetFloatv = unsafePerformIO $ getCommand "glGetFloatv"
-
--- glGetFogFuncSGIS ------------------------------------------------------------
-
-glGetFogFuncSGIS
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE()@ elements of type @GLfloat@.
-  -> m ()
-glGetFogFuncSGIS v1 = liftIO $ dyn41 ptr_glGetFogFuncSGIS v1
-
-{-# NOINLINE ptr_glGetFogFuncSGIS #-}
-ptr_glGetFogFuncSGIS :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glGetFogFuncSGIS = unsafePerformIO $ getCommand "glGetFogFuncSGIS"
-
--- glGetFragDataIndex ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataIndex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFragDataIndex.xhtml OpenGL 4.x>.
-glGetFragDataIndex
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m GLint
-glGetFragDataIndex v1 v2 = liftIO $ dyn307 ptr_glGetFragDataIndex v1 v2
-
-{-# NOINLINE ptr_glGetFragDataIndex #-}
-ptr_glGetFragDataIndex :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-ptr_glGetFragDataIndex = unsafePerformIO $ getCommand "glGetFragDataIndex"
-
--- glGetFragDataIndexEXT -------------------------------------------------------
-
--- | This command is an alias for 'glGetFragDataIndex'.
-glGetFragDataIndexEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m GLint
-glGetFragDataIndexEXT v1 v2 = liftIO $ dyn307 ptr_glGetFragDataIndexEXT v1 v2
-
-{-# NOINLINE ptr_glGetFragDataIndexEXT #-}
-ptr_glGetFragDataIndexEXT :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-ptr_glGetFragDataIndexEXT = unsafePerformIO $ getCommand "glGetFragDataIndexEXT"
-
--- glGetFragDataLocation -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFragDataLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFragDataLocation.xhtml OpenGL 4.x>.
-glGetFragDataLocation
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m GLint
-glGetFragDataLocation v1 v2 = liftIO $ dyn307 ptr_glGetFragDataLocation v1 v2
-
-{-# NOINLINE ptr_glGetFragDataLocation #-}
-ptr_glGetFragDataLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-ptr_glGetFragDataLocation = unsafePerformIO $ getCommand "glGetFragDataLocation"
-
--- glGetFragDataLocationEXT ----------------------------------------------------
-
--- | This command is an alias for 'glGetFragDataLocation'.
-glGetFragDataLocationEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m GLint
-glGetFragDataLocationEXT v1 v2 = liftIO $ dyn307 ptr_glGetFragDataLocationEXT v1 v2
-
-{-# NOINLINE ptr_glGetFragDataLocationEXT #-}
-ptr_glGetFragDataLocationEXT :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-ptr_glGetFragDataLocationEXT = unsafePerformIO $ getCommand "glGetFragDataLocationEXT"
-
--- glGetFragmentLightfvSGIX ----------------------------------------------------
-
-glGetFragmentLightfvSGIX
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
-  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetFragmentLightfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glGetFragmentLightfvSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glGetFragmentLightfvSGIX #-}
-ptr_glGetFragmentLightfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetFragmentLightfvSGIX = unsafePerformIO $ getCommand "glGetFragmentLightfvSGIX"
-
--- glGetFragmentLightivSGIX ----------------------------------------------------
-
-glGetFragmentLightivSGIX
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type @FragmentLightNameSGIX@.
-  -> GLenum -- ^ @pname@ of type @FragmentLightParameterSGIX@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFragmentLightivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glGetFragmentLightivSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glGetFragmentLightivSGIX #-}
-ptr_glGetFragmentLightivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFragmentLightivSGIX = unsafePerformIO $ getCommand "glGetFragmentLightivSGIX"
-
--- glGetFragmentMaterialfvSGIX -------------------------------------------------
-
-glGetFragmentMaterialfvSGIX
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetFragmentMaterialfvSGIX v1 v2 v3 = liftIO $ dyn131 ptr_glGetFragmentMaterialfvSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glGetFragmentMaterialfvSGIX #-}
-ptr_glGetFragmentMaterialfvSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetFragmentMaterialfvSGIX = unsafePerformIO $ getCommand "glGetFragmentMaterialfvSGIX"
-
--- glGetFragmentMaterialivSGIX -------------------------------------------------
-
-glGetFragmentMaterialivSGIX
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFragmentMaterialivSGIX v1 v2 v3 = liftIO $ dyn132 ptr_glGetFragmentMaterialivSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glGetFragmentMaterialivSGIX #-}
-ptr_glGetFragmentMaterialivSGIX :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFragmentMaterialivSGIX = unsafePerformIO $ getCommand "glGetFragmentMaterialivSGIX"
-
--- glGetFramebufferAttachmentParameteriv ---------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetFramebufferAttachmentParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml OpenGL 4.x>.
-glGetFramebufferAttachmentParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetFramebufferAttachmentParameteriv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetFramebufferAttachmentParameteriv #-}
-ptr_glGetFramebufferAttachmentParameteriv :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFramebufferAttachmentParameteriv = unsafePerformIO $ getCommand "glGetFramebufferAttachmentParameteriv"
-
--- glGetFramebufferAttachmentParameterivEXT ------------------------------------
-
--- | This command is an alias for 'glGetFramebufferAttachmentParameteriv'.
-glGetFramebufferAttachmentParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @FramebufferTarget@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetFramebufferAttachmentParameterivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetFramebufferAttachmentParameterivEXT #-}
-ptr_glGetFramebufferAttachmentParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFramebufferAttachmentParameterivEXT = unsafePerformIO $ getCommand "glGetFramebufferAttachmentParameterivEXT"
-
--- glGetFramebufferAttachmentParameterivOES ------------------------------------
-
-glGetFramebufferAttachmentParameterivOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetFramebufferAttachmentParameterivOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetFramebufferAttachmentParameterivOES #-}
-ptr_glGetFramebufferAttachmentParameterivOES :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFramebufferAttachmentParameterivOES = unsafePerformIO $ getCommand "glGetFramebufferAttachmentParameterivOES"
-
--- glGetFramebufferParameteriv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferParameter.xhtml OpenGL 4.x>.
-glGetFramebufferParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFramebufferParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetFramebufferParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetFramebufferParameteriv #-}
-ptr_glGetFramebufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFramebufferParameteriv = unsafePerformIO $ getCommand "glGetFramebufferParameteriv"
-
--- glGetFramebufferParameterivEXT ----------------------------------------------
-
-glGetFramebufferParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @pname@ of type @GetFramebufferParameter@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetFramebufferParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetFramebufferParameterivEXT #-}
-ptr_glGetFramebufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetFramebufferParameterivEXT = unsafePerformIO $ getCommand "glGetFramebufferParameterivEXT"
-
--- glGetGraphicsResetStatus ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetGraphicsResetStatus.xhtml OpenGL 4.x>.
-glGetGraphicsResetStatus
-  :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatus = liftIO $ dyn330 ptr_glGetGraphicsResetStatus
-
-{-# NOINLINE ptr_glGetGraphicsResetStatus #-}
-ptr_glGetGraphicsResetStatus :: FunPtr (IO GLenum)
-ptr_glGetGraphicsResetStatus = unsafePerformIO $ getCommand "glGetGraphicsResetStatus"
-
--- glGetGraphicsResetStatusARB -------------------------------------------------
-
-glGetGraphicsResetStatusARB
-  :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatusARB = liftIO $ dyn330 ptr_glGetGraphicsResetStatusARB
-
-{-# NOINLINE ptr_glGetGraphicsResetStatusARB #-}
-ptr_glGetGraphicsResetStatusARB :: FunPtr (IO GLenum)
-ptr_glGetGraphicsResetStatusARB = unsafePerformIO $ getCommand "glGetGraphicsResetStatusARB"
-
--- glGetGraphicsResetStatusEXT -------------------------------------------------
-
-glGetGraphicsResetStatusEXT
-  :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatusEXT = liftIO $ dyn330 ptr_glGetGraphicsResetStatusEXT
-
-{-# NOINLINE ptr_glGetGraphicsResetStatusEXT #-}
-ptr_glGetGraphicsResetStatusEXT :: FunPtr (IO GLenum)
-ptr_glGetGraphicsResetStatusEXT = unsafePerformIO $ getCommand "glGetGraphicsResetStatusEXT"
-
--- glGetGraphicsResetStatusKHR -------------------------------------------------
-
--- | This command is an alias for 'glGetGraphicsResetStatus'.
-glGetGraphicsResetStatusKHR
-  :: MonadIO m
-  => m GLenum
-glGetGraphicsResetStatusKHR = liftIO $ dyn330 ptr_glGetGraphicsResetStatusKHR
-
-{-# NOINLINE ptr_glGetGraphicsResetStatusKHR #-}
-ptr_glGetGraphicsResetStatusKHR :: FunPtr (IO GLenum)
-ptr_glGetGraphicsResetStatusKHR = unsafePerformIO $ getCommand "glGetGraphicsResetStatusKHR"
-
--- glGetHandleARB --------------------------------------------------------------
-
-glGetHandleARB
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> m GLhandleARB -- ^ of type @handleARB@.
-glGetHandleARB v1 = liftIO $ dyn197 ptr_glGetHandleARB v1
-
-{-# NOINLINE ptr_glGetHandleARB #-}
-ptr_glGetHandleARB :: FunPtr (GLenum -> IO GLhandleARB)
-ptr_glGetHandleARB = unsafePerformIO $ getCommand "glGetHandleARB"
-
--- glGetHistogram --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogram.xml OpenGL 2.x>.
-glGetHistogram
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
-  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetHistogram v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetHistogram v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetHistogram #-}
-ptr_glGetHistogram :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetHistogram = unsafePerformIO $ getCommand "glGetHistogram"
-
--- glGetHistogramEXT -----------------------------------------------------------
-
-glGetHistogramEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#HistogramTargetEXT).
-  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetHistogramEXT v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetHistogramEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetHistogramEXT #-}
-ptr_glGetHistogramEXT :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetHistogramEXT = unsafePerformIO $ getCommand "glGetHistogramEXT"
-
--- glGetHistogramParameterfv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
-glGetHistogramParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
-  -> GLenum -- ^ @pname@ of type @GetHistogramParameterPName@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetHistogramParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetHistogramParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetHistogramParameterfv #-}
-ptr_glGetHistogramParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetHistogramParameterfv = unsafePerformIO $ getCommand "glGetHistogramParameterfv"
-
--- glGetHistogramParameterfvEXT ------------------------------------------------
-
-glGetHistogramParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#HistogramTargetEXT).
-  -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#GetHistogramParameterPNameEXT).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetHistogramParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetHistogramParameterfvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetHistogramParameterfvEXT #-}
-ptr_glGetHistogramParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetHistogramParameterfvEXT = unsafePerformIO $ getCommand "glGetHistogramParameterfvEXT"
-
--- glGetHistogramParameteriv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetHistogramParameter.xml OpenGL 2.x>.
-glGetHistogramParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
-  -> GLenum -- ^ @pname@ of type @GetHistogramParameterPName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetHistogramParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetHistogramParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetHistogramParameteriv #-}
-ptr_glGetHistogramParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetHistogramParameteriv = unsafePerformIO $ getCommand "glGetHistogramParameteriv"
-
--- glGetHistogramParameterivEXT ------------------------------------------------
-
-glGetHistogramParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#HistogramTargetEXT).
-  -> GLenum -- ^ @pname@ of type [GetHistogramParameterPNameEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#GetHistogramParameterPNameEXT).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetHistogramParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetHistogramParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetHistogramParameterivEXT #-}
-ptr_glGetHistogramParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetHistogramParameterivEXT = unsafePerformIO $ getCommand "glGetHistogramParameterivEXT"
-
--- glGetHistogramParameterxvOES ------------------------------------------------
-
-glGetHistogramParameterxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetHistogramParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetHistogramParameterxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetHistogramParameterxvOES #-}
-ptr_glGetHistogramParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetHistogramParameterxvOES = unsafePerformIO $ getCommand "glGetHistogramParameterxvOES"
-
--- glGetImageHandleARB ---------------------------------------------------------
-
-glGetImageHandleARB
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLboolean -- ^ @layered@.
-  -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @format@.
-  -> m GLuint64
-glGetImageHandleARB v1 v2 v3 v4 v5 = liftIO $ dyn333 ptr_glGetImageHandleARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetImageHandleARB #-}
-ptr_glGetImageHandleARB :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
-ptr_glGetImageHandleARB = unsafePerformIO $ getCommand "glGetImageHandleARB"
-
--- glGetImageHandleNV ----------------------------------------------------------
-
-glGetImageHandleNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLboolean -- ^ @layered@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLint -- ^ @layer@.
-  -> GLenum -- ^ @format@.
-  -> m GLuint64
-glGetImageHandleNV v1 v2 v3 v4 v5 = liftIO $ dyn333 ptr_glGetImageHandleNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetImageHandleNV #-}
-ptr_glGetImageHandleNV :: FunPtr (GLuint -> GLint -> GLboolean -> GLint -> GLenum -> IO GLuint64)
-ptr_glGetImageHandleNV = unsafePerformIO $ getCommand "glGetImageHandleNV"
-
--- glGetImageTransformParameterfvHP --------------------------------------------
-
-glGetImageTransformParameterfvHP
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
-  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetImageTransformParameterfvHP v1 v2 v3 = liftIO $ dyn131 ptr_glGetImageTransformParameterfvHP v1 v2 v3
-
-{-# NOINLINE ptr_glGetImageTransformParameterfvHP #-}
-ptr_glGetImageTransformParameterfvHP :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetImageTransformParameterfvHP = unsafePerformIO $ getCommand "glGetImageTransformParameterfvHP"
-
--- glGetImageTransformParameterivHP --------------------------------------------
-
-glGetImageTransformParameterivHP
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
-  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetImageTransformParameterivHP v1 v2 v3 = liftIO $ dyn132 ptr_glGetImageTransformParameterivHP v1 v2 v3
-
-{-# NOINLINE ptr_glGetImageTransformParameterivHP #-}
-ptr_glGetImageTransformParameterivHP :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetImageTransformParameterivHP = unsafePerformIO $ getCommand "glGetImageTransformParameterivHP"
-
--- glGetInfoLogARB -------------------------------------------------------------
-
-glGetInfoLogARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @obj@ of type @handleARB@.
-  -> GLsizei -- ^ @maxLength@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLcharARB -- ^ @infoLog@ pointing to @maxLength@ elements of type @GLcharARB@.
-  -> m ()
-glGetInfoLogARB v1 v2 v3 v4 = liftIO $ dyn334 ptr_glGetInfoLogARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetInfoLogARB #-}
-ptr_glGetInfoLogARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
-ptr_glGetInfoLogARB = unsafePerformIO $ getCommand "glGetInfoLogARB"
-
--- glGetInstrumentsSGIX --------------------------------------------------------
-
-glGetInstrumentsSGIX
-  :: MonadIO m
-  => m GLint
-glGetInstrumentsSGIX = liftIO $ dyn335 ptr_glGetInstrumentsSGIX
-
-{-# NOINLINE ptr_glGetInstrumentsSGIX #-}
-ptr_glGetInstrumentsSGIX :: FunPtr (IO GLint)
-ptr_glGetInstrumentsSGIX = unsafePerformIO $ getCommand "glGetInstrumentsSGIX"
-
--- glGetInteger64i_v -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetInteger64i_v
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint64@.
-  -> m ()
-glGetInteger64i_v v1 v2 v3 = liftIO $ dyn336 ptr_glGetInteger64i_v v1 v2 v3
-
-{-# NOINLINE ptr_glGetInteger64i_v #-}
-ptr_glGetInteger64i_v :: FunPtr (GLenum -> GLuint -> Ptr GLint64 -> IO ())
-ptr_glGetInteger64i_v = unsafePerformIO $ getCommand "glGetInteger64i_v"
-
--- glGetInteger64v -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetInteger64v
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLint64 -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
-  -> m ()
-glGetInteger64v v1 v2 = liftIO $ dyn337 ptr_glGetInteger64v v1 v2
-
-{-# NOINLINE ptr_glGetInteger64v #-}
-ptr_glGetInteger64v :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
-ptr_glGetInteger64v = unsafePerformIO $ getCommand "glGetInteger64v"
-
--- glGetInteger64vAPPLE --------------------------------------------------------
-
--- | This command is an alias for 'glGetInteger64v'.
-glGetInteger64vAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLint64 -- ^ @params@.
-  -> m ()
-glGetInteger64vAPPLE v1 v2 = liftIO $ dyn337 ptr_glGetInteger64vAPPLE v1 v2
-
-{-# NOINLINE ptr_glGetInteger64vAPPLE #-}
-ptr_glGetInteger64vAPPLE :: FunPtr (GLenum -> Ptr GLint64 -> IO ())
-ptr_glGetInteger64vAPPLE = unsafePerformIO $ getCommand "glGetInteger64vAPPLE"
-
--- glGetIntegerIndexedvEXT -----------------------------------------------------
-
--- | This command is an alias for 'glGetIntegeri_v'.
-glGetIntegerIndexedvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
-  -> m ()
-glGetIntegerIndexedvEXT v1 v2 v3 = liftIO $ dyn338 ptr_glGetIntegerIndexedvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetIntegerIndexedvEXT #-}
-ptr_glGetIntegerIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetIntegerIndexedvEXT = unsafePerformIO $ getCommand "glGetIntegerIndexedvEXT"
-
--- glGetIntegeri_v -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetIntegeri_v
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(target)@ elements of type @GLint@.
-  -> m ()
-glGetIntegeri_v v1 v2 v3 = liftIO $ dyn338 ptr_glGetIntegeri_v v1 v2 v3
-
-{-# NOINLINE ptr_glGetIntegeri_v #-}
-ptr_glGetIntegeri_v :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetIntegeri_v = unsafePerformIO $ getCommand "glGetIntegeri_v"
-
--- glGetIntegeri_vEXT ----------------------------------------------------------
-
-glGetIntegeri_vEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @data@.
-  -> m ()
-glGetIntegeri_vEXT v1 v2 v3 = liftIO $ dyn338 ptr_glGetIntegeri_vEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetIntegeri_vEXT #-}
-ptr_glGetIntegeri_vEXT :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetIntegeri_vEXT = unsafePerformIO $ getCommand "glGetIntegeri_vEXT"
-
--- glGetIntegerui64i_vNV -------------------------------------------------------
-
-glGetIntegerui64i_vNV
-  :: MonadIO m
-  => GLenum -- ^ @value@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
-  -> m ()
-glGetIntegerui64i_vNV v1 v2 v3 = liftIO $ dyn339 ptr_glGetIntegerui64i_vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetIntegerui64i_vNV #-}
-ptr_glGetIntegerui64i_vNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint64EXT -> IO ())
-ptr_glGetIntegerui64i_vNV = unsafePerformIO $ getCommand "glGetIntegerui64i_vNV"
-
--- glGetIntegerui64vNV ---------------------------------------------------------
-
-glGetIntegerui64vNV
-  :: MonadIO m
-  => GLenum -- ^ @value@.
-  -> Ptr GLuint64EXT -- ^ @result@ pointing to @COMPSIZE(value)@ elements of type @GLuint64EXT@.
-  -> m ()
-glGetIntegerui64vNV v1 v2 = liftIO $ dyn340 ptr_glGetIntegerui64vNV v1 v2
-
-{-# NOINLINE ptr_glGetIntegerui64vNV #-}
-ptr_glGetIntegerui64vNV :: FunPtr (GLenum -> Ptr GLuint64EXT -> IO ())
-ptr_glGetIntegerui64vNV = unsafePerformIO $ getCommand "glGetIntegerui64vNV"
-
--- glGetIntegerv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGet.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGet.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGet.xhtml OpenGL 4.x>.
-glGetIntegerv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [GetPName](Graphics-Rendering-OpenGL-Raw-Groups.html#GetPName).
-  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetIntegerv v1 v2 = liftIO $ dyn135 ptr_glGetIntegerv v1 v2
-
-{-# NOINLINE ptr_glGetIntegerv #-}
-ptr_glGetIntegerv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glGetIntegerv = unsafePerformIO $ getCommand "glGetIntegerv"
-
--- glGetInternalformatSampleivNV -----------------------------------------------
-
-glGetInternalformatSampleivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @pname@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn341 ptr_glGetInternalformatSampleivNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetInternalformatSampleivNV #-}
-ptr_glGetInternalformatSampleivNV :: FunPtr (GLenum -> GLenum -> GLsizei -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetInternalformatSampleivNV = unsafePerformIO $ getCommand "glGetInternalformatSampleivNV"
-
--- glGetInternalformati64v -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
-glGetInternalformati64v
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @pname@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint64 -- ^ @params@ pointing to @bufSize@ elements of type @GLint64@.
-  -> m ()
-glGetInternalformati64v v1 v2 v3 v4 v5 = liftIO $ dyn342 ptr_glGetInternalformati64v v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetInternalformati64v #-}
-ptr_glGetInternalformati64v :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glGetInternalformati64v = unsafePerformIO $ getCommand "glGetInternalformati64v"
-
--- glGetInternalformativ -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetInternalformat.xhtml OpenGL 4.x>.
-glGetInternalformativ
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLenum -- ^ @pname@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetInternalformativ v1 v2 v3 v4 v5 = liftIO $ dyn343 ptr_glGetInternalformativ v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetInternalformativ #-}
-ptr_glGetInternalformativ :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetInternalformativ = unsafePerformIO $ getCommand "glGetInternalformativ"
-
--- glGetInvariantBooleanvEXT ---------------------------------------------------
-
-glGetInvariantBooleanvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glGetInvariantBooleanvEXT v1 v2 v3 = liftIO $ dyn344 ptr_glGetInvariantBooleanvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetInvariantBooleanvEXT #-}
-ptr_glGetInvariantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
-ptr_glGetInvariantBooleanvEXT = unsafePerformIO $ getCommand "glGetInvariantBooleanvEXT"
-
--- glGetInvariantFloatvEXT -----------------------------------------------------
-
-glGetInvariantFloatvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
-  -> m ()
-glGetInvariantFloatvEXT v1 v2 v3 = liftIO $ dyn345 ptr_glGetInvariantFloatvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetInvariantFloatvEXT #-}
-ptr_glGetInvariantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetInvariantFloatvEXT = unsafePerformIO $ getCommand "glGetInvariantFloatvEXT"
-
--- glGetInvariantIntegervEXT ---------------------------------------------------
-
-glGetInvariantIntegervEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
-  -> m ()
-glGetInvariantIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetInvariantIntegervEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetInvariantIntegervEXT #-}
-ptr_glGetInvariantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetInvariantIntegervEXT = unsafePerformIO $ getCommand "glGetInvariantIntegervEXT"
-
--- glGetLightfv ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetLight.xml OpenGL 2.x>.
-glGetLightfv
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type [LightName](Graphics-Rendering-OpenGL-Raw-Groups.html#LightName).
-  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetLightfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetLightfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetLightfv #-}
-ptr_glGetLightfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetLightfv = unsafePerformIO $ getCommand "glGetLightfv"
-
--- glGetLightiv ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetLight.xml OpenGL 2.x>.
-glGetLightiv
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type [LightName](Graphics-Rendering-OpenGL-Raw-Groups.html#LightName).
-  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetLightiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetLightiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetLightiv #-}
-ptr_glGetLightiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetLightiv = unsafePerformIO $ getCommand "glGetLightiv"
-
--- glGetLightxOES --------------------------------------------------------------
-
-glGetLightxOES
-  :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetLightxOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetLightxOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetLightxOES #-}
-ptr_glGetLightxOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetLightxOES = unsafePerformIO $ getCommand "glGetLightxOES"
-
--- glGetLightxv ----------------------------------------------------------------
-
-glGetLightxv
-  :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetLightxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetLightxv v1 v2 v3
-
-{-# NOINLINE ptr_glGetLightxv #-}
-ptr_glGetLightxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetLightxv = unsafePerformIO $ getCommand "glGetLightxv"
-
--- glGetLightxvOES -------------------------------------------------------------
-
-glGetLightxvOES
-  :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetLightxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetLightxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetLightxvOES #-}
-ptr_glGetLightxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetLightxvOES = unsafePerformIO $ getCommand "glGetLightxvOES"
-
--- glGetListParameterfvSGIX ----------------------------------------------------
-
-glGetListParameterfvSGIX
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#ListParameterName).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glGetListParameterfvSGIX v1 v2 v3 = liftIO $ dyn345 ptr_glGetListParameterfvSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glGetListParameterfvSGIX #-}
-ptr_glGetListParameterfvSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetListParameterfvSGIX = unsafePerformIO $ getCommand "glGetListParameterfvSGIX"
-
--- glGetListParameterivSGIX ----------------------------------------------------
-
-glGetListParameterivSGIX
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#ListParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glGetListParameterivSGIX v1 v2 v3 = liftIO $ dyn331 ptr_glGetListParameterivSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glGetListParameterivSGIX #-}
-ptr_glGetListParameterivSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetListParameterivSGIX = unsafePerformIO $ getCommand "glGetListParameterivSGIX"
-
--- glGetLocalConstantBooleanvEXT -----------------------------------------------
-
-glGetLocalConstantBooleanvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glGetLocalConstantBooleanvEXT v1 v2 v3 = liftIO $ dyn344 ptr_glGetLocalConstantBooleanvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetLocalConstantBooleanvEXT #-}
-ptr_glGetLocalConstantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
-ptr_glGetLocalConstantBooleanvEXT = unsafePerformIO $ getCommand "glGetLocalConstantBooleanvEXT"
-
--- glGetLocalConstantFloatvEXT -------------------------------------------------
-
-glGetLocalConstantFloatvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
-  -> m ()
-glGetLocalConstantFloatvEXT v1 v2 v3 = liftIO $ dyn345 ptr_glGetLocalConstantFloatvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetLocalConstantFloatvEXT #-}
-ptr_glGetLocalConstantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetLocalConstantFloatvEXT = unsafePerformIO $ getCommand "glGetLocalConstantFloatvEXT"
-
--- glGetLocalConstantIntegervEXT -----------------------------------------------
-
-glGetLocalConstantIntegervEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
-  -> m ()
-glGetLocalConstantIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetLocalConstantIntegervEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetLocalConstantIntegervEXT #-}
-ptr_glGetLocalConstantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetLocalConstantIntegervEXT = unsafePerformIO $ getCommand "glGetLocalConstantIntegervEXT"
-
--- glGetMapAttribParameterfvNV -------------------------------------------------
-
-glGetMapAttribParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @MapAttribParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMapAttribParameterfvNV v1 v2 v3 v4 = liftIO $ dyn346 ptr_glGetMapAttribParameterfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMapAttribParameterfvNV #-}
-ptr_glGetMapAttribParameterfvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMapAttribParameterfvNV = unsafePerformIO $ getCommand "glGetMapAttribParameterfvNV"
-
--- glGetMapAttribParameterivNV -------------------------------------------------
-
-glGetMapAttribParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @MapAttribParameterNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMapAttribParameterivNV v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetMapAttribParameterivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMapAttribParameterivNV #-}
-ptr_glGetMapAttribParameterivNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMapAttribParameterivNV = unsafePerformIO $ getCommand "glGetMapAttribParameterivNV"
-
--- glGetMapControlPointsNV -----------------------------------------------------
-
-glGetMapControlPointsNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@ of type @MapTypeNV@.
-  -> GLsizei -- ^ @ustride@.
-  -> GLsizei -- ^ @vstride@.
-  -> GLboolean -- ^ @packed@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr a -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @a@.
-  -> m ()
-glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn348 ptr_glGetMapControlPointsNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetMapControlPointsNV #-}
-ptr_glGetMapControlPointsNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLboolean -> Ptr a -> IO ())
-ptr_glGetMapControlPointsNV = unsafePerformIO $ getCommand "glGetMapControlPointsNV"
-
--- glGetMapParameterfvNV -------------------------------------------------------
-
-glGetMapParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMapParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetMapParameterfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetMapParameterfvNV #-}
-ptr_glGetMapParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMapParameterfvNV = unsafePerformIO $ getCommand "glGetMapParameterfvNV"
-
--- glGetMapParameterivNV -------------------------------------------------------
-
-glGetMapParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @GLint@.
-  -> m ()
-glGetMapParameterivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetMapParameterivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetMapParameterivNV #-}
-ptr_glGetMapParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMapParameterivNV = unsafePerformIO $ getCommand "glGetMapParameterivNV"
-
--- glGetMapdv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
-glGetMapdv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#MapTarget).
-  -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-Rendering-OpenGL-Raw-Groups.html#GetMapQuery).
-  -> Ptr GLdouble -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLdouble@.
-  -> m ()
-glGetMapdv v1 v2 v3 = liftIO $ dyn349 ptr_glGetMapdv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMapdv #-}
-ptr_glGetMapdv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetMapdv = unsafePerformIO $ getCommand "glGetMapdv"
-
--- glGetMapfv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
-glGetMapfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#MapTarget).
-  -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-Rendering-OpenGL-Raw-Groups.html#GetMapQuery).
-  -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLfloat@.
-  -> m ()
-glGetMapfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetMapfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMapfv #-}
-ptr_glGetMapfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMapfv = unsafePerformIO $ getCommand "glGetMapfv"
-
--- glGetMapiv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMap.xml OpenGL 2.x>.
-glGetMapiv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#MapTarget).
-  -> GLenum -- ^ @query@ of type [GetMapQuery](Graphics-Rendering-OpenGL-Raw-Groups.html#GetMapQuery).
-  -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(target,query)@ elements of type @GLint@.
-  -> m ()
-glGetMapiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetMapiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMapiv #-}
-ptr_glGetMapiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMapiv = unsafePerformIO $ getCommand "glGetMapiv"
-
--- glGetMapxvOES ---------------------------------------------------------------
-
-glGetMapxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
-  -> Ptr GLfixed -- ^ @v@ pointing to @COMPSIZE(query)@ elements of type @GLfixed@.
-  -> m ()
-glGetMapxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetMapxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetMapxvOES #-}
-ptr_glGetMapxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetMapxvOES = unsafePerformIO $ getCommand "glGetMapxvOES"
-
--- glGetMaterialfv -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMaterial.xml OpenGL 2.x>.
-glGetMaterialfv
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMaterialfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetMaterialfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMaterialfv #-}
-ptr_glGetMaterialfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMaterialfv = unsafePerformIO $ getCommand "glGetMaterialfv"
-
--- glGetMaterialiv -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMaterial.xml OpenGL 2.x>.
-glGetMaterialiv
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMaterialiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetMaterialiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMaterialiv #-}
-ptr_glGetMaterialiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMaterialiv = unsafePerformIO $ getCommand "glGetMaterialiv"
-
--- glGetMaterialxOES -----------------------------------------------------------
-
-glGetMaterialxOES
-  :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glGetMaterialxOES v1 v2 v3 = liftIO $ dyn161 ptr_glGetMaterialxOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetMaterialxOES #-}
-ptr_glGetMaterialxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glGetMaterialxOES = unsafePerformIO $ getCommand "glGetMaterialxOES"
-
--- glGetMaterialxv -------------------------------------------------------------
-
-glGetMaterialxv
-  :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetMaterialxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetMaterialxv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMaterialxv #-}
-ptr_glGetMaterialxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetMaterialxv = unsafePerformIO $ getCommand "glGetMaterialxv"
-
--- glGetMaterialxvOES ----------------------------------------------------------
-
-glGetMaterialxvOES
-  :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetMaterialxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetMaterialxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetMaterialxvOES #-}
-ptr_glGetMaterialxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetMaterialxvOES = unsafePerformIO $ getCommand "glGetMaterialxvOES"
-
--- glGetMinmax -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmax.xml OpenGL 2.x>.
-glGetMinmax
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
-  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetMinmax v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetMinmax v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetMinmax #-}
-ptr_glGetMinmax :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetMinmax = unsafePerformIO $ getCommand "glGetMinmax"
-
--- glGetMinmaxEXT --------------------------------------------------------------
-
-glGetMinmaxEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#MinmaxTargetEXT).
-  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @values@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> m ()
-glGetMinmaxEXT v1 v2 v3 v4 v5 = liftIO $ dyn332 ptr_glGetMinmaxEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetMinmaxEXT #-}
-ptr_glGetMinmaxEXT :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetMinmaxEXT = unsafePerformIO $ getCommand "glGetMinmaxEXT"
-
--- glGetMinmaxParameterfv ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmaxParameter.xml OpenGL 2.x>.
-glGetMinmaxParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
-  -> GLenum -- ^ @pname@ of type @GetMinmaxParameterPName@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMinmaxParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetMinmaxParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMinmaxParameterfv #-}
-ptr_glGetMinmaxParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMinmaxParameterfv = unsafePerformIO $ getCommand "glGetMinmaxParameterfv"
-
--- glGetMinmaxParameterfvEXT ---------------------------------------------------
-
-glGetMinmaxParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#MinmaxTargetEXT).
-  -> GLenum -- ^ @pname@ of type [GetMinmaxParameterPNameEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#GetMinmaxParameterPNameEXT).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMinmaxParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetMinmaxParameterfvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetMinmaxParameterfvEXT #-}
-ptr_glGetMinmaxParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMinmaxParameterfvEXT = unsafePerformIO $ getCommand "glGetMinmaxParameterfvEXT"
-
--- glGetMinmaxParameteriv ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetMinmaxParameter.xml OpenGL 2.x>.
-glGetMinmaxParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
-  -> GLenum -- ^ @pname@ of type @GetMinmaxParameterPName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMinmaxParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetMinmaxParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMinmaxParameteriv #-}
-ptr_glGetMinmaxParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMinmaxParameteriv = unsafePerformIO $ getCommand "glGetMinmaxParameteriv"
-
--- glGetMinmaxParameterivEXT ---------------------------------------------------
-
-glGetMinmaxParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#MinmaxTargetEXT).
-  -> GLenum -- ^ @pname@ of type [GetMinmaxParameterPNameEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#GetMinmaxParameterPNameEXT).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMinmaxParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetMinmaxParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetMinmaxParameterivEXT #-}
-ptr_glGetMinmaxParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMinmaxParameterivEXT = unsafePerformIO $ getCommand "glGetMinmaxParameterivEXT"
-
--- glGetMultiTexEnvfvEXT -------------------------------------------------------
-
-glGetMultiTexEnvfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetMultiTexEnvfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexEnvfvEXT #-}
-ptr_glGetMultiTexEnvfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMultiTexEnvfvEXT = unsafePerformIO $ getCommand "glGetMultiTexEnvfvEXT"
-
--- glGetMultiTexEnvivEXT -------------------------------------------------------
-
-glGetMultiTexEnvivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexEnvivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexEnvivEXT #-}
-ptr_glGetMultiTexEnvivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMultiTexEnvivEXT = unsafePerformIO $ getCommand "glGetMultiTexEnvivEXT"
-
--- glGetMultiTexGendvEXT -------------------------------------------------------
-
-glGetMultiTexGendvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn350 ptr_glGetMultiTexGendvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexGendvEXT #-}
-ptr_glGetMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetMultiTexGendvEXT = unsafePerformIO $ getCommand "glGetMultiTexGendvEXT"
-
--- glGetMultiTexGenfvEXT -------------------------------------------------------
-
-glGetMultiTexGenfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetMultiTexGenfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexGenfvEXT #-}
-ptr_glGetMultiTexGenfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMultiTexGenfvEXT = unsafePerformIO $ getCommand "glGetMultiTexGenfvEXT"
-
--- glGetMultiTexGenivEXT -------------------------------------------------------
-
-glGetMultiTexGenivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexGenivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexGenivEXT #-}
-ptr_glGetMultiTexGenivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMultiTexGenivEXT = unsafePerformIO $ getCommand "glGetMultiTexGenivEXT"
-
--- glGetMultiTexImageEXT -------------------------------------------------------
-
-glGetMultiTexImageEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
-  -> m ()
-glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn351 ptr_glGetMultiTexImageEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetMultiTexImageEXT #-}
-ptr_glGetMultiTexImageEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetMultiTexImageEXT = unsafePerformIO $ getCommand "glGetMultiTexImageEXT"
-
--- glGetMultiTexLevelParameterfvEXT --------------------------------------------
-
-glGetMultiTexLevelParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn352 ptr_glGetMultiTexLevelParameterfvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetMultiTexLevelParameterfvEXT #-}
-ptr_glGetMultiTexLevelParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMultiTexLevelParameterfvEXT = unsafePerformIO $ getCommand "glGetMultiTexLevelParameterfvEXT"
-
--- glGetMultiTexLevelParameterivEXT --------------------------------------------
-
-glGetMultiTexLevelParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn353 ptr_glGetMultiTexLevelParameterivEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetMultiTexLevelParameterivEXT #-}
-ptr_glGetMultiTexLevelParameterivEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMultiTexLevelParameterivEXT = unsafePerformIO $ getCommand "glGetMultiTexLevelParameterivEXT"
-
--- glGetMultiTexParameterIivEXT ------------------------------------------------
-
-glGetMultiTexParameterIivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexParameterIivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexParameterIivEXT #-}
-ptr_glGetMultiTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMultiTexParameterIivEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterIivEXT"
-
--- glGetMultiTexParameterIuivEXT -----------------------------------------------
-
-glGetMultiTexParameterIuivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn354 ptr_glGetMultiTexParameterIuivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexParameterIuivEXT #-}
-ptr_glGetMultiTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetMultiTexParameterIuivEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterIuivEXT"
-
--- glGetMultiTexParameterfvEXT -------------------------------------------------
-
-glGetMultiTexParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glGetMultiTexParameterfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexParameterfvEXT #-}
-ptr_glGetMultiTexParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetMultiTexParameterfvEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterfvEXT"
-
--- glGetMultiTexParameterivEXT -------------------------------------------------
-
-glGetMultiTexParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glGetMultiTexParameterivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetMultiTexParameterivEXT #-}
-ptr_glGetMultiTexParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetMultiTexParameterivEXT = unsafePerformIO $ getCommand "glGetMultiTexParameterivEXT"
-
--- glGetMultisamplefv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetMultisample.xhtml OpenGL 4.x>.
-glGetMultisamplefv
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @val@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetMultisamplefv v1 v2 v3 = liftIO $ dyn266 ptr_glGetMultisamplefv v1 v2 v3
-
-{-# NOINLINE ptr_glGetMultisamplefv #-}
-ptr_glGetMultisamplefv :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetMultisamplefv = unsafePerformIO $ getCommand "glGetMultisamplefv"
-
--- glGetMultisamplefvNV --------------------------------------------------------
-
--- | This command is an alias for 'glGetMultisamplefv'.
-glGetMultisamplefvNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @GetMultisamplePNameNV@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @val@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glGetMultisamplefvNV v1 v2 v3 = liftIO $ dyn266 ptr_glGetMultisamplefvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetMultisamplefvNV #-}
-ptr_glGetMultisamplefvNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetMultisamplefvNV = unsafePerformIO $ getCommand "glGetMultisamplefvNV"
-
--- glGetNamedBufferParameteri64v -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
-glGetNamedBufferParameteri64v
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint64 -- ^ @params@.
-  -> m ()
-glGetNamedBufferParameteri64v v1 v2 v3 = liftIO $ dyn355 ptr_glGetNamedBufferParameteri64v v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedBufferParameteri64v #-}
-ptr_glGetNamedBufferParameteri64v :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
-ptr_glGetNamedBufferParameteri64v = unsafePerformIO $ getCommand "glGetNamedBufferParameteri64v"
-
--- glGetNamedBufferParameteriv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferParameter.xhtml OpenGL 4.x>.
-glGetNamedBufferParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetNamedBufferParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedBufferParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedBufferParameteriv #-}
-ptr_glGetNamedBufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedBufferParameteriv = unsafePerformIO $ getCommand "glGetNamedBufferParameteriv"
-
--- glGetNamedBufferParameterivEXT ----------------------------------------------
-
-glGetNamedBufferParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetNamedBufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedBufferParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedBufferParameterivEXT #-}
-ptr_glGetNamedBufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedBufferParameterivEXT = unsafePerformIO $ getCommand "glGetNamedBufferParameterivEXT"
-
--- glGetNamedBufferParameterui64vNV --------------------------------------------
-
-glGetNamedBufferParameterui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
-  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
-  -> m ()
-glGetNamedBufferParameterui64vNV v1 v2 v3 = liftIO $ dyn356 ptr_glGetNamedBufferParameterui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedBufferParameterui64vNV #-}
-ptr_glGetNamedBufferParameterui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
-ptr_glGetNamedBufferParameterui64vNV = unsafePerformIO $ getCommand "glGetNamedBufferParameterui64vNV"
-
--- glGetNamedBufferPointerv ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferPointerv.xhtml OpenGL 4.x>.
-glGetNamedBufferPointerv
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr (Ptr a) -- ^ @params@.
-  -> m ()
-glGetNamedBufferPointerv v1 v2 v3 = liftIO $ dyn357 ptr_glGetNamedBufferPointerv v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedBufferPointerv #-}
-ptr_glGetNamedBufferPointerv :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetNamedBufferPointerv = unsafePerformIO $ getCommand "glGetNamedBufferPointerv"
-
--- glGetNamedBufferPointervEXT -------------------------------------------------
-
-glGetNamedBufferPointervEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @VertexBufferObjectParameter@.
-  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetNamedBufferPointervEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetNamedBufferPointervEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedBufferPointervEXT #-}
-ptr_glGetNamedBufferPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetNamedBufferPointervEXT = unsafePerformIO $ getCommand "glGetNamedBufferPointervEXT"
-
--- glGetNamedBufferSubData -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetBufferSubData.xhtml OpenGL 4.x>.
-glGetNamedBufferSubData
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@.
-  -> m ()
-glGetNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn358 ptr_glGetNamedBufferSubData v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedBufferSubData #-}
-ptr_glGetNamedBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-ptr_glGetNamedBufferSubData = unsafePerformIO $ getCommand "glGetNamedBufferSubData"
-
--- glGetNamedBufferSubDataEXT --------------------------------------------------
-
-glGetNamedBufferSubDataEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
-  -> m ()
-glGetNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn358 ptr_glGetNamedBufferSubDataEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedBufferSubDataEXT #-}
-ptr_glGetNamedBufferSubDataEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-ptr_glGetNamedBufferSubDataEXT = unsafePerformIO $ getCommand "glGetNamedBufferSubDataEXT"
-
--- glGetNamedFramebufferAttachmentParameteriv ----------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferAttachmentParameter.xhtml OpenGL 4.x>.
-glGetNamedFramebufferAttachmentParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetNamedFramebufferAttachmentParameteriv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedFramebufferAttachmentParameteriv #-}
-ptr_glGetNamedFramebufferAttachmentParameteriv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedFramebufferAttachmentParameteriv = unsafePerformIO $ getCommand "glGetNamedFramebufferAttachmentParameteriv"
-
--- glGetNamedFramebufferAttachmentParameterivEXT -------------------------------
-
-glGetNamedFramebufferAttachmentParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @pname@ of type @FramebufferAttachmentParameterName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetNamedFramebufferAttachmentParameterivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedFramebufferAttachmentParameterivEXT #-}
-ptr_glGetNamedFramebufferAttachmentParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedFramebufferAttachmentParameterivEXT = unsafePerformIO $ getCommand "glGetNamedFramebufferAttachmentParameterivEXT"
-
--- glGetNamedFramebufferParameteriv --------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetFramebufferParameter.xhtml OpenGL 4.x>.
-glGetNamedFramebufferParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glGetNamedFramebufferParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedFramebufferParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedFramebufferParameteriv #-}
-ptr_glGetNamedFramebufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedFramebufferParameteriv = unsafePerformIO $ getCommand "glGetNamedFramebufferParameteriv"
-
--- glGetNamedFramebufferParameterivEXT -----------------------------------------
-
-glGetNamedFramebufferParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @pname@ of type @GetFramebufferParameter@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetNamedFramebufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedFramebufferParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedFramebufferParameterivEXT #-}
-ptr_glGetNamedFramebufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedFramebufferParameterivEXT = unsafePerformIO $ getCommand "glGetNamedFramebufferParameterivEXT"
-
--- glGetNamedProgramLocalParameterIivEXT ---------------------------------------
-
-glGetNamedProgramLocalParameterIivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetNamedProgramLocalParameterIivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedProgramLocalParameterIivEXT #-}
-ptr_glGetNamedProgramLocalParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetNamedProgramLocalParameterIivEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterIivEXT"
-
--- glGetNamedProgramLocalParameterIuivEXT --------------------------------------
-
-glGetNamedProgramLocalParameterIuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn361 ptr_glGetNamedProgramLocalParameterIuivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedProgramLocalParameterIuivEXT #-}
-ptr_glGetNamedProgramLocalParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glGetNamedProgramLocalParameterIuivEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterIuivEXT"
-
--- glGetNamedProgramLocalParameterdvEXT ----------------------------------------
-
-glGetNamedProgramLocalParameterdvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4 = liftIO $ dyn362 ptr_glGetNamedProgramLocalParameterdvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedProgramLocalParameterdvEXT #-}
-ptr_glGetNamedProgramLocalParameterdvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glGetNamedProgramLocalParameterdvEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterdvEXT"
-
--- glGetNamedProgramLocalParameterfvEXT ----------------------------------------
-
-glGetNamedProgramLocalParameterfvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn363 ptr_glGetNamedProgramLocalParameterfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedProgramLocalParameterfvEXT #-}
-ptr_glGetNamedProgramLocalParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetNamedProgramLocalParameterfvEXT = unsafePerformIO $ getCommand "glGetNamedProgramLocalParameterfvEXT"
-
--- glGetNamedProgramStringEXT --------------------------------------------------
-
-glGetNamedProgramStringEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLenum -- ^ @pname@ of type @ProgramStringProperty@.
-  -> Ptr a -- ^ @string@ pointing to @COMPSIZE(program,pname)@ elements of type @a@.
-  -> m ()
-glGetNamedProgramStringEXT v1 v2 v3 v4 = liftIO $ dyn364 ptr_glGetNamedProgramStringEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedProgramStringEXT #-}
-ptr_glGetNamedProgramStringEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetNamedProgramStringEXT = unsafePerformIO $ getCommand "glGetNamedProgramStringEXT"
-
--- glGetNamedProgramivEXT ------------------------------------------------------
-
-glGetNamedProgramivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLenum -- ^ @pname@ of type @ProgramProperty@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetNamedProgramivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetNamedProgramivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedProgramivEXT #-}
-ptr_glGetNamedProgramivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedProgramivEXT = unsafePerformIO $ getCommand "glGetNamedProgramivEXT"
-
--- glGetNamedRenderbufferParameteriv -------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetRenderbufferParameter.xhtml OpenGL 4.x>.
-glGetNamedRenderbufferParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetNamedRenderbufferParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedRenderbufferParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedRenderbufferParameteriv #-}
-ptr_glGetNamedRenderbufferParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedRenderbufferParameteriv = unsafePerformIO $ getCommand "glGetNamedRenderbufferParameteriv"
-
--- glGetNamedRenderbufferParameterivEXT ----------------------------------------
-
-glGetNamedRenderbufferParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
-  -> GLenum -- ^ @pname@ of type @RenderbufferParameterName@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetNamedRenderbufferParameterivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetNamedRenderbufferParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetNamedRenderbufferParameterivEXT #-}
-ptr_glGetNamedRenderbufferParameterivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedRenderbufferParameterivEXT = unsafePerformIO $ getCommand "glGetNamedRenderbufferParameterivEXT"
-
--- glGetNamedStringARB ---------------------------------------------------------
-
-glGetNamedStringARB
-  :: MonadIO m
-  => GLint -- ^ @namelen@.
-  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @stringlen@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLchar -- ^ @string@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetNamedStringARB v1 v2 v3 v4 v5 = liftIO $ dyn365 ptr_glGetNamedStringARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetNamedStringARB #-}
-ptr_glGetNamedStringARB :: FunPtr (GLint -> Ptr GLchar -> GLsizei -> Ptr GLint -> Ptr GLchar -> IO ())
-ptr_glGetNamedStringARB = unsafePerformIO $ getCommand "glGetNamedStringARB"
-
--- glGetNamedStringivARB -------------------------------------------------------
-
-glGetNamedStringivARB
-  :: MonadIO m
-  => GLint -- ^ @namelen@.
-  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetNamedStringivARB v1 v2 v3 v4 = liftIO $ dyn366 ptr_glGetNamedStringivARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetNamedStringivARB #-}
-ptr_glGetNamedStringivARB :: FunPtr (GLint -> Ptr GLchar -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetNamedStringivARB = unsafePerformIO $ getCommand "glGetNamedStringivARB"
-
--- glGetNextPerfQueryIdINTEL ---------------------------------------------------
-
-glGetNextPerfQueryIdINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryId@.
-  -> Ptr GLuint -- ^ @nextQueryId@.
-  -> m ()
-glGetNextPerfQueryIdINTEL v1 v2 = liftIO $ dyn193 ptr_glGetNextPerfQueryIdINTEL v1 v2
-
-{-# NOINLINE ptr_glGetNextPerfQueryIdINTEL #-}
-ptr_glGetNextPerfQueryIdINTEL :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glGetNextPerfQueryIdINTEL = unsafePerformIO $ getCommand "glGetNextPerfQueryIdINTEL"
-
--- glGetObjectBufferfvATI ------------------------------------------------------
-
-glGetObjectBufferfvATI
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glGetObjectBufferfvATI v1 v2 v3 = liftIO $ dyn345 ptr_glGetObjectBufferfvATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetObjectBufferfvATI #-}
-ptr_glGetObjectBufferfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetObjectBufferfvATI = unsafePerformIO $ getCommand "glGetObjectBufferfvATI"
-
--- glGetObjectBufferivATI ------------------------------------------------------
-
-glGetObjectBufferivATI
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetObjectBufferivATI v1 v2 v3 = liftIO $ dyn331 ptr_glGetObjectBufferivATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetObjectBufferivATI #-}
-ptr_glGetObjectBufferivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetObjectBufferivATI = unsafePerformIO $ getCommand "glGetObjectBufferivATI"
-
--- glGetObjectLabel ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetObjectLabel.xhtml OpenGL 4.x>.
-glGetObjectLabel
-  :: MonadIO m
-  => GLenum -- ^ @identifier@.
-  -> GLuint -- ^ @name@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetObjectLabel v1 v2 v3 v4 v5 = liftIO $ dyn367 ptr_glGetObjectLabel v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetObjectLabel #-}
-ptr_glGetObjectLabel :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetObjectLabel = unsafePerformIO $ getCommand "glGetObjectLabel"
-
--- glGetObjectLabelEXT ---------------------------------------------------------
-
-glGetObjectLabelEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @object@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetObjectLabelEXT v1 v2 v3 v4 v5 = liftIO $ dyn367 ptr_glGetObjectLabelEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetObjectLabelEXT #-}
-ptr_glGetObjectLabelEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetObjectLabelEXT = unsafePerformIO $ getCommand "glGetObjectLabelEXT"
-
--- glGetObjectLabelKHR ---------------------------------------------------------
-
--- | This command is an alias for 'glGetObjectLabel'.
-glGetObjectLabelKHR
-  :: MonadIO m
-  => GLenum -- ^ @identifier@.
-  -> GLuint -- ^ @name@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetObjectLabelKHR v1 v2 v3 v4 v5 = liftIO $ dyn367 ptr_glGetObjectLabelKHR v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetObjectLabelKHR #-}
-ptr_glGetObjectLabelKHR :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetObjectLabelKHR = unsafePerformIO $ getCommand "glGetObjectLabelKHR"
-
--- glGetObjectParameterfvARB ---------------------------------------------------
-
-glGetObjectParameterfvARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @obj@ of type @handleARB@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetObjectParameterfvARB v1 v2 v3 = liftIO $ dyn368 ptr_glGetObjectParameterfvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetObjectParameterfvARB #-}
-ptr_glGetObjectParameterfvARB :: FunPtr (GLhandleARB -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetObjectParameterfvARB = unsafePerformIO $ getCommand "glGetObjectParameterfvARB"
-
--- glGetObjectParameterivAPPLE -------------------------------------------------
-
-glGetObjectParameterivAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @objectType@.
-  -> GLuint -- ^ @name@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetObjectParameterivAPPLE v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetObjectParameterivAPPLE v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetObjectParameterivAPPLE #-}
-ptr_glGetObjectParameterivAPPLE :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetObjectParameterivAPPLE = unsafePerformIO $ getCommand "glGetObjectParameterivAPPLE"
-
--- glGetObjectParameterivARB ---------------------------------------------------
-
-glGetObjectParameterivARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @obj@ of type @handleARB@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetObjectParameterivARB v1 v2 v3 = liftIO $ dyn369 ptr_glGetObjectParameterivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetObjectParameterivARB #-}
-ptr_glGetObjectParameterivARB :: FunPtr (GLhandleARB -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetObjectParameterivARB = unsafePerformIO $ getCommand "glGetObjectParameterivARB"
-
--- glGetObjectPtrLabel ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetObjectPtrLabel.xhtml OpenGL 4.x>.
-glGetObjectPtrLabel
-  :: MonadIO m
-  => Ptr a -- ^ @ptr@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetObjectPtrLabel v1 v2 v3 v4 = liftIO $ dyn370 ptr_glGetObjectPtrLabel v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetObjectPtrLabel #-}
-ptr_glGetObjectPtrLabel :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetObjectPtrLabel = unsafePerformIO $ getCommand "glGetObjectPtrLabel"
-
--- glGetObjectPtrLabelKHR ------------------------------------------------------
-
--- | This command is an alias for 'glGetObjectPtrLabel'.
-glGetObjectPtrLabelKHR
-  :: MonadIO m
-  => Ptr a -- ^ @ptr@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @label@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetObjectPtrLabelKHR v1 v2 v3 v4 = liftIO $ dyn370 ptr_glGetObjectPtrLabelKHR v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetObjectPtrLabelKHR #-}
-ptr_glGetObjectPtrLabelKHR :: FunPtr (Ptr a -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetObjectPtrLabelKHR = unsafePerformIO $ getCommand "glGetObjectPtrLabelKHR"
-
--- glGetOcclusionQueryivNV -----------------------------------------------------
-
-glGetOcclusionQueryivNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@ of type @OcclusionQueryParameterNameNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetOcclusionQueryivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetOcclusionQueryivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetOcclusionQueryivNV #-}
-ptr_glGetOcclusionQueryivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetOcclusionQueryivNV = unsafePerformIO $ getCommand "glGetOcclusionQueryivNV"
-
--- glGetOcclusionQueryuivNV ----------------------------------------------------
-
-glGetOcclusionQueryuivNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@ of type @OcclusionQueryParameterNameNV@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetOcclusionQueryuivNV v1 v2 v3 = liftIO $ dyn371 ptr_glGetOcclusionQueryuivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetOcclusionQueryuivNV #-}
-ptr_glGetOcclusionQueryuivNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetOcclusionQueryuivNV = unsafePerformIO $ getCommand "glGetOcclusionQueryuivNV"
-
--- glGetPathColorGenfvNV -------------------------------------------------------
-
-glGetPathColorGenfvNV
-  :: MonadIO m
-  => GLenum -- ^ @color@ of type @PathColor@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetPathColorGenfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetPathColorGenfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetPathColorGenfvNV #-}
-ptr_glGetPathColorGenfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetPathColorGenfvNV = unsafePerformIO $ getCommand "glGetPathColorGenfvNV"
-
--- glGetPathColorGenivNV -------------------------------------------------------
-
-glGetPathColorGenivNV
-  :: MonadIO m
-  => GLenum -- ^ @color@ of type @PathColor@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
-  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetPathColorGenivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetPathColorGenivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetPathColorGenivNV #-}
-ptr_glGetPathColorGenivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetPathColorGenivNV = unsafePerformIO $ getCommand "glGetPathColorGenivNV"
-
--- glGetPathCommandsNV ---------------------------------------------------------
-
-glGetPathCommandsNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> Ptr GLubyte -- ^ @commands@ pointing to @COMPSIZE(path)@ elements of type @PathCommand@.
-  -> m ()
-glGetPathCommandsNV v1 v2 = liftIO $ dyn372 ptr_glGetPathCommandsNV v1 v2
-
-{-# NOINLINE ptr_glGetPathCommandsNV #-}
-ptr_glGetPathCommandsNV :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glGetPathCommandsNV = unsafePerformIO $ getCommand "glGetPathCommandsNV"
-
--- glGetPathCoordsNV -----------------------------------------------------------
-
-glGetPathCoordsNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> Ptr GLfloat -- ^ @coords@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
-  -> m ()
-glGetPathCoordsNV v1 v2 = liftIO $ dyn373 ptr_glGetPathCoordsNV v1 v2
-
-{-# NOINLINE ptr_glGetPathCoordsNV #-}
-ptr_glGetPathCoordsNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetPathCoordsNV = unsafePerformIO $ getCommand "glGetPathCoordsNV"
-
--- glGetPathDashArrayNV --------------------------------------------------------
-
-glGetPathDashArrayNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> Ptr GLfloat -- ^ @dashArray@ pointing to @COMPSIZE(path)@ elements of type @GLfloat@.
-  -> m ()
-glGetPathDashArrayNV v1 v2 = liftIO $ dyn373 ptr_glGetPathDashArrayNV v1 v2
-
-{-# NOINLINE ptr_glGetPathDashArrayNV #-}
-ptr_glGetPathDashArrayNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetPathDashArrayNV = unsafePerformIO $ getCommand "glGetPathDashArrayNV"
-
--- glGetPathLengthNV -----------------------------------------------------------
-
-glGetPathLengthNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @startSegment@.
-  -> GLsizei -- ^ @numSegments@.
-  -> m GLfloat
-glGetPathLengthNV v1 v2 v3 = liftIO $ dyn374 ptr_glGetPathLengthNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetPathLengthNV #-}
-ptr_glGetPathLengthNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> IO GLfloat)
-ptr_glGetPathLengthNV = unsafePerformIO $ getCommand "glGetPathLengthNV"
-
--- glGetPathMetricRangeNV ------------------------------------------------------
-
-glGetPathMetricRangeNV
-  :: MonadIO m
-  => GLbitfield -- ^ @metricQueryMask@ of type @PathMetricMask@.
-  -> GLuint -- ^ @firstPathName@ of type @Path@.
-  -> GLsizei -- ^ @numPaths@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
-  -> m ()
-glGetPathMetricRangeNV v1 v2 v3 v4 v5 = liftIO $ dyn375 ptr_glGetPathMetricRangeNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetPathMetricRangeNV #-}
-ptr_glGetPathMetricRangeNV :: FunPtr (GLbitfield -> GLuint -> GLsizei -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetPathMetricRangeNV = unsafePerformIO $ getCommand "glGetPathMetricRangeNV"
-
--- glGetPathMetricsNV ----------------------------------------------------------
-
-glGetPathMetricsNV
-  :: MonadIO m
-  => GLbitfield -- ^ @metricQueryMask@ of type @PathMetricMask@.
-  -> GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
-  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
-  -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr GLfloat -- ^ @metrics@ pointing to @COMPSIZE(metricQueryMask,numPaths,stride)@ elements of type @GLfloat@.
-  -> m ()
-glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn376 ptr_glGetPathMetricsNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetPathMetricsNV #-}
-ptr_glGetPathMetricsNV :: FunPtr (GLbitfield -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetPathMetricsNV = unsafePerformIO $ getCommand "glGetPathMetricsNV"
-
--- glGetPathParameterfvNV ------------------------------------------------------
-
-glGetPathParameterfvNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetPathParameterfvNV v1 v2 v3 = liftIO $ dyn345 ptr_glGetPathParameterfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetPathParameterfvNV #-}
-ptr_glGetPathParameterfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetPathParameterfvNV = unsafePerformIO $ getCommand "glGetPathParameterfvNV"
-
--- glGetPathParameterivNV ------------------------------------------------------
-
-glGetPathParameterivNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
-  -> Ptr GLint -- ^ @value@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glGetPathParameterivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetPathParameterivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetPathParameterivNV #-}
-ptr_glGetPathParameterivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetPathParameterivNV = unsafePerformIO $ getCommand "glGetPathParameterivNV"
-
--- glGetPathSpacingNV ----------------------------------------------------------
-
-glGetPathSpacingNV
-  :: MonadIO m
-  => GLenum -- ^ @pathListMode@ of type @PathListMode@.
-  -> GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
-  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
-  -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLfloat -- ^ @advanceScale@.
-  -> GLfloat -- ^ @kerningScale@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
-  -> Ptr GLfloat -- ^ @returnedSpacing@ pointing to @COMPSIZE(pathListMode,numPaths)@ elements of type @GLfloat@.
-  -> m ()
-glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn377 ptr_glGetPathSpacingNV v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glGetPathSpacingNV #-}
-ptr_glGetPathSpacingNV :: FunPtr (GLenum -> GLsizei -> GLenum -> Ptr a -> GLuint -> GLfloat -> GLfloat -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetPathSpacingNV = unsafePerformIO $ getCommand "glGetPathSpacingNV"
-
--- glGetPathTexGenfvNV ---------------------------------------------------------
-
-glGetPathTexGenfvNV
-  :: MonadIO m
-  => GLenum -- ^ @texCoordSet@ of type @TextureUnit@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetPathTexGenfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glGetPathTexGenfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetPathTexGenfvNV #-}
-ptr_glGetPathTexGenfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetPathTexGenfvNV = unsafePerformIO $ getCommand "glGetPathTexGenfvNV"
-
--- glGetPathTexGenivNV ---------------------------------------------------------
-
-glGetPathTexGenivNV
-  :: MonadIO m
-  => GLenum -- ^ @texCoordSet@ of type @TextureUnit@.
-  -> GLenum -- ^ @pname@ of type @PathGenMode@.
-  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetPathTexGenivNV v1 v2 v3 = liftIO $ dyn132 ptr_glGetPathTexGenivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetPathTexGenivNV #-}
-ptr_glGetPathTexGenivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetPathTexGenivNV = unsafePerformIO $ getCommand "glGetPathTexGenivNV"
-
--- glGetPerfCounterInfoINTEL ---------------------------------------------------
-
-glGetPerfCounterInfoINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryId@.
-  -> GLuint -- ^ @counterId@.
-  -> GLuint -- ^ @counterNameLength@.
-  -> Ptr GLchar -- ^ @counterName@.
-  -> GLuint -- ^ @counterDescLength@.
-  -> Ptr GLchar -- ^ @counterDesc@.
-  -> Ptr GLuint -- ^ @counterOffset@.
-  -> Ptr GLuint -- ^ @counterDataSize@.
-  -> Ptr GLuint -- ^ @counterTypeEnum@.
-  -> Ptr GLuint -- ^ @counterDataTypeEnum@.
-  -> Ptr GLuint64 -- ^ @rawCounterMaxValue@.
-  -> m ()
-glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn378 ptr_glGetPerfCounterInfoINTEL v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glGetPerfCounterInfoINTEL #-}
-ptr_glGetPerfCounterInfoINTEL :: FunPtr (GLuint -> GLuint -> GLuint -> Ptr GLchar -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint64 -> IO ())
-ptr_glGetPerfCounterInfoINTEL = unsafePerformIO $ getCommand "glGetPerfCounterInfoINTEL"
-
--- glGetPerfMonitorCounterDataAMD ----------------------------------------------
-
-glGetPerfMonitorCounterDataAMD
-  :: MonadIO m
-  => GLuint -- ^ @monitor@.
-  -> GLenum -- ^ @pname@.
-  -> GLsizei -- ^ @dataSize@.
-  -> Ptr GLuint -- ^ @data@ pointing to @dataSize@ elements of type @GLuint@.
-  -> Ptr GLint -- ^ @bytesWritten@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5 = liftIO $ dyn379 ptr_glGetPerfMonitorCounterDataAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetPerfMonitorCounterDataAMD #-}
-ptr_glGetPerfMonitorCounterDataAMD :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr GLuint -> Ptr GLint -> IO ())
-ptr_glGetPerfMonitorCounterDataAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCounterDataAMD"
-
--- glGetPerfMonitorCounterInfoAMD ----------------------------------------------
-
-glGetPerfMonitorCounterInfoAMD
-  :: MonadIO m
-  => GLuint -- ^ @group@.
-  -> GLuint -- ^ @counter@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(pname)@ elements of type @a@.
-  -> m ()
-glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4 = liftIO $ dyn380 ptr_glGetPerfMonitorCounterInfoAMD v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetPerfMonitorCounterInfoAMD #-}
-ptr_glGetPerfMonitorCounterInfoAMD :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr a -> IO ())
-ptr_glGetPerfMonitorCounterInfoAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCounterInfoAMD"
-
--- glGetPerfMonitorCounterStringAMD --------------------------------------------
-
-glGetPerfMonitorCounterStringAMD
-  :: MonadIO m
-  => GLuint -- ^ @group@.
-  -> GLuint -- ^ @counter@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @counterString@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5 = liftIO $ dyn302 ptr_glGetPerfMonitorCounterStringAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetPerfMonitorCounterStringAMD #-}
-ptr_glGetPerfMonitorCounterStringAMD :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetPerfMonitorCounterStringAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCounterStringAMD"
-
--- glGetPerfMonitorCountersAMD -------------------------------------------------
-
-glGetPerfMonitorCountersAMD
-  :: MonadIO m
-  => GLuint -- ^ @group@.
-  -> Ptr GLint -- ^ @numCounters@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLint -- ^ @maxActiveCounters@ pointing to @1@ element of type @GLint@.
-  -> GLsizei -- ^ @counterSize@.
-  -> Ptr GLuint -- ^ @counters@ pointing to @counterSize@ elements of type @GLuint@.
-  -> m ()
-glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn381 ptr_glGetPerfMonitorCountersAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetPerfMonitorCountersAMD #-}
-ptr_glGetPerfMonitorCountersAMD :: FunPtr (GLuint -> Ptr GLint -> Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetPerfMonitorCountersAMD = unsafePerformIO $ getCommand "glGetPerfMonitorCountersAMD"
-
--- glGetPerfMonitorGroupStringAMD ----------------------------------------------
-
-glGetPerfMonitorGroupStringAMD
-  :: MonadIO m
-  => GLuint -- ^ @group@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @groupString@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetPerfMonitorGroupStringAMD v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetPerfMonitorGroupStringAMD v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetPerfMonitorGroupStringAMD #-}
-ptr_glGetPerfMonitorGroupStringAMD :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetPerfMonitorGroupStringAMD = unsafePerformIO $ getCommand "glGetPerfMonitorGroupStringAMD"
-
--- glGetPerfMonitorGroupsAMD ---------------------------------------------------
-
-glGetPerfMonitorGroupsAMD
-  :: MonadIO m
-  => Ptr GLint -- ^ @numGroups@ pointing to @1@ element of type @GLint@.
-  -> GLsizei -- ^ @groupsSize@.
-  -> Ptr GLuint -- ^ @groups@ pointing to @groupsSize@ elements of type @GLuint@.
-  -> m ()
-glGetPerfMonitorGroupsAMD v1 v2 v3 = liftIO $ dyn329 ptr_glGetPerfMonitorGroupsAMD v1 v2 v3
-
-{-# NOINLINE ptr_glGetPerfMonitorGroupsAMD #-}
-ptr_glGetPerfMonitorGroupsAMD :: FunPtr (Ptr GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetPerfMonitorGroupsAMD = unsafePerformIO $ getCommand "glGetPerfMonitorGroupsAMD"
-
--- glGetPerfQueryDataINTEL -----------------------------------------------------
-
-glGetPerfQueryDataINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryHandle@.
-  -> GLuint -- ^ @flags@.
-  -> GLsizei -- ^ @dataSize@.
-  -> Ptr a -- ^ @data@.
-  -> Ptr GLuint -- ^ @bytesWritten@.
-  -> m ()
-glGetPerfQueryDataINTEL v1 v2 v3 v4 v5 = liftIO $ dyn382 ptr_glGetPerfQueryDataINTEL v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetPerfQueryDataINTEL #-}
-ptr_glGetPerfQueryDataINTEL :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> Ptr GLuint -> IO ())
-ptr_glGetPerfQueryDataINTEL = unsafePerformIO $ getCommand "glGetPerfQueryDataINTEL"
-
--- glGetPerfQueryIdByNameINTEL -------------------------------------------------
-
-glGetPerfQueryIdByNameINTEL
-  :: MonadIO m
-  => Ptr GLchar -- ^ @queryName@.
-  -> Ptr GLuint -- ^ @queryId@.
-  -> m ()
-glGetPerfQueryIdByNameINTEL v1 v2 = liftIO $ dyn383 ptr_glGetPerfQueryIdByNameINTEL v1 v2
-
-{-# NOINLINE ptr_glGetPerfQueryIdByNameINTEL #-}
-ptr_glGetPerfQueryIdByNameINTEL :: FunPtr (Ptr GLchar -> Ptr GLuint -> IO ())
-ptr_glGetPerfQueryIdByNameINTEL = unsafePerformIO $ getCommand "glGetPerfQueryIdByNameINTEL"
-
--- glGetPerfQueryInfoINTEL -----------------------------------------------------
-
-glGetPerfQueryInfoINTEL
-  :: MonadIO m
-  => GLuint -- ^ @queryId@.
-  -> GLuint -- ^ @queryNameLength@.
-  -> Ptr GLchar -- ^ @queryName@.
-  -> Ptr GLuint -- ^ @dataSize@.
-  -> Ptr GLuint -- ^ @noCounters@.
-  -> Ptr GLuint -- ^ @noInstances@.
-  -> Ptr GLuint -- ^ @capsMask@.
-  -> m ()
-glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn384 ptr_glGetPerfQueryInfoINTEL v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetPerfQueryInfoINTEL #-}
-ptr_glGetPerfQueryInfoINTEL :: FunPtr (GLuint -> GLuint -> Ptr GLchar -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> Ptr GLuint -> IO ())
-ptr_glGetPerfQueryInfoINTEL = unsafePerformIO $ getCommand "glGetPerfQueryInfoINTEL"
-
--- glGetPixelMapfv -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
-glGetPixelMapfv
-  :: MonadIO m
-  => GLenum -- ^ @map@ of type [PixelMap](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelMap).
-  -> Ptr GLfloat -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLfloat@.
-  -> m ()
-glGetPixelMapfv v1 v2 = liftIO $ dyn93 ptr_glGetPixelMapfv v1 v2
-
-{-# NOINLINE ptr_glGetPixelMapfv #-}
-ptr_glGetPixelMapfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetPixelMapfv = unsafePerformIO $ getCommand "glGetPixelMapfv"
-
--- glGetPixelMapuiv ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
-glGetPixelMapuiv
-  :: MonadIO m
-  => GLenum -- ^ @map@ of type [PixelMap](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelMap).
-  -> Ptr GLuint -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLuint@.
-  -> m ()
-glGetPixelMapuiv v1 v2 = liftIO $ dyn124 ptr_glGetPixelMapuiv v1 v2
-
-{-# NOINLINE ptr_glGetPixelMapuiv #-}
-ptr_glGetPixelMapuiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glGetPixelMapuiv = unsafePerformIO $ getCommand "glGetPixelMapuiv"
-
--- glGetPixelMapusv ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPixelMap.xml OpenGL 2.x>.
-glGetPixelMapusv
-  :: MonadIO m
-  => GLenum -- ^ @map@ of type [PixelMap](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelMap).
-  -> Ptr GLushort -- ^ @values@ pointing to @COMPSIZE(map)@ elements of type @GLushort@.
-  -> m ()
-glGetPixelMapusv v1 v2 = liftIO $ dyn385 ptr_glGetPixelMapusv v1 v2
-
-{-# NOINLINE ptr_glGetPixelMapusv #-}
-ptr_glGetPixelMapusv :: FunPtr (GLenum -> Ptr GLushort -> IO ())
-ptr_glGetPixelMapusv = unsafePerformIO $ getCommand "glGetPixelMapusv"
-
--- glGetPixelMapxv -------------------------------------------------------------
-
-glGetPixelMapxv
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLint -- ^ @size@.
-  -> Ptr GLfixed -- ^ @values@ pointing to @size@ elements of type @GLfixed@.
-  -> m ()
-glGetPixelMapxv v1 v2 v3 = liftIO $ dyn386 ptr_glGetPixelMapxv v1 v2 v3
-
-{-# NOINLINE ptr_glGetPixelMapxv #-}
-ptr_glGetPixelMapxv :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
-ptr_glGetPixelMapxv = unsafePerformIO $ getCommand "glGetPixelMapxv"
-
--- glGetPixelTexGenParameterfvSGIS ---------------------------------------------
-
-glGetPixelTexGenParameterfvSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTexGenParameterNameSGIS).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glGetPixelTexGenParameterfvSGIS v1 v2 = liftIO $ dyn93 ptr_glGetPixelTexGenParameterfvSGIS v1 v2
-
-{-# NOINLINE ptr_glGetPixelTexGenParameterfvSGIS #-}
-ptr_glGetPixelTexGenParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetPixelTexGenParameterfvSGIS = unsafePerformIO $ getCommand "glGetPixelTexGenParameterfvSGIS"
-
--- glGetPixelTexGenParameterivSGIS ---------------------------------------------
-
-glGetPixelTexGenParameterivSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTexGenParameterNameSGIS).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glGetPixelTexGenParameterivSGIS v1 v2 = liftIO $ dyn135 ptr_glGetPixelTexGenParameterivSGIS v1 v2
-
-{-# NOINLINE ptr_glGetPixelTexGenParameterivSGIS #-}
-ptr_glGetPixelTexGenParameterivSGIS :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glGetPixelTexGenParameterivSGIS = unsafePerformIO $ getCommand "glGetPixelTexGenParameterivSGIS"
-
--- glGetPixelTransformParameterfvEXT -------------------------------------------
-
-glGetPixelTransformParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetPixelTransformParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glGetPixelTransformParameterfvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetPixelTransformParameterfvEXT #-}
-ptr_glGetPixelTransformParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetPixelTransformParameterfvEXT = unsafePerformIO $ getCommand "glGetPixelTransformParameterfvEXT"
-
--- glGetPixelTransformParameterivEXT -------------------------------------------
-
-glGetPixelTransformParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetPixelTransformParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetPixelTransformParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetPixelTransformParameterivEXT #-}
-ptr_glGetPixelTransformParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetPixelTransformParameterivEXT = unsafePerformIO $ getCommand "glGetPixelTransformParameterivEXT"
-
--- glGetPointerIndexedvEXT -----------------------------------------------------
-
-glGetPointerIndexedvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr (Ptr a) -- ^ @data@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetPointerIndexedvEXT v1 v2 v3 = liftIO $ dyn387 ptr_glGetPointerIndexedvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetPointerIndexedvEXT #-}
-ptr_glGetPointerIndexedvEXT :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
-ptr_glGetPointerIndexedvEXT = unsafePerformIO $ getCommand "glGetPointerIndexedvEXT"
-
--- glGetPointeri_vEXT ----------------------------------------------------------
-
-glGetPointeri_vEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TypeEnum@.
-  -> GLuint -- ^ @index@.
-  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetPointeri_vEXT v1 v2 v3 = liftIO $ dyn387 ptr_glGetPointeri_vEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetPointeri_vEXT #-}
-ptr_glGetPointeri_vEXT :: FunPtr (GLenum -> GLuint -> Ptr (Ptr a) -> IO ())
-ptr_glGetPointeri_vEXT = unsafePerformIO $ getCommand "glGetPointeri_vEXT"
-
--- glGetPointerv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPointerv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetPointerv.xhtml OpenGL 4.x>.
-glGetPointerv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-Rendering-OpenGL-Raw-Groups.html#GetPointervPName).
-  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetPointerv v1 v2 = liftIO $ dyn267 ptr_glGetPointerv v1 v2
-
-{-# NOINLINE ptr_glGetPointerv #-}
-ptr_glGetPointerv :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetPointerv = unsafePerformIO $ getCommand "glGetPointerv"
-
--- glGetPointervEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glGetPointerv'.
-glGetPointervEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [GetPointervPName](Graphics-Rendering-OpenGL-Raw-Groups.html#GetPointervPName).
-  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetPointervEXT v1 v2 = liftIO $ dyn267 ptr_glGetPointervEXT v1 v2
-
-{-# NOINLINE ptr_glGetPointervEXT #-}
-ptr_glGetPointervEXT :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetPointervEXT = unsafePerformIO $ getCommand "glGetPointervEXT"
-
--- glGetPointervKHR ------------------------------------------------------------
-
--- | This command is an alias for 'glGetPointerv'.
-glGetPointervKHR
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr (Ptr a) -- ^ @params@.
-  -> m ()
-glGetPointervKHR v1 v2 = liftIO $ dyn267 ptr_glGetPointervKHR v1 v2
-
-{-# NOINLINE ptr_glGetPointervKHR #-}
-ptr_glGetPointervKHR :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetPointervKHR = unsafePerformIO $ getCommand "glGetPointervKHR"
-
--- glGetPolygonStipple ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetPolygonStipple.xml OpenGL 2.x>.
-glGetPolygonStipple
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @mask@ pointing to @COMPSIZE()@ elements of type @GLubyte@.
-  -> m ()
-glGetPolygonStipple v1 = liftIO $ dyn100 ptr_glGetPolygonStipple v1
-
-{-# NOINLINE ptr_glGetPolygonStipple #-}
-ptr_glGetPolygonStipple :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glGetPolygonStipple = unsafePerformIO $ getCommand "glGetPolygonStipple"
-
--- glGetProgramBinary ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramBinary.xhtml OpenGL 4.x>.
-glGetProgramBinary
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
-  -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetProgramBinary v1 v2 v3 v4 v5 = liftIO $ dyn388 ptr_glGetProgramBinary v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetProgramBinary #-}
-ptr_glGetProgramBinary :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
-ptr_glGetProgramBinary = unsafePerformIO $ getCommand "glGetProgramBinary"
-
--- glGetProgramBinaryOES -------------------------------------------------------
-
--- | This command is an alias for 'glGetProgramBinary'.
-glGetProgramBinaryOES
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLenum -- ^ @binaryFormat@ pointing to @1@ element of type @GLenum@.
-  -> Ptr a -- ^ @binary@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetProgramBinaryOES v1 v2 v3 v4 v5 = liftIO $ dyn388 ptr_glGetProgramBinaryOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetProgramBinaryOES #-}
-ptr_glGetProgramBinaryOES :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr a -> IO ())
-ptr_glGetProgramBinaryOES = unsafePerformIO $ getCommand "glGetProgramBinaryOES"
-
--- glGetProgramEnvParameterIivNV -----------------------------------------------
-
-glGetProgramEnvParameterIivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glGetProgramEnvParameterIivNV v1 v2 v3 = liftIO $ dyn338 ptr_glGetProgramEnvParameterIivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramEnvParameterIivNV #-}
-ptr_glGetProgramEnvParameterIivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetProgramEnvParameterIivNV = unsafePerformIO $ getCommand "glGetProgramEnvParameterIivNV"
-
--- glGetProgramEnvParameterIuivNV ----------------------------------------------
-
-glGetProgramEnvParameterIuivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glGetProgramEnvParameterIuivNV v1 v2 v3 = liftIO $ dyn213 ptr_glGetProgramEnvParameterIuivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramEnvParameterIuivNV #-}
-ptr_glGetProgramEnvParameterIuivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glGetProgramEnvParameterIuivNV = unsafePerformIO $ getCommand "glGetProgramEnvParameterIuivNV"
-
--- glGetProgramEnvParameterdvARB -----------------------------------------------
-
-glGetProgramEnvParameterdvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetProgramEnvParameterdvARB v1 v2 v3 = liftIO $ dyn327 ptr_glGetProgramEnvParameterdvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramEnvParameterdvARB #-}
-ptr_glGetProgramEnvParameterdvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glGetProgramEnvParameterdvARB = unsafePerformIO $ getCommand "glGetProgramEnvParameterdvARB"
-
--- glGetProgramEnvParameterfvARB -----------------------------------------------
-
-glGetProgramEnvParameterfvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetProgramEnvParameterfvARB v1 v2 v3 = liftIO $ dyn266 ptr_glGetProgramEnvParameterfvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramEnvParameterfvARB #-}
-ptr_glGetProgramEnvParameterfvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetProgramEnvParameterfvARB = unsafePerformIO $ getCommand "glGetProgramEnvParameterfvARB"
-
--- glGetProgramInfoLog ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetProgramInfoLog.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetProgramInfoLog.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetProgramInfoLog.xhtml OpenGL 4.x>.
-glGetProgramInfoLog
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetProgramInfoLog v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetProgramInfoLog v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramInfoLog #-}
-ptr_glGetProgramInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetProgramInfoLog = unsafePerformIO $ getCommand "glGetProgramInfoLog"
-
--- glGetProgramInterfaceiv -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramInterface.xhtml OpenGL 4.x>.
-glGetProgramInterfaceiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetProgramInterfaceiv v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetProgramInterfaceiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramInterfaceiv #-}
-ptr_glGetProgramInterfaceiv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramInterfaceiv = unsafePerformIO $ getCommand "glGetProgramInterfaceiv"
-
--- glGetProgramLocalParameterIivNV ---------------------------------------------
-
-glGetProgramLocalParameterIivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glGetProgramLocalParameterIivNV v1 v2 v3 = liftIO $ dyn338 ptr_glGetProgramLocalParameterIivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramLocalParameterIivNV #-}
-ptr_glGetProgramLocalParameterIivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetProgramLocalParameterIivNV = unsafePerformIO $ getCommand "glGetProgramLocalParameterIivNV"
-
--- glGetProgramLocalParameterIuivNV --------------------------------------------
-
-glGetProgramLocalParameterIuivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glGetProgramLocalParameterIuivNV v1 v2 v3 = liftIO $ dyn213 ptr_glGetProgramLocalParameterIuivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramLocalParameterIuivNV #-}
-ptr_glGetProgramLocalParameterIuivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glGetProgramLocalParameterIuivNV = unsafePerformIO $ getCommand "glGetProgramLocalParameterIuivNV"
-
--- glGetProgramLocalParameterdvARB ---------------------------------------------
-
-glGetProgramLocalParameterdvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetProgramLocalParameterdvARB v1 v2 v3 = liftIO $ dyn327 ptr_glGetProgramLocalParameterdvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramLocalParameterdvARB #-}
-ptr_glGetProgramLocalParameterdvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glGetProgramLocalParameterdvARB = unsafePerformIO $ getCommand "glGetProgramLocalParameterdvARB"
-
--- glGetProgramLocalParameterfvARB ---------------------------------------------
-
-glGetProgramLocalParameterfvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetProgramLocalParameterfvARB v1 v2 v3 = liftIO $ dyn266 ptr_glGetProgramLocalParameterfvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramLocalParameterfvARB #-}
-ptr_glGetProgramLocalParameterfvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glGetProgramLocalParameterfvARB = unsafePerformIO $ getCommand "glGetProgramLocalParameterfvARB"
-
--- glGetProgramNamedParameterdvNV ----------------------------------------------
-
-glGetProgramNamedParameterdvNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetProgramNamedParameterdvNV v1 v2 v3 v4 = liftIO $ dyn389 ptr_glGetProgramNamedParameterdvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramNamedParameterdvNV #-}
-ptr_glGetProgramNamedParameterdvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
-ptr_glGetProgramNamedParameterdvNV = unsafePerformIO $ getCommand "glGetProgramNamedParameterdvNV"
-
--- glGetProgramNamedParameterfvNV ----------------------------------------------
-
-glGetProgramNamedParameterfvNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetProgramNamedParameterfvNV v1 v2 v3 v4 = liftIO $ dyn390 ptr_glGetProgramNamedParameterfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramNamedParameterfvNV #-}
-ptr_glGetProgramNamedParameterfvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-ptr_glGetProgramNamedParameterfvNV = unsafePerformIO $ getCommand "glGetProgramNamedParameterfvNV"
-
--- glGetProgramParameterdvNV ---------------------------------------------------
-
-glGetProgramParameterdvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetProgramParameterdvNV v1 v2 v3 v4 = liftIO $ dyn391 ptr_glGetProgramParameterdvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramParameterdvNV #-}
-ptr_glGetProgramParameterdvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetProgramParameterdvNV = unsafePerformIO $ getCommand "glGetProgramParameterdvNV"
-
--- glGetProgramParameterfvNV ---------------------------------------------------
-
-glGetProgramParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetProgramParameterfvNV v1 v2 v3 v4 = liftIO $ dyn346 ptr_glGetProgramParameterfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramParameterfvNV #-}
-ptr_glGetProgramParameterfvNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetProgramParameterfvNV = unsafePerformIO $ getCommand "glGetProgramParameterfvNV"
-
--- glGetProgramPipelineInfoLog -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipelineInfoLog.xhtml OpenGL 4.x>.
-glGetProgramPipelineInfoLog
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetProgramPipelineInfoLog v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetProgramPipelineInfoLog v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramPipelineInfoLog #-}
-ptr_glGetProgramPipelineInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetProgramPipelineInfoLog = unsafePerformIO $ getCommand "glGetProgramPipelineInfoLog"
-
--- glGetProgramPipelineInfoLogEXT ----------------------------------------------
-
-glGetProgramPipelineInfoLogEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetProgramPipelineInfoLogEXT v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetProgramPipelineInfoLogEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramPipelineInfoLogEXT #-}
-ptr_glGetProgramPipelineInfoLogEXT :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetProgramPipelineInfoLogEXT = unsafePerformIO $ getCommand "glGetProgramPipelineInfoLogEXT"
-
--- glGetProgramPipelineiv ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramPipeline.xhtml OpenGL 4.x>.
-glGetProgramPipelineiv
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetProgramPipelineiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramPipelineiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramPipelineiv #-}
-ptr_glGetProgramPipelineiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramPipelineiv = unsafePerformIO $ getCommand "glGetProgramPipelineiv"
-
--- glGetProgramPipelineivEXT ---------------------------------------------------
-
-glGetProgramPipelineivEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetProgramPipelineivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramPipelineivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramPipelineivEXT #-}
-ptr_glGetProgramPipelineivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramPipelineivEXT = unsafePerformIO $ getCommand "glGetProgramPipelineivEXT"
-
--- glGetProgramResourceIndex ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceIndex.xhtml OpenGL 4.x>.
-glGetProgramResourceIndex
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m GLuint
-glGetProgramResourceIndex v1 v2 v3 = liftIO $ dyn392 ptr_glGetProgramResourceIndex v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramResourceIndex #-}
-ptr_glGetProgramResourceIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
-ptr_glGetProgramResourceIndex = unsafePerformIO $ getCommand "glGetProgramResourceIndex"
-
--- glGetProgramResourceLocation ------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceLocation.xhtml OpenGL 4.x>.
-glGetProgramResourceLocation
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m GLint
-glGetProgramResourceLocation v1 v2 v3 = liftIO $ dyn393 ptr_glGetProgramResourceLocation v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramResourceLocation #-}
-ptr_glGetProgramResourceLocation :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
-ptr_glGetProgramResourceLocation = unsafePerformIO $ getCommand "glGetProgramResourceLocation"
-
--- glGetProgramResourceLocationIndex -------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceLocationIndex.xhtml OpenGL 4.x>.
-glGetProgramResourceLocationIndex
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m GLint
-glGetProgramResourceLocationIndex v1 v2 v3 = liftIO $ dyn393 ptr_glGetProgramResourceLocationIndex v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramResourceLocationIndex #-}
-ptr_glGetProgramResourceLocationIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
-ptr_glGetProgramResourceLocationIndex = unsafePerformIO $ getCommand "glGetProgramResourceLocationIndex"
-
--- glGetProgramResourceLocationIndexEXT ----------------------------------------
-
-glGetProgramResourceLocationIndexEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m GLint
-glGetProgramResourceLocationIndexEXT v1 v2 v3 = liftIO $ dyn393 ptr_glGetProgramResourceLocationIndexEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramResourceLocationIndexEXT #-}
-ptr_glGetProgramResourceLocationIndexEXT :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
-ptr_glGetProgramResourceLocationIndexEXT = unsafePerformIO $ getCommand "glGetProgramResourceLocationIndexEXT"
-
--- glGetProgramResourceName ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResourceName.xhtml OpenGL 4.x>.
-glGetProgramResourceName
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetProgramResourceName v1 v2 v3 v4 v5 v6 = liftIO $ dyn300 ptr_glGetProgramResourceName v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetProgramResourceName #-}
-ptr_glGetProgramResourceName :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetProgramResourceName = unsafePerformIO $ getCommand "glGetProgramResourceName"
-
--- glGetProgramResourcefvNV ----------------------------------------------------
-
-glGetProgramResourcefvNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @propCount@.
-  -> Ptr GLenum -- ^ @props@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@.
-  -> Ptr GLfloat -- ^ @params@.
-  -> m ()
-glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn394 ptr_glGetProgramResourcefvNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glGetProgramResourcefvNV #-}
-ptr_glGetProgramResourcefvNV :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetProgramResourcefvNV = unsafePerformIO $ getCommand "glGetProgramResourcefvNV"
-
--- glGetProgramResourceiv ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramResource.xhtml OpenGL 4.x>.
-glGetProgramResourceiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @programInterface@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @propCount@.
-  -> Ptr GLenum -- ^ @props@ pointing to @propCount@ elements of type @GLenum@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn395 ptr_glGetProgramResourceiv v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glGetProgramResourceiv #-}
-ptr_glGetProgramResourceiv :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-ptr_glGetProgramResourceiv = unsafePerformIO $ getCommand "glGetProgramResourceiv"
-
--- glGetProgramStageiv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetProgramStage.xhtml OpenGL 4.x>.
-glGetProgramStageiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @values@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetProgramStageiv v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetProgramStageiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetProgramStageiv #-}
-ptr_glGetProgramStageiv :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramStageiv = unsafePerformIO $ getCommand "glGetProgramStageiv"
-
--- glGetProgramStringARB -------------------------------------------------------
-
-glGetProgramStringARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLenum -- ^ @pname@ of type @ProgramStringPropertyARB@.
-  -> Ptr a -- ^ @string@ pointing to @COMPSIZE(target,pname)@ elements of type @a@.
-  -> m ()
-glGetProgramStringARB v1 v2 v3 = liftIO $ dyn241 ptr_glGetProgramStringARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramStringARB #-}
-ptr_glGetProgramStringARB :: FunPtr (GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetProgramStringARB = unsafePerformIO $ getCommand "glGetProgramStringARB"
-
--- glGetProgramStringNV --------------------------------------------------------
-
-glGetProgramStringNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLubyte -- ^ @program@ pointing to @COMPSIZE(id,pname)@ elements of type @ProgramCharacterNV@.
-  -> m ()
-glGetProgramStringNV v1 v2 v3 = liftIO $ dyn396 ptr_glGetProgramStringNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramStringNV #-}
-ptr_glGetProgramStringNV :: FunPtr (GLuint -> GLenum -> Ptr GLubyte -> IO ())
-ptr_glGetProgramStringNV = unsafePerformIO $ getCommand "glGetProgramStringNV"
-
--- glGetProgramSubroutineParameteruivNV ----------------------------------------
-
-glGetProgramSubroutineParameteruivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(target)@ elements of type @GLuint@.
-  -> m ()
-glGetProgramSubroutineParameteruivNV v1 v2 v3 = liftIO $ dyn213 ptr_glGetProgramSubroutineParameteruivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramSubroutineParameteruivNV #-}
-ptr_glGetProgramSubroutineParameteruivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glGetProgramSubroutineParameteruivNV = unsafePerformIO $ getCommand "glGetProgramSubroutineParameteruivNV"
-
--- glGetProgramiv --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetProgram.xhtml OpenGL 4.x>.
-glGetProgramiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetProgramiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramiv #-}
-ptr_glGetProgramiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramiv = unsafePerformIO $ getCommand "glGetProgramiv"
-
--- glGetProgramivARB -----------------------------------------------------------
-
-glGetProgramivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLenum -- ^ @pname@ of type @ProgramPropertyARB@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetProgramivARB v1 v2 v3 = liftIO $ dyn132 ptr_glGetProgramivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramivARB #-}
-ptr_glGetProgramivARB :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramivARB = unsafePerformIO $ getCommand "glGetProgramivARB"
-
--- glGetProgramivNV ------------------------------------------------------------
-
-glGetProgramivNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glGetProgramivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetProgramivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetProgramivNV #-}
-ptr_glGetProgramivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetProgramivNV = unsafePerformIO $ getCommand "glGetProgramivNV"
-
--- glGetQueryBufferObjecti64v --------------------------------------------------
-
-glGetQueryBufferObjecti64v
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glGetQueryBufferObjecti64v v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjecti64v v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetQueryBufferObjecti64v #-}
-ptr_glGetQueryBufferObjecti64v :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
-ptr_glGetQueryBufferObjecti64v = unsafePerformIO $ getCommand "glGetQueryBufferObjecti64v"
-
--- glGetQueryBufferObjectiv ----------------------------------------------------
-
-glGetQueryBufferObjectiv
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glGetQueryBufferObjectiv v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjectiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetQueryBufferObjectiv #-}
-ptr_glGetQueryBufferObjectiv :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
-ptr_glGetQueryBufferObjectiv = unsafePerformIO $ getCommand "glGetQueryBufferObjectiv"
-
--- glGetQueryBufferObjectui64v -------------------------------------------------
-
-glGetQueryBufferObjectui64v
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glGetQueryBufferObjectui64v v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjectui64v v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetQueryBufferObjectui64v #-}
-ptr_glGetQueryBufferObjectui64v :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
-ptr_glGetQueryBufferObjectui64v = unsafePerformIO $ getCommand "glGetQueryBufferObjectui64v"
-
--- glGetQueryBufferObjectuiv ---------------------------------------------------
-
-glGetQueryBufferObjectuiv
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @pname@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glGetQueryBufferObjectuiv v1 v2 v3 v4 = liftIO $ dyn397 ptr_glGetQueryBufferObjectuiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetQueryBufferObjectuiv #-}
-ptr_glGetQueryBufferObjectuiv :: FunPtr (GLuint -> GLuint -> GLenum -> GLintptr -> IO ())
-ptr_glGetQueryBufferObjectuiv = unsafePerformIO $ getCommand "glGetQueryBufferObjectuiv"
-
--- glGetQueryIndexediv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetQueryIndexed.xhtml OpenGL 4.x>.
-glGetQueryIndexediv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetQueryIndexediv v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetQueryIndexediv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetQueryIndexediv #-}
-ptr_glGetQueryIndexediv :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetQueryIndexediv = unsafePerformIO $ getCommand "glGetQueryIndexediv"
-
--- glGetQueryObjecti64v --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
-glGetQueryObjecti64v
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
-  -> m ()
-glGetQueryObjecti64v v1 v2 v3 = liftIO $ dyn355 ptr_glGetQueryObjecti64v v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjecti64v #-}
-ptr_glGetQueryObjecti64v :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
-ptr_glGetQueryObjecti64v = unsafePerformIO $ getCommand "glGetQueryObjecti64v"
-
--- glGetQueryObjecti64vEXT -----------------------------------------------------
-
--- | This command is an alias for 'glGetQueryObjecti64v'.
-glGetQueryObjecti64vEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64@.
-  -> m ()
-glGetQueryObjecti64vEXT v1 v2 v3 = liftIO $ dyn355 ptr_glGetQueryObjecti64vEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjecti64vEXT #-}
-ptr_glGetQueryObjecti64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint64 -> IO ())
-ptr_glGetQueryObjecti64vEXT = unsafePerformIO $ getCommand "glGetQueryObjecti64vEXT"
-
--- glGetQueryObjectiv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetQueryObject.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
-glGetQueryObjectiv
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetQueryObjectiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetQueryObjectiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectiv #-}
-ptr_glGetQueryObjectiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetQueryObjectiv = unsafePerformIO $ getCommand "glGetQueryObjectiv"
-
--- glGetQueryObjectivARB -------------------------------------------------------
-
--- | This command is an alias for 'glGetQueryObjectiv'.
-glGetQueryObjectivARB
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetQueryObjectivARB v1 v2 v3 = liftIO $ dyn331 ptr_glGetQueryObjectivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectivARB #-}
-ptr_glGetQueryObjectivARB :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetQueryObjectivARB = unsafePerformIO $ getCommand "glGetQueryObjectivARB"
-
--- glGetQueryObjectivEXT -------------------------------------------------------
-
--- | This command is an alias for 'glGetQueryObjectiv'.
-glGetQueryObjectivEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetQueryObjectivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetQueryObjectivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectivEXT #-}
-ptr_glGetQueryObjectivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetQueryObjectivEXT = unsafePerformIO $ getCommand "glGetQueryObjectivEXT"
-
--- glGetQueryObjectui64v -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
-glGetQueryObjectui64v
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64@.
-  -> m ()
-glGetQueryObjectui64v v1 v2 v3 = liftIO $ dyn398 ptr_glGetQueryObjectui64v v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectui64v #-}
-ptr_glGetQueryObjectui64v :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-ptr_glGetQueryObjectui64v = unsafePerformIO $ getCommand "glGetQueryObjectui64v"
-
--- glGetQueryObjectui64vEXT ----------------------------------------------------
-
--- | This command is an alias for 'glGetQueryObjectui64v'.
-glGetQueryObjectui64vEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64@.
-  -> m ()
-glGetQueryObjectui64vEXT v1 v2 v3 = liftIO $ dyn398 ptr_glGetQueryObjectui64vEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectui64vEXT #-}
-ptr_glGetQueryObjectui64vEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint64 -> IO ())
-ptr_glGetQueryObjectui64vEXT = unsafePerformIO $ getCommand "glGetQueryObjectui64vEXT"
-
--- glGetQueryObjectuiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetQueryObject.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryObject.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryObject.xhtml OpenGL 4.x>.
-glGetQueryObjectuiv
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetQueryObjectuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetQueryObjectuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectuiv #-}
-ptr_glGetQueryObjectuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetQueryObjectuiv = unsafePerformIO $ getCommand "glGetQueryObjectuiv"
-
--- glGetQueryObjectuivARB ------------------------------------------------------
-
--- | This command is an alias for 'glGetQueryObjectuiv'.
-glGetQueryObjectuivARB
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetQueryObjectuivARB v1 v2 v3 = liftIO $ dyn371 ptr_glGetQueryObjectuivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectuivARB #-}
-ptr_glGetQueryObjectuivARB :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetQueryObjectuivARB = unsafePerformIO $ getCommand "glGetQueryObjectuivARB"
-
--- glGetQueryObjectuivEXT ------------------------------------------------------
-
-glGetQueryObjectuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@.
-  -> m ()
-glGetQueryObjectuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glGetQueryObjectuivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryObjectuivEXT #-}
-ptr_glGetQueryObjectuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetQueryObjectuivEXT = unsafePerformIO $ getCommand "glGetQueryObjectuivEXT"
-
--- glGetQueryiv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetQueryiv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetQueryiv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetQueryiv.xhtml OpenGL 4.x>.
-glGetQueryiv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetQueryiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetQueryiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryiv #-}
-ptr_glGetQueryiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetQueryiv = unsafePerformIO $ getCommand "glGetQueryiv"
-
--- glGetQueryivARB -------------------------------------------------------------
-
--- | This command is an alias for 'glGetQueryiv'.
-glGetQueryivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetQueryivARB v1 v2 v3 = liftIO $ dyn132 ptr_glGetQueryivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryivARB #-}
-ptr_glGetQueryivARB :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetQueryivARB = unsafePerformIO $ getCommand "glGetQueryivARB"
-
--- glGetQueryivEXT -------------------------------------------------------------
-
-glGetQueryivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetQueryivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetQueryivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetQueryivEXT #-}
-ptr_glGetQueryivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetQueryivEXT = unsafePerformIO $ getCommand "glGetQueryivEXT"
-
--- glGetRenderbufferParameteriv ------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetRenderbufferParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetRenderbufferParameter.xhtml OpenGL 4.x>.
-glGetRenderbufferParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetRenderbufferParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetRenderbufferParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetRenderbufferParameteriv #-}
-ptr_glGetRenderbufferParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetRenderbufferParameteriv = unsafePerformIO $ getCommand "glGetRenderbufferParameteriv"
-
--- glGetRenderbufferParameterivEXT ---------------------------------------------
-
--- | This command is an alias for 'glGetRenderbufferParameteriv'.
-glGetRenderbufferParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetRenderbufferParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetRenderbufferParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetRenderbufferParameterivEXT #-}
-ptr_glGetRenderbufferParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetRenderbufferParameterivEXT = unsafePerformIO $ getCommand "glGetRenderbufferParameterivEXT"
-
--- glGetRenderbufferParameterivOES ---------------------------------------------
-
-glGetRenderbufferParameterivOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetRenderbufferParameterivOES v1 v2 v3 = liftIO $ dyn132 ptr_glGetRenderbufferParameterivOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetRenderbufferParameterivOES #-}
-ptr_glGetRenderbufferParameterivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetRenderbufferParameterivOES = unsafePerformIO $ getCommand "glGetRenderbufferParameterivOES"
-
--- glGetSamplerParameterIiv ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
-glGetSamplerParameterIiv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetSamplerParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameterIiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameterIiv #-}
-ptr_glGetSamplerParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetSamplerParameterIiv = unsafePerformIO $ getCommand "glGetSamplerParameterIiv"
-
--- glGetSamplerParameterIivEXT -------------------------------------------------
-
--- | This command is an alias for 'glGetSamplerParameterIiv'.
-glGetSamplerParameterIivEXT
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameterIivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameterIivEXT #-}
-ptr_glGetSamplerParameterIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetSamplerParameterIivEXT = unsafePerformIO $ getCommand "glGetSamplerParameterIivEXT"
-
--- glGetSamplerParameterIivOES -------------------------------------------------
-
--- | This command is an alias for 'glGetSamplerParameterIiv'.
-glGetSamplerParameterIivOES
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameterIivOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameterIivOES #-}
-ptr_glGetSamplerParameterIivOES :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetSamplerParameterIivOES = unsafePerformIO $ getCommand "glGetSamplerParameterIivOES"
-
--- glGetSamplerParameterIuiv ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
-glGetSamplerParameterIuiv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetSamplerParameterIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameterIuiv #-}
-ptr_glGetSamplerParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetSamplerParameterIuiv = unsafePerformIO $ getCommand "glGetSamplerParameterIuiv"
-
--- glGetSamplerParameterIuivEXT ------------------------------------------------
-
--- | This command is an alias for 'glGetSamplerParameterIuiv'.
-glGetSamplerParameterIuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glGetSamplerParameterIuivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameterIuivEXT #-}
-ptr_glGetSamplerParameterIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetSamplerParameterIuivEXT = unsafePerformIO $ getCommand "glGetSamplerParameterIuivEXT"
-
--- glGetSamplerParameterIuivOES ------------------------------------------------
-
--- | This command is an alias for 'glGetSamplerParameterIuiv'.
-glGetSamplerParameterIuivOES
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn371 ptr_glGetSamplerParameterIuivOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameterIuivOES #-}
-ptr_glGetSamplerParameterIuivOES :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetSamplerParameterIuivOES = unsafePerformIO $ getCommand "glGetSamplerParameterIuivOES"
-
--- glGetSamplerParameterfv -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
-glGetSamplerParameterfv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetSamplerParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glGetSamplerParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameterfv #-}
-ptr_glGetSamplerParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetSamplerParameterfv = unsafePerformIO $ getCommand "glGetSamplerParameterfv"
-
--- glGetSamplerParameteriv -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSamplerParameter.xhtml OpenGL 4.x>.
-glGetSamplerParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetSamplerParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetSamplerParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetSamplerParameteriv #-}
-ptr_glGetSamplerParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetSamplerParameteriv = unsafePerformIO $ getCommand "glGetSamplerParameteriv"
-
--- glGetSeparableFilter --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetSeparableFilter.xml OpenGL 2.x>.
-glGetSeparableFilter
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @SeparableTarget@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type)@ elements of type @b@.
-  -> Ptr c -- ^ @span@ pointing to @COMPSIZE(target,format,type)@ elements of type @c@.
-  -> m ()
-glGetSeparableFilter v1 v2 v3 v4 v5 v6 = liftIO $ dyn399 ptr_glGetSeparableFilter v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetSeparableFilter #-}
-ptr_glGetSeparableFilter :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
-ptr_glGetSeparableFilter = unsafePerformIO $ getCommand "glGetSeparableFilter"
-
--- glGetSeparableFilterEXT -----------------------------------------------------
-
-glGetSeparableFilterEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#SeparableTargetEXT).
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type)@ elements of type @a@.
-  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type)@ elements of type @b@.
-  -> Ptr c -- ^ @span@ pointing to @COMPSIZE(target,format,type)@ elements of type @c@.
-  -> m ()
-glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn399 ptr_glGetSeparableFilterEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetSeparableFilterEXT #-}
-ptr_glGetSeparableFilterEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr a -> Ptr b -> Ptr c -> IO ())
-ptr_glGetSeparableFilterEXT = unsafePerformIO $ getCommand "glGetSeparableFilterEXT"
-
--- glGetShaderInfoLog ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetShaderInfoLog.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderInfoLog.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetShaderInfoLog.xhtml OpenGL 4.x>.
-glGetShaderInfoLog
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @infoLog@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetShaderInfoLog v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetShaderInfoLog v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetShaderInfoLog #-}
-ptr_glGetShaderInfoLog :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetShaderInfoLog = unsafePerformIO $ getCommand "glGetShaderInfoLog"
-
--- glGetShaderPrecisionFormat --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetShaderPrecisionFormat.xhtml OpenGL 4.x>.
-glGetShaderPrecisionFormat
-  :: MonadIO m
-  => GLenum -- ^ @shadertype@.
-  -> GLenum -- ^ @precisiontype@.
-  -> Ptr GLint -- ^ @range@ pointing to @2@ elements of type @GLint@.
-  -> Ptr GLint -- ^ @precision@ pointing to @2@ elements of type @GLint@.
-  -> m ()
-glGetShaderPrecisionFormat v1 v2 v3 v4 = liftIO $ dyn400 ptr_glGetShaderPrecisionFormat v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetShaderPrecisionFormat #-}
-ptr_glGetShaderPrecisionFormat :: FunPtr (GLenum -> GLenum -> Ptr GLint -> Ptr GLint -> IO ())
-ptr_glGetShaderPrecisionFormat = unsafePerformIO $ getCommand "glGetShaderPrecisionFormat"
-
--- glGetShaderSource -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetShaderSource.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetShaderSource.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetShaderSource.xhtml OpenGL 4.x>.
-glGetShaderSource
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @source@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetShaderSource v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetShaderSource v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetShaderSource #-}
-ptr_glGetShaderSource :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetShaderSource = unsafePerformIO $ getCommand "glGetShaderSource"
-
--- glGetShaderSourceARB --------------------------------------------------------
-
--- | This command is an alias for 'glGetShaderSource'.
-glGetShaderSourceARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @obj@ of type @handleARB@.
-  -> GLsizei -- ^ @maxLength@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLcharARB -- ^ @source@ pointing to @maxLength@ elements of type @GLcharARB@.
-  -> m ()
-glGetShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn334 ptr_glGetShaderSourceARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetShaderSourceARB #-}
-ptr_glGetShaderSourceARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr GLsizei -> Ptr GLcharARB -> IO ())
-ptr_glGetShaderSourceARB = unsafePerformIO $ getCommand "glGetShaderSourceARB"
-
--- glGetShaderiv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetShader.xhtml OpenGL 4.x>.
-glGetShaderiv
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetShaderiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetShaderiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetShaderiv #-}
-ptr_glGetShaderiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetShaderiv = unsafePerformIO $ getCommand "glGetShaderiv"
-
--- glGetSharpenTexFuncSGIS -----------------------------------------------------
-
-glGetSharpenTexFuncSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target)@ elements of type @GLfloat@.
-  -> m ()
-glGetSharpenTexFuncSGIS v1 v2 = liftIO $ dyn93 ptr_glGetSharpenTexFuncSGIS v1 v2
-
-{-# NOINLINE ptr_glGetSharpenTexFuncSGIS #-}
-ptr_glGetSharpenTexFuncSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetSharpenTexFuncSGIS = unsafePerformIO $ getCommand "glGetSharpenTexFuncSGIS"
-
--- glGetStageIndexNV -----------------------------------------------------------
-
-glGetStageIndexNV
-  :: MonadIO m
-  => GLenum -- ^ @shadertype@.
-  -> m GLushort
-glGetStageIndexNV v1 = liftIO $ dyn401 ptr_glGetStageIndexNV v1
-
-{-# NOINLINE ptr_glGetStageIndexNV #-}
-ptr_glGetStageIndexNV :: FunPtr (GLenum -> IO GLushort)
-ptr_glGetStageIndexNV = unsafePerformIO $ getCommand "glGetStageIndexNV"
-
--- glGetString -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetString.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetString.xhtml OpenGL 4.x>.
-glGetString
-  :: MonadIO m
-  => GLenum -- ^ @name@ of type [StringName](Graphics-Rendering-OpenGL-Raw-Groups.html#StringName).
-  -> m (Ptr GLubyte) -- ^ pointing to elements of type @String@.
-glGetString v1 = liftIO $ dyn402 ptr_glGetString v1
-
-{-# NOINLINE ptr_glGetString #-}
-ptr_glGetString :: FunPtr (GLenum -> IO (Ptr GLubyte))
-ptr_glGetString = unsafePerformIO $ getCommand "glGetString"
-
--- glGetStringi ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetString.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetString.xhtml OpenGL 4.x>.
-glGetStringi
-  :: MonadIO m
-  => GLenum -- ^ @name@.
-  -> GLuint -- ^ @index@.
-  -> m (Ptr GLubyte) -- ^ pointing to elements of type @String@.
-glGetStringi v1 v2 = liftIO $ dyn403 ptr_glGetStringi v1 v2
-
-{-# NOINLINE ptr_glGetStringi #-}
-ptr_glGetStringi :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
-ptr_glGetStringi = unsafePerformIO $ getCommand "glGetStringi"
-
--- glGetSubroutineIndex --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetSubroutineIndex.xhtml OpenGL 4.x>.
-glGetSubroutineIndex
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m GLuint
-glGetSubroutineIndex v1 v2 v3 = liftIO $ dyn392 ptr_glGetSubroutineIndex v1 v2 v3
-
-{-# NOINLINE ptr_glGetSubroutineIndex #-}
-ptr_glGetSubroutineIndex :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLuint)
-ptr_glGetSubroutineIndex = unsafePerformIO $ getCommand "glGetSubroutineIndex"
-
--- glGetSubroutineUniformLocation ----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetSubroutineUniformLocation.xhtml OpenGL 4.x>.
-glGetSubroutineUniformLocation
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @shadertype@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m GLint
-glGetSubroutineUniformLocation v1 v2 v3 = liftIO $ dyn393 ptr_glGetSubroutineUniformLocation v1 v2 v3
-
-{-# NOINLINE ptr_glGetSubroutineUniformLocation #-}
-ptr_glGetSubroutineUniformLocation :: FunPtr (GLuint -> GLenum -> Ptr GLchar -> IO GLint)
-ptr_glGetSubroutineUniformLocation = unsafePerformIO $ getCommand "glGetSubroutineUniformLocation"
-
--- glGetSynciv -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetSync.xhtml OpenGL 4.x>.
-glGetSynciv
-  :: MonadIO m
-  => GLsync -- ^ @sync@ of type @sync@.
-  -> GLenum -- ^ @pname@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetSynciv v1 v2 v3 v4 v5 = liftIO $ dyn404 ptr_glGetSynciv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetSynciv #-}
-ptr_glGetSynciv :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-ptr_glGetSynciv = unsafePerformIO $ getCommand "glGetSynciv"
-
--- glGetSyncivAPPLE ------------------------------------------------------------
-
--- | This command is an alias for 'glGetSynciv'.
-glGetSyncivAPPLE
-  :: MonadIO m
-  => GLsync -- ^ @sync@.
-  -> GLenum -- ^ @pname@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@.
-  -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetSyncivAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn404 ptr_glGetSyncivAPPLE v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetSyncivAPPLE #-}
-ptr_glGetSyncivAPPLE :: FunPtr (GLsync -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-ptr_glGetSyncivAPPLE = unsafePerformIO $ getCommand "glGetSyncivAPPLE"
-
--- glGetTexBumpParameterfvATI --------------------------------------------------
-
-glGetTexBumpParameterfvATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @GetTexBumpParameterATI@.
-  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTexBumpParameterfvATI v1 v2 = liftIO $ dyn93 ptr_glGetTexBumpParameterfvATI v1 v2
-
-{-# NOINLINE ptr_glGetTexBumpParameterfvATI #-}
-ptr_glGetTexBumpParameterfvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTexBumpParameterfvATI = unsafePerformIO $ getCommand "glGetTexBumpParameterfvATI"
-
--- glGetTexBumpParameterivATI --------------------------------------------------
-
-glGetTexBumpParameterivATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @GetTexBumpParameterATI@.
-  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexBumpParameterivATI v1 v2 = liftIO $ dyn135 ptr_glGetTexBumpParameterivATI v1 v2
-
-{-# NOINLINE ptr_glGetTexBumpParameterivATI #-}
-ptr_glGetTexBumpParameterivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexBumpParameterivATI = unsafePerformIO $ getCommand "glGetTexBumpParameterivATI"
-
--- glGetTexEnvfv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexEnv.xml OpenGL 2.x>.
-glGetTexEnvfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTexEnvfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexEnvfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexEnvfv #-}
-ptr_glGetTexEnvfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTexEnvfv = unsafePerformIO $ getCommand "glGetTexEnvfv"
-
--- glGetTexEnviv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexEnv.xml OpenGL 2.x>.
-glGetTexEnviv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexEnviv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexEnviv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexEnviv #-}
-ptr_glGetTexEnviv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexEnviv = unsafePerformIO $ getCommand "glGetTexEnviv"
-
--- glGetTexEnvxv ---------------------------------------------------------------
-
-glGetTexEnvxv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetTexEnvxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexEnvxv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexEnvxv #-}
-ptr_glGetTexEnvxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetTexEnvxv = unsafePerformIO $ getCommand "glGetTexEnvxv"
-
--- glGetTexEnvxvOES ------------------------------------------------------------
-
-glGetTexEnvxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetTexEnvxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexEnvxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexEnvxvOES #-}
-ptr_glGetTexEnvxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetTexEnvxvOES = unsafePerformIO $ getCommand "glGetTexEnvxvOES"
-
--- glGetTexFilterFuncSGIS ------------------------------------------------------
-
-glGetTexFilterFuncSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @filter@ of type @TextureFilterSGIS@.
-  -> Ptr GLfloat -- ^ @weights@ pointing to @COMPSIZE(target,filter)@ elements of type @GLfloat@.
-  -> m ()
-glGetTexFilterFuncSGIS v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexFilterFuncSGIS v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexFilterFuncSGIS #-}
-ptr_glGetTexFilterFuncSGIS :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTexFilterFuncSGIS = unsafePerformIO $ getCommand "glGetTexFilterFuncSGIS"
-
--- glGetTexGendv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexGen.xml OpenGL 2.x>.
-glGetTexGendv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetTexGendv v1 v2 v3 = liftIO $ dyn349 ptr_glGetTexGendv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexGendv #-}
-ptr_glGetTexGendv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetTexGendv = unsafePerformIO $ getCommand "glGetTexGendv"
-
--- glGetTexGenfv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexGen.xml OpenGL 2.x>.
-glGetTexGenfv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTexGenfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexGenfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexGenfv #-}
-ptr_glGetTexGenfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTexGenfv = unsafePerformIO $ getCommand "glGetTexGenfv"
-
--- glGetTexGenfvOES ------------------------------------------------------------
-
-glGetTexGenfvOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTexGenfvOES v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexGenfvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexGenfvOES #-}
-ptr_glGetTexGenfvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTexGenfvOES = unsafePerformIO $ getCommand "glGetTexGenfvOES"
-
--- glGetTexGeniv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexGen.xml OpenGL 2.x>.
-glGetTexGeniv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexGeniv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexGeniv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexGeniv #-}
-ptr_glGetTexGeniv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexGeniv = unsafePerformIO $ getCommand "glGetTexGeniv"
-
--- glGetTexGenivOES ------------------------------------------------------------
-
-glGetTexGenivOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexGenivOES v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexGenivOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexGenivOES #-}
-ptr_glGetTexGenivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexGenivOES = unsafePerformIO $ getCommand "glGetTexGenivOES"
-
--- glGetTexGenxvOES ------------------------------------------------------------
-
-glGetTexGenxvOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetTexGenxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexGenxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexGenxvOES #-}
-ptr_glGetTexGenxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetTexGenxvOES = unsafePerformIO $ getCommand "glGetTexGenxvOES"
-
--- glGetTexImage ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexImage.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexImage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
-glGetTexImage
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
-  -> m ()
-glGetTexImage v1 v2 v3 v4 v5 = liftIO $ dyn405 ptr_glGetTexImage v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetTexImage #-}
-ptr_glGetTexImage :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetTexImage = unsafePerformIO $ getCommand "glGetTexImage"
-
--- glGetTexLevelParameterfv ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexLevelParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
-glGetTexLevelParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTexLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn406 ptr_glGetTexLevelParameterfv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTexLevelParameterfv #-}
-ptr_glGetTexLevelParameterfv :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTexLevelParameterfv = unsafePerformIO $ getCommand "glGetTexLevelParameterfv"
-
--- glGetTexLevelParameteriv ----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexLevelParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexLevelParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
-glGetTexLevelParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn407 ptr_glGetTexLevelParameteriv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTexLevelParameteriv #-}
-ptr_glGetTexLevelParameteriv :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexLevelParameteriv = unsafePerformIO $ getCommand "glGetTexLevelParameteriv"
-
--- glGetTexLevelParameterxvOES -------------------------------------------------
-
-glGetTexLevelParameterxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetTexLevelParameterxvOES v1 v2 v3 v4 = liftIO $ dyn408 ptr_glGetTexLevelParameterxvOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTexLevelParameterxvOES #-}
-ptr_glGetTexLevelParameterxvOES :: FunPtr (GLenum -> GLint -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetTexLevelParameterxvOES = unsafePerformIO $ getCommand "glGetTexLevelParameterxvOES"
-
--- glGetTexParameterIiv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTexParameterIiv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexParameterIiv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameterIiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterIiv #-}
-ptr_glGetTexParameterIiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexParameterIiv = unsafePerformIO $ getCommand "glGetTexParameterIiv"
-
--- glGetTexParameterIivEXT -----------------------------------------------------
-
--- | This command is an alias for 'glGetTexParameterIiv'.
-glGetTexParameterIivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexParameterIivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameterIivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterIivEXT #-}
-ptr_glGetTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexParameterIivEXT = unsafePerformIO $ getCommand "glGetTexParameterIivEXT"
-
--- glGetTexParameterIivOES -----------------------------------------------------
-
--- | This command is an alias for 'glGetTexParameterIiv'.
-glGetTexParameterIivOES
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexParameterIivOES v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameterIivOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterIivOES #-}
-ptr_glGetTexParameterIivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexParameterIivOES = unsafePerformIO $ getCommand "glGetTexParameterIivOES"
-
--- glGetTexParameterIuiv -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTexParameterIuiv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetTexParameterIuiv v1 v2 v3 = liftIO $ dyn409 ptr_glGetTexParameterIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterIuiv #-}
-ptr_glGetTexParameterIuiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetTexParameterIuiv = unsafePerformIO $ getCommand "glGetTexParameterIuiv"
-
--- glGetTexParameterIuivEXT ----------------------------------------------------
-
--- | This command is an alias for 'glGetTexParameterIuiv'.
-glGetTexParameterIuivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn409 ptr_glGetTexParameterIuivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterIuivEXT #-}
-ptr_glGetTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetTexParameterIuivEXT = unsafePerformIO $ getCommand "glGetTexParameterIuivEXT"
-
--- glGetTexParameterIuivOES ----------------------------------------------------
-
--- | This command is an alias for 'glGetTexParameterIuiv'.
-glGetTexParameterIuivOES
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetTexParameterIuivOES v1 v2 v3 = liftIO $ dyn409 ptr_glGetTexParameterIuivOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterIuivOES #-}
-ptr_glGetTexParameterIuivOES :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetTexParameterIuivOES = unsafePerformIO $ getCommand "glGetTexParameterIuivOES"
-
--- glGetTexParameterPointervAPPLE ----------------------------------------------
-
-glGetTexParameterPointervAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr (Ptr a) -- ^ @params@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetTexParameterPointervAPPLE v1 v2 v3 = liftIO $ dyn313 ptr_glGetTexParameterPointervAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterPointervAPPLE #-}
-ptr_glGetTexParameterPointervAPPLE :: FunPtr (GLenum -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetTexParameterPointervAPPLE = unsafePerformIO $ getCommand "glGetTexParameterPointervAPPLE"
-
--- glGetTexParameterfv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTexParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTexParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glGetTexParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterfv #-}
-ptr_glGetTexParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTexParameterfv = unsafePerformIO $ getCommand "glGetTexParameterfv"
-
--- glGetTexParameteriv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTexParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTexParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glGetTexParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameteriv #-}
-ptr_glGetTexParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTexParameteriv = unsafePerformIO $ getCommand "glGetTexParameteriv"
-
--- glGetTexParameterxv ---------------------------------------------------------
-
-glGetTexParameterxv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetTexParameterxv v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexParameterxv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterxv #-}
-ptr_glGetTexParameterxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetTexParameterxv = unsafePerformIO $ getCommand "glGetTexParameterxv"
-
--- glGetTexParameterxvOES ------------------------------------------------------
-
-glGetTexParameterxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glGetTexParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glGetTexParameterxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glGetTexParameterxvOES #-}
-ptr_glGetTexParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glGetTexParameterxvOES = unsafePerformIO $ getCommand "glGetTexParameterxvOES"
-
--- glGetTextureHandleARB -------------------------------------------------------
-
-glGetTextureHandleARB
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> m GLuint64
-glGetTextureHandleARB v1 = liftIO $ dyn410 ptr_glGetTextureHandleARB v1
-
-{-# NOINLINE ptr_glGetTextureHandleARB #-}
-ptr_glGetTextureHandleARB :: FunPtr (GLuint -> IO GLuint64)
-ptr_glGetTextureHandleARB = unsafePerformIO $ getCommand "glGetTextureHandleARB"
-
--- glGetTextureHandleNV --------------------------------------------------------
-
-glGetTextureHandleNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> m GLuint64
-glGetTextureHandleNV v1 = liftIO $ dyn410 ptr_glGetTextureHandleNV v1
-
-{-# NOINLINE ptr_glGetTextureHandleNV #-}
-ptr_glGetTextureHandleNV :: FunPtr (GLuint -> IO GLuint64)
-ptr_glGetTextureHandleNV = unsafePerformIO $ getCommand "glGetTextureHandleNV"
-
--- glGetTextureImage -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
-glGetTextureImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glGetTextureImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn411 ptr_glGetTextureImage v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetTextureImage #-}
-ptr_glGetTextureImage :: FunPtr (GLuint -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetTextureImage = unsafePerformIO $ getCommand "glGetTextureImage"
-
--- glGetTextureImageEXT --------------------------------------------------------
-
-glGetTextureImageEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(target,level,format,type)@ elements of type @a@.
-  -> m ()
-glGetTextureImageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn412 ptr_glGetTextureImageEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetTextureImageEXT #-}
-ptr_glGetTextureImageEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glGetTextureImageEXT = unsafePerformIO $ getCommand "glGetTextureImageEXT"
-
--- glGetTextureLevelParameterfv ------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
-glGetTextureLevelParameterfv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@.
-  -> m ()
-glGetTextureLevelParameterfv v1 v2 v3 v4 = liftIO $ dyn413 ptr_glGetTextureLevelParameterfv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureLevelParameterfv #-}
-ptr_glGetTextureLevelParameterfv :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTextureLevelParameterfv = unsafePerformIO $ getCommand "glGetTextureLevelParameterfv"
-
--- glGetTextureLevelParameterfvEXT ---------------------------------------------
-
-glGetTextureLevelParameterfvEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5 = liftIO $ dyn414 ptr_glGetTextureLevelParameterfvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetTextureLevelParameterfvEXT #-}
-ptr_glGetTextureLevelParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTextureLevelParameterfvEXT = unsafePerformIO $ getCommand "glGetTextureLevelParameterfvEXT"
-
--- glGetTextureLevelParameteriv ------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexLevelParameter.xhtml OpenGL 4.x>.
-glGetTextureLevelParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetTextureLevelParameteriv v1 v2 v3 v4 = liftIO $ dyn415 ptr_glGetTextureLevelParameteriv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureLevelParameteriv #-}
-ptr_glGetTextureLevelParameteriv :: FunPtr (GLuint -> GLint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTextureLevelParameteriv = unsafePerformIO $ getCommand "glGetTextureLevelParameteriv"
-
--- glGetTextureLevelParameterivEXT ---------------------------------------------
-
-glGetTextureLevelParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5 = liftIO $ dyn270 ptr_glGetTextureLevelParameterivEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetTextureLevelParameterivEXT #-}
-ptr_glGetTextureLevelParameterivEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTextureLevelParameterivEXT = unsafePerformIO $ getCommand "glGetTextureLevelParameterivEXT"
-
--- glGetTextureParameterIiv ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTextureParameterIiv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetTextureParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetTextureParameterIiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTextureParameterIiv #-}
-ptr_glGetTextureParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTextureParameterIiv = unsafePerformIO $ getCommand "glGetTextureParameterIiv"
-
--- glGetTextureParameterIivEXT -------------------------------------------------
-
-glGetTextureParameterIivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetTextureParameterIivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureParameterIivEXT #-}
-ptr_glGetTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTextureParameterIivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIivEXT"
-
--- glGetTextureParameterIuiv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTextureParameterIuiv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@.
-  -> m ()
-glGetTextureParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetTextureParameterIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTextureParameterIuiv #-}
-ptr_glGetTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetTextureParameterIuiv = unsafePerformIO $ getCommand "glGetTextureParameterIuiv"
-
--- glGetTextureParameterIuivEXT ------------------------------------------------
-
-glGetTextureParameterIuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn416 ptr_glGetTextureParameterIuivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureParameterIuivEXT #-}
-ptr_glGetTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetTextureParameterIuivEXT = unsafePerformIO $ getCommand "glGetTextureParameterIuivEXT"
-
--- glGetTextureParameterfv -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTextureParameterfv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@.
-  -> m ()
-glGetTextureParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glGetTextureParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTextureParameterfv #-}
-ptr_glGetTextureParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTextureParameterfv = unsafePerformIO $ getCommand "glGetTextureParameterfv"
-
--- glGetTextureParameterfvEXT --------------------------------------------------
-
-glGetTextureParameterfvEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn417 ptr_glGetTextureParameterfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureParameterfvEXT #-}
-ptr_glGetTextureParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetTextureParameterfvEXT = unsafePerformIO $ getCommand "glGetTextureParameterfvEXT"
-
--- glGetTextureParameteriv -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexParameter.xhtml OpenGL 4.x>.
-glGetTextureParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetTextureParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glGetTextureParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTextureParameteriv #-}
-ptr_glGetTextureParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTextureParameteriv = unsafePerformIO $ getCommand "glGetTextureParameteriv"
-
--- glGetTextureParameterivEXT --------------------------------------------------
-
-glGetTextureParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [GetTextureParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#GetTextureParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glGetTextureParameterivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTextureParameterivEXT #-}
-ptr_glGetTextureParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTextureParameterivEXT = unsafePerformIO $ getCommand "glGetTextureParameterivEXT"
-
--- glGetTextureSamplerHandleARB ------------------------------------------------
-
-glGetTextureSamplerHandleARB
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLuint -- ^ @sampler@.
-  -> m GLuint64
-glGetTextureSamplerHandleARB v1 v2 = liftIO $ dyn418 ptr_glGetTextureSamplerHandleARB v1 v2
-
-{-# NOINLINE ptr_glGetTextureSamplerHandleARB #-}
-ptr_glGetTextureSamplerHandleARB :: FunPtr (GLuint -> GLuint -> IO GLuint64)
-ptr_glGetTextureSamplerHandleARB = unsafePerformIO $ getCommand "glGetTextureSamplerHandleARB"
-
--- glGetTextureSamplerHandleNV -------------------------------------------------
-
-glGetTextureSamplerHandleNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLuint -- ^ @sampler@.
-  -> m GLuint64
-glGetTextureSamplerHandleNV v1 v2 = liftIO $ dyn418 ptr_glGetTextureSamplerHandleNV v1 v2
-
-{-# NOINLINE ptr_glGetTextureSamplerHandleNV #-}
-ptr_glGetTextureSamplerHandleNV :: FunPtr (GLuint -> GLuint -> IO GLuint64)
-ptr_glGetTextureSamplerHandleNV = unsafePerformIO $ getCommand "glGetTextureSamplerHandleNV"
-
--- glGetTextureSubImage --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTextureSubImage.xhtml OpenGL 4.x>.
-glGetTextureSubImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn419 ptr_glGetTextureSubImage v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glGetTextureSubImage #-}
-ptr_glGetTextureSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetTextureSubImage = unsafePerformIO $ getCommand "glGetTextureSubImage"
-
--- glGetTrackMatrixivNV --------------------------------------------------------
-
-glGetTrackMatrixivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @address@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetTrackMatrixivNV v1 v2 v3 v4 = liftIO $ dyn347 ptr_glGetTrackMatrixivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTrackMatrixivNV #-}
-ptr_glGetTrackMatrixivNV :: FunPtr (GLenum -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTrackMatrixivNV = unsafePerformIO $ getCommand "glGetTrackMatrixivNV"
-
--- glGetTransformFeedbackVarying -----------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetTransformFeedbackVarying.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedbackVarying.xhtml OpenGL 4.x>.
-glGetTransformFeedbackVarying
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLsizei -- ^ @size@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
-  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn304 ptr_glGetTransformFeedbackVarying v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetTransformFeedbackVarying #-}
-ptr_glGetTransformFeedbackVarying :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-ptr_glGetTransformFeedbackVarying = unsafePerformIO $ getCommand "glGetTransformFeedbackVarying"
-
--- glGetTransformFeedbackVaryingEXT --------------------------------------------
-
--- | This command is an alias for 'glGetTransformFeedbackVarying'.
-glGetTransformFeedbackVaryingEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLsizei -- ^ @size@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLenum -- ^ @type@ pointing to @1@ element of type @GLenum@.
-  -> Ptr GLchar -- ^ @name@ pointing to @bufSize@ elements of type @GLchar@.
-  -> m ()
-glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn304 ptr_glGetTransformFeedbackVaryingEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glGetTransformFeedbackVaryingEXT #-}
-ptr_glGetTransformFeedbackVaryingEXT :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLsizei -> Ptr GLenum -> Ptr GLchar -> IO ())
-ptr_glGetTransformFeedbackVaryingEXT = unsafePerformIO $ getCommand "glGetTransformFeedbackVaryingEXT"
-
--- glGetTransformFeedbackVaryingNV ---------------------------------------------
-
-glGetTransformFeedbackVaryingNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @location@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetTransformFeedbackVaryingNV v1 v2 v3 = liftIO $ dyn420 ptr_glGetTransformFeedbackVaryingNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetTransformFeedbackVaryingNV #-}
-ptr_glGetTransformFeedbackVaryingNV :: FunPtr (GLuint -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetTransformFeedbackVaryingNV = unsafePerformIO $ getCommand "glGetTransformFeedbackVaryingNV"
-
--- glGetTransformFeedbacki64_v -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedback.xhtml OpenGL 4.x>.
-glGetTransformFeedbacki64_v
-  :: MonadIO m
-  => GLuint -- ^ @xfb@.
-  -> GLenum -- ^ @pname@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint64 -- ^ @param@.
-  -> m ()
-glGetTransformFeedbacki64_v v1 v2 v3 v4 = liftIO $ dyn421 ptr_glGetTransformFeedbacki64_v v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTransformFeedbacki64_v #-}
-ptr_glGetTransformFeedbacki64_v :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint64 -> IO ())
-ptr_glGetTransformFeedbacki64_v = unsafePerformIO $ getCommand "glGetTransformFeedbacki64_v"
-
--- glGetTransformFeedbacki_v ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedback.xhtml OpenGL 4.x>.
-glGetTransformFeedbacki_v
-  :: MonadIO m
-  => GLuint -- ^ @xfb@.
-  -> GLenum -- ^ @pname@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glGetTransformFeedbacki_v v1 v2 v3 v4 = liftIO $ dyn360 ptr_glGetTransformFeedbacki_v v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTransformFeedbacki_v #-}
-ptr_glGetTransformFeedbacki_v :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glGetTransformFeedbacki_v = unsafePerformIO $ getCommand "glGetTransformFeedbacki_v"
-
--- glGetTransformFeedbackiv ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTransformFeedback.xhtml OpenGL 4.x>.
-glGetTransformFeedbackiv
-  :: MonadIO m
-  => GLuint -- ^ @xfb@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glGetTransformFeedbackiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetTransformFeedbackiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetTransformFeedbackiv #-}
-ptr_glGetTransformFeedbackiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetTransformFeedbackiv = unsafePerformIO $ getCommand "glGetTransformFeedbackiv"
-
--- glGetTranslatedShaderSourceANGLE --------------------------------------------
-
-glGetTranslatedShaderSourceANGLE
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> GLsizei -- ^ @bufsize@.
-  -> Ptr GLsizei -- ^ @length@ pointing to @1@ element of type @GLsizei@.
-  -> Ptr GLchar -- ^ @source@.
-  -> m ()
-glGetTranslatedShaderSourceANGLE v1 v2 v3 v4 = liftIO $ dyn328 ptr_glGetTranslatedShaderSourceANGLE v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetTranslatedShaderSourceANGLE #-}
-ptr_glGetTranslatedShaderSourceANGLE :: FunPtr (GLuint -> GLsizei -> Ptr GLsizei -> Ptr GLchar -> IO ())
-ptr_glGetTranslatedShaderSourceANGLE = unsafePerformIO $ getCommand "glGetTranslatedShaderSourceANGLE"
-
--- glGetUniformBlockIndex ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformBlockIndex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniformBlockIndex.xhtml OpenGL 4.x>.
-glGetUniformBlockIndex
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @uniformBlockName@ pointing to @COMPSIZE()@ elements of type @GLchar@.
-  -> m GLuint
-glGetUniformBlockIndex v1 v2 = liftIO $ dyn422 ptr_glGetUniformBlockIndex v1 v2
-
-{-# NOINLINE ptr_glGetUniformBlockIndex #-}
-ptr_glGetUniformBlockIndex :: FunPtr (GLuint -> Ptr GLchar -> IO GLuint)
-ptr_glGetUniformBlockIndex = unsafePerformIO $ getCommand "glGetUniformBlockIndex"
-
--- glGetUniformBufferSizeEXT ---------------------------------------------------
-
-glGetUniformBufferSizeEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> m GLint
-glGetUniformBufferSizeEXT v1 v2 = liftIO $ dyn423 ptr_glGetUniformBufferSizeEXT v1 v2
-
-{-# NOINLINE ptr_glGetUniformBufferSizeEXT #-}
-ptr_glGetUniformBufferSizeEXT :: FunPtr (GLuint -> GLint -> IO GLint)
-ptr_glGetUniformBufferSizeEXT = unsafePerformIO $ getCommand "glGetUniformBufferSizeEXT"
-
--- glGetUniformIndices ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformIndices.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniformIndices.xhtml OpenGL 4.x>.
-glGetUniformIndices
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @uniformCount@.
-  -> Ptr (Ptr GLchar) -- ^ @uniformNames@ pointing to @COMPSIZE(uniformCount)@ elements of type @Ptr GLchar@.
-  -> Ptr GLuint -- ^ @uniformIndices@ pointing to @COMPSIZE(uniformCount)@ elements of type @GLuint@.
-  -> m ()
-glGetUniformIndices v1 v2 v3 v4 = liftIO $ dyn424 ptr_glGetUniformIndices v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetUniformIndices #-}
-ptr_glGetUniformIndices :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLuint -> IO ())
-ptr_glGetUniformIndices = unsafePerformIO $ getCommand "glGetUniformIndices"
-
--- glGetUniformLocation --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetUniformLocation.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniformLocation.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniformLocation.xhtml OpenGL 4.x>.
-glGetUniformLocation
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@.
-  -> m GLint
-glGetUniformLocation v1 v2 = liftIO $ dyn307 ptr_glGetUniformLocation v1 v2
-
-{-# NOINLINE ptr_glGetUniformLocation #-}
-ptr_glGetUniformLocation :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-ptr_glGetUniformLocation = unsafePerformIO $ getCommand "glGetUniformLocation"
-
--- glGetUniformLocationARB -----------------------------------------------------
-
--- | This command is an alias for 'glGetUniformLocation'.
-glGetUniformLocationARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> Ptr GLcharARB -- ^ @name@.
-  -> m GLint
-glGetUniformLocationARB v1 v2 = liftIO $ dyn308 ptr_glGetUniformLocationARB v1 v2
-
-{-# NOINLINE ptr_glGetUniformLocationARB #-}
-ptr_glGetUniformLocationARB :: FunPtr (GLhandleARB -> Ptr GLcharARB -> IO GLint)
-ptr_glGetUniformLocationARB = unsafePerformIO $ getCommand "glGetUniformLocationARB"
-
--- glGetUniformOffsetEXT -------------------------------------------------------
-
-glGetUniformOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> m GLintptr -- ^ of type @BufferOffset@.
-glGetUniformOffsetEXT v1 v2 = liftIO $ dyn425 ptr_glGetUniformOffsetEXT v1 v2
-
-{-# NOINLINE ptr_glGetUniformOffsetEXT #-}
-ptr_glGetUniformOffsetEXT :: FunPtr (GLuint -> GLint -> IO GLintptr)
-ptr_glGetUniformOffsetEXT = unsafePerformIO $ getCommand "glGetUniformOffsetEXT"
-
--- glGetUniformSubroutineuiv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniformSubroutine.xhtml OpenGL 4.x>.
-glGetUniformSubroutineuiv
-  :: MonadIO m
-  => GLenum -- ^ @shadertype@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glGetUniformSubroutineuiv v1 v2 v3 = liftIO $ dyn75 ptr_glGetUniformSubroutineuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformSubroutineuiv #-}
-ptr_glGetUniformSubroutineuiv :: FunPtr (GLenum -> GLint -> Ptr GLuint -> IO ())
-ptr_glGetUniformSubroutineuiv = unsafePerformIO $ getCommand "glGetUniformSubroutineuiv"
-
--- glGetUniformdv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetUniformdv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLdouble@.
-  -> m ()
-glGetUniformdv v1 v2 v3 = liftIO $ dyn426 ptr_glGetUniformdv v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformdv #-}
-ptr_glGetUniformdv :: FunPtr (GLuint -> GLint -> Ptr GLdouble -> IO ())
-ptr_glGetUniformdv = unsafePerformIO $ getCommand "glGetUniformdv"
-
--- glGetUniformfv --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetUniformfv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLfloat@.
-  -> m ()
-glGetUniformfv v1 v2 v3 = liftIO $ dyn427 ptr_glGetUniformfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformfv #-}
-ptr_glGetUniformfv :: FunPtr (GLuint -> GLint -> Ptr GLfloat -> IO ())
-ptr_glGetUniformfv = unsafePerformIO $ getCommand "glGetUniformfv"
-
--- glGetUniformfvARB -----------------------------------------------------------
-
--- | This command is an alias for 'glGetUniformfv'.
-glGetUniformfvARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(programObj,location)@ elements of type @GLfloat@.
-  -> m ()
-glGetUniformfvARB v1 v2 v3 = liftIO $ dyn428 ptr_glGetUniformfvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformfvARB #-}
-ptr_glGetUniformfvARB :: FunPtr (GLhandleARB -> GLint -> Ptr GLfloat -> IO ())
-ptr_glGetUniformfvARB = unsafePerformIO $ getCommand "glGetUniformfvARB"
-
--- glGetUniformi64vARB ---------------------------------------------------------
-
-glGetUniformi64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLint64 -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint64@.
-  -> m ()
-glGetUniformi64vARB v1 v2 v3 = liftIO $ dyn429 ptr_glGetUniformi64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformi64vARB #-}
-ptr_glGetUniformi64vARB :: FunPtr (GLuint -> GLint -> Ptr GLint64 -> IO ())
-ptr_glGetUniformi64vARB = unsafePerformIO $ getCommand "glGetUniformi64vARB"
-
--- glGetUniformi64vNV ----------------------------------------------------------
-
-glGetUniformi64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint64EXT@.
-  -> m ()
-glGetUniformi64vNV v1 v2 v3 = liftIO $ dyn430 ptr_glGetUniformi64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformi64vNV #-}
-ptr_glGetUniformi64vNV :: FunPtr (GLuint -> GLint -> Ptr GLint64EXT -> IO ())
-ptr_glGetUniformi64vNV = unsafePerformIO $ getCommand "glGetUniformi64vNV"
-
--- glGetUniformiv --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetUniformiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLint@.
-  -> m ()
-glGetUniformiv v1 v2 v3 = liftIO $ dyn431 ptr_glGetUniformiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformiv #-}
-ptr_glGetUniformiv :: FunPtr (GLuint -> GLint -> Ptr GLint -> IO ())
-ptr_glGetUniformiv = unsafePerformIO $ getCommand "glGetUniformiv"
-
--- glGetUniformivARB -----------------------------------------------------------
-
--- | This command is an alias for 'glGetUniformiv'.
-glGetUniformivARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(programObj,location)@ elements of type @GLint@.
-  -> m ()
-glGetUniformivARB v1 v2 v3 = liftIO $ dyn432 ptr_glGetUniformivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformivARB #-}
-ptr_glGetUniformivARB :: FunPtr (GLhandleARB -> GLint -> Ptr GLint -> IO ())
-ptr_glGetUniformivARB = unsafePerformIO $ getCommand "glGetUniformivARB"
-
--- glGetUniformui64vARB --------------------------------------------------------
-
-glGetUniformui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLuint64 -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint64@.
-  -> m ()
-glGetUniformui64vARB v1 v2 v3 = liftIO $ dyn433 ptr_glGetUniformui64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformui64vARB #-}
-ptr_glGetUniformui64vARB :: FunPtr (GLuint -> GLint -> Ptr GLuint64 -> IO ())
-ptr_glGetUniformui64vARB = unsafePerformIO $ getCommand "glGetUniformui64vARB"
-
--- glGetUniformui64vNV ---------------------------------------------------------
-
-glGetUniformui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint64EXT@.
-  -> m ()
-glGetUniformui64vNV v1 v2 v3 = liftIO $ dyn434 ptr_glGetUniformui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformui64vNV #-}
-ptr_glGetUniformui64vNV :: FunPtr (GLuint -> GLint -> Ptr GLuint64EXT -> IO ())
-ptr_glGetUniformui64vNV = unsafePerformIO $ getCommand "glGetUniformui64vNV"
-
--- glGetUniformuiv -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetUniformuiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint@.
-  -> m ()
-glGetUniformuiv v1 v2 v3 = liftIO $ dyn435 ptr_glGetUniformuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformuiv #-}
-ptr_glGetUniformuiv :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
-ptr_glGetUniformuiv = unsafePerformIO $ getCommand "glGetUniformuiv"
-
--- glGetUniformuivEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glGetUniformuiv'.
-glGetUniformuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(program,location)@ elements of type @GLuint@.
-  -> m ()
-glGetUniformuivEXT v1 v2 v3 = liftIO $ dyn435 ptr_glGetUniformuivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetUniformuivEXT #-}
-ptr_glGetUniformuivEXT :: FunPtr (GLuint -> GLint -> Ptr GLuint -> IO ())
-ptr_glGetUniformuivEXT = unsafePerformIO $ getCommand "glGetUniformuivEXT"
-
--- glGetVariantArrayObjectfvATI ------------------------------------------------
-
-glGetVariantArrayObjectfvATI
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glGetVariantArrayObjectfvATI v1 v2 v3 = liftIO $ dyn345 ptr_glGetVariantArrayObjectfvATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetVariantArrayObjectfvATI #-}
-ptr_glGetVariantArrayObjectfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetVariantArrayObjectfvATI = unsafePerformIO $ getCommand "glGetVariantArrayObjectfvATI"
-
--- glGetVariantArrayObjectivATI ------------------------------------------------
-
-glGetVariantArrayObjectivATI
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetVariantArrayObjectivATI v1 v2 v3 = liftIO $ dyn331 ptr_glGetVariantArrayObjectivATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetVariantArrayObjectivATI #-}
-ptr_glGetVariantArrayObjectivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVariantArrayObjectivATI = unsafePerformIO $ getCommand "glGetVariantArrayObjectivATI"
-
--- glGetVariantBooleanvEXT -----------------------------------------------------
-
-glGetVariantBooleanvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLboolean -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glGetVariantBooleanvEXT v1 v2 v3 = liftIO $ dyn344 ptr_glGetVariantBooleanvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVariantBooleanvEXT #-}
-ptr_glGetVariantBooleanvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLboolean -> IO ())
-ptr_glGetVariantBooleanvEXT = unsafePerformIO $ getCommand "glGetVariantBooleanvEXT"
-
--- glGetVariantFloatvEXT -------------------------------------------------------
-
-glGetVariantFloatvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLfloat -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
-  -> m ()
-glGetVariantFloatvEXT v1 v2 v3 = liftIO $ dyn345 ptr_glGetVariantFloatvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVariantFloatvEXT #-}
-ptr_glGetVariantFloatvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetVariantFloatvEXT = unsafePerformIO $ getCommand "glGetVariantFloatvEXT"
-
--- glGetVariantIntegervEXT -----------------------------------------------------
-
-glGetVariantIntegervEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr GLint -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
-  -> m ()
-glGetVariantIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetVariantIntegervEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVariantIntegervEXT #-}
-ptr_glGetVariantIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVariantIntegervEXT = unsafePerformIO $ getCommand "glGetVariantIntegervEXT"
-
--- glGetVariantPointervEXT -----------------------------------------------------
-
-glGetVariantPointervEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @value@ of type @GetVariantValueEXT@.
-  -> Ptr (Ptr a) -- ^ @data@ pointing to @COMPSIZE(id)@ elements of type @Ptr a@.
-  -> m ()
-glGetVariantPointervEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetVariantPointervEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVariantPointervEXT #-}
-ptr_glGetVariantPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetVariantPointervEXT = unsafePerformIO $ getCommand "glGetVariantPointervEXT"
-
--- glGetVaryingLocationNV ------------------------------------------------------
-
-glGetVaryingLocationNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> Ptr GLchar -- ^ @name@ pointing to @COMPSIZE(name)@ elements of type @GLchar@.
-  -> m GLint
-glGetVaryingLocationNV v1 v2 = liftIO $ dyn307 ptr_glGetVaryingLocationNV v1 v2
-
-{-# NOINLINE ptr_glGetVaryingLocationNV #-}
-ptr_glGetVaryingLocationNV :: FunPtr (GLuint -> Ptr GLchar -> IO GLint)
-ptr_glGetVaryingLocationNV = unsafePerformIO $ getCommand "glGetVaryingLocationNV"
-
--- glGetVertexArrayIndexed64iv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexArrayIndexed.xhtml OpenGL 4.x>.
-glGetVertexArrayIndexed64iv
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint64 -- ^ @param@.
-  -> m ()
-glGetVertexArrayIndexed64iv v1 v2 v3 v4 = liftIO $ dyn436 ptr_glGetVertexArrayIndexed64iv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetVertexArrayIndexed64iv #-}
-ptr_glGetVertexArrayIndexed64iv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint64 -> IO ())
-ptr_glGetVertexArrayIndexed64iv = unsafePerformIO $ getCommand "glGetVertexArrayIndexed64iv"
-
--- glGetVertexArrayIndexediv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexArrayIndexed.xhtml OpenGL 4.x>.
-glGetVertexArrayIndexediv
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glGetVertexArrayIndexediv v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetVertexArrayIndexediv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetVertexArrayIndexediv #-}
-ptr_glGetVertexArrayIndexediv :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexArrayIndexediv = unsafePerformIO $ getCommand "glGetVertexArrayIndexediv"
-
--- glGetVertexArrayIntegeri_vEXT -----------------------------------------------
-
-glGetVertexArrayIntegeri_vEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetVertexArrayIntegeri_vEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetVertexArrayIntegeri_vEXT #-}
-ptr_glGetVertexArrayIntegeri_vEXT :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexArrayIntegeri_vEXT = unsafePerformIO $ getCommand "glGetVertexArrayIntegeri_vEXT"
-
--- glGetVertexArrayIntegervEXT -------------------------------------------------
-
-glGetVertexArrayIntegervEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glGetVertexArrayIntegervEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexArrayIntegervEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexArrayIntegervEXT #-}
-ptr_glGetVertexArrayIntegervEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexArrayIntegervEXT = unsafePerformIO $ getCommand "glGetVertexArrayIntegervEXT"
-
--- glGetVertexArrayPointeri_vEXT -----------------------------------------------
-
-glGetVertexArrayPointeri_vEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr (Ptr a) -- ^ @param@.
-  -> m ()
-glGetVertexArrayPointeri_vEXT v1 v2 v3 v4 = liftIO $ dyn437 ptr_glGetVertexArrayPointeri_vEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetVertexArrayPointeri_vEXT #-}
-ptr_glGetVertexArrayPointeri_vEXT :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetVertexArrayPointeri_vEXT = unsafePerformIO $ getCommand "glGetVertexArrayPointeri_vEXT"
-
--- glGetVertexArrayPointervEXT -------------------------------------------------
-
-glGetVertexArrayPointervEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr (Ptr a) -- ^ @param@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetVertexArrayPointervEXT v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexArrayPointervEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexArrayPointervEXT #-}
-ptr_glGetVertexArrayPointervEXT :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetVertexArrayPointervEXT = unsafePerformIO $ getCommand "glGetVertexArrayPointervEXT"
-
--- glGetVertexArrayiv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexArrayiv.xhtml OpenGL 4.x>.
-glGetVertexArrayiv
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glGetVertexArrayiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexArrayiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexArrayiv #-}
-ptr_glGetVertexArrayiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexArrayiv = unsafePerformIO $ getCommand "glGetVertexArrayiv"
-
--- glGetVertexAttribArrayObjectfvATI -------------------------------------------
-
-glGetVertexAttribArrayObjectfvATI
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetVertexAttribArrayObjectfvATI v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribArrayObjectfvATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribArrayObjectfvATI #-}
-ptr_glGetVertexAttribArrayObjectfvATI :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetVertexAttribArrayObjectfvATI = unsafePerformIO $ getCommand "glGetVertexAttribArrayObjectfvATI"
-
--- glGetVertexAttribArrayObjectivATI -------------------------------------------
-
-glGetVertexAttribArrayObjectivATI
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @ArrayObjectPNameATI@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetVertexAttribArrayObjectivATI v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribArrayObjectivATI v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribArrayObjectivATI #-}
-ptr_glGetVertexAttribArrayObjectivATI :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexAttribArrayObjectivATI = unsafePerformIO $ getCommand "glGetVertexAttribArrayObjectivATI"
-
--- glGetVertexAttribIiv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
-glGetVertexAttribIiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetVertexAttribIiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribIiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribIiv #-}
-ptr_glGetVertexAttribIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexAttribIiv = unsafePerformIO $ getCommand "glGetVertexAttribIiv"
-
--- glGetVertexAttribIivEXT -----------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribIiv'.
-glGetVertexAttribIivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetVertexAttribIivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribIivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribIivEXT #-}
-ptr_glGetVertexAttribIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexAttribIivEXT = unsafePerformIO $ getCommand "glGetVertexAttribIivEXT"
-
--- glGetVertexAttribIuiv -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
-glGetVertexAttribIuiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
-  -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glGetVertexAttribIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glGetVertexAttribIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribIuiv #-}
-ptr_glGetVertexAttribIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetVertexAttribIuiv = unsafePerformIO $ getCommand "glGetVertexAttribIuiv"
-
--- glGetVertexAttribIuivEXT ----------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribIuiv'.
-glGetVertexAttribIuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnum@.
-  -> Ptr GLuint -- ^ @params@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glGetVertexAttribIuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glGetVertexAttribIuivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribIuivEXT #-}
-ptr_glGetVertexAttribIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetVertexAttribIuivEXT = unsafePerformIO $ getCommand "glGetVertexAttribIuivEXT"
-
--- glGetVertexAttribLdv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
-glGetVertexAttribLdv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetVertexAttribLdv v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribLdv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribLdv #-}
-ptr_glGetVertexAttribLdv :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetVertexAttribLdv = unsafePerformIO $ getCommand "glGetVertexAttribLdv"
-
--- glGetVertexAttribLdvEXT -----------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribLdv'.
-glGetVertexAttribLdvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetVertexAttribLdvEXT v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribLdvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribLdvEXT #-}
-ptr_glGetVertexAttribLdvEXT :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetVertexAttribLdvEXT = unsafePerformIO $ getCommand "glGetVertexAttribLdvEXT"
-
--- glGetVertexAttribLi64vNV ----------------------------------------------------
-
-glGetVertexAttribLi64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64EXT@.
-  -> m ()
-glGetVertexAttribLi64vNV v1 v2 v3 = liftIO $ dyn439 ptr_glGetVertexAttribLi64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribLi64vNV #-}
-ptr_glGetVertexAttribLi64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
-ptr_glGetVertexAttribLi64vNV = unsafePerformIO $ getCommand "glGetVertexAttribLi64vNV"
-
--- glGetVertexAttribLui64vARB --------------------------------------------------
-
-glGetVertexAttribLui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint64EXT -- ^ @params@.
-  -> m ()
-glGetVertexAttribLui64vARB v1 v2 v3 = liftIO $ dyn356 ptr_glGetVertexAttribLui64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribLui64vARB #-}
-ptr_glGetVertexAttribLui64vARB :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
-ptr_glGetVertexAttribLui64vARB = unsafePerformIO $ getCommand "glGetVertexAttribLui64vARB"
-
--- glGetVertexAttribLui64vNV ---------------------------------------------------
-
-glGetVertexAttribLui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
-  -> m ()
-glGetVertexAttribLui64vNV v1 v2 v3 = liftIO $ dyn356 ptr_glGetVertexAttribLui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribLui64vNV #-}
-ptr_glGetVertexAttribLui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
-ptr_glGetVertexAttribLui64vNV = unsafePerformIO $ getCommand "glGetVertexAttribLui64vNV"
-
--- glGetVertexAttribPointerv ---------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttribPointerv.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttribPointerv.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttribPointerv.xhtml OpenGL 4.x>.
-glGetVertexAttribPointerv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPointerPropertyARB@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetVertexAttribPointerv v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribPointerv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribPointerv #-}
-ptr_glGetVertexAttribPointerv :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetVertexAttribPointerv = unsafePerformIO $ getCommand "glGetVertexAttribPointerv"
-
--- glGetVertexAttribPointervARB ------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribPointerv'.
-glGetVertexAttribPointervARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPointerPropertyARB@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetVertexAttribPointervARB v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribPointervARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribPointervARB #-}
-ptr_glGetVertexAttribPointervARB :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetVertexAttribPointervARB = unsafePerformIO $ getCommand "glGetVertexAttribPointervARB"
-
--- glGetVertexAttribPointervNV -------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribPointerv'.
-glGetVertexAttribPointervNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @1@ element of type @Ptr a@.
-  -> m ()
-glGetVertexAttribPointervNV v1 v2 v3 = liftIO $ dyn357 ptr_glGetVertexAttribPointervNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribPointervNV #-}
-ptr_glGetVertexAttribPointervNV :: FunPtr (GLuint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glGetVertexAttribPointervNV = unsafePerformIO $ getCommand "glGetVertexAttribPointervNV"
-
--- glGetVertexAttribdv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
-glGetVertexAttribdv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetVertexAttribdv v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribdv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribdv #-}
-ptr_glGetVertexAttribdv :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetVertexAttribdv = unsafePerformIO $ getCommand "glGetVertexAttribdv"
-
--- glGetVertexAttribdvARB ------------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribdv'.
-glGetVertexAttribdvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glGetVertexAttribdvARB v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribdvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribdvARB #-}
-ptr_glGetVertexAttribdvARB :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetVertexAttribdvARB = unsafePerformIO $ getCommand "glGetVertexAttribdvARB"
-
--- glGetVertexAttribdvNV -------------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribdv'.
-glGetVertexAttribdvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glGetVertexAttribdvNV v1 v2 v3 = liftIO $ dyn438 ptr_glGetVertexAttribdvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribdvNV #-}
-ptr_glGetVertexAttribdvNV :: FunPtr (GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetVertexAttribdvNV = unsafePerformIO $ getCommand "glGetVertexAttribdvNV"
-
--- glGetVertexAttribfv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
-glGetVertexAttribfv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetVertexAttribfv v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribfv #-}
-ptr_glGetVertexAttribfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetVertexAttribfv = unsafePerformIO $ getCommand "glGetVertexAttribfv"
-
--- glGetVertexAttribfvARB ------------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribfv'.
-glGetVertexAttribfvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glGetVertexAttribfvARB v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribfvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribfvARB #-}
-ptr_glGetVertexAttribfvARB :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetVertexAttribfvARB = unsafePerformIO $ getCommand "glGetVertexAttribfvARB"
-
--- glGetVertexAttribfvNV -------------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribfv'.
-glGetVertexAttribfvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glGetVertexAttribfvNV v1 v2 v3 = liftIO $ dyn345 ptr_glGetVertexAttribfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribfvNV #-}
-ptr_glGetVertexAttribfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetVertexAttribfvNV = unsafePerformIO $ getCommand "glGetVertexAttribfvNV"
-
--- glGetVertexAttribiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glGetVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glGetVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glGetVertexAttrib.xhtml OpenGL 4.x>.
-glGetVertexAttribiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glGetVertexAttribiv v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribiv #-}
-ptr_glGetVertexAttribiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexAttribiv = unsafePerformIO $ getCommand "glGetVertexAttribiv"
-
--- glGetVertexAttribivARB ------------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribiv'.
-glGetVertexAttribivARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribPropertyARB@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glGetVertexAttribivARB v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribivARB #-}
-ptr_glGetVertexAttribivARB :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexAttribivARB = unsafePerformIO $ getCommand "glGetVertexAttribivARB"
-
--- glGetVertexAttribivNV -------------------------------------------------------
-
--- | This command is an alias for 'glGetVertexAttribiv'.
-glGetVertexAttribivNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@ of type @VertexAttribEnumNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glGetVertexAttribivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetVertexAttribivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVertexAttribivNV #-}
-ptr_glGetVertexAttribivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVertexAttribivNV = unsafePerformIO $ getCommand "glGetVertexAttribivNV"
-
--- glGetVideoCaptureStreamdvNV -------------------------------------------------
-
-glGetVideoCaptureStreamdvNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glGetVideoCaptureStreamdvNV v1 v2 v3 v4 = liftIO $ dyn440 ptr_glGetVideoCaptureStreamdvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetVideoCaptureStreamdvNV #-}
-ptr_glGetVideoCaptureStreamdvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glGetVideoCaptureStreamdvNV = unsafePerformIO $ getCommand "glGetVideoCaptureStreamdvNV"
-
--- glGetVideoCaptureStreamfvNV -------------------------------------------------
-
-glGetVideoCaptureStreamfvNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glGetVideoCaptureStreamfvNV v1 v2 v3 v4 = liftIO $ dyn441 ptr_glGetVideoCaptureStreamfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetVideoCaptureStreamfvNV #-}
-ptr_glGetVideoCaptureStreamfvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glGetVideoCaptureStreamfvNV = unsafePerformIO $ getCommand "glGetVideoCaptureStreamfvNV"
-
--- glGetVideoCaptureStreamivNV -------------------------------------------------
-
-glGetVideoCaptureStreamivNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetVideoCaptureStreamivNV v1 v2 v3 v4 = liftIO $ dyn297 ptr_glGetVideoCaptureStreamivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetVideoCaptureStreamivNV #-}
-ptr_glGetVideoCaptureStreamivNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVideoCaptureStreamivNV = unsafePerformIO $ getCommand "glGetVideoCaptureStreamivNV"
-
--- glGetVideoCaptureivNV -------------------------------------------------------
-
-glGetVideoCaptureivNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetVideoCaptureivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetVideoCaptureivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVideoCaptureivNV #-}
-ptr_glGetVideoCaptureivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVideoCaptureivNV = unsafePerformIO $ getCommand "glGetVideoCaptureivNV"
-
--- glGetVideoi64vNV ------------------------------------------------------------
-
-glGetVideoi64vNV
-  :: MonadIO m
-  => GLuint -- ^ @video_slot@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint64EXT@.
-  -> m ()
-glGetVideoi64vNV v1 v2 v3 = liftIO $ dyn439 ptr_glGetVideoi64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVideoi64vNV #-}
-ptr_glGetVideoi64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLint64EXT -> IO ())
-ptr_glGetVideoi64vNV = unsafePerformIO $ getCommand "glGetVideoi64vNV"
-
--- glGetVideoivNV --------------------------------------------------------------
-
-glGetVideoivNV
-  :: MonadIO m
-  => GLuint -- ^ @video_slot@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glGetVideoivNV v1 v2 v3 = liftIO $ dyn331 ptr_glGetVideoivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVideoivNV #-}
-ptr_glGetVideoivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glGetVideoivNV = unsafePerformIO $ getCommand "glGetVideoivNV"
-
--- glGetVideoui64vNV -----------------------------------------------------------
-
-glGetVideoui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @video_slot@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint64EXT -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint64EXT@.
-  -> m ()
-glGetVideoui64vNV v1 v2 v3 = liftIO $ dyn356 ptr_glGetVideoui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVideoui64vNV #-}
-ptr_glGetVideoui64vNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint64EXT -> IO ())
-ptr_glGetVideoui64vNV = unsafePerformIO $ getCommand "glGetVideoui64vNV"
-
--- glGetVideouivNV -------------------------------------------------------------
-
-glGetVideouivNV
-  :: MonadIO m
-  => GLuint -- ^ @video_slot@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glGetVideouivNV v1 v2 v3 = liftIO $ dyn371 ptr_glGetVideouivNV v1 v2 v3
-
-{-# NOINLINE ptr_glGetVideouivNV #-}
-ptr_glGetVideouivNV :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glGetVideouivNV = unsafePerformIO $ getCommand "glGetVideouivNV"
-
--- glGetnColorTable ------------------------------------------------------------
-
-glGetnColorTable
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @table@.
-  -> m ()
-glGetnColorTable v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnColorTable v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetnColorTable #-}
-ptr_glGetnColorTable :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnColorTable = unsafePerformIO $ getCommand "glGetnColorTable"
-
--- glGetnColorTableARB ---------------------------------------------------------
-
-glGetnColorTableARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @table@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetnColorTableARB v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnColorTableARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetnColorTableARB #-}
-ptr_glGetnColorTableARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnColorTableARB = unsafePerformIO $ getCommand "glGetnColorTableARB"
-
--- glGetnCompressedTexImage ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetCompressedTexImage.xhtml OpenGL 4.x>.
-glGetnCompressedTexImage
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @lod@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glGetnCompressedTexImage v1 v2 v3 v4 = liftIO $ dyn443 ptr_glGetnCompressedTexImage v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnCompressedTexImage #-}
-ptr_glGetnCompressedTexImage :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnCompressedTexImage = unsafePerformIO $ getCommand "glGetnCompressedTexImage"
-
--- glGetnCompressedTexImageARB -------------------------------------------------
-
-glGetnCompressedTexImageARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @lod@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetnCompressedTexImageARB v1 v2 v3 v4 = liftIO $ dyn443 ptr_glGetnCompressedTexImageARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnCompressedTexImageARB #-}
-ptr_glGetnCompressedTexImageARB :: FunPtr (GLenum -> GLint -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnCompressedTexImageARB = unsafePerformIO $ getCommand "glGetnCompressedTexImageARB"
-
--- glGetnConvolutionFilter -----------------------------------------------------
-
-glGetnConvolutionFilter
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @image@.
-  -> m ()
-glGetnConvolutionFilter v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnConvolutionFilter v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetnConvolutionFilter #-}
-ptr_glGetnConvolutionFilter :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnConvolutionFilter = unsafePerformIO $ getCommand "glGetnConvolutionFilter"
-
--- glGetnConvolutionFilterARB --------------------------------------------------
-
-glGetnConvolutionFilterARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @image@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetnConvolutionFilterARB v1 v2 v3 v4 v5 = liftIO $ dyn442 ptr_glGetnConvolutionFilterARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glGetnConvolutionFilterARB #-}
-ptr_glGetnConvolutionFilterARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnConvolutionFilterARB = unsafePerformIO $ getCommand "glGetnConvolutionFilterARB"
-
--- glGetnHistogram -------------------------------------------------------------
-
-glGetnHistogram
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLboolean -- ^ @reset@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @values@.
-  -> m ()
-glGetnHistogram v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnHistogram v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetnHistogram #-}
-ptr_glGetnHistogram :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnHistogram = unsafePerformIO $ getCommand "glGetnHistogram"
-
--- glGetnHistogramARB ----------------------------------------------------------
-
-glGetnHistogramARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetnHistogramARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnHistogramARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetnHistogramARB #-}
-ptr_glGetnHistogramARB :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnHistogramARB = unsafePerformIO $ getCommand "glGetnHistogramARB"
-
--- glGetnMapdv -----------------------------------------------------------------
-
-glGetnMapdv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLdouble -- ^ @v@.
-  -> m ()
-glGetnMapdv v1 v2 v3 v4 = liftIO $ dyn445 ptr_glGetnMapdv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnMapdv #-}
-ptr_glGetnMapdv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glGetnMapdv = unsafePerformIO $ getCommand "glGetnMapdv"
-
--- glGetnMapdvARB --------------------------------------------------------------
-
-glGetnMapdvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @bufSize@ elements of type @GLdouble@.
-  -> m ()
-glGetnMapdvARB v1 v2 v3 v4 = liftIO $ dyn445 ptr_glGetnMapdvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnMapdvARB #-}
-ptr_glGetnMapdvARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glGetnMapdvARB = unsafePerformIO $ getCommand "glGetnMapdvARB"
-
--- glGetnMapfv -----------------------------------------------------------------
-
-glGetnMapfv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glGetnMapfv v1 v2 v3 v4 = liftIO $ dyn446 ptr_glGetnMapfv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnMapfv #-}
-ptr_glGetnMapfv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnMapfv = unsafePerformIO $ getCommand "glGetnMapfv"
-
--- glGetnMapfvARB --------------------------------------------------------------
-
-glGetnMapfvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @bufSize@ elements of type @GLfloat@.
-  -> m ()
-glGetnMapfvARB v1 v2 v3 v4 = liftIO $ dyn446 ptr_glGetnMapfvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnMapfvARB #-}
-ptr_glGetnMapfvARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnMapfvARB = unsafePerformIO $ getCommand "glGetnMapfvARB"
-
--- glGetnMapiv -----------------------------------------------------------------
-
-glGetnMapiv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @v@.
-  -> m ()
-glGetnMapiv v1 v2 v3 v4 = liftIO $ dyn447 ptr_glGetnMapiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnMapiv #-}
-ptr_glGetnMapiv :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetnMapiv = unsafePerformIO $ getCommand "glGetnMapiv"
-
--- glGetnMapivARB --------------------------------------------------------------
-
-glGetnMapivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @query@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @v@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetnMapivARB v1 v2 v3 v4 = liftIO $ dyn447 ptr_glGetnMapivARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnMapivARB #-}
-ptr_glGetnMapivARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetnMapivARB = unsafePerformIO $ getCommand "glGetnMapivARB"
-
--- glGetnMinmax ----------------------------------------------------------------
-
-glGetnMinmax
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLboolean -- ^ @reset@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @values@.
-  -> m ()
-glGetnMinmax v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnMinmax v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetnMinmax #-}
-ptr_glGetnMinmax :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnMinmax = unsafePerformIO $ getCommand "glGetnMinmax"
-
--- glGetnMinmaxARB -------------------------------------------------------------
-
-glGetnMinmaxARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLboolean -- ^ @reset@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @values@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetnMinmaxARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn444 ptr_glGetnMinmaxARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetnMinmaxARB #-}
-ptr_glGetnMinmaxARB :: FunPtr (GLenum -> GLboolean -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnMinmaxARB = unsafePerformIO $ getCommand "glGetnMinmaxARB"
-
--- glGetnPixelMapfv ------------------------------------------------------------
-
-glGetnPixelMapfv
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @values@.
-  -> m ()
-glGetnPixelMapfv v1 v2 v3 = liftIO $ dyn224 ptr_glGetnPixelMapfv v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapfv #-}
-ptr_glGetnPixelMapfv :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnPixelMapfv = unsafePerformIO $ getCommand "glGetnPixelMapfv"
-
--- glGetnPixelMapfvARB ---------------------------------------------------------
-
-glGetnPixelMapfvARB
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @values@ pointing to @bufSize@ elements of type @GLfloat@.
-  -> m ()
-glGetnPixelMapfvARB v1 v2 v3 = liftIO $ dyn224 ptr_glGetnPixelMapfvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapfvARB #-}
-ptr_glGetnPixelMapfvARB :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnPixelMapfvARB = unsafePerformIO $ getCommand "glGetnPixelMapfvARB"
-
--- glGetnPixelMapuiv -----------------------------------------------------------
-
-glGetnPixelMapuiv
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLuint -- ^ @values@.
-  -> m ()
-glGetnPixelMapuiv v1 v2 v3 = liftIO $ dyn196 ptr_glGetnPixelMapuiv v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapuiv #-}
-ptr_glGetnPixelMapuiv :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetnPixelMapuiv = unsafePerformIO $ getCommand "glGetnPixelMapuiv"
-
--- glGetnPixelMapuivARB --------------------------------------------------------
-
-glGetnPixelMapuivARB
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLuint -- ^ @values@ pointing to @bufSize@ elements of type @GLuint@.
-  -> m ()
-glGetnPixelMapuivARB v1 v2 v3 = liftIO $ dyn196 ptr_glGetnPixelMapuivARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapuivARB #-}
-ptr_glGetnPixelMapuivARB :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetnPixelMapuivARB = unsafePerformIO $ getCommand "glGetnPixelMapuivARB"
-
--- glGetnPixelMapusv -----------------------------------------------------------
-
-glGetnPixelMapusv
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLushort -- ^ @values@.
-  -> m ()
-glGetnPixelMapusv v1 v2 v3 = liftIO $ dyn448 ptr_glGetnPixelMapusv v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapusv #-}
-ptr_glGetnPixelMapusv :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
-ptr_glGetnPixelMapusv = unsafePerformIO $ getCommand "glGetnPixelMapusv"
-
--- glGetnPixelMapusvARB --------------------------------------------------------
-
-glGetnPixelMapusvARB
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLushort -- ^ @values@ pointing to @bufSize@ elements of type @GLushort@.
-  -> m ()
-glGetnPixelMapusvARB v1 v2 v3 = liftIO $ dyn448 ptr_glGetnPixelMapusvARB v1 v2 v3
-
-{-# NOINLINE ptr_glGetnPixelMapusvARB #-}
-ptr_glGetnPixelMapusvARB :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
-ptr_glGetnPixelMapusvARB = unsafePerformIO $ getCommand "glGetnPixelMapusvARB"
-
--- glGetnPolygonStipple --------------------------------------------------------
-
-glGetnPolygonStipple
-  :: MonadIO m
-  => GLsizei -- ^ @bufSize@.
-  -> Ptr GLubyte -- ^ @pattern@.
-  -> m ()
-glGetnPolygonStipple v1 v2 = liftIO $ dyn449 ptr_glGetnPolygonStipple v1 v2
-
-{-# NOINLINE ptr_glGetnPolygonStipple #-}
-ptr_glGetnPolygonStipple :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
-ptr_glGetnPolygonStipple = unsafePerformIO $ getCommand "glGetnPolygonStipple"
-
--- glGetnPolygonStippleARB -----------------------------------------------------
-
-glGetnPolygonStippleARB
-  :: MonadIO m
-  => GLsizei -- ^ @bufSize@.
-  -> Ptr GLubyte -- ^ @pattern@ pointing to @bufSize@ elements of type @GLubyte@.
-  -> m ()
-glGetnPolygonStippleARB v1 v2 = liftIO $ dyn449 ptr_glGetnPolygonStippleARB v1 v2
-
-{-# NOINLINE ptr_glGetnPolygonStippleARB #-}
-ptr_glGetnPolygonStippleARB :: FunPtr (GLsizei -> Ptr GLubyte -> IO ())
-ptr_glGetnPolygonStippleARB = unsafePerformIO $ getCommand "glGetnPolygonStippleARB"
-
--- glGetnSeparableFilter -------------------------------------------------------
-
-glGetnSeparableFilter
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @rowBufSize@.
-  -> Ptr a -- ^ @row@.
-  -> GLsizei -- ^ @columnBufSize@.
-  -> Ptr b -- ^ @column@.
-  -> Ptr c -- ^ @span@.
-  -> m ()
-glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn450 ptr_glGetnSeparableFilter v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glGetnSeparableFilter #-}
-ptr_glGetnSeparableFilter :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
-ptr_glGetnSeparableFilter = unsafePerformIO $ getCommand "glGetnSeparableFilter"
-
--- glGetnSeparableFilterARB ----------------------------------------------------
-
-glGetnSeparableFilterARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @rowBufSize@.
-  -> Ptr a -- ^ @row@ pointing to @rowBufSize@ elements of type @a@.
-  -> GLsizei -- ^ @columnBufSize@.
-  -> Ptr b -- ^ @column@ pointing to @columnBufSize@ elements of type @b@.
-  -> Ptr c -- ^ @span@ pointing to @0@ elements of type @c@.
-  -> m ()
-glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn450 ptr_glGetnSeparableFilterARB v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glGetnSeparableFilterARB #-}
-ptr_glGetnSeparableFilterARB :: FunPtr (GLenum -> GLenum -> GLenum -> GLsizei -> Ptr a -> GLsizei -> Ptr b -> Ptr c -> IO ())
-ptr_glGetnSeparableFilterARB = unsafePerformIO $ getCommand "glGetnSeparableFilterARB"
-
--- glGetnTexImage --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetTexImage.xhtml OpenGL 4.x>.
-glGetnTexImage
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glGetnTexImage v1 v2 v3 v4 v5 v6 = liftIO $ dyn451 ptr_glGetnTexImage v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetnTexImage #-}
-ptr_glGetnTexImage :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnTexImage = unsafePerformIO $ getCommand "glGetnTexImage"
-
--- glGetnTexImageARB -----------------------------------------------------------
-
-glGetnTexImageARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @img@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glGetnTexImageARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn451 ptr_glGetnTexImageARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glGetnTexImageARB #-}
-ptr_glGetnTexImageARB :: FunPtr (GLenum -> GLint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glGetnTexImageARB = unsafePerformIO $ getCommand "glGetnTexImageARB"
-
--- glGetnUniformdv -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetnUniformdv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLdouble -- ^ @params@.
-  -> m ()
-glGetnUniformdv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glGetnUniformdv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformdv #-}
-ptr_glGetnUniformdv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glGetnUniformdv = unsafePerformIO $ getCommand "glGetnUniformdv"
-
--- glGetnUniformdvARB ----------------------------------------------------------
-
-glGetnUniformdvARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @bufSize@ elements of type @GLdouble@.
-  -> m ()
-glGetnUniformdvARB v1 v2 v3 v4 = liftIO $ dyn452 ptr_glGetnUniformdvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformdvARB #-}
-ptr_glGetnUniformdvARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glGetnUniformdvARB = unsafePerformIO $ getCommand "glGetnUniformdvARB"
-
--- glGetnUniformfv -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetnUniformfv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @params@.
-  -> m ()
-glGetnUniformfv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformfv #-}
-ptr_glGetnUniformfv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnUniformfv = unsafePerformIO $ getCommand "glGetnUniformfv"
-
--- glGetnUniformfvARB ----------------------------------------------------------
-
-glGetnUniformfvARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
-  -> m ()
-glGetnUniformfvARB v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformfvARB #-}
-ptr_glGetnUniformfvARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnUniformfvARB = unsafePerformIO $ getCommand "glGetnUniformfvARB"
-
--- glGetnUniformfvEXT ----------------------------------------------------------
-
-glGetnUniformfvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @bufSize@ elements of type @GLfloat@.
-  -> m ()
-glGetnUniformfvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformfvEXT #-}
-ptr_glGetnUniformfvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnUniformfvEXT = unsafePerformIO $ getCommand "glGetnUniformfvEXT"
-
--- glGetnUniformfvKHR ----------------------------------------------------------
-
--- | This command is an alias for 'glGetnUniformfv'.
-glGetnUniformfvKHR
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLfloat -- ^ @params@.
-  -> m ()
-glGetnUniformfvKHR v1 v2 v3 v4 = liftIO $ dyn453 ptr_glGetnUniformfvKHR v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformfvKHR #-}
-ptr_glGetnUniformfvKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glGetnUniformfvKHR = unsafePerformIO $ getCommand "glGetnUniformfvKHR"
-
--- glGetnUniformi64vARB --------------------------------------------------------
-
-glGetnUniformi64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint64 -- ^ @params@.
-  -> m ()
-glGetnUniformi64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glGetnUniformi64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformi64vARB #-}
-ptr_glGetnUniformi64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glGetnUniformi64vARB = unsafePerformIO $ getCommand "glGetnUniformi64vARB"
-
--- glGetnUniformiv -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetnUniformiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetnUniformiv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformiv #-}
-ptr_glGetnUniformiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetnUniformiv = unsafePerformIO $ getCommand "glGetnUniformiv"
-
--- glGetnUniformivARB ----------------------------------------------------------
-
-glGetnUniformivARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetnUniformivARB v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformivARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformivARB #-}
-ptr_glGetnUniformivARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetnUniformivARB = unsafePerformIO $ getCommand "glGetnUniformivARB"
-
--- glGetnUniformivEXT ----------------------------------------------------------
-
-glGetnUniformivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @params@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glGetnUniformivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformivEXT #-}
-ptr_glGetnUniformivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetnUniformivEXT = unsafePerformIO $ getCommand "glGetnUniformivEXT"
-
--- glGetnUniformivKHR ----------------------------------------------------------
-
--- | This command is an alias for 'glGetnUniformiv'.
-glGetnUniformivKHR
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glGetnUniformivKHR v1 v2 v3 v4 = liftIO $ dyn455 ptr_glGetnUniformivKHR v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformivKHR #-}
-ptr_glGetnUniformivKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glGetnUniformivKHR = unsafePerformIO $ getCommand "glGetnUniformivKHR"
-
--- glGetnUniformui64vARB -------------------------------------------------------
-
-glGetnUniformui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLuint64 -- ^ @params@.
-  -> m ()
-glGetnUniformui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glGetnUniformui64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformui64vARB #-}
-ptr_glGetnUniformui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glGetnUniformui64vARB = unsafePerformIO $ getCommand "glGetnUniformui64vARB"
-
--- glGetnUniformuiv ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glGetUniform.xhtml OpenGL 4.x>.
-glGetnUniformuiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLuint -- ^ @params@.
-  -> m ()
-glGetnUniformuiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glGetnUniformuiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformuiv #-}
-ptr_glGetnUniformuiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetnUniformuiv = unsafePerformIO $ getCommand "glGetnUniformuiv"
-
--- glGetnUniformuivARB ---------------------------------------------------------
-
-glGetnUniformuivARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLuint -- ^ @params@ pointing to @bufSize@ elements of type @GLuint@.
-  -> m ()
-glGetnUniformuivARB v1 v2 v3 v4 = liftIO $ dyn457 ptr_glGetnUniformuivARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformuivARB #-}
-ptr_glGetnUniformuivARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetnUniformuivARB = unsafePerformIO $ getCommand "glGetnUniformuivARB"
-
--- glGetnUniformuivKHR ---------------------------------------------------------
-
--- | This command is an alias for 'glGetnUniformuiv'.
-glGetnUniformuivKHR
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLuint -- ^ @params@.
-  -> m ()
-glGetnUniformuivKHR v1 v2 v3 v4 = liftIO $ dyn457 ptr_glGetnUniformuivKHR v1 v2 v3 v4
-
-{-# NOINLINE ptr_glGetnUniformuivKHR #-}
-ptr_glGetnUniformuivKHR :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glGetnUniformuivKHR = unsafePerformIO $ getCommand "glGetnUniformuivKHR"
-
--- glGlobalAlphaFactorbSUN -----------------------------------------------------
-
-glGlobalAlphaFactorbSUN
-  :: MonadIO m
-  => GLbyte -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactorbSUN v1 = liftIO $ dyn458 ptr_glGlobalAlphaFactorbSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactorbSUN #-}
-ptr_glGlobalAlphaFactorbSUN :: FunPtr (GLbyte -> IO ())
-ptr_glGlobalAlphaFactorbSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorbSUN"
-
--- glGlobalAlphaFactordSUN -----------------------------------------------------
-
-glGlobalAlphaFactordSUN
-  :: MonadIO m
-  => GLdouble -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactordSUN v1 = liftIO $ dyn78 ptr_glGlobalAlphaFactordSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactordSUN #-}
-ptr_glGlobalAlphaFactordSUN :: FunPtr (GLdouble -> IO ())
-ptr_glGlobalAlphaFactordSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactordSUN"
-
--- glGlobalAlphaFactorfSUN -----------------------------------------------------
-
-glGlobalAlphaFactorfSUN
-  :: MonadIO m
-  => GLfloat -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactorfSUN v1 = liftIO $ dyn79 ptr_glGlobalAlphaFactorfSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactorfSUN #-}
-ptr_glGlobalAlphaFactorfSUN :: FunPtr (GLfloat -> IO ())
-ptr_glGlobalAlphaFactorfSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorfSUN"
-
--- glGlobalAlphaFactoriSUN -----------------------------------------------------
-
-glGlobalAlphaFactoriSUN
-  :: MonadIO m
-  => GLint -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactoriSUN v1 = liftIO $ dyn12 ptr_glGlobalAlphaFactoriSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactoriSUN #-}
-ptr_glGlobalAlphaFactoriSUN :: FunPtr (GLint -> IO ())
-ptr_glGlobalAlphaFactoriSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactoriSUN"
-
--- glGlobalAlphaFactorsSUN -----------------------------------------------------
-
-glGlobalAlphaFactorsSUN
-  :: MonadIO m
-  => GLshort -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactorsSUN v1 = liftIO $ dyn459 ptr_glGlobalAlphaFactorsSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactorsSUN #-}
-ptr_glGlobalAlphaFactorsSUN :: FunPtr (GLshort -> IO ())
-ptr_glGlobalAlphaFactorsSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorsSUN"
-
--- glGlobalAlphaFactorubSUN ----------------------------------------------------
-
-glGlobalAlphaFactorubSUN
-  :: MonadIO m
-  => GLubyte -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactorubSUN v1 = liftIO $ dyn460 ptr_glGlobalAlphaFactorubSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactorubSUN #-}
-ptr_glGlobalAlphaFactorubSUN :: FunPtr (GLubyte -> IO ())
-ptr_glGlobalAlphaFactorubSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorubSUN"
-
--- glGlobalAlphaFactoruiSUN ----------------------------------------------------
-
-glGlobalAlphaFactoruiSUN
-  :: MonadIO m
-  => GLuint -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactoruiSUN v1 = liftIO $ dyn2 ptr_glGlobalAlphaFactoruiSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactoruiSUN #-}
-ptr_glGlobalAlphaFactoruiSUN :: FunPtr (GLuint -> IO ())
-ptr_glGlobalAlphaFactoruiSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactoruiSUN"
-
--- glGlobalAlphaFactorusSUN ----------------------------------------------------
-
-glGlobalAlphaFactorusSUN
-  :: MonadIO m
-  => GLushort -- ^ @factor@.
-  -> m ()
-glGlobalAlphaFactorusSUN v1 = liftIO $ dyn461 ptr_glGlobalAlphaFactorusSUN v1
-
-{-# NOINLINE ptr_glGlobalAlphaFactorusSUN #-}
-ptr_glGlobalAlphaFactorusSUN :: FunPtr (GLushort -> IO ())
-ptr_glGlobalAlphaFactorusSUN = unsafePerformIO $ getCommand "glGlobalAlphaFactorusSUN"
-
--- glHint ----------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glHint.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glHint.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glHint.xhtml OpenGL 4.x>.
-glHint
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [HintTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#HintTarget).
-  -> GLenum -- ^ @mode@ of type [HintMode](Graphics-Rendering-OpenGL-Raw-Groups.html#HintMode).
-  -> m ()
-glHint v1 v2 = liftIO $ dyn51 ptr_glHint v1 v2
-
-{-# NOINLINE ptr_glHint #-}
-ptr_glHint :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glHint = unsafePerformIO $ getCommand "glHint"
-
--- glHintPGI -------------------------------------------------------------------
-
-glHintPGI
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @HintTargetPGI@.
-  -> GLint -- ^ @mode@.
-  -> m ()
-glHintPGI v1 v2 = liftIO $ dyn55 ptr_glHintPGI v1 v2
-
-{-# NOINLINE ptr_glHintPGI #-}
-ptr_glHintPGI :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glHintPGI = unsafePerformIO $ getCommand "glHintPGI"
-
--- glHistogram -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glHistogram.xml OpenGL 2.x>.
-glHistogram
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glHistogram v1 v2 v3 v4 = liftIO $ dyn462 ptr_glHistogram v1 v2 v3 v4
-
-{-# NOINLINE ptr_glHistogram #-}
-ptr_glHistogram :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
-ptr_glHistogram = unsafePerformIO $ getCommand "glHistogram"
-
--- glHistogramEXT --------------------------------------------------------------
-
--- | This command is an alias for 'glHistogram'.
-glHistogramEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#HistogramTargetEXT).
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glHistogramEXT v1 v2 v3 v4 = liftIO $ dyn462 ptr_glHistogramEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glHistogramEXT #-}
-ptr_glHistogramEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLboolean -> IO ())
-ptr_glHistogramEXT = unsafePerformIO $ getCommand "glHistogramEXT"
-
--- glIglooInterfaceSGIX --------------------------------------------------------
-
-glIglooInterfaceSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @IglooFunctionSelectSGIX@.
-  -> Ptr a -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @IglooParameterSGIX@.
-  -> m ()
-glIglooInterfaceSGIX v1 v2 = liftIO $ dyn229 ptr_glIglooInterfaceSGIX v1 v2
-
-{-# NOINLINE ptr_glIglooInterfaceSGIX #-}
-ptr_glIglooInterfaceSGIX :: FunPtr (GLenum -> Ptr a -> IO ())
-ptr_glIglooInterfaceSGIX = unsafePerformIO $ getCommand "glIglooInterfaceSGIX"
-
--- glImageTransformParameterfHP ------------------------------------------------
-
-glImageTransformParameterfHP
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
-  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glImageTransformParameterfHP v1 v2 v3 = liftIO $ dyn160 ptr_glImageTransformParameterfHP v1 v2 v3
-
-{-# NOINLINE ptr_glImageTransformParameterfHP #-}
-ptr_glImageTransformParameterfHP :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glImageTransformParameterfHP = unsafePerformIO $ getCommand "glImageTransformParameterfHP"
-
--- glImageTransformParameterfvHP -----------------------------------------------
-
-glImageTransformParameterfvHP
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
-  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glImageTransformParameterfvHP v1 v2 v3 = liftIO $ dyn131 ptr_glImageTransformParameterfvHP v1 v2 v3
-
-{-# NOINLINE ptr_glImageTransformParameterfvHP #-}
-ptr_glImageTransformParameterfvHP :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glImageTransformParameterfvHP = unsafePerformIO $ getCommand "glImageTransformParameterfvHP"
-
--- glImageTransformParameteriHP ------------------------------------------------
-
-glImageTransformParameteriHP
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
-  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glImageTransformParameteriHP v1 v2 v3 = liftIO $ dyn62 ptr_glImageTransformParameteriHP v1 v2 v3
-
-{-# NOINLINE ptr_glImageTransformParameteriHP #-}
-ptr_glImageTransformParameteriHP :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glImageTransformParameteriHP = unsafePerformIO $ getCommand "glImageTransformParameteriHP"
-
--- glImageTransformParameterivHP -----------------------------------------------
-
-glImageTransformParameterivHP
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ImageTransformTargetHP@.
-  -> GLenum -- ^ @pname@ of type @ImageTransformPNameHP@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glImageTransformParameterivHP v1 v2 v3 = liftIO $ dyn132 ptr_glImageTransformParameterivHP v1 v2 v3
-
-{-# NOINLINE ptr_glImageTransformParameterivHP #-}
-ptr_glImageTransformParameterivHP :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glImageTransformParameterivHP = unsafePerformIO $ getCommand "glImageTransformParameterivHP"
-
--- glImportSyncEXT -------------------------------------------------------------
-
-glImportSyncEXT
-  :: MonadIO m
-  => GLenum -- ^ @external_sync_type@.
-  -> GLintptr -- ^ @external_sync@.
-  -> GLbitfield -- ^ @flags@.
-  -> m GLsync -- ^ of type @sync@.
-glImportSyncEXT v1 v2 v3 = liftIO $ dyn463 ptr_glImportSyncEXT v1 v2 v3
-
-{-# NOINLINE ptr_glImportSyncEXT #-}
-ptr_glImportSyncEXT :: FunPtr (GLenum -> GLintptr -> GLbitfield -> IO GLsync)
-ptr_glImportSyncEXT = unsafePerformIO $ getCommand "glImportSyncEXT"
-
--- glIndexFormatNV -------------------------------------------------------------
-
-glIndexFormatNV
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glIndexFormatNV v1 v2 = liftIO $ dyn238 ptr_glIndexFormatNV v1 v2
-
-{-# NOINLINE ptr_glIndexFormatNV #-}
-ptr_glIndexFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
-ptr_glIndexFormatNV = unsafePerformIO $ getCommand "glIndexFormatNV"
-
--- glIndexFuncEXT --------------------------------------------------------------
-
-glIndexFuncEXT
-  :: MonadIO m
-  => GLenum -- ^ @func@ of type @IndexFunctionEXT@.
-  -> GLclampf -- ^ @ref@ of type @ClampedFloat32@.
-  -> m ()
-glIndexFuncEXT v1 v2 = liftIO $ dyn9 ptr_glIndexFuncEXT v1 v2
-
-{-# NOINLINE ptr_glIndexFuncEXT #-}
-ptr_glIndexFuncEXT :: FunPtr (GLenum -> GLclampf -> IO ())
-ptr_glIndexFuncEXT = unsafePerformIO $ getCommand "glIndexFuncEXT"
-
--- glIndexMask -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndexMask.xml OpenGL 2.x>.
-glIndexMask
-  :: MonadIO m
-  => GLuint -- ^ @mask@ of type @MaskedColorIndexValueI@.
-  -> m ()
-glIndexMask v1 = liftIO $ dyn2 ptr_glIndexMask v1
-
-{-# NOINLINE ptr_glIndexMask #-}
-ptr_glIndexMask :: FunPtr (GLuint -> IO ())
-ptr_glIndexMask = unsafePerformIO $ getCommand "glIndexMask"
-
--- glIndexMaterialEXT ----------------------------------------------------------
-
-glIndexMaterialEXT
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @mode@ of type @IndexMaterialParameterEXT@.
-  -> m ()
-glIndexMaterialEXT v1 v2 = liftIO $ dyn51 ptr_glIndexMaterialEXT v1 v2
-
-{-# NOINLINE ptr_glIndexMaterialEXT #-}
-ptr_glIndexMaterialEXT :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glIndexMaterialEXT = unsafePerformIO $ getCommand "glIndexMaterialEXT"
-
--- glIndexPointer --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndexPointer.xml OpenGL 2.x>.
-glIndexPointer
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [IndexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#IndexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glIndexPointer v1 v2 v3 = liftIO $ dyn46 ptr_glIndexPointer v1 v2 v3
-
-{-# NOINLINE ptr_glIndexPointer #-}
-ptr_glIndexPointer :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glIndexPointer = unsafePerformIO $ getCommand "glIndexPointer"
-
--- glIndexPointerEXT -----------------------------------------------------------
-
-glIndexPointerEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [IndexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#IndexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride,count)@ elements of type @a@.
-  -> m ()
-glIndexPointerEXT v1 v2 v3 v4 = liftIO $ dyn464 ptr_glIndexPointerEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glIndexPointerEXT #-}
-ptr_glIndexPointerEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-ptr_glIndexPointerEXT = unsafePerformIO $ getCommand "glIndexPointerEXT"
-
--- glIndexPointerListIBM -------------------------------------------------------
-
-glIndexPointerListIBM
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [IndexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#IndexPointerType).
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glIndexPointerListIBM v1 v2 v3 v4 = liftIO $ dyn279 ptr_glIndexPointerListIBM v1 v2 v3 v4
-
-{-# NOINLINE ptr_glIndexPointerListIBM #-}
-ptr_glIndexPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glIndexPointerListIBM = unsafePerformIO $ getCommand "glIndexPointerListIBM"
-
--- glIndexd --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexdv'.
-glIndexd
-  :: MonadIO m
-  => GLdouble -- ^ @c@ of type @ColorIndexValueD@.
-  -> m ()
-glIndexd v1 = liftIO $ dyn78 ptr_glIndexd v1
-
-{-# NOINLINE ptr_glIndexd #-}
-ptr_glIndexd :: FunPtr (GLdouble -> IO ())
-ptr_glIndexd = unsafePerformIO $ getCommand "glIndexd"
-
--- glIndexdv -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
-glIndexdv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @c@ pointing to @1@ element of type @ColorIndexValueD@.
-  -> m ()
-glIndexdv v1 = liftIO $ dyn39 ptr_glIndexdv v1
-
-{-# NOINLINE ptr_glIndexdv #-}
-ptr_glIndexdv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glIndexdv = unsafePerformIO $ getCommand "glIndexdv"
-
--- glIndexf --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexfv'.
-glIndexf
-  :: MonadIO m
-  => GLfloat -- ^ @c@ of type @ColorIndexValueF@.
-  -> m ()
-glIndexf v1 = liftIO $ dyn79 ptr_glIndexf v1
-
-{-# NOINLINE ptr_glIndexf #-}
-ptr_glIndexf :: FunPtr (GLfloat -> IO ())
-ptr_glIndexf = unsafePerformIO $ getCommand "glIndexf"
-
--- glIndexfv -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
-glIndexfv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @c@ pointing to @1@ element of type @ColorIndexValueF@.
-  -> m ()
-glIndexfv v1 = liftIO $ dyn41 ptr_glIndexfv v1
-
-{-# NOINLINE ptr_glIndexfv #-}
-ptr_glIndexfv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glIndexfv = unsafePerformIO $ getCommand "glIndexfv"
-
--- glIndexi --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexiv'.
-glIndexi
-  :: MonadIO m
-  => GLint -- ^ @c@ of type @ColorIndexValueI@.
-  -> m ()
-glIndexi v1 = liftIO $ dyn12 ptr_glIndexi v1
-
-{-# NOINLINE ptr_glIndexi #-}
-ptr_glIndexi :: FunPtr (GLint -> IO ())
-ptr_glIndexi = unsafePerformIO $ getCommand "glIndexi"
-
--- glIndexiv -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
-glIndexiv
-  :: MonadIO m
-  => Ptr GLint -- ^ @c@ pointing to @1@ element of type @ColorIndexValueI@.
-  -> m ()
-glIndexiv v1 = liftIO $ dyn43 ptr_glIndexiv v1
-
-{-# NOINLINE ptr_glIndexiv #-}
-ptr_glIndexiv :: FunPtr (Ptr GLint -> IO ())
-ptr_glIndexiv = unsafePerformIO $ getCommand "glIndexiv"
-
--- glIndexs --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexsv'.
-glIndexs
-  :: MonadIO m
-  => GLshort -- ^ @c@ of type @ColorIndexValueS@.
-  -> m ()
-glIndexs v1 = liftIO $ dyn459 ptr_glIndexs v1
-
-{-# NOINLINE ptr_glIndexs #-}
-ptr_glIndexs :: FunPtr (GLshort -> IO ())
-ptr_glIndexs = unsafePerformIO $ getCommand "glIndexs"
-
--- glIndexsv -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
-glIndexsv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @c@ pointing to @1@ element of type @ColorIndexValueS@.
-  -> m ()
-glIndexsv v1 = liftIO $ dyn45 ptr_glIndexsv v1
-
-{-# NOINLINE ptr_glIndexsv #-}
-ptr_glIndexsv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glIndexsv = unsafePerformIO $ getCommand "glIndexsv"
-
--- glIndexub -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>. The vector equivalent of this command is 'glIndexubv'.
-glIndexub
-  :: MonadIO m
-  => GLubyte -- ^ @c@ of type @ColorIndexValueUB@.
-  -> m ()
-glIndexub v1 = liftIO $ dyn460 ptr_glIndexub v1
-
-{-# NOINLINE ptr_glIndexub #-}
-ptr_glIndexub :: FunPtr (GLubyte -> IO ())
-ptr_glIndexub = unsafePerformIO $ getCommand "glIndexub"
-
--- glIndexubv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIndex.xml OpenGL 2.x>.
-glIndexubv
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @c@ pointing to @1@ element of type @ColorIndexValueUB@.
-  -> m ()
-glIndexubv v1 = liftIO $ dyn100 ptr_glIndexubv v1
-
-{-# NOINLINE ptr_glIndexubv #-}
-ptr_glIndexubv :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glIndexubv = unsafePerformIO $ getCommand "glIndexubv"
-
--- glIndexxOES -----------------------------------------------------------------
-
-glIndexxOES
-  :: MonadIO m
-  => GLfixed -- ^ @component@.
-  -> m ()
-glIndexxOES v1 = liftIO $ dyn81 ptr_glIndexxOES v1
-
-{-# NOINLINE ptr_glIndexxOES #-}
-ptr_glIndexxOES :: FunPtr (GLfixed -> IO ())
-ptr_glIndexxOES = unsafePerformIO $ getCommand "glIndexxOES"
-
--- glIndexxvOES ----------------------------------------------------------------
-
-glIndexxvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @component@ pointing to @1@ element of type @GLfixed@.
-  -> m ()
-glIndexxvOES v1 = liftIO $ dyn106 ptr_glIndexxvOES v1
-
-{-# NOINLINE ptr_glIndexxvOES #-}
-ptr_glIndexxvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glIndexxvOES = unsafePerformIO $ getCommand "glIndexxvOES"
-
--- glInitNames -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glInitNames.xml OpenGL 2.x>.
-glInitNames
-  :: MonadIO m
-  => m ()
-glInitNames = liftIO $ dyn10 ptr_glInitNames
-
-{-# NOINLINE ptr_glInitNames #-}
-ptr_glInitNames :: FunPtr (IO ())
-ptr_glInitNames = unsafePerformIO $ getCommand "glInitNames"
-
--- glInsertComponentEXT --------------------------------------------------------
-
-glInsertComponentEXT
-  :: MonadIO m
-  => GLuint -- ^ @res@.
-  -> GLuint -- ^ @src@.
-  -> GLuint -- ^ @num@.
-  -> m ()
-glInsertComponentEXT v1 v2 v3 = liftIO $ dyn101 ptr_glInsertComponentEXT v1 v2 v3
-
-{-# NOINLINE ptr_glInsertComponentEXT #-}
-ptr_glInsertComponentEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glInsertComponentEXT = unsafePerformIO $ getCommand "glInsertComponentEXT"
-
--- glInsertEventMarkerEXT ------------------------------------------------------
-
-glInsertEventMarkerEXT
-  :: MonadIO m
-  => GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @marker@.
-  -> m ()
-glInsertEventMarkerEXT v1 v2 = liftIO $ dyn465 ptr_glInsertEventMarkerEXT v1 v2
-
-{-# NOINLINE ptr_glInsertEventMarkerEXT #-}
-ptr_glInsertEventMarkerEXT :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
-ptr_glInsertEventMarkerEXT = unsafePerformIO $ getCommand "glInsertEventMarkerEXT"
-
--- glInstrumentsBufferSGIX -----------------------------------------------------
-
-glInstrumentsBufferSGIX
-  :: MonadIO m
-  => GLsizei -- ^ @size@.
-  -> Ptr GLint -- ^ @buffer@ pointing to @size@ elements of type @GLint@.
-  -> m ()
-glInstrumentsBufferSGIX v1 v2 = liftIO $ dyn466 ptr_glInstrumentsBufferSGIX v1 v2
-
-{-# NOINLINE ptr_glInstrumentsBufferSGIX #-}
-ptr_glInstrumentsBufferSGIX :: FunPtr (GLsizei -> Ptr GLint -> IO ())
-ptr_glInstrumentsBufferSGIX = unsafePerformIO $ getCommand "glInstrumentsBufferSGIX"
-
--- glInterleavedArrays ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glInterleavedArrays.xml OpenGL 2.x>.
-glInterleavedArrays
-  :: MonadIO m
-  => GLenum -- ^ @format@ of type [InterleavedArrayFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InterleavedArrayFormat).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(format,stride)@ elements of type @a@.
-  -> m ()
-glInterleavedArrays v1 v2 v3 = liftIO $ dyn46 ptr_glInterleavedArrays v1 v2 v3
-
-{-# NOINLINE ptr_glInterleavedArrays #-}
-ptr_glInterleavedArrays :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glInterleavedArrays = unsafePerformIO $ getCommand "glInterleavedArrays"
-
--- glInterpolatePathsNV --------------------------------------------------------
-
-glInterpolatePathsNV
-  :: MonadIO m
-  => GLuint -- ^ @resultPath@ of type @Path@.
-  -> GLuint -- ^ @pathA@ of type @Path@.
-  -> GLuint -- ^ @pathB@ of type @Path@.
-  -> GLfloat -- ^ @weight@.
-  -> m ()
-glInterpolatePathsNV v1 v2 v3 v4 = liftIO $ dyn467 ptr_glInterpolatePathsNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glInterpolatePathsNV #-}
-ptr_glInterpolatePathsNV :: FunPtr (GLuint -> GLuint -> GLuint -> GLfloat -> IO ())
-ptr_glInterpolatePathsNV = unsafePerformIO $ getCommand "glInterpolatePathsNV"
-
--- glInvalidateBufferData ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateBufferData.xhtml OpenGL 4.x>.
-glInvalidateBufferData
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m ()
-glInvalidateBufferData v1 = liftIO $ dyn2 ptr_glInvalidateBufferData v1
-
-{-# NOINLINE ptr_glInvalidateBufferData #-}
-ptr_glInvalidateBufferData :: FunPtr (GLuint -> IO ())
-ptr_glInvalidateBufferData = unsafePerformIO $ getCommand "glInvalidateBufferData"
-
--- glInvalidateBufferSubData ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateBufferSubData.xhtml OpenGL 4.x>.
-glInvalidateBufferSubData
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> m ()
-glInvalidateBufferSubData v1 v2 v3 = liftIO $ dyn278 ptr_glInvalidateBufferSubData v1 v2 v3
-
-{-# NOINLINE ptr_glInvalidateBufferSubData #-}
-ptr_glInvalidateBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glInvalidateBufferSubData = unsafePerformIO $ getCommand "glInvalidateBufferSubData"
-
--- glInvalidateFramebuffer -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateFramebuffer.xhtml OpenGL 4.x>.
-glInvalidateFramebuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
-  -> m ()
-glInvalidateFramebuffer v1 v2 v3 = liftIO $ dyn225 ptr_glInvalidateFramebuffer v1 v2 v3
-
-{-# NOINLINE ptr_glInvalidateFramebuffer #-}
-ptr_glInvalidateFramebuffer :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> IO ())
-ptr_glInvalidateFramebuffer = unsafePerformIO $ getCommand "glInvalidateFramebuffer"
-
--- glInvalidateNamedFramebufferData --------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateFramebuffer.xhtml OpenGL 4.x>.
-glInvalidateNamedFramebufferData
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@.
-  -> m ()
-glInvalidateNamedFramebufferData v1 v2 v3 = liftIO $ dyn281 ptr_glInvalidateNamedFramebufferData v1 v2 v3
-
-{-# NOINLINE ptr_glInvalidateNamedFramebufferData #-}
-ptr_glInvalidateNamedFramebufferData :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
-ptr_glInvalidateNamedFramebufferData = unsafePerformIO $ getCommand "glInvalidateNamedFramebufferData"
-
--- glInvalidateNamedFramebufferSubData -----------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateSubFramebuffer.xhtml OpenGL 4.x>.
-glInvalidateNamedFramebufferSubData
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glInvalidateNamedFramebufferSubData v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn468 ptr_glInvalidateNamedFramebufferSubData v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glInvalidateNamedFramebufferSubData #-}
-ptr_glInvalidateNamedFramebufferSubData :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glInvalidateNamedFramebufferSubData = unsafePerformIO $ getCommand "glInvalidateNamedFramebufferSubData"
-
--- glInvalidateSubFramebuffer --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateSubFramebuffer.xhtml OpenGL 4.x>.
-glInvalidateSubFramebuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @numAttachments@.
-  -> Ptr GLenum -- ^ @attachments@ pointing to @numAttachments@ elements of type @GLenum@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glInvalidateSubFramebuffer v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn469 ptr_glInvalidateSubFramebuffer v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glInvalidateSubFramebuffer #-}
-ptr_glInvalidateSubFramebuffer :: FunPtr (GLenum -> GLsizei -> Ptr GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glInvalidateSubFramebuffer = unsafePerformIO $ getCommand "glInvalidateSubFramebuffer"
-
--- glInvalidateTexImage --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateTexImage.xhtml OpenGL 4.x>.
-glInvalidateTexImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glInvalidateTexImage v1 v2 = liftIO $ dyn470 ptr_glInvalidateTexImage v1 v2
-
-{-# NOINLINE ptr_glInvalidateTexImage #-}
-ptr_glInvalidateTexImage :: FunPtr (GLuint -> GLint -> IO ())
-ptr_glInvalidateTexImage = unsafePerformIO $ getCommand "glInvalidateTexImage"
-
--- glInvalidateTexSubImage -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glInvalidateTexSubImage.xhtml OpenGL 4.x>.
-glInvalidateTexSubImage
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> m ()
-glInvalidateTexSubImage v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn471 ptr_glInvalidateTexSubImage v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glInvalidateTexSubImage #-}
-ptr_glInvalidateTexSubImage :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glInvalidateTexSubImage = unsafePerformIO $ getCommand "glInvalidateTexSubImage"
-
--- glIsAsyncMarkerSGIX ---------------------------------------------------------
-
-glIsAsyncMarkerSGIX
-  :: MonadIO m
-  => GLuint -- ^ @marker@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsAsyncMarkerSGIX v1 = liftIO $ dyn272 ptr_glIsAsyncMarkerSGIX v1
-
-{-# NOINLINE ptr_glIsAsyncMarkerSGIX #-}
-ptr_glIsAsyncMarkerSGIX :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsAsyncMarkerSGIX = unsafePerformIO $ getCommand "glIsAsyncMarkerSGIX"
-
--- glIsBuffer ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsBuffer.xhtml OpenGL 4.x>.
-glIsBuffer
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsBuffer v1 = liftIO $ dyn272 ptr_glIsBuffer v1
-
-{-# NOINLINE ptr_glIsBuffer #-}
-ptr_glIsBuffer :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsBuffer = unsafePerformIO $ getCommand "glIsBuffer"
-
--- glIsBufferARB ---------------------------------------------------------------
-
--- | This command is an alias for 'glIsBuffer'.
-glIsBufferARB
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsBufferARB v1 = liftIO $ dyn272 ptr_glIsBufferARB v1
-
-{-# NOINLINE ptr_glIsBufferARB #-}
-ptr_glIsBufferARB :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsBufferARB = unsafePerformIO $ getCommand "glIsBufferARB"
-
--- glIsBufferResidentNV --------------------------------------------------------
-
-glIsBufferResidentNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsBufferResidentNV v1 = liftIO $ dyn472 ptr_glIsBufferResidentNV v1
-
-{-# NOINLINE ptr_glIsBufferResidentNV #-}
-ptr_glIsBufferResidentNV :: FunPtr (GLenum -> IO GLboolean)
-ptr_glIsBufferResidentNV = unsafePerformIO $ getCommand "glIsBufferResidentNV"
-
--- glIsCommandListNV -----------------------------------------------------------
-
-glIsCommandListNV
-  :: MonadIO m
-  => GLuint -- ^ @list@.
-  -> m GLboolean
-glIsCommandListNV v1 = liftIO $ dyn272 ptr_glIsCommandListNV v1
-
-{-# NOINLINE ptr_glIsCommandListNV #-}
-ptr_glIsCommandListNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsCommandListNV = unsafePerformIO $ getCommand "glIsCommandListNV"
-
--- glIsEnabled -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsEnabled.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsEnabled.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsEnabled.xhtml OpenGL 4.x>.
-glIsEnabled
-  :: MonadIO m
-  => GLenum -- ^ @cap@ of type [EnableCap](Graphics-Rendering-OpenGL-Raw-Groups.html#EnableCap).
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsEnabled v1 = liftIO $ dyn472 ptr_glIsEnabled v1
-
-{-# NOINLINE ptr_glIsEnabled #-}
-ptr_glIsEnabled :: FunPtr (GLenum -> IO GLboolean)
-ptr_glIsEnabled = unsafePerformIO $ getCommand "glIsEnabled"
-
--- glIsEnabledIndexedEXT -------------------------------------------------------
-
--- | This command is an alias for 'glIsEnabledi'.
-glIsEnabledIndexedEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsEnabledIndexedEXT v1 v2 = liftIO $ dyn473 ptr_glIsEnabledIndexedEXT v1 v2
-
-{-# NOINLINE ptr_glIsEnabledIndexedEXT #-}
-ptr_glIsEnabledIndexedEXT :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-ptr_glIsEnabledIndexedEXT = unsafePerformIO $ getCommand "glIsEnabledIndexedEXT"
-
--- glIsEnabledi ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsEnabled.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsEnabled.xhtml OpenGL 4.x>.
-glIsEnabledi
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsEnabledi v1 v2 = liftIO $ dyn473 ptr_glIsEnabledi v1 v2
-
-{-# NOINLINE ptr_glIsEnabledi #-}
-ptr_glIsEnabledi :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-ptr_glIsEnabledi = unsafePerformIO $ getCommand "glIsEnabledi"
-
--- glIsEnablediEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glIsEnabledi'.
-glIsEnablediEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsEnablediEXT v1 v2 = liftIO $ dyn473 ptr_glIsEnablediEXT v1 v2
-
-{-# NOINLINE ptr_glIsEnablediEXT #-}
-ptr_glIsEnablediEXT :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-ptr_glIsEnablediEXT = unsafePerformIO $ getCommand "glIsEnablediEXT"
-
--- glIsEnablediNV --------------------------------------------------------------
-
--- | This command is an alias for 'glIsEnabledi'.
-glIsEnablediNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsEnablediNV v1 v2 = liftIO $ dyn473 ptr_glIsEnablediNV v1 v2
-
-{-# NOINLINE ptr_glIsEnablediNV #-}
-ptr_glIsEnablediNV :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-ptr_glIsEnablediNV = unsafePerformIO $ getCommand "glIsEnablediNV"
-
--- glIsEnablediOES -------------------------------------------------------------
-
--- | This command is an alias for 'glIsEnabledi'.
-glIsEnablediOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @index@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsEnablediOES v1 v2 = liftIO $ dyn473 ptr_glIsEnablediOES v1 v2
-
-{-# NOINLINE ptr_glIsEnablediOES #-}
-ptr_glIsEnablediOES :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-ptr_glIsEnablediOES = unsafePerformIO $ getCommand "glIsEnablediOES"
-
--- glIsFenceAPPLE --------------------------------------------------------------
-
-glIsFenceAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsFenceAPPLE v1 = liftIO $ dyn272 ptr_glIsFenceAPPLE v1
-
-{-# NOINLINE ptr_glIsFenceAPPLE #-}
-ptr_glIsFenceAPPLE :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsFenceAPPLE = unsafePerformIO $ getCommand "glIsFenceAPPLE"
-
--- glIsFenceNV -----------------------------------------------------------------
-
-glIsFenceNV
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsFenceNV v1 = liftIO $ dyn272 ptr_glIsFenceNV v1
-
-{-# NOINLINE ptr_glIsFenceNV #-}
-ptr_glIsFenceNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsFenceNV = unsafePerformIO $ getCommand "glIsFenceNV"
-
--- glIsFramebuffer -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsFramebuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsFramebuffer.xhtml OpenGL 4.x>.
-glIsFramebuffer
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsFramebuffer v1 = liftIO $ dyn272 ptr_glIsFramebuffer v1
-
-{-# NOINLINE ptr_glIsFramebuffer #-}
-ptr_glIsFramebuffer :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsFramebuffer = unsafePerformIO $ getCommand "glIsFramebuffer"
-
--- glIsFramebufferEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glIsFramebuffer'.
-glIsFramebufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsFramebufferEXT v1 = liftIO $ dyn272 ptr_glIsFramebufferEXT v1
-
-{-# NOINLINE ptr_glIsFramebufferEXT #-}
-ptr_glIsFramebufferEXT :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsFramebufferEXT = unsafePerformIO $ getCommand "glIsFramebufferEXT"
-
--- glIsFramebufferOES ----------------------------------------------------------
-
-glIsFramebufferOES
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> m GLboolean
-glIsFramebufferOES v1 = liftIO $ dyn272 ptr_glIsFramebufferOES v1
-
-{-# NOINLINE ptr_glIsFramebufferOES #-}
-ptr_glIsFramebufferOES :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsFramebufferOES = unsafePerformIO $ getCommand "glIsFramebufferOES"
-
--- glIsImageHandleResidentARB --------------------------------------------------
-
-glIsImageHandleResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m GLboolean
-glIsImageHandleResidentARB v1 = liftIO $ dyn474 ptr_glIsImageHandleResidentARB v1
-
-{-# NOINLINE ptr_glIsImageHandleResidentARB #-}
-ptr_glIsImageHandleResidentARB :: FunPtr (GLuint64 -> IO GLboolean)
-ptr_glIsImageHandleResidentARB = unsafePerformIO $ getCommand "glIsImageHandleResidentARB"
-
--- glIsImageHandleResidentNV ---------------------------------------------------
-
-glIsImageHandleResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsImageHandleResidentNV v1 = liftIO $ dyn474 ptr_glIsImageHandleResidentNV v1
-
-{-# NOINLINE ptr_glIsImageHandleResidentNV #-}
-ptr_glIsImageHandleResidentNV :: FunPtr (GLuint64 -> IO GLboolean)
-ptr_glIsImageHandleResidentNV = unsafePerformIO $ getCommand "glIsImageHandleResidentNV"
-
--- glIsList --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsList.xml OpenGL 2.x>.
-glIsList
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsList v1 = liftIO $ dyn272 ptr_glIsList v1
-
-{-# NOINLINE ptr_glIsList #-}
-ptr_glIsList :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsList = unsafePerformIO $ getCommand "glIsList"
-
--- glIsNameAMD -----------------------------------------------------------------
-
-glIsNameAMD
-  :: MonadIO m
-  => GLenum -- ^ @identifier@.
-  -> GLuint -- ^ @name@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsNameAMD v1 v2 = liftIO $ dyn473 ptr_glIsNameAMD v1 v2
-
-{-# NOINLINE ptr_glIsNameAMD #-}
-ptr_glIsNameAMD :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-ptr_glIsNameAMD = unsafePerformIO $ getCommand "glIsNameAMD"
-
--- glIsNamedBufferResidentNV ---------------------------------------------------
-
-glIsNamedBufferResidentNV
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsNamedBufferResidentNV v1 = liftIO $ dyn272 ptr_glIsNamedBufferResidentNV v1
-
-{-# NOINLINE ptr_glIsNamedBufferResidentNV #-}
-ptr_glIsNamedBufferResidentNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsNamedBufferResidentNV = unsafePerformIO $ getCommand "glIsNamedBufferResidentNV"
-
--- glIsNamedStringARB ----------------------------------------------------------
-
-glIsNamedStringARB
-  :: MonadIO m
-  => GLint -- ^ @namelen@.
-  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsNamedStringARB v1 v2 = liftIO $ dyn475 ptr_glIsNamedStringARB v1 v2
-
-{-# NOINLINE ptr_glIsNamedStringARB #-}
-ptr_glIsNamedStringARB :: FunPtr (GLint -> Ptr GLchar -> IO GLboolean)
-ptr_glIsNamedStringARB = unsafePerformIO $ getCommand "glIsNamedStringARB"
-
--- glIsObjectBufferATI ---------------------------------------------------------
-
-glIsObjectBufferATI
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsObjectBufferATI v1 = liftIO $ dyn272 ptr_glIsObjectBufferATI v1
-
-{-# NOINLINE ptr_glIsObjectBufferATI #-}
-ptr_glIsObjectBufferATI :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsObjectBufferATI = unsafePerformIO $ getCommand "glIsObjectBufferATI"
-
--- glIsOcclusionQueryNV --------------------------------------------------------
-
-glIsOcclusionQueryNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsOcclusionQueryNV v1 = liftIO $ dyn272 ptr_glIsOcclusionQueryNV v1
-
-{-# NOINLINE ptr_glIsOcclusionQueryNV #-}
-ptr_glIsOcclusionQueryNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsOcclusionQueryNV = unsafePerformIO $ getCommand "glIsOcclusionQueryNV"
-
--- glIsPathNV ------------------------------------------------------------------
-
-glIsPathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsPathNV v1 = liftIO $ dyn272 ptr_glIsPathNV v1
-
-{-# NOINLINE ptr_glIsPathNV #-}
-ptr_glIsPathNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsPathNV = unsafePerformIO $ getCommand "glIsPathNV"
-
--- glIsPointInFillPathNV -------------------------------------------------------
-
-glIsPointInFillPathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsPointInFillPathNV v1 v2 v3 v4 = liftIO $ dyn476 ptr_glIsPointInFillPathNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glIsPointInFillPathNV #-}
-ptr_glIsPointInFillPathNV :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-ptr_glIsPointInFillPathNV = unsafePerformIO $ getCommand "glIsPointInFillPathNV"
-
--- glIsPointInStrokePathNV -----------------------------------------------------
-
-glIsPointInStrokePathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsPointInStrokePathNV v1 v2 v3 = liftIO $ dyn477 ptr_glIsPointInStrokePathNV v1 v2 v3
-
-{-# NOINLINE ptr_glIsPointInStrokePathNV #-}
-ptr_glIsPointInStrokePathNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO GLboolean)
-ptr_glIsPointInStrokePathNV = unsafePerformIO $ getCommand "glIsPointInStrokePathNV"
-
--- glIsProgram -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsProgram.xhtml OpenGL 4.x>.
-glIsProgram
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsProgram v1 = liftIO $ dyn272 ptr_glIsProgram v1
-
-{-# NOINLINE ptr_glIsProgram #-}
-ptr_glIsProgram :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsProgram = unsafePerformIO $ getCommand "glIsProgram"
-
--- glIsProgramARB --------------------------------------------------------------
-
-glIsProgramARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsProgramARB v1 = liftIO $ dyn272 ptr_glIsProgramARB v1
-
-{-# NOINLINE ptr_glIsProgramARB #-}
-ptr_glIsProgramARB :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsProgramARB = unsafePerformIO $ getCommand "glIsProgramARB"
-
--- glIsProgramNV ---------------------------------------------------------------
-
--- | This command is an alias for 'glIsProgramARB'.
-glIsProgramNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsProgramNV v1 = liftIO $ dyn272 ptr_glIsProgramNV v1
-
-{-# NOINLINE ptr_glIsProgramNV #-}
-ptr_glIsProgramNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsProgramNV = unsafePerformIO $ getCommand "glIsProgramNV"
-
--- glIsProgramPipeline ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glIsProgramPipeline.xhtml OpenGL 4.x>.
-glIsProgramPipeline
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsProgramPipeline v1 = liftIO $ dyn272 ptr_glIsProgramPipeline v1
-
-{-# NOINLINE ptr_glIsProgramPipeline #-}
-ptr_glIsProgramPipeline :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsProgramPipeline = unsafePerformIO $ getCommand "glIsProgramPipeline"
-
--- glIsProgramPipelineEXT ------------------------------------------------------
-
-glIsProgramPipelineEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> m GLboolean
-glIsProgramPipelineEXT v1 = liftIO $ dyn272 ptr_glIsProgramPipelineEXT v1
-
-{-# NOINLINE ptr_glIsProgramPipelineEXT #-}
-ptr_glIsProgramPipelineEXT :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsProgramPipelineEXT = unsafePerformIO $ getCommand "glIsProgramPipelineEXT"
-
--- glIsQuery -------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsQuery.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsQuery.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsQuery.xhtml OpenGL 4.x>.
-glIsQuery
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsQuery v1 = liftIO $ dyn272 ptr_glIsQuery v1
-
-{-# NOINLINE ptr_glIsQuery #-}
-ptr_glIsQuery :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsQuery = unsafePerformIO $ getCommand "glIsQuery"
-
--- glIsQueryARB ----------------------------------------------------------------
-
--- | This command is an alias for 'glIsQuery'.
-glIsQueryARB
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsQueryARB v1 = liftIO $ dyn272 ptr_glIsQueryARB v1
-
-{-# NOINLINE ptr_glIsQueryARB #-}
-ptr_glIsQueryARB :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsQueryARB = unsafePerformIO $ getCommand "glIsQueryARB"
-
--- glIsQueryEXT ----------------------------------------------------------------
-
-glIsQueryEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m GLboolean
-glIsQueryEXT v1 = liftIO $ dyn272 ptr_glIsQueryEXT v1
-
-{-# NOINLINE ptr_glIsQueryEXT #-}
-ptr_glIsQueryEXT :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsQueryEXT = unsafePerformIO $ getCommand "glIsQueryEXT"
-
--- glIsRenderbuffer ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsRenderbuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsRenderbuffer.xhtml OpenGL 4.x>.
-glIsRenderbuffer
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsRenderbuffer v1 = liftIO $ dyn272 ptr_glIsRenderbuffer v1
-
-{-# NOINLINE ptr_glIsRenderbuffer #-}
-ptr_glIsRenderbuffer :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsRenderbuffer = unsafePerformIO $ getCommand "glIsRenderbuffer"
-
--- glIsRenderbufferEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glIsRenderbuffer'.
-glIsRenderbufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsRenderbufferEXT v1 = liftIO $ dyn272 ptr_glIsRenderbufferEXT v1
-
-{-# NOINLINE ptr_glIsRenderbufferEXT #-}
-ptr_glIsRenderbufferEXT :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsRenderbufferEXT = unsafePerformIO $ getCommand "glIsRenderbufferEXT"
-
--- glIsRenderbufferOES ---------------------------------------------------------
-
-glIsRenderbufferOES
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@.
-  -> m GLboolean
-glIsRenderbufferOES v1 = liftIO $ dyn272 ptr_glIsRenderbufferOES v1
-
-{-# NOINLINE ptr_glIsRenderbufferOES #-}
-ptr_glIsRenderbufferOES :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsRenderbufferOES = unsafePerformIO $ getCommand "glIsRenderbufferOES"
-
--- glIsSampler -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsSampler.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsSampler.xhtml OpenGL 4.x>.
-glIsSampler
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsSampler v1 = liftIO $ dyn272 ptr_glIsSampler v1
-
-{-# NOINLINE ptr_glIsSampler #-}
-ptr_glIsSampler :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsSampler = unsafePerformIO $ getCommand "glIsSampler"
-
--- glIsShader ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsShader.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsShader.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsShader.xhtml OpenGL 4.x>.
-glIsShader
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsShader v1 = liftIO $ dyn272 ptr_glIsShader v1
-
-{-# NOINLINE ptr_glIsShader #-}
-ptr_glIsShader :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsShader = unsafePerformIO $ getCommand "glIsShader"
-
--- glIsStateNV -----------------------------------------------------------------
-
-glIsStateNV
-  :: MonadIO m
-  => GLuint -- ^ @state@.
-  -> m GLboolean
-glIsStateNV v1 = liftIO $ dyn272 ptr_glIsStateNV v1
-
-{-# NOINLINE ptr_glIsStateNV #-}
-ptr_glIsStateNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsStateNV = unsafePerformIO $ getCommand "glIsStateNV"
-
--- glIsSync --------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsSync.xhtml OpenGL 4.x>.
-glIsSync
-  :: MonadIO m
-  => GLsync -- ^ @sync@ of type @sync@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsSync v1 = liftIO $ dyn478 ptr_glIsSync v1
-
-{-# NOINLINE ptr_glIsSync #-}
-ptr_glIsSync :: FunPtr (GLsync -> IO GLboolean)
-ptr_glIsSync = unsafePerformIO $ getCommand "glIsSync"
-
--- glIsSyncAPPLE ---------------------------------------------------------------
-
--- | This command is an alias for 'glIsSync'.
-glIsSyncAPPLE
-  :: MonadIO m
-  => GLsync -- ^ @sync@.
-  -> m GLboolean
-glIsSyncAPPLE v1 = liftIO $ dyn478 ptr_glIsSyncAPPLE v1
-
-{-# NOINLINE ptr_glIsSyncAPPLE #-}
-ptr_glIsSyncAPPLE :: FunPtr (GLsync -> IO GLboolean)
-ptr_glIsSyncAPPLE = unsafePerformIO $ getCommand "glIsSyncAPPLE"
-
--- glIsTexture -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glIsTexture.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glIsTexture.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsTexture.xhtml OpenGL 4.x>.
-glIsTexture
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsTexture v1 = liftIO $ dyn272 ptr_glIsTexture v1
-
-{-# NOINLINE ptr_glIsTexture #-}
-ptr_glIsTexture :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsTexture = unsafePerformIO $ getCommand "glIsTexture"
-
--- glIsTextureEXT --------------------------------------------------------------
-
-glIsTextureEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsTextureEXT v1 = liftIO $ dyn272 ptr_glIsTextureEXT v1
-
-{-# NOINLINE ptr_glIsTextureEXT #-}
-ptr_glIsTextureEXT :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsTextureEXT = unsafePerformIO $ getCommand "glIsTextureEXT"
-
--- glIsTextureHandleResidentARB ------------------------------------------------
-
-glIsTextureHandleResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m GLboolean
-glIsTextureHandleResidentARB v1 = liftIO $ dyn474 ptr_glIsTextureHandleResidentARB v1
-
-{-# NOINLINE ptr_glIsTextureHandleResidentARB #-}
-ptr_glIsTextureHandleResidentARB :: FunPtr (GLuint64 -> IO GLboolean)
-ptr_glIsTextureHandleResidentARB = unsafePerformIO $ getCommand "glIsTextureHandleResidentARB"
-
--- glIsTextureHandleResidentNV -------------------------------------------------
-
-glIsTextureHandleResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsTextureHandleResidentNV v1 = liftIO $ dyn474 ptr_glIsTextureHandleResidentNV v1
-
-{-# NOINLINE ptr_glIsTextureHandleResidentNV #-}
-ptr_glIsTextureHandleResidentNV :: FunPtr (GLuint64 -> IO GLboolean)
-ptr_glIsTextureHandleResidentNV = unsafePerformIO $ getCommand "glIsTextureHandleResidentNV"
-
--- glIsTransformFeedback -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glIsTransformFeedback.xhtml OpenGL 4.x>.
-glIsTransformFeedback
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsTransformFeedback v1 = liftIO $ dyn272 ptr_glIsTransformFeedback v1
-
-{-# NOINLINE ptr_glIsTransformFeedback #-}
-ptr_glIsTransformFeedback :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsTransformFeedback = unsafePerformIO $ getCommand "glIsTransformFeedback"
-
--- glIsTransformFeedbackNV -----------------------------------------------------
-
--- | This command is an alias for 'glIsTransformFeedback'.
-glIsTransformFeedbackNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsTransformFeedbackNV v1 = liftIO $ dyn272 ptr_glIsTransformFeedbackNV v1
-
-{-# NOINLINE ptr_glIsTransformFeedbackNV #-}
-ptr_glIsTransformFeedbackNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsTransformFeedbackNV = unsafePerformIO $ getCommand "glIsTransformFeedbackNV"
-
--- glIsVariantEnabledEXT -------------------------------------------------------
-
-glIsVariantEnabledEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @cap@ of type @VariantCapEXT@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsVariantEnabledEXT v1 v2 = liftIO $ dyn479 ptr_glIsVariantEnabledEXT v1 v2
-
-{-# NOINLINE ptr_glIsVariantEnabledEXT #-}
-ptr_glIsVariantEnabledEXT :: FunPtr (GLuint -> GLenum -> IO GLboolean)
-ptr_glIsVariantEnabledEXT = unsafePerformIO $ getCommand "glIsVariantEnabledEXT"
-
--- glIsVertexArray -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glIsVertexArray.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glIsVertexArray.xhtml OpenGL 4.x>.
-glIsVertexArray
-  :: MonadIO m
-  => GLuint -- ^ @array@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsVertexArray v1 = liftIO $ dyn272 ptr_glIsVertexArray v1
-
-{-# NOINLINE ptr_glIsVertexArray #-}
-ptr_glIsVertexArray :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsVertexArray = unsafePerformIO $ getCommand "glIsVertexArray"
-
--- glIsVertexArrayAPPLE --------------------------------------------------------
-
--- | This command is an alias for 'glIsVertexArray'.
-glIsVertexArrayAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @array@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsVertexArrayAPPLE v1 = liftIO $ dyn272 ptr_glIsVertexArrayAPPLE v1
-
-{-# NOINLINE ptr_glIsVertexArrayAPPLE #-}
-ptr_glIsVertexArrayAPPLE :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsVertexArrayAPPLE = unsafePerformIO $ getCommand "glIsVertexArrayAPPLE"
-
--- glIsVertexArrayOES ----------------------------------------------------------
-
--- | This command is an alias for 'glIsVertexArray'.
-glIsVertexArrayOES
-  :: MonadIO m
-  => GLuint -- ^ @array@.
-  -> m GLboolean
-glIsVertexArrayOES v1 = liftIO $ dyn272 ptr_glIsVertexArrayOES v1
-
-{-# NOINLINE ptr_glIsVertexArrayOES #-}
-ptr_glIsVertexArrayOES :: FunPtr (GLuint -> IO GLboolean)
-ptr_glIsVertexArrayOES = unsafePerformIO $ getCommand "glIsVertexArrayOES"
-
--- glIsVertexAttribEnabledAPPLE ------------------------------------------------
-
-glIsVertexAttribEnabledAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glIsVertexAttribEnabledAPPLE v1 v2 = liftIO $ dyn479 ptr_glIsVertexAttribEnabledAPPLE v1 v2
-
-{-# NOINLINE ptr_glIsVertexAttribEnabledAPPLE #-}
-ptr_glIsVertexAttribEnabledAPPLE :: FunPtr (GLuint -> GLenum -> IO GLboolean)
-ptr_glIsVertexAttribEnabledAPPLE = unsafePerformIO $ getCommand "glIsVertexAttribEnabledAPPLE"
-
--- glLabelObjectEXT ------------------------------------------------------------
-
-glLabelObjectEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @object@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @label@.
-  -> m ()
-glLabelObjectEXT v1 v2 v3 v4 = liftIO $ dyn480 ptr_glLabelObjectEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glLabelObjectEXT #-}
-ptr_glLabelObjectEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glLabelObjectEXT = unsafePerformIO $ getCommand "glLabelObjectEXT"
-
--- glLightEnviSGIX -------------------------------------------------------------
-
-glLightEnviSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [LightEnvParameterSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#LightEnvParameterSGIX).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glLightEnviSGIX v1 v2 = liftIO $ dyn55 ptr_glLightEnviSGIX v1 v2
-
-{-# NOINLINE ptr_glLightEnviSGIX #-}
-ptr_glLightEnviSGIX :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glLightEnviSGIX = unsafePerformIO $ getCommand "glLightEnviSGIX"
-
--- glLightModelf ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
-glLightModelf
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightModelParameter).
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glLightModelf v1 v2 = liftIO $ dyn0 ptr_glLightModelf v1 v2
-
-{-# NOINLINE ptr_glLightModelf #-}
-ptr_glLightModelf :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glLightModelf = unsafePerformIO $ getCommand "glLightModelf"
-
--- glLightModelfv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
-glLightModelfv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightModelParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glLightModelfv v1 v2 = liftIO $ dyn93 ptr_glLightModelfv v1 v2
-
-{-# NOINLINE ptr_glLightModelfv #-}
-ptr_glLightModelfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glLightModelfv = unsafePerformIO $ getCommand "glLightModelfv"
-
--- glLightModeli ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
-glLightModeli
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightModelParameter).
-  -> GLint -- ^ @param@.
-  -> m ()
-glLightModeli v1 v2 = liftIO $ dyn55 ptr_glLightModeli v1 v2
-
-{-# NOINLINE ptr_glLightModeli #-}
-ptr_glLightModeli :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glLightModeli = unsafePerformIO $ getCommand "glLightModeli"
-
--- glLightModeliv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLightModel.xml OpenGL 2.x>.
-glLightModeliv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [LightModelParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightModelParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glLightModeliv v1 v2 = liftIO $ dyn135 ptr_glLightModeliv v1 v2
-
-{-# NOINLINE ptr_glLightModeliv #-}
-ptr_glLightModeliv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glLightModeliv = unsafePerformIO $ getCommand "glLightModeliv"
-
--- glLightModelx ---------------------------------------------------------------
-
-glLightModelx
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glLightModelx v1 v2 = liftIO $ dyn1 ptr_glLightModelx v1 v2
-
-{-# NOINLINE ptr_glLightModelx #-}
-ptr_glLightModelx :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glLightModelx = unsafePerformIO $ getCommand "glLightModelx"
-
--- glLightModelxOES ------------------------------------------------------------
-
-glLightModelxOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glLightModelxOES v1 v2 = liftIO $ dyn1 ptr_glLightModelxOES v1 v2
-
-{-# NOINLINE ptr_glLightModelxOES #-}
-ptr_glLightModelxOES :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glLightModelxOES = unsafePerformIO $ getCommand "glLightModelxOES"
-
--- glLightModelxv --------------------------------------------------------------
-
-glLightModelxv
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glLightModelxv v1 v2 = liftIO $ dyn94 ptr_glLightModelxv v1 v2
-
-{-# NOINLINE ptr_glLightModelxv #-}
-ptr_glLightModelxv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glLightModelxv = unsafePerformIO $ getCommand "glLightModelxv"
-
--- glLightModelxvOES -----------------------------------------------------------
-
-glLightModelxvOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glLightModelxvOES v1 v2 = liftIO $ dyn94 ptr_glLightModelxvOES v1 v2
-
-{-# NOINLINE ptr_glLightModelxvOES #-}
-ptr_glLightModelxvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glLightModelxvOES = unsafePerformIO $ getCommand "glLightModelxvOES"
-
--- glLightf --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
-glLightf
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type [LightName](Graphics-Rendering-OpenGL-Raw-Groups.html#LightName).
-  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glLightf v1 v2 v3 = liftIO $ dyn160 ptr_glLightf v1 v2 v3
-
-{-# NOINLINE ptr_glLightf #-}
-ptr_glLightf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glLightf = unsafePerformIO $ getCommand "glLightf"
-
--- glLightfv -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
-glLightfv
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type [LightName](Graphics-Rendering-OpenGL-Raw-Groups.html#LightName).
-  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glLightfv v1 v2 v3 = liftIO $ dyn131 ptr_glLightfv v1 v2 v3
-
-{-# NOINLINE ptr_glLightfv #-}
-ptr_glLightfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glLightfv = unsafePerformIO $ getCommand "glLightfv"
-
--- glLighti --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
-glLighti
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type [LightName](Graphics-Rendering-OpenGL-Raw-Groups.html#LightName).
-  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glLighti v1 v2 v3 = liftIO $ dyn62 ptr_glLighti v1 v2 v3
-
-{-# NOINLINE ptr_glLighti #-}
-ptr_glLighti :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glLighti = unsafePerformIO $ getCommand "glLighti"
-
--- glLightiv -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml OpenGL 2.x>.
-glLightiv
-  :: MonadIO m
-  => GLenum -- ^ @light@ of type [LightName](Graphics-Rendering-OpenGL-Raw-Groups.html#LightName).
-  -> GLenum -- ^ @pname@ of type [LightParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#LightParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glLightiv v1 v2 v3 = liftIO $ dyn132 ptr_glLightiv v1 v2 v3
-
-{-# NOINLINE ptr_glLightiv #-}
-ptr_glLightiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glLightiv = unsafePerformIO $ getCommand "glLightiv"
-
--- glLightx --------------------------------------------------------------------
-
-glLightx
-  :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glLightx v1 v2 v3 = liftIO $ dyn161 ptr_glLightx v1 v2 v3
-
-{-# NOINLINE ptr_glLightx #-}
-ptr_glLightx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glLightx = unsafePerformIO $ getCommand "glLightx"
-
--- glLightxOES -----------------------------------------------------------------
-
-glLightxOES
-  :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glLightxOES v1 v2 v3 = liftIO $ dyn161 ptr_glLightxOES v1 v2 v3
-
-{-# NOINLINE ptr_glLightxOES #-}
-ptr_glLightxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glLightxOES = unsafePerformIO $ getCommand "glLightxOES"
-
--- glLightxv -------------------------------------------------------------------
-
-glLightxv
-  :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glLightxv v1 v2 v3 = liftIO $ dyn162 ptr_glLightxv v1 v2 v3
-
-{-# NOINLINE ptr_glLightxv #-}
-ptr_glLightxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glLightxv = unsafePerformIO $ getCommand "glLightxv"
-
--- glLightxvOES ----------------------------------------------------------------
-
-glLightxvOES
-  :: MonadIO m
-  => GLenum -- ^ @light@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glLightxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glLightxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glLightxvOES #-}
-ptr_glLightxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glLightxvOES = unsafePerformIO $ getCommand "glLightxvOES"
-
--- glLineStipple ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLineStipple.xml OpenGL 2.x>.
-glLineStipple
-  :: MonadIO m
-  => GLint -- ^ @factor@ of type @CheckedInt32@.
-  -> GLushort -- ^ @pattern@ of type @LineStipple@.
-  -> m ()
-glLineStipple v1 v2 = liftIO $ dyn481 ptr_glLineStipple v1 v2
-
-{-# NOINLINE ptr_glLineStipple #-}
-ptr_glLineStipple :: FunPtr (GLint -> GLushort -> IO ())
-ptr_glLineStipple = unsafePerformIO $ getCommand "glLineStipple"
-
--- glLineWidth -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glLineWidth.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glLineWidth.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glLineWidth.xhtml OpenGL 4.x>.
-glLineWidth
-  :: MonadIO m
-  => GLfloat -- ^ @width@ of type @CheckedFloat32@.
-  -> m ()
-glLineWidth v1 = liftIO $ dyn79 ptr_glLineWidth v1
-
-{-# NOINLINE ptr_glLineWidth #-}
-ptr_glLineWidth :: FunPtr (GLfloat -> IO ())
-ptr_glLineWidth = unsafePerformIO $ getCommand "glLineWidth"
-
--- glLineWidthx ----------------------------------------------------------------
-
-glLineWidthx
-  :: MonadIO m
-  => GLfixed -- ^ @width@.
-  -> m ()
-glLineWidthx v1 = liftIO $ dyn81 ptr_glLineWidthx v1
-
-{-# NOINLINE ptr_glLineWidthx #-}
-ptr_glLineWidthx :: FunPtr (GLfixed -> IO ())
-ptr_glLineWidthx = unsafePerformIO $ getCommand "glLineWidthx"
-
--- glLineWidthxOES -------------------------------------------------------------
-
-glLineWidthxOES
-  :: MonadIO m
-  => GLfixed -- ^ @width@.
-  -> m ()
-glLineWidthxOES v1 = liftIO $ dyn81 ptr_glLineWidthxOES v1
-
-{-# NOINLINE ptr_glLineWidthxOES #-}
-ptr_glLineWidthxOES :: FunPtr (GLfixed -> IO ())
-ptr_glLineWidthxOES = unsafePerformIO $ getCommand "glLineWidthxOES"
-
--- glLinkProgram ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glLinkProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glLinkProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glLinkProgram.xhtml OpenGL 4.x>.
-glLinkProgram
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m ()
-glLinkProgram v1 = liftIO $ dyn2 ptr_glLinkProgram v1
-
-{-# NOINLINE ptr_glLinkProgram #-}
-ptr_glLinkProgram :: FunPtr (GLuint -> IO ())
-ptr_glLinkProgram = unsafePerformIO $ getCommand "glLinkProgram"
-
--- glLinkProgramARB ------------------------------------------------------------
-
--- | This command is an alias for 'glLinkProgram'.
-glLinkProgramARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> m ()
-glLinkProgramARB v1 = liftIO $ dyn136 ptr_glLinkProgramARB v1
-
-{-# NOINLINE ptr_glLinkProgramARB #-}
-ptr_glLinkProgramARB :: FunPtr (GLhandleARB -> IO ())
-ptr_glLinkProgramARB = unsafePerformIO $ getCommand "glLinkProgramARB"
-
--- glListBase ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glListBase.xml OpenGL 2.x>.
-glListBase
-  :: MonadIO m
-  => GLuint -- ^ @base@ of type @List@.
-  -> m ()
-glListBase v1 = liftIO $ dyn2 ptr_glListBase v1
-
-{-# NOINLINE ptr_glListBase #-}
-ptr_glListBase :: FunPtr (GLuint -> IO ())
-ptr_glListBase = unsafePerformIO $ getCommand "glListBase"
-
--- glListDrawCommandsStatesClientNV --------------------------------------------
-
-glListDrawCommandsStatesClientNV
-  :: MonadIO m
-  => GLuint -- ^ @list@.
-  -> GLuint -- ^ @segment@.
-  -> Ptr (Ptr a) -- ^ @indirects@.
-  -> Ptr GLsizei -- ^ @sizes@.
-  -> Ptr GLuint -- ^ @states@.
-  -> Ptr GLuint -- ^ @fbos@.
-  -> GLuint -- ^ @count@.
-  -> m ()
-glListDrawCommandsStatesClientNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn482 ptr_glListDrawCommandsStatesClientNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glListDrawCommandsStatesClientNV #-}
-ptr_glListDrawCommandsStatesClientNV :: FunPtr (GLuint -> GLuint -> Ptr (Ptr a) -> Ptr GLsizei -> Ptr GLuint -> Ptr GLuint -> GLuint -> IO ())
-ptr_glListDrawCommandsStatesClientNV = unsafePerformIO $ getCommand "glListDrawCommandsStatesClientNV"
-
--- glListParameterfSGIX --------------------------------------------------------
-
-glListParameterfSGIX
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#ListParameterName).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glListParameterfSGIX v1 v2 v3 = liftIO $ dyn483 ptr_glListParameterfSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glListParameterfSGIX #-}
-ptr_glListParameterfSGIX :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
-ptr_glListParameterfSGIX = unsafePerformIO $ getCommand "glListParameterfSGIX"
-
--- glListParameterfvSGIX -------------------------------------------------------
-
-glListParameterfvSGIX
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#ListParameterName).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glListParameterfvSGIX v1 v2 v3 = liftIO $ dyn345 ptr_glListParameterfvSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glListParameterfvSGIX #-}
-ptr_glListParameterfvSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glListParameterfvSGIX = unsafePerformIO $ getCommand "glListParameterfvSGIX"
-
--- glListParameteriSGIX --------------------------------------------------------
-
-glListParameteriSGIX
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#ListParameterName).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glListParameteriSGIX v1 v2 v3 = liftIO $ dyn484 ptr_glListParameteriSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glListParameteriSGIX #-}
-ptr_glListParameteriSGIX :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glListParameteriSGIX = unsafePerformIO $ getCommand "glListParameteriSGIX"
-
--- glListParameterivSGIX -------------------------------------------------------
-
-glListParameterivSGIX
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLenum -- ^ @pname@ of type [ListParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#ListParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glListParameterivSGIX v1 v2 v3 = liftIO $ dyn331 ptr_glListParameterivSGIX v1 v2 v3
-
-{-# NOINLINE ptr_glListParameterivSGIX #-}
-ptr_glListParameterivSGIX :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glListParameterivSGIX = unsafePerformIO $ getCommand "glListParameterivSGIX"
-
--- glLoadIdentity --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadIdentity.xml OpenGL 2.x>.
-glLoadIdentity
-  :: MonadIO m
-  => m ()
-glLoadIdentity = liftIO $ dyn10 ptr_glLoadIdentity
-
-{-# NOINLINE ptr_glLoadIdentity #-}
-ptr_glLoadIdentity :: FunPtr (IO ())
-ptr_glLoadIdentity = unsafePerformIO $ getCommand "glLoadIdentity"
-
--- glLoadIdentityDeformationMapSGIX --------------------------------------------
-
-glLoadIdentityDeformationMapSGIX
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@ of type [FfdMaskSGIX](Graphics-Rendering-OpenGL-Raw-Groups.html#FfdMaskSGIX).
-  -> m ()
-glLoadIdentityDeformationMapSGIX v1 = liftIO $ dyn69 ptr_glLoadIdentityDeformationMapSGIX v1
-
-{-# NOINLINE ptr_glLoadIdentityDeformationMapSGIX #-}
-ptr_glLoadIdentityDeformationMapSGIX :: FunPtr (GLbitfield -> IO ())
-ptr_glLoadIdentityDeformationMapSGIX = unsafePerformIO $ getCommand "glLoadIdentityDeformationMapSGIX"
-
--- glLoadMatrixd ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadMatrix.xml OpenGL 2.x>.
-glLoadMatrixd
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glLoadMatrixd v1 = liftIO $ dyn39 ptr_glLoadMatrixd v1
-
-{-# NOINLINE ptr_glLoadMatrixd #-}
-ptr_glLoadMatrixd :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glLoadMatrixd = unsafePerformIO $ getCommand "glLoadMatrixd"
-
--- glLoadMatrixf ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadMatrix.xml OpenGL 2.x>.
-glLoadMatrixf
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glLoadMatrixf v1 = liftIO $ dyn41 ptr_glLoadMatrixf v1
-
-{-# NOINLINE ptr_glLoadMatrixf #-}
-ptr_glLoadMatrixf :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glLoadMatrixf = unsafePerformIO $ getCommand "glLoadMatrixf"
-
--- glLoadMatrixx ---------------------------------------------------------------
-
-glLoadMatrixx
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
-  -> m ()
-glLoadMatrixx v1 = liftIO $ dyn106 ptr_glLoadMatrixx v1
-
-{-# NOINLINE ptr_glLoadMatrixx #-}
-ptr_glLoadMatrixx :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glLoadMatrixx = unsafePerformIO $ getCommand "glLoadMatrixx"
-
--- glLoadMatrixxOES ------------------------------------------------------------
-
-glLoadMatrixxOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
-  -> m ()
-glLoadMatrixxOES v1 = liftIO $ dyn106 ptr_glLoadMatrixxOES v1
-
-{-# NOINLINE ptr_glLoadMatrixxOES #-}
-ptr_glLoadMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glLoadMatrixxOES = unsafePerformIO $ getCommand "glLoadMatrixxOES"
-
--- glLoadName ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadName.xml OpenGL 2.x>.
-glLoadName
-  :: MonadIO m
-  => GLuint -- ^ @name@ of type @SelectName@.
-  -> m ()
-glLoadName v1 = liftIO $ dyn2 ptr_glLoadName v1
-
-{-# NOINLINE ptr_glLoadName #-}
-ptr_glLoadName :: FunPtr (GLuint -> IO ())
-ptr_glLoadName = unsafePerformIO $ getCommand "glLoadName"
-
--- glLoadPaletteFromModelViewMatrixOES -----------------------------------------
-
-glLoadPaletteFromModelViewMatrixOES
-  :: MonadIO m
-  => m ()
-glLoadPaletteFromModelViewMatrixOES = liftIO $ dyn10 ptr_glLoadPaletteFromModelViewMatrixOES
-
-{-# NOINLINE ptr_glLoadPaletteFromModelViewMatrixOES #-}
-ptr_glLoadPaletteFromModelViewMatrixOES :: FunPtr (IO ())
-ptr_glLoadPaletteFromModelViewMatrixOES = unsafePerformIO $ getCommand "glLoadPaletteFromModelViewMatrixOES"
-
--- glLoadProgramNV -------------------------------------------------------------
-
-glLoadProgramNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @id@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr GLubyte -- ^ @program@ pointing to @len@ elements of type @GLubyte@.
-  -> m ()
-glLoadProgramNV v1 v2 v3 v4 = liftIO $ dyn485 ptr_glLoadProgramNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glLoadProgramNV #-}
-ptr_glLoadProgramNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-ptr_glLoadProgramNV = unsafePerformIO $ getCommand "glLoadProgramNV"
-
--- glLoadTransposeMatrixd ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadTransposeMatrix.xml OpenGL 2.x>.
-glLoadTransposeMatrixd
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glLoadTransposeMatrixd v1 = liftIO $ dyn39 ptr_glLoadTransposeMatrixd v1
-
-{-# NOINLINE ptr_glLoadTransposeMatrixd #-}
-ptr_glLoadTransposeMatrixd :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glLoadTransposeMatrixd = unsafePerformIO $ getCommand "glLoadTransposeMatrixd"
-
--- glLoadTransposeMatrixdARB ---------------------------------------------------
-
--- | This command is an alias for 'glLoadTransposeMatrixd'.
-glLoadTransposeMatrixdARB
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glLoadTransposeMatrixdARB v1 = liftIO $ dyn39 ptr_glLoadTransposeMatrixdARB v1
-
-{-# NOINLINE ptr_glLoadTransposeMatrixdARB #-}
-ptr_glLoadTransposeMatrixdARB :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glLoadTransposeMatrixdARB = unsafePerformIO $ getCommand "glLoadTransposeMatrixdARB"
-
--- glLoadTransposeMatrixf ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glLoadTransposeMatrix.xml OpenGL 2.x>.
-glLoadTransposeMatrixf
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glLoadTransposeMatrixf v1 = liftIO $ dyn41 ptr_glLoadTransposeMatrixf v1
-
-{-# NOINLINE ptr_glLoadTransposeMatrixf #-}
-ptr_glLoadTransposeMatrixf :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glLoadTransposeMatrixf = unsafePerformIO $ getCommand "glLoadTransposeMatrixf"
-
--- glLoadTransposeMatrixfARB ---------------------------------------------------
-
--- | This command is an alias for 'glLoadTransposeMatrixf'.
-glLoadTransposeMatrixfARB
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glLoadTransposeMatrixfARB v1 = liftIO $ dyn41 ptr_glLoadTransposeMatrixfARB v1
-
-{-# NOINLINE ptr_glLoadTransposeMatrixfARB #-}
-ptr_glLoadTransposeMatrixfARB :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glLoadTransposeMatrixfARB = unsafePerformIO $ getCommand "glLoadTransposeMatrixfARB"
-
--- glLoadTransposeMatrixxOES ---------------------------------------------------
-
-glLoadTransposeMatrixxOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
-  -> m ()
-glLoadTransposeMatrixxOES v1 = liftIO $ dyn106 ptr_glLoadTransposeMatrixxOES v1
-
-{-# NOINLINE ptr_glLoadTransposeMatrixxOES #-}
-ptr_glLoadTransposeMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glLoadTransposeMatrixxOES = unsafePerformIO $ getCommand "glLoadTransposeMatrixxOES"
-
--- glLockArraysEXT -------------------------------------------------------------
-
-glLockArraysEXT
-  :: MonadIO m
-  => GLint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> m ()
-glLockArraysEXT v1 v2 = liftIO $ dyn486 ptr_glLockArraysEXT v1 v2
-
-{-# NOINLINE ptr_glLockArraysEXT #-}
-ptr_glLockArraysEXT :: FunPtr (GLint -> GLsizei -> IO ())
-ptr_glLockArraysEXT = unsafePerformIO $ getCommand "glLockArraysEXT"
-
--- glLogicOp -------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glLogicOp.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glLogicOp.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glLogicOp.xhtml OpenGL 4.x>.
-glLogicOp
-  :: MonadIO m
-  => GLenum -- ^ @opcode@ of type [LogicOp](Graphics-Rendering-OpenGL-Raw-Groups.html#LogicOp).
-  -> m ()
-glLogicOp v1 = liftIO $ dyn4 ptr_glLogicOp v1
-
-{-# NOINLINE ptr_glLogicOp #-}
-ptr_glLogicOp :: FunPtr (GLenum -> IO ())
-ptr_glLogicOp = unsafePerformIO $ getCommand "glLogicOp"
-
--- glMakeBufferNonResidentNV ---------------------------------------------------
-
-glMakeBufferNonResidentNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m ()
-glMakeBufferNonResidentNV v1 = liftIO $ dyn4 ptr_glMakeBufferNonResidentNV v1
-
-{-# NOINLINE ptr_glMakeBufferNonResidentNV #-}
-ptr_glMakeBufferNonResidentNV :: FunPtr (GLenum -> IO ())
-ptr_glMakeBufferNonResidentNV = unsafePerformIO $ getCommand "glMakeBufferNonResidentNV"
-
--- glMakeBufferResidentNV ------------------------------------------------------
-
-glMakeBufferResidentNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @access@.
-  -> m ()
-glMakeBufferResidentNV v1 v2 = liftIO $ dyn51 ptr_glMakeBufferResidentNV v1 v2
-
-{-# NOINLINE ptr_glMakeBufferResidentNV #-}
-ptr_glMakeBufferResidentNV :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glMakeBufferResidentNV = unsafePerformIO $ getCommand "glMakeBufferResidentNV"
-
--- glMakeImageHandleNonResidentARB ---------------------------------------------
-
-glMakeImageHandleNonResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeImageHandleNonResidentARB v1 = liftIO $ dyn487 ptr_glMakeImageHandleNonResidentARB v1
-
-{-# NOINLINE ptr_glMakeImageHandleNonResidentARB #-}
-ptr_glMakeImageHandleNonResidentARB :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeImageHandleNonResidentARB = unsafePerformIO $ getCommand "glMakeImageHandleNonResidentARB"
-
--- glMakeImageHandleNonResidentNV ----------------------------------------------
-
-glMakeImageHandleNonResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeImageHandleNonResidentNV v1 = liftIO $ dyn487 ptr_glMakeImageHandleNonResidentNV v1
-
-{-# NOINLINE ptr_glMakeImageHandleNonResidentNV #-}
-ptr_glMakeImageHandleNonResidentNV :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeImageHandleNonResidentNV = unsafePerformIO $ getCommand "glMakeImageHandleNonResidentNV"
-
--- glMakeImageHandleResidentARB ------------------------------------------------
-
-glMakeImageHandleResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> GLenum -- ^ @access@.
-  -> m ()
-glMakeImageHandleResidentARB v1 v2 = liftIO $ dyn488 ptr_glMakeImageHandleResidentARB v1 v2
-
-{-# NOINLINE ptr_glMakeImageHandleResidentARB #-}
-ptr_glMakeImageHandleResidentARB :: FunPtr (GLuint64 -> GLenum -> IO ())
-ptr_glMakeImageHandleResidentARB = unsafePerformIO $ getCommand "glMakeImageHandleResidentARB"
-
--- glMakeImageHandleResidentNV -------------------------------------------------
-
-glMakeImageHandleResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> GLenum -- ^ @access@.
-  -> m ()
-glMakeImageHandleResidentNV v1 v2 = liftIO $ dyn488 ptr_glMakeImageHandleResidentNV v1 v2
-
-{-# NOINLINE ptr_glMakeImageHandleResidentNV #-}
-ptr_glMakeImageHandleResidentNV :: FunPtr (GLuint64 -> GLenum -> IO ())
-ptr_glMakeImageHandleResidentNV = unsafePerformIO $ getCommand "glMakeImageHandleResidentNV"
-
--- glMakeNamedBufferNonResidentNV ----------------------------------------------
-
-glMakeNamedBufferNonResidentNV
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m ()
-glMakeNamedBufferNonResidentNV v1 = liftIO $ dyn2 ptr_glMakeNamedBufferNonResidentNV v1
-
-{-# NOINLINE ptr_glMakeNamedBufferNonResidentNV #-}
-ptr_glMakeNamedBufferNonResidentNV :: FunPtr (GLuint -> IO ())
-ptr_glMakeNamedBufferNonResidentNV = unsafePerformIO $ getCommand "glMakeNamedBufferNonResidentNV"
-
--- glMakeNamedBufferResidentNV -------------------------------------------------
-
-glMakeNamedBufferResidentNV
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @access@.
-  -> m ()
-glMakeNamedBufferResidentNV v1 v2 = liftIO $ dyn15 ptr_glMakeNamedBufferResidentNV v1 v2
-
-{-# NOINLINE ptr_glMakeNamedBufferResidentNV #-}
-ptr_glMakeNamedBufferResidentNV :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glMakeNamedBufferResidentNV = unsafePerformIO $ getCommand "glMakeNamedBufferResidentNV"
-
--- glMakeTextureHandleNonResidentARB -------------------------------------------
-
-glMakeTextureHandleNonResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeTextureHandleNonResidentARB v1 = liftIO $ dyn487 ptr_glMakeTextureHandleNonResidentARB v1
-
-{-# NOINLINE ptr_glMakeTextureHandleNonResidentARB #-}
-ptr_glMakeTextureHandleNonResidentARB :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeTextureHandleNonResidentARB = unsafePerformIO $ getCommand "glMakeTextureHandleNonResidentARB"
-
--- glMakeTextureHandleNonResidentNV --------------------------------------------
-
-glMakeTextureHandleNonResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeTextureHandleNonResidentNV v1 = liftIO $ dyn487 ptr_glMakeTextureHandleNonResidentNV v1
-
-{-# NOINLINE ptr_glMakeTextureHandleNonResidentNV #-}
-ptr_glMakeTextureHandleNonResidentNV :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeTextureHandleNonResidentNV = unsafePerformIO $ getCommand "glMakeTextureHandleNonResidentNV"
-
--- glMakeTextureHandleResidentARB ----------------------------------------------
-
-glMakeTextureHandleResidentARB
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeTextureHandleResidentARB v1 = liftIO $ dyn487 ptr_glMakeTextureHandleResidentARB v1
-
-{-# NOINLINE ptr_glMakeTextureHandleResidentARB #-}
-ptr_glMakeTextureHandleResidentARB :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeTextureHandleResidentARB = unsafePerformIO $ getCommand "glMakeTextureHandleResidentARB"
-
--- glMakeTextureHandleResidentNV -----------------------------------------------
-
-glMakeTextureHandleResidentNV
-  :: MonadIO m
-  => GLuint64 -- ^ @handle@.
-  -> m ()
-glMakeTextureHandleResidentNV v1 = liftIO $ dyn487 ptr_glMakeTextureHandleResidentNV v1
-
-{-# NOINLINE ptr_glMakeTextureHandleResidentNV #-}
-ptr_glMakeTextureHandleResidentNV :: FunPtr (GLuint64 -> IO ())
-ptr_glMakeTextureHandleResidentNV = unsafePerformIO $ getCommand "glMakeTextureHandleResidentNV"
-
--- glMap1d ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
-glMap1d
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#MapTarget).
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> GLint -- ^ @stride@.
-  -> GLint -- ^ @order@ of type @CheckedInt32@.
-  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordD@.
-  -> m ()
-glMap1d v1 v2 v3 v4 v5 v6 = liftIO $ dyn489 ptr_glMap1d v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMap1d #-}
-ptr_glMap1d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-ptr_glMap1d = unsafePerformIO $ getCommand "glMap1d"
-
--- glMap1f ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap1.xml OpenGL 2.x>.
-glMap1f
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#MapTarget).
-  -> GLfloat -- ^ @u1@ of type @CoordF@.
-  -> GLfloat -- ^ @u2@ of type @CoordF@.
-  -> GLint -- ^ @stride@.
-  -> GLint -- ^ @order@ of type @CheckedInt32@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,stride,order)@ elements of type @CoordF@.
-  -> m ()
-glMap1f v1 v2 v3 v4 v5 v6 = liftIO $ dyn490 ptr_glMap1f v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMap1f #-}
-ptr_glMap1f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-ptr_glMap1f = unsafePerformIO $ getCommand "glMap1f"
-
--- glMap1xOES ------------------------------------------------------------------
-
-glMap1xOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLfixed -- ^ @u1@.
-  -> GLfixed -- ^ @u2@.
-  -> GLint -- ^ @stride@.
-  -> GLint -- ^ @order@.
-  -> GLfixed -- ^ @points@.
-  -> m ()
-glMap1xOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn491 ptr_glMap1xOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMap1xOES #-}
-ptr_glMap1xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
-ptr_glMap1xOES = unsafePerformIO $ getCommand "glMap1xOES"
-
--- glMap2d ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap2.xml OpenGL 2.x>.
-glMap2d
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#MapTarget).
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> GLint -- ^ @ustride@.
-  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
-  -> GLdouble -- ^ @v1@ of type @CoordD@.
-  -> GLdouble -- ^ @v2@ of type @CoordD@.
-  -> GLint -- ^ @vstride@.
-  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
-  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder)@ elements of type @CoordD@.
-  -> m ()
-glMap2d v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn492 ptr_glMap2d v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glMap2d #-}
-ptr_glMap2d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-ptr_glMap2d = unsafePerformIO $ getCommand "glMap2d"
-
--- glMap2f ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMap2.xml OpenGL 2.x>.
-glMap2f
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MapTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#MapTarget).
-  -> GLfloat -- ^ @u1@ of type @CoordF@.
-  -> GLfloat -- ^ @u2@ of type @CoordF@.
-  -> GLint -- ^ @ustride@.
-  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
-  -> GLfloat -- ^ @v1@ of type @CoordF@.
-  -> GLfloat -- ^ @v2@ of type @CoordF@.
-  -> GLint -- ^ @vstride@.
-  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(target,ustride,uorder,vstride,vorder)@ elements of type @CoordF@.
-  -> m ()
-glMap2f v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn493 ptr_glMap2f v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glMap2f #-}
-ptr_glMap2f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-ptr_glMap2f = unsafePerformIO $ getCommand "glMap2f"
-
--- glMap2xOES ------------------------------------------------------------------
-
-glMap2xOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLfixed -- ^ @u1@.
-  -> GLfixed -- ^ @u2@.
-  -> GLint -- ^ @ustride@.
-  -> GLint -- ^ @uorder@.
-  -> GLfixed -- ^ @v1@.
-  -> GLfixed -- ^ @v2@.
-  -> GLint -- ^ @vstride@.
-  -> GLint -- ^ @vorder@.
-  -> GLfixed -- ^ @points@.
-  -> m ()
-glMap2xOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn494 ptr_glMap2xOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glMap2xOES #-}
-ptr_glMap2xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> GLfixed -> GLint -> GLint -> GLfixed -> IO ())
-ptr_glMap2xOES = unsafePerformIO $ getCommand "glMap2xOES"
-
--- glMapBuffer -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml OpenGL 4.x>.
-glMapBuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLenum -- ^ @access@ of type @BufferAccessARB@.
-  -> m (Ptr a)
-glMapBuffer v1 v2 = liftIO $ dyn495 ptr_glMapBuffer v1 v2
-
-{-# NOINLINE ptr_glMapBuffer #-}
-ptr_glMapBuffer :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
-ptr_glMapBuffer = unsafePerformIO $ getCommand "glMapBuffer"
-
--- glMapBufferARB --------------------------------------------------------------
-
--- | This command is an alias for 'glMapBuffer'.
-glMapBufferARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLenum -- ^ @access@ of type @BufferAccessARB@.
-  -> m (Ptr a)
-glMapBufferARB v1 v2 = liftIO $ dyn495 ptr_glMapBufferARB v1 v2
-
-{-# NOINLINE ptr_glMapBufferARB #-}
-ptr_glMapBufferARB :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
-ptr_glMapBufferARB = unsafePerformIO $ getCommand "glMapBufferARB"
-
--- glMapBufferOES --------------------------------------------------------------
-
--- | This command is an alias for 'glMapBuffer'.
-glMapBufferOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @access@.
-  -> m (Ptr a)
-glMapBufferOES v1 v2 = liftIO $ dyn495 ptr_glMapBufferOES v1 v2
-
-{-# NOINLINE ptr_glMapBufferOES #-}
-ptr_glMapBufferOES :: FunPtr (GLenum -> GLenum -> IO (Ptr a))
-ptr_glMapBufferOES = unsafePerformIO $ getCommand "glMapBufferOES"
-
--- glMapBufferRange ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBufferRange.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMapBufferRange.xhtml OpenGL 4.x>.
-glMapBufferRange
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> GLbitfield -- ^ @access@ of type @BufferAccessMask@.
-  -> m (Ptr a)
-glMapBufferRange v1 v2 v3 v4 = liftIO $ dyn496 ptr_glMapBufferRange v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMapBufferRange #-}
-ptr_glMapBufferRange :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-ptr_glMapBufferRange = unsafePerformIO $ getCommand "glMapBufferRange"
-
--- glMapBufferRangeEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glMapBufferRange'.
-glMapBufferRangeEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @length@.
-  -> GLbitfield -- ^ @access@.
-  -> m (Ptr a)
-glMapBufferRangeEXT v1 v2 v3 v4 = liftIO $ dyn496 ptr_glMapBufferRangeEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMapBufferRangeEXT #-}
-ptr_glMapBufferRangeEXT :: FunPtr (GLenum -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-ptr_glMapBufferRangeEXT = unsafePerformIO $ getCommand "glMapBufferRangeEXT"
-
--- glMapControlPointsNV --------------------------------------------------------
-
-glMapControlPointsNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@ of type @MapTypeNV@.
-  -> GLsizei -- ^ @ustride@.
-  -> GLsizei -- ^ @vstride@.
-  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
-  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
-  -> GLboolean -- ^ @packed@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr a -- ^ @points@ pointing to @COMPSIZE(target,uorder,vorder)@ elements of type @a@.
-  -> m ()
-glMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn497 ptr_glMapControlPointsNV v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glMapControlPointsNV #-}
-ptr_glMapControlPointsNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLint -> GLboolean -> Ptr a -> IO ())
-ptr_glMapControlPointsNV = unsafePerformIO $ getCommand "glMapControlPointsNV"
-
--- glMapGrid1d -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
-glMapGrid1d
-  :: MonadIO m
-  => GLint -- ^ @un@.
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> m ()
-glMapGrid1d v1 v2 v3 = liftIO $ dyn498 ptr_glMapGrid1d v1 v2 v3
-
-{-# NOINLINE ptr_glMapGrid1d #-}
-ptr_glMapGrid1d :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
-ptr_glMapGrid1d = unsafePerformIO $ getCommand "glMapGrid1d"
-
--- glMapGrid1f -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
-glMapGrid1f
-  :: MonadIO m
-  => GLint -- ^ @un@.
-  -> GLfloat -- ^ @u1@ of type @CoordF@.
-  -> GLfloat -- ^ @u2@ of type @CoordF@.
-  -> m ()
-glMapGrid1f v1 v2 v3 = liftIO $ dyn499 ptr_glMapGrid1f v1 v2 v3
-
-{-# NOINLINE ptr_glMapGrid1f #-}
-ptr_glMapGrid1f :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
-ptr_glMapGrid1f = unsafePerformIO $ getCommand "glMapGrid1f"
-
--- glMapGrid1xOES --------------------------------------------------------------
-
-glMapGrid1xOES
-  :: MonadIO m
-  => GLint -- ^ @n@.
-  -> GLfixed -- ^ @u1@.
-  -> GLfixed -- ^ @u2@.
-  -> m ()
-glMapGrid1xOES v1 v2 v3 = liftIO $ dyn500 ptr_glMapGrid1xOES v1 v2 v3
-
-{-# NOINLINE ptr_glMapGrid1xOES #-}
-ptr_glMapGrid1xOES :: FunPtr (GLint -> GLfixed -> GLfixed -> IO ())
-ptr_glMapGrid1xOES = unsafePerformIO $ getCommand "glMapGrid1xOES"
-
--- glMapGrid2d -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
-glMapGrid2d
-  :: MonadIO m
-  => GLint -- ^ @un@.
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> GLint -- ^ @vn@.
-  -> GLdouble -- ^ @v1@ of type @CoordD@.
-  -> GLdouble -- ^ @v2@ of type @CoordD@.
-  -> m ()
-glMapGrid2d v1 v2 v3 v4 v5 v6 = liftIO $ dyn501 ptr_glMapGrid2d v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMapGrid2d #-}
-ptr_glMapGrid2d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLint -> GLdouble -> GLdouble -> IO ())
-ptr_glMapGrid2d = unsafePerformIO $ getCommand "glMapGrid2d"
-
--- glMapGrid2f -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapGrid.xml OpenGL 2.x>.
-glMapGrid2f
-  :: MonadIO m
-  => GLint -- ^ @un@.
-  -> GLfloat -- ^ @u1@ of type @CoordF@.
-  -> GLfloat -- ^ @u2@ of type @CoordF@.
-  -> GLint -- ^ @vn@.
-  -> GLfloat -- ^ @v1@ of type @CoordF@.
-  -> GLfloat -- ^ @v2@ of type @CoordF@.
-  -> m ()
-glMapGrid2f v1 v2 v3 v4 v5 v6 = liftIO $ dyn502 ptr_glMapGrid2f v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMapGrid2f #-}
-ptr_glMapGrid2f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLint -> GLfloat -> GLfloat -> IO ())
-ptr_glMapGrid2f = unsafePerformIO $ getCommand "glMapGrid2f"
-
--- glMapGrid2xOES --------------------------------------------------------------
-
-glMapGrid2xOES
-  :: MonadIO m
-  => GLint -- ^ @n@.
-  -> GLfixed -- ^ @u1@.
-  -> GLfixed -- ^ @u2@.
-  -> GLfixed -- ^ @v1@.
-  -> GLfixed -- ^ @v2@.
-  -> m ()
-glMapGrid2xOES v1 v2 v3 v4 v5 = liftIO $ dyn503 ptr_glMapGrid2xOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMapGrid2xOES #-}
-ptr_glMapGrid2xOES :: FunPtr (GLint -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glMapGrid2xOES = unsafePerformIO $ getCommand "glMapGrid2xOES"
-
--- glMapNamedBuffer ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMapBuffer.xhtml OpenGL 4.x>.
-glMapNamedBuffer
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @access@.
-  -> m (Ptr a)
-glMapNamedBuffer v1 v2 = liftIO $ dyn504 ptr_glMapNamedBuffer v1 v2
-
-{-# NOINLINE ptr_glMapNamedBuffer #-}
-ptr_glMapNamedBuffer :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
-ptr_glMapNamedBuffer = unsafePerformIO $ getCommand "glMapNamedBuffer"
-
--- glMapNamedBufferEXT ---------------------------------------------------------
-
-glMapNamedBufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @access@ of type @VertexBufferObjectAccess@.
-  -> m (Ptr a)
-glMapNamedBufferEXT v1 v2 = liftIO $ dyn504 ptr_glMapNamedBufferEXT v1 v2
-
-{-# NOINLINE ptr_glMapNamedBufferEXT #-}
-ptr_glMapNamedBufferEXT :: FunPtr (GLuint -> GLenum -> IO (Ptr a))
-ptr_glMapNamedBufferEXT = unsafePerformIO $ getCommand "glMapNamedBufferEXT"
-
--- glMapNamedBufferRange -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMapBufferRange.xhtml OpenGL 4.x>.
-glMapNamedBufferRange
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @length@ of type @BufferSize@.
-  -> GLbitfield -- ^ @access@.
-  -> m (Ptr a)
-glMapNamedBufferRange v1 v2 v3 v4 = liftIO $ dyn505 ptr_glMapNamedBufferRange v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMapNamedBufferRange #-}
-ptr_glMapNamedBufferRange :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-ptr_glMapNamedBufferRange = unsafePerformIO $ getCommand "glMapNamedBufferRange"
-
--- glMapNamedBufferRangeEXT ----------------------------------------------------
-
-glMapNamedBufferRangeEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @length@.
-  -> GLbitfield -- ^ @access@ of type @BufferAccessMask@.
-  -> m (Ptr a)
-glMapNamedBufferRangeEXT v1 v2 v3 v4 = liftIO $ dyn505 ptr_glMapNamedBufferRangeEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMapNamedBufferRangeEXT #-}
-ptr_glMapNamedBufferRangeEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLbitfield -> IO (Ptr a))
-ptr_glMapNamedBufferRangeEXT = unsafePerformIO $ getCommand "glMapNamedBufferRangeEXT"
-
--- glMapObjectBufferATI --------------------------------------------------------
-
-glMapObjectBufferATI
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m (Ptr a)
-glMapObjectBufferATI v1 = liftIO $ dyn506 ptr_glMapObjectBufferATI v1
-
-{-# NOINLINE ptr_glMapObjectBufferATI #-}
-ptr_glMapObjectBufferATI :: FunPtr (GLuint -> IO (Ptr a))
-ptr_glMapObjectBufferATI = unsafePerformIO $ getCommand "glMapObjectBufferATI"
-
--- glMapParameterfvNV ----------------------------------------------------------
-
-glMapParameterfvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glMapParameterfvNV v1 v2 v3 = liftIO $ dyn131 ptr_glMapParameterfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glMapParameterfvNV #-}
-ptr_glMapParameterfvNV :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glMapParameterfvNV = unsafePerformIO $ getCommand "glMapParameterfvNV"
-
--- glMapParameterivNV ----------------------------------------------------------
-
-glMapParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @EvalTargetNV@.
-  -> GLenum -- ^ @pname@ of type @MapParameterNV@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(target,pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glMapParameterivNV v1 v2 v3 = liftIO $ dyn132 ptr_glMapParameterivNV v1 v2 v3
-
-{-# NOINLINE ptr_glMapParameterivNV #-}
-ptr_glMapParameterivNV :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glMapParameterivNV = unsafePerformIO $ getCommand "glMapParameterivNV"
-
--- glMapTexture2DINTEL ---------------------------------------------------------
-
-glMapTexture2DINTEL
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLbitfield -- ^ @access@.
-  -> Ptr GLint -- ^ @stride@ pointing to @1@ element of type @GLint@.
-  -> Ptr GLenum -- ^ @layout@ pointing to @1@ element of type @GLenum@.
-  -> m (Ptr a)
-glMapTexture2DINTEL v1 v2 v3 v4 v5 = liftIO $ dyn507 ptr_glMapTexture2DINTEL v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMapTexture2DINTEL #-}
-ptr_glMapTexture2DINTEL :: FunPtr (GLuint -> GLint -> GLbitfield -> Ptr GLint -> Ptr GLenum -> IO (Ptr a))
-ptr_glMapTexture2DINTEL = unsafePerformIO $ getCommand "glMapTexture2DINTEL"
-
--- glMapVertexAttrib1dAPPLE ----------------------------------------------------
-
-glMapVertexAttrib1dAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @size@.
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> GLint -- ^ @stride@.
-  -> GLint -- ^ @order@ of type @CheckedInt32@.
-  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(size,stride,order)@ elements of type @CoordD@.
-  -> m ()
-glMapVertexAttrib1dAPPLE v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn508 ptr_glMapVertexAttrib1dAPPLE v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glMapVertexAttrib1dAPPLE #-}
-ptr_glMapVertexAttrib1dAPPLE :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-ptr_glMapVertexAttrib1dAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib1dAPPLE"
-
--- glMapVertexAttrib1fAPPLE ----------------------------------------------------
-
-glMapVertexAttrib1fAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @size@.
-  -> GLfloat -- ^ @u1@ of type @CoordF@.
-  -> GLfloat -- ^ @u2@ of type @CoordF@.
-  -> GLint -- ^ @stride@.
-  -> GLint -- ^ @order@ of type @CheckedInt32@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(size,stride,order)@ elements of type @CoordF@.
-  -> m ()
-glMapVertexAttrib1fAPPLE v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn509 ptr_glMapVertexAttrib1fAPPLE v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glMapVertexAttrib1fAPPLE #-}
-ptr_glMapVertexAttrib1fAPPLE :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-ptr_glMapVertexAttrib1fAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib1fAPPLE"
-
--- glMapVertexAttrib2dAPPLE ----------------------------------------------------
-
-glMapVertexAttrib2dAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @size@.
-  -> GLdouble -- ^ @u1@ of type @CoordD@.
-  -> GLdouble -- ^ @u2@ of type @CoordD@.
-  -> GLint -- ^ @ustride@.
-  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
-  -> GLdouble -- ^ @v1@ of type @CoordD@.
-  -> GLdouble -- ^ @v2@ of type @CoordD@.
-  -> GLint -- ^ @vstride@.
-  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
-  -> Ptr GLdouble -- ^ @points@ pointing to @COMPSIZE(size,ustride,uorder,vstride,vorder)@ elements of type @CoordD@.
-  -> m ()
-glMapVertexAttrib2dAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn510 ptr_glMapVertexAttrib2dAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glMapVertexAttrib2dAPPLE #-}
-ptr_glMapVertexAttrib2dAPPLE :: FunPtr (GLuint -> GLuint -> GLdouble -> GLdouble -> GLint -> GLint -> GLdouble -> GLdouble -> GLint -> GLint -> Ptr GLdouble -> IO ())
-ptr_glMapVertexAttrib2dAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib2dAPPLE"
-
--- glMapVertexAttrib2fAPPLE ----------------------------------------------------
-
-glMapVertexAttrib2fAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @size@.
-  -> GLfloat -- ^ @u1@ of type @CoordF@.
-  -> GLfloat -- ^ @u2@ of type @CoordF@.
-  -> GLint -- ^ @ustride@.
-  -> GLint -- ^ @uorder@ of type @CheckedInt32@.
-  -> GLfloat -- ^ @v1@ of type @CoordF@.
-  -> GLfloat -- ^ @v2@ of type @CoordF@.
-  -> GLint -- ^ @vstride@.
-  -> GLint -- ^ @vorder@ of type @CheckedInt32@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @COMPSIZE(size,ustride,uorder,vstride,vorder)@ elements of type @CoordF@.
-  -> m ()
-glMapVertexAttrib2fAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn511 ptr_glMapVertexAttrib2fAPPLE v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glMapVertexAttrib2fAPPLE #-}
-ptr_glMapVertexAttrib2fAPPLE :: FunPtr (GLuint -> GLuint -> GLfloat -> GLfloat -> GLint -> GLint -> GLfloat -> GLfloat -> GLint -> GLint -> Ptr GLfloat -> IO ())
-ptr_glMapVertexAttrib2fAPPLE = unsafePerformIO $ getCommand "glMapVertexAttrib2fAPPLE"
-
--- glMaterialf -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
-glMaterialf
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glMaterialf v1 v2 v3 = liftIO $ dyn160 ptr_glMaterialf v1 v2 v3
-
-{-# NOINLINE ptr_glMaterialf #-}
-ptr_glMaterialf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glMaterialf = unsafePerformIO $ getCommand "glMaterialf"
-
--- glMaterialfv ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
-glMaterialfv
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glMaterialfv v1 v2 v3 = liftIO $ dyn131 ptr_glMaterialfv v1 v2 v3
-
-{-# NOINLINE ptr_glMaterialfv #-}
-ptr_glMaterialfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glMaterialfv = unsafePerformIO $ getCommand "glMaterialfv"
-
--- glMateriali -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
-glMateriali
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glMateriali v1 v2 v3 = liftIO $ dyn62 ptr_glMateriali v1 v2 v3
-
-{-# NOINLINE ptr_glMateriali #-}
-ptr_glMateriali :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glMateriali = unsafePerformIO $ getCommand "glMateriali"
-
--- glMaterialiv ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMaterial.xml OpenGL 2.x>.
-glMaterialiv
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @pname@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glMaterialiv v1 v2 v3 = liftIO $ dyn132 ptr_glMaterialiv v1 v2 v3
-
-{-# NOINLINE ptr_glMaterialiv #-}
-ptr_glMaterialiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glMaterialiv = unsafePerformIO $ getCommand "glMaterialiv"
-
--- glMaterialx -----------------------------------------------------------------
-
-glMaterialx
-  :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glMaterialx v1 v2 v3 = liftIO $ dyn161 ptr_glMaterialx v1 v2 v3
-
-{-# NOINLINE ptr_glMaterialx #-}
-ptr_glMaterialx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glMaterialx = unsafePerformIO $ getCommand "glMaterialx"
-
--- glMaterialxOES --------------------------------------------------------------
-
-glMaterialxOES
-  :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glMaterialxOES v1 v2 v3 = liftIO $ dyn161 ptr_glMaterialxOES v1 v2 v3
-
-{-# NOINLINE ptr_glMaterialxOES #-}
-ptr_glMaterialxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glMaterialxOES = unsafePerformIO $ getCommand "glMaterialxOES"
-
--- glMaterialxv ----------------------------------------------------------------
-
-glMaterialxv
-  :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glMaterialxv v1 v2 v3 = liftIO $ dyn162 ptr_glMaterialxv v1 v2 v3
-
-{-# NOINLINE ptr_glMaterialxv #-}
-ptr_glMaterialxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glMaterialxv = unsafePerformIO $ getCommand "glMaterialxv"
-
--- glMaterialxvOES -------------------------------------------------------------
-
-glMaterialxvOES
-  :: MonadIO m
-  => GLenum -- ^ @face@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glMaterialxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glMaterialxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glMaterialxvOES #-}
-ptr_glMaterialxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glMaterialxvOES = unsafePerformIO $ getCommand "glMaterialxvOES"
-
--- glMatrixFrustumEXT ----------------------------------------------------------
-
-glMatrixFrustumEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLdouble -- ^ @left@.
-  -> GLdouble -- ^ @right@.
-  -> GLdouble -- ^ @bottom@.
-  -> GLdouble -- ^ @top@.
-  -> GLdouble -- ^ @zNear@.
-  -> GLdouble -- ^ @zFar@.
-  -> m ()
-glMatrixFrustumEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn512 ptr_glMatrixFrustumEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glMatrixFrustumEXT #-}
-ptr_glMatrixFrustumEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMatrixFrustumEXT = unsafePerformIO $ getCommand "glMatrixFrustumEXT"
-
--- glMatrixIndexPointerARB -----------------------------------------------------
-
-glMatrixIndexPointerARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @MatrixIndexPointerTypeARB@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glMatrixIndexPointerARB v1 v2 v3 v4 = liftIO $ dyn125 ptr_glMatrixIndexPointerARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMatrixIndexPointerARB #-}
-ptr_glMatrixIndexPointerARB :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glMatrixIndexPointerARB = unsafePerformIO $ getCommand "glMatrixIndexPointerARB"
-
--- glMatrixIndexPointerOES -----------------------------------------------------
-
-glMatrixIndexPointerOES
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glMatrixIndexPointerOES v1 v2 v3 v4 = liftIO $ dyn125 ptr_glMatrixIndexPointerOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMatrixIndexPointerOES #-}
-ptr_glMatrixIndexPointerOES :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glMatrixIndexPointerOES = unsafePerformIO $ getCommand "glMatrixIndexPointerOES"
-
--- glMatrixIndexubvARB ---------------------------------------------------------
-
-glMatrixIndexubvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLubyte -- ^ @indices@ pointing to @size@ elements of type @GLubyte@.
-  -> m ()
-glMatrixIndexubvARB v1 v2 = liftIO $ dyn513 ptr_glMatrixIndexubvARB v1 v2
-
-{-# NOINLINE ptr_glMatrixIndexubvARB #-}
-ptr_glMatrixIndexubvARB :: FunPtr (GLint -> Ptr GLubyte -> IO ())
-ptr_glMatrixIndexubvARB = unsafePerformIO $ getCommand "glMatrixIndexubvARB"
-
--- glMatrixIndexuivARB ---------------------------------------------------------
-
-glMatrixIndexuivARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLuint -- ^ @indices@ pointing to @size@ elements of type @GLuint@.
-  -> m ()
-glMatrixIndexuivARB v1 v2 = liftIO $ dyn514 ptr_glMatrixIndexuivARB v1 v2
-
-{-# NOINLINE ptr_glMatrixIndexuivARB #-}
-ptr_glMatrixIndexuivARB :: FunPtr (GLint -> Ptr GLuint -> IO ())
-ptr_glMatrixIndexuivARB = unsafePerformIO $ getCommand "glMatrixIndexuivARB"
-
--- glMatrixIndexusvARB ---------------------------------------------------------
-
-glMatrixIndexusvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLushort -- ^ @indices@ pointing to @size@ elements of type @GLushort@.
-  -> m ()
-glMatrixIndexusvARB v1 v2 = liftIO $ dyn515 ptr_glMatrixIndexusvARB v1 v2
-
-{-# NOINLINE ptr_glMatrixIndexusvARB #-}
-ptr_glMatrixIndexusvARB :: FunPtr (GLint -> Ptr GLushort -> IO ())
-ptr_glMatrixIndexusvARB = unsafePerformIO $ getCommand "glMatrixIndexusvARB"
-
--- glMatrixLoad3x2fNV ----------------------------------------------------------
-
-glMatrixLoad3x2fNV
-  :: MonadIO m
-  => GLenum -- ^ @matrixMode@.
-  -> Ptr GLfloat -- ^ @m@.
-  -> m ()
-glMatrixLoad3x2fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixLoad3x2fNV v1 v2
-
-{-# NOINLINE ptr_glMatrixLoad3x2fNV #-}
-ptr_glMatrixLoad3x2fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixLoad3x2fNV = unsafePerformIO $ getCommand "glMatrixLoad3x2fNV"
-
--- glMatrixLoad3x3fNV ----------------------------------------------------------
-
-glMatrixLoad3x3fNV
-  :: MonadIO m
-  => GLenum -- ^ @matrixMode@.
-  -> Ptr GLfloat -- ^ @m@.
-  -> m ()
-glMatrixLoad3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixLoad3x3fNV v1 v2
-
-{-# NOINLINE ptr_glMatrixLoad3x3fNV #-}
-ptr_glMatrixLoad3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixLoad3x3fNV = unsafePerformIO $ getCommand "glMatrixLoad3x3fNV"
-
--- glMatrixLoadIdentityEXT -----------------------------------------------------
-
-glMatrixLoadIdentityEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> m ()
-glMatrixLoadIdentityEXT v1 = liftIO $ dyn4 ptr_glMatrixLoadIdentityEXT v1
-
-{-# NOINLINE ptr_glMatrixLoadIdentityEXT #-}
-ptr_glMatrixLoadIdentityEXT :: FunPtr (GLenum -> IO ())
-ptr_glMatrixLoadIdentityEXT = unsafePerformIO $ getCommand "glMatrixLoadIdentityEXT"
-
--- glMatrixLoadTranspose3x3fNV -------------------------------------------------
-
-glMatrixLoadTranspose3x3fNV
-  :: MonadIO m
-  => GLenum -- ^ @matrixMode@.
-  -> Ptr GLfloat -- ^ @m@.
-  -> m ()
-glMatrixLoadTranspose3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixLoadTranspose3x3fNV v1 v2
-
-{-# NOINLINE ptr_glMatrixLoadTranspose3x3fNV #-}
-ptr_glMatrixLoadTranspose3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixLoadTranspose3x3fNV = unsafePerformIO $ getCommand "glMatrixLoadTranspose3x3fNV"
-
--- glMatrixLoadTransposedEXT ---------------------------------------------------
-
-glMatrixLoadTransposedEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glMatrixLoadTransposedEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixLoadTransposedEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixLoadTransposedEXT #-}
-ptr_glMatrixLoadTransposedEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMatrixLoadTransposedEXT = unsafePerformIO $ getCommand "glMatrixLoadTransposedEXT"
-
--- glMatrixLoadTransposefEXT ---------------------------------------------------
-
-glMatrixLoadTransposefEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glMatrixLoadTransposefEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixLoadTransposefEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixLoadTransposefEXT #-}
-ptr_glMatrixLoadTransposefEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixLoadTransposefEXT = unsafePerformIO $ getCommand "glMatrixLoadTransposefEXT"
-
--- glMatrixLoaddEXT ------------------------------------------------------------
-
-glMatrixLoaddEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glMatrixLoaddEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixLoaddEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixLoaddEXT #-}
-ptr_glMatrixLoaddEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMatrixLoaddEXT = unsafePerformIO $ getCommand "glMatrixLoaddEXT"
-
--- glMatrixLoadfEXT ------------------------------------------------------------
-
-glMatrixLoadfEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glMatrixLoadfEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixLoadfEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixLoadfEXT #-}
-ptr_glMatrixLoadfEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixLoadfEXT = unsafePerformIO $ getCommand "glMatrixLoadfEXT"
-
--- glMatrixMode ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMatrixMode.xml OpenGL 2.x>.
-glMatrixMode
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> m ()
-glMatrixMode v1 = liftIO $ dyn4 ptr_glMatrixMode v1
-
-{-# NOINLINE ptr_glMatrixMode #-}
-ptr_glMatrixMode :: FunPtr (GLenum -> IO ())
-ptr_glMatrixMode = unsafePerformIO $ getCommand "glMatrixMode"
-
--- glMatrixMult3x2fNV ----------------------------------------------------------
-
-glMatrixMult3x2fNV
-  :: MonadIO m
-  => GLenum -- ^ @matrixMode@.
-  -> Ptr GLfloat -- ^ @m@.
-  -> m ()
-glMatrixMult3x2fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixMult3x2fNV v1 v2
-
-{-# NOINLINE ptr_glMatrixMult3x2fNV #-}
-ptr_glMatrixMult3x2fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixMult3x2fNV = unsafePerformIO $ getCommand "glMatrixMult3x2fNV"
-
--- glMatrixMult3x3fNV ----------------------------------------------------------
-
-glMatrixMult3x3fNV
-  :: MonadIO m
-  => GLenum -- ^ @matrixMode@.
-  -> Ptr GLfloat -- ^ @m@.
-  -> m ()
-glMatrixMult3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixMult3x3fNV v1 v2
-
-{-# NOINLINE ptr_glMatrixMult3x3fNV #-}
-ptr_glMatrixMult3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixMult3x3fNV = unsafePerformIO $ getCommand "glMatrixMult3x3fNV"
-
--- glMatrixMultTranspose3x3fNV -------------------------------------------------
-
-glMatrixMultTranspose3x3fNV
-  :: MonadIO m
-  => GLenum -- ^ @matrixMode@.
-  -> Ptr GLfloat -- ^ @m@.
-  -> m ()
-glMatrixMultTranspose3x3fNV v1 v2 = liftIO $ dyn93 ptr_glMatrixMultTranspose3x3fNV v1 v2
-
-{-# NOINLINE ptr_glMatrixMultTranspose3x3fNV #-}
-ptr_glMatrixMultTranspose3x3fNV :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixMultTranspose3x3fNV = unsafePerformIO $ getCommand "glMatrixMultTranspose3x3fNV"
-
--- glMatrixMultTransposedEXT ---------------------------------------------------
-
-glMatrixMultTransposedEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glMatrixMultTransposedEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixMultTransposedEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixMultTransposedEXT #-}
-ptr_glMatrixMultTransposedEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMatrixMultTransposedEXT = unsafePerformIO $ getCommand "glMatrixMultTransposedEXT"
-
--- glMatrixMultTransposefEXT ---------------------------------------------------
-
-glMatrixMultTransposefEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glMatrixMultTransposefEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixMultTransposefEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixMultTransposefEXT #-}
-ptr_glMatrixMultTransposefEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixMultTransposefEXT = unsafePerformIO $ getCommand "glMatrixMultTransposefEXT"
-
--- glMatrixMultdEXT ------------------------------------------------------------
-
-glMatrixMultdEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glMatrixMultdEXT v1 v2 = liftIO $ dyn92 ptr_glMatrixMultdEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixMultdEXT #-}
-ptr_glMatrixMultdEXT :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMatrixMultdEXT = unsafePerformIO $ getCommand "glMatrixMultdEXT"
-
--- glMatrixMultfEXT ------------------------------------------------------------
-
-glMatrixMultfEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glMatrixMultfEXT v1 v2 = liftIO $ dyn93 ptr_glMatrixMultfEXT v1 v2
-
-{-# NOINLINE ptr_glMatrixMultfEXT #-}
-ptr_glMatrixMultfEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMatrixMultfEXT = unsafePerformIO $ getCommand "glMatrixMultfEXT"
-
--- glMatrixOrthoEXT ------------------------------------------------------------
-
-glMatrixOrthoEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLdouble -- ^ @left@.
-  -> GLdouble -- ^ @right@.
-  -> GLdouble -- ^ @bottom@.
-  -> GLdouble -- ^ @top@.
-  -> GLdouble -- ^ @zNear@.
-  -> GLdouble -- ^ @zFar@.
-  -> m ()
-glMatrixOrthoEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn512 ptr_glMatrixOrthoEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glMatrixOrthoEXT #-}
-ptr_glMatrixOrthoEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMatrixOrthoEXT = unsafePerformIO $ getCommand "glMatrixOrthoEXT"
-
--- glMatrixPopEXT --------------------------------------------------------------
-
-glMatrixPopEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> m ()
-glMatrixPopEXT v1 = liftIO $ dyn4 ptr_glMatrixPopEXT v1
-
-{-# NOINLINE ptr_glMatrixPopEXT #-}
-ptr_glMatrixPopEXT :: FunPtr (GLenum -> IO ())
-ptr_glMatrixPopEXT = unsafePerformIO $ getCommand "glMatrixPopEXT"
-
--- glMatrixPushEXT -------------------------------------------------------------
-
-glMatrixPushEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> m ()
-glMatrixPushEXT v1 = liftIO $ dyn4 ptr_glMatrixPushEXT v1
-
-{-# NOINLINE ptr_glMatrixPushEXT #-}
-ptr_glMatrixPushEXT :: FunPtr (GLenum -> IO ())
-ptr_glMatrixPushEXT = unsafePerformIO $ getCommand "glMatrixPushEXT"
-
--- glMatrixRotatedEXT ----------------------------------------------------------
-
-glMatrixRotatedEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLdouble -- ^ @angle@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glMatrixRotatedEXT v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glMatrixRotatedEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMatrixRotatedEXT #-}
-ptr_glMatrixRotatedEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMatrixRotatedEXT = unsafePerformIO $ getCommand "glMatrixRotatedEXT"
-
--- glMatrixRotatefEXT ----------------------------------------------------------
-
-glMatrixRotatefEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLfloat -- ^ @angle@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glMatrixRotatefEXT v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glMatrixRotatefEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMatrixRotatefEXT #-}
-ptr_glMatrixRotatefEXT :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glMatrixRotatefEXT = unsafePerformIO $ getCommand "glMatrixRotatefEXT"
-
--- glMatrixScaledEXT -----------------------------------------------------------
-
-glMatrixScaledEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glMatrixScaledEXT v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMatrixScaledEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMatrixScaledEXT #-}
-ptr_glMatrixScaledEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMatrixScaledEXT = unsafePerformIO $ getCommand "glMatrixScaledEXT"
-
--- glMatrixScalefEXT -----------------------------------------------------------
-
-glMatrixScalefEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glMatrixScalefEXT v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMatrixScalefEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMatrixScalefEXT #-}
-ptr_glMatrixScalefEXT :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glMatrixScalefEXT = unsafePerformIO $ getCommand "glMatrixScalefEXT"
-
--- glMatrixTranslatedEXT -------------------------------------------------------
-
-glMatrixTranslatedEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glMatrixTranslatedEXT v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMatrixTranslatedEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMatrixTranslatedEXT #-}
-ptr_glMatrixTranslatedEXT :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMatrixTranslatedEXT = unsafePerformIO $ getCommand "glMatrixTranslatedEXT"
-
--- glMatrixTranslatefEXT -------------------------------------------------------
-
-glMatrixTranslatefEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [MatrixMode](Graphics-Rendering-OpenGL-Raw-Groups.html#MatrixMode).
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glMatrixTranslatefEXT v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMatrixTranslatefEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMatrixTranslatefEXT #-}
-ptr_glMatrixTranslatefEXT :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glMatrixTranslatefEXT = unsafePerformIO $ getCommand "glMatrixTranslatefEXT"
-
--- glMaxShaderCompilerThreadsARB -----------------------------------------------
-
-glMaxShaderCompilerThreadsARB
-  :: MonadIO m
-  => GLuint -- ^ @count@.
-  -> m ()
-glMaxShaderCompilerThreadsARB v1 = liftIO $ dyn2 ptr_glMaxShaderCompilerThreadsARB v1
-
-{-# NOINLINE ptr_glMaxShaderCompilerThreadsARB #-}
-ptr_glMaxShaderCompilerThreadsARB :: FunPtr (GLuint -> IO ())
-ptr_glMaxShaderCompilerThreadsARB = unsafePerformIO $ getCommand "glMaxShaderCompilerThreadsARB"
-
--- glMemoryBarrier -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
-glMemoryBarrier
-  :: MonadIO m
-  => GLbitfield -- ^ @barriers@.
-  -> m ()
-glMemoryBarrier v1 = liftIO $ dyn69 ptr_glMemoryBarrier v1
-
-{-# NOINLINE ptr_glMemoryBarrier #-}
-ptr_glMemoryBarrier :: FunPtr (GLbitfield -> IO ())
-ptr_glMemoryBarrier = unsafePerformIO $ getCommand "glMemoryBarrier"
-
--- glMemoryBarrierByRegion -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMemoryBarrier.xhtml OpenGL 4.x>.
-glMemoryBarrierByRegion
-  :: MonadIO m
-  => GLbitfield -- ^ @barriers@.
-  -> m ()
-glMemoryBarrierByRegion v1 = liftIO $ dyn69 ptr_glMemoryBarrierByRegion v1
-
-{-# NOINLINE ptr_glMemoryBarrierByRegion #-}
-ptr_glMemoryBarrierByRegion :: FunPtr (GLbitfield -> IO ())
-ptr_glMemoryBarrierByRegion = unsafePerformIO $ getCommand "glMemoryBarrierByRegion"
-
--- glMemoryBarrierEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glMemoryBarrier'.
-glMemoryBarrierEXT
-  :: MonadIO m
-  => GLbitfield -- ^ @barriers@.
-  -> m ()
-glMemoryBarrierEXT v1 = liftIO $ dyn69 ptr_glMemoryBarrierEXT v1
-
-{-# NOINLINE ptr_glMemoryBarrierEXT #-}
-ptr_glMemoryBarrierEXT :: FunPtr (GLbitfield -> IO ())
-ptr_glMemoryBarrierEXT = unsafePerformIO $ getCommand "glMemoryBarrierEXT"
-
--- glMinSampleShading ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMinSampleShading.xhtml OpenGL 4.x>.
-glMinSampleShading
-  :: MonadIO m
-  => GLfloat -- ^ @value@ of type @ColorF@.
-  -> m ()
-glMinSampleShading v1 = liftIO $ dyn79 ptr_glMinSampleShading v1
-
-{-# NOINLINE ptr_glMinSampleShading #-}
-ptr_glMinSampleShading :: FunPtr (GLfloat -> IO ())
-ptr_glMinSampleShading = unsafePerformIO $ getCommand "glMinSampleShading"
-
--- glMinSampleShadingARB -------------------------------------------------------
-
--- | This command is an alias for 'glMinSampleShading'.
-glMinSampleShadingARB
-  :: MonadIO m
-  => GLfloat -- ^ @value@ of type @ColorF@.
-  -> m ()
-glMinSampleShadingARB v1 = liftIO $ dyn79 ptr_glMinSampleShadingARB v1
-
-{-# NOINLINE ptr_glMinSampleShadingARB #-}
-ptr_glMinSampleShadingARB :: FunPtr (GLfloat -> IO ())
-ptr_glMinSampleShadingARB = unsafePerformIO $ getCommand "glMinSampleShadingARB"
-
--- glMinSampleShadingOES -------------------------------------------------------
-
--- | This command is an alias for 'glMinSampleShading'.
-glMinSampleShadingOES
-  :: MonadIO m
-  => GLfloat -- ^ @value@ of type @ColorF@.
-  -> m ()
-glMinSampleShadingOES v1 = liftIO $ dyn79 ptr_glMinSampleShadingOES v1
-
-{-# NOINLINE ptr_glMinSampleShadingOES #-}
-ptr_glMinSampleShadingOES :: FunPtr (GLfloat -> IO ())
-ptr_glMinSampleShadingOES = unsafePerformIO $ getCommand "glMinSampleShadingOES"
-
--- glMinmax --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMinmax.xml OpenGL 2.x>.
-glMinmax
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glMinmax v1 v2 v3 = liftIO $ dyn520 ptr_glMinmax v1 v2 v3
-
-{-# NOINLINE ptr_glMinmax #-}
-ptr_glMinmax :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
-ptr_glMinmax = unsafePerformIO $ getCommand "glMinmax"
-
--- glMinmaxEXT -----------------------------------------------------------------
-
--- | This command is an alias for 'glMinmax'.
-glMinmaxEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#MinmaxTargetEXT).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLboolean -- ^ @sink@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glMinmaxEXT v1 v2 v3 = liftIO $ dyn520 ptr_glMinmaxEXT v1 v2 v3
-
-{-# NOINLINE ptr_glMinmaxEXT #-}
-ptr_glMinmaxEXT :: FunPtr (GLenum -> GLenum -> GLboolean -> IO ())
-ptr_glMinmaxEXT = unsafePerformIO $ getCommand "glMinmaxEXT"
-
--- glMultMatrixd ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultMatrix.xml OpenGL 2.x>.
-glMultMatrixd
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glMultMatrixd v1 = liftIO $ dyn39 ptr_glMultMatrixd v1
-
-{-# NOINLINE ptr_glMultMatrixd #-}
-ptr_glMultMatrixd :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glMultMatrixd = unsafePerformIO $ getCommand "glMultMatrixd"
-
--- glMultMatrixf ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultMatrix.xml OpenGL 2.x>.
-glMultMatrixf
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glMultMatrixf v1 = liftIO $ dyn41 ptr_glMultMatrixf v1
-
-{-# NOINLINE ptr_glMultMatrixf #-}
-ptr_glMultMatrixf :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glMultMatrixf = unsafePerformIO $ getCommand "glMultMatrixf"
-
--- glMultMatrixx ---------------------------------------------------------------
-
-glMultMatrixx
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
-  -> m ()
-glMultMatrixx v1 = liftIO $ dyn106 ptr_glMultMatrixx v1
-
-{-# NOINLINE ptr_glMultMatrixx #-}
-ptr_glMultMatrixx :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glMultMatrixx = unsafePerformIO $ getCommand "glMultMatrixx"
-
--- glMultMatrixxOES ------------------------------------------------------------
-
-glMultMatrixxOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
-  -> m ()
-glMultMatrixxOES v1 = liftIO $ dyn106 ptr_glMultMatrixxOES v1
-
-{-# NOINLINE ptr_glMultMatrixxOES #-}
-ptr_glMultMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glMultMatrixxOES = unsafePerformIO $ getCommand "glMultMatrixxOES"
-
--- glMultTransposeMatrixd ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultTransposeMatrix.xml OpenGL 2.x>.
-glMultTransposeMatrixd
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glMultTransposeMatrixd v1 = liftIO $ dyn39 ptr_glMultTransposeMatrixd v1
-
-{-# NOINLINE ptr_glMultTransposeMatrixd #-}
-ptr_glMultTransposeMatrixd :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glMultTransposeMatrixd = unsafePerformIO $ getCommand "glMultTransposeMatrixd"
-
--- glMultTransposeMatrixdARB ---------------------------------------------------
-
--- | This command is an alias for 'glMultTransposeMatrixd'.
-glMultTransposeMatrixdARB
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @m@ pointing to @16@ elements of type @GLdouble@.
-  -> m ()
-glMultTransposeMatrixdARB v1 = liftIO $ dyn39 ptr_glMultTransposeMatrixdARB v1
-
-{-# NOINLINE ptr_glMultTransposeMatrixdARB #-}
-ptr_glMultTransposeMatrixdARB :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glMultTransposeMatrixdARB = unsafePerformIO $ getCommand "glMultTransposeMatrixdARB"
-
--- glMultTransposeMatrixf ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultTransposeMatrix.xml OpenGL 2.x>.
-glMultTransposeMatrixf
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glMultTransposeMatrixf v1 = liftIO $ dyn41 ptr_glMultTransposeMatrixf v1
-
-{-# NOINLINE ptr_glMultTransposeMatrixf #-}
-ptr_glMultTransposeMatrixf :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glMultTransposeMatrixf = unsafePerformIO $ getCommand "glMultTransposeMatrixf"
-
--- glMultTransposeMatrixfARB ---------------------------------------------------
-
--- | This command is an alias for 'glMultTransposeMatrixf'.
-glMultTransposeMatrixfARB
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @m@ pointing to @16@ elements of type @GLfloat@.
-  -> m ()
-glMultTransposeMatrixfARB v1 = liftIO $ dyn41 ptr_glMultTransposeMatrixfARB v1
-
-{-# NOINLINE ptr_glMultTransposeMatrixfARB #-}
-ptr_glMultTransposeMatrixfARB :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glMultTransposeMatrixfARB = unsafePerformIO $ getCommand "glMultTransposeMatrixfARB"
-
--- glMultTransposeMatrixxOES ---------------------------------------------------
-
-glMultTransposeMatrixxOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @m@ pointing to @16@ elements of type @GLfixed@.
-  -> m ()
-glMultTransposeMatrixxOES v1 = liftIO $ dyn106 ptr_glMultTransposeMatrixxOES v1
-
-{-# NOINLINE ptr_glMultTransposeMatrixxOES #-}
-ptr_glMultTransposeMatrixxOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glMultTransposeMatrixxOES = unsafePerformIO $ getCommand "glMultTransposeMatrixxOES"
-
--- glMultiDrawArrays -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawArrays.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawArrays.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawArrays.xhtml OpenGL 4.x>.
-glMultiDrawArrays
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLsizei -- ^ @drawcount@.
-  -> m ()
-glMultiDrawArrays v1 v2 v3 v4 = liftIO $ dyn521 ptr_glMultiDrawArrays v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiDrawArrays #-}
-ptr_glMultiDrawArrays :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawArrays = unsafePerformIO $ getCommand "glMultiDrawArrays"
-
--- glMultiDrawArraysEXT --------------------------------------------------------
-
--- | This command is an alias for 'glMultiDrawArrays'.
-glMultiDrawArraysEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(primcount)@ elements of type @GLint@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glMultiDrawArraysEXT v1 v2 v3 v4 = liftIO $ dyn521 ptr_glMultiDrawArraysEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiDrawArraysEXT #-}
-ptr_glMultiDrawArraysEXT :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawArraysEXT = unsafePerformIO $ getCommand "glMultiDrawArraysEXT"
-
--- glMultiDrawArraysIndirect ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawArraysIndirect.xhtml OpenGL 4.x>.
-glMultiDrawArraysIndirect
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawArraysIndirect v1 v2 v3 v4 = liftIO $ dyn522 ptr_glMultiDrawArraysIndirect v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiDrawArraysIndirect #-}
-ptr_glMultiDrawArraysIndirect :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawArraysIndirect = unsafePerformIO $ getCommand "glMultiDrawArraysIndirect"
-
--- glMultiDrawArraysIndirectAMD ------------------------------------------------
-
--- | This command is an alias for 'glMultiDrawArraysIndirect'.
-glMultiDrawArraysIndirectAMD
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr a -- ^ @indirect@.
-  -> GLsizei -- ^ @primcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawArraysIndirectAMD v1 v2 v3 v4 = liftIO $ dyn522 ptr_glMultiDrawArraysIndirectAMD v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiDrawArraysIndirectAMD #-}
-ptr_glMultiDrawArraysIndirectAMD :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawArraysIndirectAMD = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectAMD"
-
--- glMultiDrawArraysIndirectBindlessCountNV ------------------------------------
-
-glMultiDrawArraysIndirectBindlessCountNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr a -- ^ @indirect@.
-  -> GLsizei -- ^ @drawCount@.
-  -> GLsizei -- ^ @maxDrawCount@.
-  -> GLsizei -- ^ @stride@.
-  -> GLint -- ^ @vertexBufferCount@.
-  -> m ()
-glMultiDrawArraysIndirectBindlessCountNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn523 ptr_glMultiDrawArraysIndirectBindlessCountNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawArraysIndirectBindlessCountNV #-}
-ptr_glMultiDrawArraysIndirectBindlessCountNV :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glMultiDrawArraysIndirectBindlessCountNV = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectBindlessCountNV"
-
--- glMultiDrawArraysIndirectBindlessNV -----------------------------------------
-
-glMultiDrawArraysIndirectBindlessNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr a -- ^ @indirect@.
-  -> GLsizei -- ^ @drawCount@.
-  -> GLsizei -- ^ @stride@.
-  -> GLint -- ^ @vertexBufferCount@.
-  -> m ()
-glMultiDrawArraysIndirectBindlessNV v1 v2 v3 v4 v5 = liftIO $ dyn524 ptr_glMultiDrawArraysIndirectBindlessNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawArraysIndirectBindlessNV #-}
-ptr_glMultiDrawArraysIndirectBindlessNV :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glMultiDrawArraysIndirectBindlessNV = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectBindlessNV"
-
--- glMultiDrawArraysIndirectCountARB -------------------------------------------
-
-glMultiDrawArraysIndirectCountARB
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> GLintptr -- ^ @indirect@.
-  -> GLintptr -- ^ @drawcount@.
-  -> GLsizei -- ^ @maxdrawcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawArraysIndirectCountARB v1 v2 v3 v4 v5 = liftIO $ dyn525 ptr_glMultiDrawArraysIndirectCountARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawArraysIndirectCountARB #-}
-ptr_glMultiDrawArraysIndirectCountARB :: FunPtr (GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawArraysIndirectCountARB = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectCountARB"
-
--- glMultiDrawArraysIndirectEXT ------------------------------------------------
-
--- | This command is an alias for 'glMultiDrawArraysIndirect'.
-glMultiDrawArraysIndirectEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawArraysIndirectEXT v1 v2 v3 v4 = liftIO $ dyn522 ptr_glMultiDrawArraysIndirectEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiDrawArraysIndirectEXT #-}
-ptr_glMultiDrawArraysIndirectEXT :: FunPtr (GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawArraysIndirectEXT = unsafePerformIO $ getCommand "glMultiDrawArraysIndirectEXT"
-
--- glMultiDrawElementArrayAPPLE ------------------------------------------------
-
-glMultiDrawElementArrayAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glMultiDrawElementArrayAPPLE v1 v2 v3 v4 = liftIO $ dyn521 ptr_glMultiDrawElementArrayAPPLE v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiDrawElementArrayAPPLE #-}
-ptr_glMultiDrawElementArrayAPPLE :: FunPtr (GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawElementArrayAPPLE = unsafePerformIO $ getCommand "glMultiDrawElementArrayAPPLE"
-
--- glMultiDrawElements ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiDrawElements.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElements.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElements.xhtml OpenGL 4.x>.
-glMultiDrawElements
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> m ()
-glMultiDrawElements v1 v2 v3 v4 v5 = liftIO $ dyn526 ptr_glMultiDrawElements v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawElements #-}
-ptr_glMultiDrawElements :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
-ptr_glMultiDrawElements = unsafePerformIO $ getCommand "glMultiDrawElements"
-
--- glMultiDrawElementsBaseVertex -----------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glMultiDrawElementsBaseVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsBaseVertex.xhtml OpenGL 4.x>.
-glMultiDrawElementsBaseVertex
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
-  -> m ()
-glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6 = liftIO $ dyn527 ptr_glMultiDrawElementsBaseVertex v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsBaseVertex #-}
-ptr_glMultiDrawElementsBaseVertex :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-ptr_glMultiDrawElementsBaseVertex = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertex"
-
--- glMultiDrawElementsBaseVertexEXT --------------------------------------------
-
--- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
-glMultiDrawElementsBaseVertexEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @primcount@.
-  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
-  -> m ()
-glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn527 ptr_glMultiDrawElementsBaseVertexEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsBaseVertexEXT #-}
-ptr_glMultiDrawElementsBaseVertexEXT :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-ptr_glMultiDrawElementsBaseVertexEXT = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertexEXT"
-
--- glMultiDrawElementsBaseVertexOES --------------------------------------------
-
--- | This command is an alias for 'glMultiDrawElementsBaseVertex'.
-glMultiDrawElementsBaseVertexOES
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(drawcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(drawcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @primcount@.
-  -> Ptr GLint -- ^ @basevertex@ pointing to @COMPSIZE(drawcount)@ elements of type @GLint@.
-  -> m ()
-glMultiDrawElementsBaseVertexOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn527 ptr_glMultiDrawElementsBaseVertexOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsBaseVertexOES #-}
-ptr_glMultiDrawElementsBaseVertexOES :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> Ptr GLint -> IO ())
-ptr_glMultiDrawElementsBaseVertexOES = unsafePerformIO $ getCommand "glMultiDrawElementsBaseVertexOES"
-
--- glMultiDrawElementsEXT ------------------------------------------------------
-
--- | This command is an alias for 'glMultiDrawElements'.
-glMultiDrawElementsEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(primcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glMultiDrawElementsEXT v1 v2 v3 v4 v5 = liftIO $ dyn526 ptr_glMultiDrawElementsEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawElementsEXT #-}
-ptr_glMultiDrawElementsEXT :: FunPtr (GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> IO ())
-ptr_glMultiDrawElementsEXT = unsafePerformIO $ getCommand "glMultiDrawElementsEXT"
-
--- glMultiDrawElementsIndirect -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glMultiDrawElementsIndirect.xhtml OpenGL 4.x>.
-glMultiDrawElementsIndirect
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawElementsIndirect v1 v2 v3 v4 v5 = liftIO $ dyn528 ptr_glMultiDrawElementsIndirect v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawElementsIndirect #-}
-ptr_glMultiDrawElementsIndirect :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawElementsIndirect = unsafePerformIO $ getCommand "glMultiDrawElementsIndirect"
-
--- glMultiDrawElementsIndirectAMD ----------------------------------------------
-
--- | This command is an alias for 'glMultiDrawElementsIndirect'.
-glMultiDrawElementsIndirectAMD
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indirect@.
-  -> GLsizei -- ^ @primcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawElementsIndirectAMD v1 v2 v3 v4 v5 = liftIO $ dyn528 ptr_glMultiDrawElementsIndirectAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawElementsIndirectAMD #-}
-ptr_glMultiDrawElementsIndirectAMD :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawElementsIndirectAMD = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectAMD"
-
--- glMultiDrawElementsIndirectBindlessCountNV ----------------------------------
-
-glMultiDrawElementsIndirectBindlessCountNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indirect@.
-  -> GLsizei -- ^ @drawCount@.
-  -> GLsizei -- ^ @maxDrawCount@.
-  -> GLsizei -- ^ @stride@.
-  -> GLint -- ^ @vertexBufferCount@.
-  -> m ()
-glMultiDrawElementsIndirectBindlessCountNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn529 ptr_glMultiDrawElementsIndirectBindlessCountNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glMultiDrawElementsIndirectBindlessCountNV #-}
-ptr_glMultiDrawElementsIndirectBindlessCountNV :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glMultiDrawElementsIndirectBindlessCountNV = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectBindlessCountNV"
-
--- glMultiDrawElementsIndirectBindlessNV ---------------------------------------
-
-glMultiDrawElementsIndirectBindlessNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indirect@.
-  -> GLsizei -- ^ @drawCount@.
-  -> GLsizei -- ^ @stride@.
-  -> GLint -- ^ @vertexBufferCount@.
-  -> m ()
-glMultiDrawElementsIndirectBindlessNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn530 ptr_glMultiDrawElementsIndirectBindlessNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsIndirectBindlessNV #-}
-ptr_glMultiDrawElementsIndirectBindlessNV :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glMultiDrawElementsIndirectBindlessNV = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectBindlessNV"
-
--- glMultiDrawElementsIndirectCountARB -----------------------------------------
-
-glMultiDrawElementsIndirectCountARB
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> GLenum -- ^ @type@.
-  -> GLintptr -- ^ @indirect@.
-  -> GLintptr -- ^ @drawcount@.
-  -> GLsizei -- ^ @maxdrawcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawElementsIndirectCountARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn531 ptr_glMultiDrawElementsIndirectCountARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawElementsIndirectCountARB #-}
-ptr_glMultiDrawElementsIndirectCountARB :: FunPtr (GLenum -> GLenum -> GLintptr -> GLintptr -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawElementsIndirectCountARB = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectCountARB"
-
--- glMultiDrawElementsIndirectEXT ----------------------------------------------
-
--- | This command is an alias for 'glMultiDrawElementsIndirect'.
-glMultiDrawElementsIndirectEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @indirect@ pointing to @COMPSIZE(drawcount,stride)@ elements of type @a@.
-  -> GLsizei -- ^ @drawcount@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glMultiDrawElementsIndirectEXT v1 v2 v3 v4 v5 = liftIO $ dyn528 ptr_glMultiDrawElementsIndirectEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiDrawElementsIndirectEXT #-}
-ptr_glMultiDrawElementsIndirectEXT :: FunPtr (GLenum -> GLenum -> Ptr a -> GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawElementsIndirectEXT = unsafePerformIO $ getCommand "glMultiDrawElementsIndirectEXT"
-
--- glMultiDrawRangeElementArrayAPPLE -------------------------------------------
-
-glMultiDrawRangeElementArrayAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> GLuint -- ^ @start@.
-  -> GLuint -- ^ @end@.
-  -> Ptr GLint -- ^ @first@ pointing to @primcount@ elements of type @GLint@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @primcount@ elements of type @GLsizei@.
-  -> GLsizei -- ^ @primcount@.
-  -> m ()
-glMultiDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 v6 = liftIO $ dyn532 ptr_glMultiDrawRangeElementArrayAPPLE v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiDrawRangeElementArrayAPPLE #-}
-ptr_glMultiDrawRangeElementArrayAPPLE :: FunPtr (GLenum -> GLuint -> GLuint -> Ptr GLint -> Ptr GLsizei -> GLsizei -> IO ())
-ptr_glMultiDrawRangeElementArrayAPPLE = unsafePerformIO $ getCommand "glMultiDrawRangeElementArrayAPPLE"
-
--- glMultiModeDrawArraysIBM ----------------------------------------------------
-
-glMultiModeDrawArraysIBM
-  :: MonadIO m
-  => Ptr GLenum -- ^ @mode@ pointing to @COMPSIZE(primcount)@ elements of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr GLint -- ^ @first@ pointing to @COMPSIZE(primcount)@ elements of type @GLint@.
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
-  -> GLsizei -- ^ @primcount@.
-  -> GLint -- ^ @modestride@.
-  -> m ()
-glMultiModeDrawArraysIBM v1 v2 v3 v4 v5 = liftIO $ dyn533 ptr_glMultiModeDrawArraysIBM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiModeDrawArraysIBM #-}
-ptr_glMultiModeDrawArraysIBM :: FunPtr (Ptr GLenum -> Ptr GLint -> Ptr GLsizei -> GLsizei -> GLint -> IO ())
-ptr_glMultiModeDrawArraysIBM = unsafePerformIO $ getCommand "glMultiModeDrawArraysIBM"
-
--- glMultiModeDrawElementsIBM --------------------------------------------------
-
-glMultiModeDrawElementsIBM
-  :: MonadIO m
-  => Ptr GLenum -- ^ @mode@ pointing to @COMPSIZE(primcount)@ elements of type [PrimitiveType](Graphics-Rendering-OpenGL-Raw-Groups.html#PrimitiveType).
-  -> Ptr GLsizei -- ^ @count@ pointing to @COMPSIZE(primcount)@ elements of type @GLsizei@.
-  -> GLenum -- ^ @type@ of type @DrawElementsType@.
-  -> Ptr (Ptr a) -- ^ @indices@ pointing to @COMPSIZE(primcount)@ elements of type @Ptr a@.
-  -> GLsizei -- ^ @primcount@.
-  -> GLint -- ^ @modestride@.
-  -> m ()
-glMultiModeDrawElementsIBM v1 v2 v3 v4 v5 v6 = liftIO $ dyn534 ptr_glMultiModeDrawElementsIBM v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glMultiModeDrawElementsIBM #-}
-ptr_glMultiModeDrawElementsIBM :: FunPtr (Ptr GLenum -> Ptr GLsizei -> GLenum -> Ptr (Ptr a) -> GLsizei -> GLint -> IO ())
-ptr_glMultiModeDrawElementsIBM = unsafePerformIO $ getCommand "glMultiModeDrawElementsIBM"
-
--- glMultiTexBufferEXT ---------------------------------------------------------
-
-glMultiTexBufferEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@ of type @TypeEnum@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glMultiTexBufferEXT v1 v2 v3 v4 = liftIO $ dyn282 ptr_glMultiTexBufferEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexBufferEXT #-}
-ptr_glMultiTexBufferEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glMultiTexBufferEXT = unsafePerformIO $ getCommand "glMultiTexBufferEXT"
-
--- glMultiTexCoord1bOES --------------------------------------------------------
-
-glMultiTexCoord1bOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLbyte -- ^ @s@.
-  -> m ()
-glMultiTexCoord1bOES v1 v2 = liftIO $ dyn535 ptr_glMultiTexCoord1bOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1bOES #-}
-ptr_glMultiTexCoord1bOES :: FunPtr (GLenum -> GLbyte -> IO ())
-ptr_glMultiTexCoord1bOES = unsafePerformIO $ getCommand "glMultiTexCoord1bOES"
-
--- glMultiTexCoord1bvOES -------------------------------------------------------
-
-glMultiTexCoord1bvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
-  -> m ()
-glMultiTexCoord1bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord1bvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1bvOES #-}
-ptr_glMultiTexCoord1bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
-ptr_glMultiTexCoord1bvOES = unsafePerformIO $ getCommand "glMultiTexCoord1bvOES"
-
--- glMultiTexCoord1d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1dv'.
-glMultiTexCoord1d
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord1d v1 v2 = liftIO $ dyn537 ptr_glMultiTexCoord1d v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1d #-}
-ptr_glMultiTexCoord1d :: FunPtr (GLenum -> GLdouble -> IO ())
-ptr_glMultiTexCoord1d = unsafePerformIO $ getCommand "glMultiTexCoord1d"
-
--- glMultiTexCoord1dARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord1dv'. This command is an alias for 'glMultiTexCoord1d'.
-glMultiTexCoord1dARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord1dARB v1 v2 = liftIO $ dyn537 ptr_glMultiTexCoord1dARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1dARB #-}
-ptr_glMultiTexCoord1dARB :: FunPtr (GLenum -> GLdouble -> IO ())
-ptr_glMultiTexCoord1dARB = unsafePerformIO $ getCommand "glMultiTexCoord1dARB"
-
--- glMultiTexCoord1dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord1dv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
-  -> m ()
-glMultiTexCoord1dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord1dv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1dv #-}
-ptr_glMultiTexCoord1dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord1dv = unsafePerformIO $ getCommand "glMultiTexCoord1dv"
-
--- glMultiTexCoord1dvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord1dv'.
-glMultiTexCoord1dvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
-  -> m ()
-glMultiTexCoord1dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord1dvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1dvARB #-}
-ptr_glMultiTexCoord1dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord1dvARB = unsafePerformIO $ getCommand "glMultiTexCoord1dvARB"
-
--- glMultiTexCoord1f -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1fv'.
-glMultiTexCoord1f
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord1f v1 v2 = liftIO $ dyn0 ptr_glMultiTexCoord1f v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1f #-}
-ptr_glMultiTexCoord1f :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glMultiTexCoord1f = unsafePerformIO $ getCommand "glMultiTexCoord1f"
-
--- glMultiTexCoord1fARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord1fv'. This command is an alias for 'glMultiTexCoord1f'.
-glMultiTexCoord1fARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord1fARB v1 v2 = liftIO $ dyn0 ptr_glMultiTexCoord1fARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1fARB #-}
-ptr_glMultiTexCoord1fARB :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glMultiTexCoord1fARB = unsafePerformIO $ getCommand "glMultiTexCoord1fARB"
-
--- glMultiTexCoord1fv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord1fv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
-  -> m ()
-glMultiTexCoord1fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord1fv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1fv #-}
-ptr_glMultiTexCoord1fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord1fv = unsafePerformIO $ getCommand "glMultiTexCoord1fv"
-
--- glMultiTexCoord1fvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord1fv'.
-glMultiTexCoord1fvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
-  -> m ()
-glMultiTexCoord1fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord1fvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1fvARB #-}
-ptr_glMultiTexCoord1fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord1fvARB = unsafePerformIO $ getCommand "glMultiTexCoord1fvARB"
-
--- glMultiTexCoord1hNV ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord1hvNV'.
-glMultiTexCoord1hNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> m ()
-glMultiTexCoord1hNV v1 v2 = liftIO $ dyn538 ptr_glMultiTexCoord1hNV v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1hNV #-}
-ptr_glMultiTexCoord1hNV :: FunPtr (GLenum -> GLhalfNV -> IO ())
-ptr_glMultiTexCoord1hNV = unsafePerformIO $ getCommand "glMultiTexCoord1hNV"
-
--- glMultiTexCoord1hvNV --------------------------------------------------------
-
-glMultiTexCoord1hvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
-  -> m ()
-glMultiTexCoord1hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord1hvNV v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1hvNV #-}
-ptr_glMultiTexCoord1hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
-ptr_glMultiTexCoord1hvNV = unsafePerformIO $ getCommand "glMultiTexCoord1hvNV"
-
--- glMultiTexCoord1i -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1iv'.
-glMultiTexCoord1i
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord1i v1 v2 = liftIO $ dyn55 ptr_glMultiTexCoord1i v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1i #-}
-ptr_glMultiTexCoord1i :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glMultiTexCoord1i = unsafePerformIO $ getCommand "glMultiTexCoord1i"
-
--- glMultiTexCoord1iARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord1iv'. This command is an alias for 'glMultiTexCoord1i'.
-glMultiTexCoord1iARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord1iARB v1 v2 = liftIO $ dyn55 ptr_glMultiTexCoord1iARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1iARB #-}
-ptr_glMultiTexCoord1iARB :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glMultiTexCoord1iARB = unsafePerformIO $ getCommand "glMultiTexCoord1iARB"
-
--- glMultiTexCoord1iv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord1iv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
-  -> m ()
-glMultiTexCoord1iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord1iv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1iv #-}
-ptr_glMultiTexCoord1iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord1iv = unsafePerformIO $ getCommand "glMultiTexCoord1iv"
-
--- glMultiTexCoord1ivARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord1iv'.
-glMultiTexCoord1ivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
-  -> m ()
-glMultiTexCoord1ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord1ivARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1ivARB #-}
-ptr_glMultiTexCoord1ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord1ivARB = unsafePerformIO $ getCommand "glMultiTexCoord1ivARB"
-
--- glMultiTexCoord1s -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord1sv'.
-glMultiTexCoord1s
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord1s v1 v2 = liftIO $ dyn540 ptr_glMultiTexCoord1s v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1s #-}
-ptr_glMultiTexCoord1s :: FunPtr (GLenum -> GLshort -> IO ())
-ptr_glMultiTexCoord1s = unsafePerformIO $ getCommand "glMultiTexCoord1s"
-
--- glMultiTexCoord1sARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord1sv'. This command is an alias for 'glMultiTexCoord1s'.
-glMultiTexCoord1sARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord1sARB v1 v2 = liftIO $ dyn540 ptr_glMultiTexCoord1sARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1sARB #-}
-ptr_glMultiTexCoord1sARB :: FunPtr (GLenum -> GLshort -> IO ())
-ptr_glMultiTexCoord1sARB = unsafePerformIO $ getCommand "glMultiTexCoord1sARB"
-
--- glMultiTexCoord1sv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord1sv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
-  -> m ()
-glMultiTexCoord1sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord1sv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1sv #-}
-ptr_glMultiTexCoord1sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord1sv = unsafePerformIO $ getCommand "glMultiTexCoord1sv"
-
--- glMultiTexCoord1svARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord1sv'.
-glMultiTexCoord1svARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
-  -> m ()
-glMultiTexCoord1svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord1svARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1svARB #-}
-ptr_glMultiTexCoord1svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord1svARB = unsafePerformIO $ getCommand "glMultiTexCoord1svARB"
-
--- glMultiTexCoord1xOES --------------------------------------------------------
-
-glMultiTexCoord1xOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLfixed -- ^ @s@.
-  -> m ()
-glMultiTexCoord1xOES v1 v2 = liftIO $ dyn1 ptr_glMultiTexCoord1xOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1xOES #-}
-ptr_glMultiTexCoord1xOES :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glMultiTexCoord1xOES = unsafePerformIO $ getCommand "glMultiTexCoord1xOES"
-
--- glMultiTexCoord1xvOES -------------------------------------------------------
-
-glMultiTexCoord1xvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
-  -> m ()
-glMultiTexCoord1xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord1xvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord1xvOES #-}
-ptr_glMultiTexCoord1xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glMultiTexCoord1xvOES = unsafePerformIO $ getCommand "glMultiTexCoord1xvOES"
-
--- glMultiTexCoord2bOES --------------------------------------------------------
-
-glMultiTexCoord2bOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLbyte -- ^ @s@.
-  -> GLbyte -- ^ @t@.
-  -> m ()
-glMultiTexCoord2bOES v1 v2 v3 = liftIO $ dyn542 ptr_glMultiTexCoord2bOES v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2bOES #-}
-ptr_glMultiTexCoord2bOES :: FunPtr (GLenum -> GLbyte -> GLbyte -> IO ())
-ptr_glMultiTexCoord2bOES = unsafePerformIO $ getCommand "glMultiTexCoord2bOES"
-
--- glMultiTexCoord2bvOES -------------------------------------------------------
-
-glMultiTexCoord2bvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLbyte -- ^ @coords@ pointing to @2@ elements of type @GLbyte@.
-  -> m ()
-glMultiTexCoord2bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord2bvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2bvOES #-}
-ptr_glMultiTexCoord2bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
-ptr_glMultiTexCoord2bvOES = unsafePerformIO $ getCommand "glMultiTexCoord2bvOES"
-
--- glMultiTexCoord2d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2dv'.
-glMultiTexCoord2d
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord2d v1 v2 v3 = liftIO $ dyn543 ptr_glMultiTexCoord2d v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2d #-}
-ptr_glMultiTexCoord2d :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-ptr_glMultiTexCoord2d = unsafePerformIO $ getCommand "glMultiTexCoord2d"
-
--- glMultiTexCoord2dARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord2dv'. This command is an alias for 'glMultiTexCoord2d'.
-glMultiTexCoord2dARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord2dARB v1 v2 v3 = liftIO $ dyn543 ptr_glMultiTexCoord2dARB v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2dARB #-}
-ptr_glMultiTexCoord2dARB :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-ptr_glMultiTexCoord2dARB = unsafePerformIO $ getCommand "glMultiTexCoord2dARB"
-
--- glMultiTexCoord2dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord2dv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glMultiTexCoord2dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord2dv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2dv #-}
-ptr_glMultiTexCoord2dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord2dv = unsafePerformIO $ getCommand "glMultiTexCoord2dv"
-
--- glMultiTexCoord2dvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord2dv'.
-glMultiTexCoord2dvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glMultiTexCoord2dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord2dvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2dvARB #-}
-ptr_glMultiTexCoord2dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord2dvARB = unsafePerformIO $ getCommand "glMultiTexCoord2dvARB"
-
--- glMultiTexCoord2f -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2fv'.
-glMultiTexCoord2f
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord2f v1 v2 v3 = liftIO $ dyn544 ptr_glMultiTexCoord2f v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2f #-}
-ptr_glMultiTexCoord2f :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-ptr_glMultiTexCoord2f = unsafePerformIO $ getCommand "glMultiTexCoord2f"
-
--- glMultiTexCoord2fARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord2fv'. This command is an alias for 'glMultiTexCoord2f'.
-glMultiTexCoord2fARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord2fARB v1 v2 v3 = liftIO $ dyn544 ptr_glMultiTexCoord2fARB v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2fARB #-}
-ptr_glMultiTexCoord2fARB :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-ptr_glMultiTexCoord2fARB = unsafePerformIO $ getCommand "glMultiTexCoord2fARB"
-
--- glMultiTexCoord2fv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord2fv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glMultiTexCoord2fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord2fv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2fv #-}
-ptr_glMultiTexCoord2fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord2fv = unsafePerformIO $ getCommand "glMultiTexCoord2fv"
-
--- glMultiTexCoord2fvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord2fv'.
-glMultiTexCoord2fvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glMultiTexCoord2fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord2fvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2fvARB #-}
-ptr_glMultiTexCoord2fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord2fvARB = unsafePerformIO $ getCommand "glMultiTexCoord2fvARB"
-
--- glMultiTexCoord2hNV ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord2hvNV'.
-glMultiTexCoord2hNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
-  -> m ()
-glMultiTexCoord2hNV v1 v2 v3 = liftIO $ dyn545 ptr_glMultiTexCoord2hNV v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2hNV #-}
-ptr_glMultiTexCoord2hNV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glMultiTexCoord2hNV = unsafePerformIO $ getCommand "glMultiTexCoord2hNV"
-
--- glMultiTexCoord2hvNV --------------------------------------------------------
-
-glMultiTexCoord2hvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
-  -> m ()
-glMultiTexCoord2hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord2hvNV v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2hvNV #-}
-ptr_glMultiTexCoord2hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
-ptr_glMultiTexCoord2hvNV = unsafePerformIO $ getCommand "glMultiTexCoord2hvNV"
-
--- glMultiTexCoord2i -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2iv'.
-glMultiTexCoord2i
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord2i v1 v2 v3 = liftIO $ dyn263 ptr_glMultiTexCoord2i v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2i #-}
-ptr_glMultiTexCoord2i :: FunPtr (GLenum -> GLint -> GLint -> IO ())
-ptr_glMultiTexCoord2i = unsafePerformIO $ getCommand "glMultiTexCoord2i"
-
--- glMultiTexCoord2iARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord2iv'. This command is an alias for 'glMultiTexCoord2i'.
-glMultiTexCoord2iARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord2iARB v1 v2 v3 = liftIO $ dyn263 ptr_glMultiTexCoord2iARB v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2iARB #-}
-ptr_glMultiTexCoord2iARB :: FunPtr (GLenum -> GLint -> GLint -> IO ())
-ptr_glMultiTexCoord2iARB = unsafePerformIO $ getCommand "glMultiTexCoord2iARB"
-
--- glMultiTexCoord2iv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord2iv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glMultiTexCoord2iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord2iv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2iv #-}
-ptr_glMultiTexCoord2iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord2iv = unsafePerformIO $ getCommand "glMultiTexCoord2iv"
-
--- glMultiTexCoord2ivARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord2iv'.
-glMultiTexCoord2ivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glMultiTexCoord2ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord2ivARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2ivARB #-}
-ptr_glMultiTexCoord2ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord2ivARB = unsafePerformIO $ getCommand "glMultiTexCoord2ivARB"
-
--- glMultiTexCoord2s -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord2sv'.
-glMultiTexCoord2s
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord2s v1 v2 v3 = liftIO $ dyn546 ptr_glMultiTexCoord2s v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2s #-}
-ptr_glMultiTexCoord2s :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-ptr_glMultiTexCoord2s = unsafePerformIO $ getCommand "glMultiTexCoord2s"
-
--- glMultiTexCoord2sARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord2sv'. This command is an alias for 'glMultiTexCoord2s'.
-glMultiTexCoord2sARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord2sARB v1 v2 v3 = liftIO $ dyn546 ptr_glMultiTexCoord2sARB v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2sARB #-}
-ptr_glMultiTexCoord2sARB :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-ptr_glMultiTexCoord2sARB = unsafePerformIO $ getCommand "glMultiTexCoord2sARB"
-
--- glMultiTexCoord2sv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord2sv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord2sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord2sv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2sv #-}
-ptr_glMultiTexCoord2sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord2sv = unsafePerformIO $ getCommand "glMultiTexCoord2sv"
-
--- glMultiTexCoord2svARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord2sv'.
-glMultiTexCoord2svARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord2svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord2svARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2svARB #-}
-ptr_glMultiTexCoord2svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord2svARB = unsafePerformIO $ getCommand "glMultiTexCoord2svARB"
-
--- glMultiTexCoord2xOES --------------------------------------------------------
-
-glMultiTexCoord2xOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> m ()
-glMultiTexCoord2xOES v1 v2 v3 = liftIO $ dyn547 ptr_glMultiTexCoord2xOES v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoord2xOES #-}
-ptr_glMultiTexCoord2xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> IO ())
-ptr_glMultiTexCoord2xOES = unsafePerformIO $ getCommand "glMultiTexCoord2xOES"
-
--- glMultiTexCoord2xvOES -------------------------------------------------------
-
-glMultiTexCoord2xvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
-  -> m ()
-glMultiTexCoord2xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord2xvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord2xvOES #-}
-ptr_glMultiTexCoord2xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glMultiTexCoord2xvOES = unsafePerformIO $ getCommand "glMultiTexCoord2xvOES"
-
--- glMultiTexCoord3bOES --------------------------------------------------------
-
-glMultiTexCoord3bOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLbyte -- ^ @s@.
-  -> GLbyte -- ^ @t@.
-  -> GLbyte -- ^ @r@.
-  -> m ()
-glMultiTexCoord3bOES v1 v2 v3 v4 = liftIO $ dyn548 ptr_glMultiTexCoord3bOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3bOES #-}
-ptr_glMultiTexCoord3bOES :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glMultiTexCoord3bOES = unsafePerformIO $ getCommand "glMultiTexCoord3bOES"
-
--- glMultiTexCoord3bvOES -------------------------------------------------------
-
-glMultiTexCoord3bvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
-  -> m ()
-glMultiTexCoord3bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord3bvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3bvOES #-}
-ptr_glMultiTexCoord3bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
-ptr_glMultiTexCoord3bvOES = unsafePerformIO $ getCommand "glMultiTexCoord3bvOES"
-
--- glMultiTexCoord3d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3dv'.
-glMultiTexCoord3d
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> GLdouble -- ^ @r@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord3d v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMultiTexCoord3d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3d #-}
-ptr_glMultiTexCoord3d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMultiTexCoord3d = unsafePerformIO $ getCommand "glMultiTexCoord3d"
-
--- glMultiTexCoord3dARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord3dv'. This command is an alias for 'glMultiTexCoord3d'.
-glMultiTexCoord3dARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> GLdouble -- ^ @r@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord3dARB v1 v2 v3 v4 = liftIO $ dyn518 ptr_glMultiTexCoord3dARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3dARB #-}
-ptr_glMultiTexCoord3dARB :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMultiTexCoord3dARB = unsafePerformIO $ getCommand "glMultiTexCoord3dARB"
-
--- glMultiTexCoord3dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord3dv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glMultiTexCoord3dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord3dv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3dv #-}
-ptr_glMultiTexCoord3dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord3dv = unsafePerformIO $ getCommand "glMultiTexCoord3dv"
-
--- glMultiTexCoord3dvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord3dv'.
-glMultiTexCoord3dvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glMultiTexCoord3dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord3dvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3dvARB #-}
-ptr_glMultiTexCoord3dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord3dvARB = unsafePerformIO $ getCommand "glMultiTexCoord3dvARB"
-
--- glMultiTexCoord3f -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3fv'.
-glMultiTexCoord3f
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> GLfloat -- ^ @r@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord3f v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMultiTexCoord3f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3f #-}
-ptr_glMultiTexCoord3f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glMultiTexCoord3f = unsafePerformIO $ getCommand "glMultiTexCoord3f"
-
--- glMultiTexCoord3fARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord3fv'. This command is an alias for 'glMultiTexCoord3f'.
-glMultiTexCoord3fARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> GLfloat -- ^ @r@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord3fARB v1 v2 v3 v4 = liftIO $ dyn519 ptr_glMultiTexCoord3fARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3fARB #-}
-ptr_glMultiTexCoord3fARB :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glMultiTexCoord3fARB = unsafePerformIO $ getCommand "glMultiTexCoord3fARB"
-
--- glMultiTexCoord3fv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord3fv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glMultiTexCoord3fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord3fv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3fv #-}
-ptr_glMultiTexCoord3fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord3fv = unsafePerformIO $ getCommand "glMultiTexCoord3fv"
-
--- glMultiTexCoord3fvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord3fv'.
-glMultiTexCoord3fvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glMultiTexCoord3fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord3fvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3fvARB #-}
-ptr_glMultiTexCoord3fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord3fvARB = unsafePerformIO $ getCommand "glMultiTexCoord3fvARB"
-
--- glMultiTexCoord3hNV ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord3hvNV'.
-glMultiTexCoord3hNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
-  -> m ()
-glMultiTexCoord3hNV v1 v2 v3 v4 = liftIO $ dyn549 ptr_glMultiTexCoord3hNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3hNV #-}
-ptr_glMultiTexCoord3hNV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glMultiTexCoord3hNV = unsafePerformIO $ getCommand "glMultiTexCoord3hNV"
-
--- glMultiTexCoord3hvNV --------------------------------------------------------
-
-glMultiTexCoord3hvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
-  -> m ()
-glMultiTexCoord3hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord3hvNV v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3hvNV #-}
-ptr_glMultiTexCoord3hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
-ptr_glMultiTexCoord3hvNV = unsafePerformIO $ getCommand "glMultiTexCoord3hvNV"
-
--- glMultiTexCoord3i -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3iv'.
-glMultiTexCoord3i
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> GLint -- ^ @r@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord3i v1 v2 v3 v4 = liftIO $ dyn550 ptr_glMultiTexCoord3i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3i #-}
-ptr_glMultiTexCoord3i :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
-ptr_glMultiTexCoord3i = unsafePerformIO $ getCommand "glMultiTexCoord3i"
-
--- glMultiTexCoord3iARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord3iv'. This command is an alias for 'glMultiTexCoord3i'.
-glMultiTexCoord3iARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> GLint -- ^ @r@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord3iARB v1 v2 v3 v4 = liftIO $ dyn550 ptr_glMultiTexCoord3iARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3iARB #-}
-ptr_glMultiTexCoord3iARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
-ptr_glMultiTexCoord3iARB = unsafePerformIO $ getCommand "glMultiTexCoord3iARB"
-
--- glMultiTexCoord3iv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord3iv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glMultiTexCoord3iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord3iv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3iv #-}
-ptr_glMultiTexCoord3iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord3iv = unsafePerformIO $ getCommand "glMultiTexCoord3iv"
-
--- glMultiTexCoord3ivARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord3iv'.
-glMultiTexCoord3ivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glMultiTexCoord3ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord3ivARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3ivARB #-}
-ptr_glMultiTexCoord3ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord3ivARB = unsafePerformIO $ getCommand "glMultiTexCoord3ivARB"
-
--- glMultiTexCoord3s -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord3sv'.
-glMultiTexCoord3s
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> GLshort -- ^ @r@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord3s v1 v2 v3 v4 = liftIO $ dyn551 ptr_glMultiTexCoord3s v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3s #-}
-ptr_glMultiTexCoord3s :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glMultiTexCoord3s = unsafePerformIO $ getCommand "glMultiTexCoord3s"
-
--- glMultiTexCoord3sARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord3sv'. This command is an alias for 'glMultiTexCoord3s'.
-glMultiTexCoord3sARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> GLshort -- ^ @r@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord3sARB v1 v2 v3 v4 = liftIO $ dyn551 ptr_glMultiTexCoord3sARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3sARB #-}
-ptr_glMultiTexCoord3sARB :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glMultiTexCoord3sARB = unsafePerformIO $ getCommand "glMultiTexCoord3sARB"
-
--- glMultiTexCoord3sv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord3sv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord3sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord3sv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3sv #-}
-ptr_glMultiTexCoord3sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord3sv = unsafePerformIO $ getCommand "glMultiTexCoord3sv"
-
--- glMultiTexCoord3svARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord3sv'.
-glMultiTexCoord3svARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord3svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord3svARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3svARB #-}
-ptr_glMultiTexCoord3svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord3svARB = unsafePerformIO $ getCommand "glMultiTexCoord3svARB"
-
--- glMultiTexCoord3xOES --------------------------------------------------------
-
-glMultiTexCoord3xOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @r@.
-  -> m ()
-glMultiTexCoord3xOES v1 v2 v3 v4 = liftIO $ dyn552 ptr_glMultiTexCoord3xOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexCoord3xOES #-}
-ptr_glMultiTexCoord3xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glMultiTexCoord3xOES = unsafePerformIO $ getCommand "glMultiTexCoord3xOES"
-
--- glMultiTexCoord3xvOES -------------------------------------------------------
-
-glMultiTexCoord3xvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
-  -> m ()
-glMultiTexCoord3xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord3xvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord3xvOES #-}
-ptr_glMultiTexCoord3xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glMultiTexCoord3xvOES = unsafePerformIO $ getCommand "glMultiTexCoord3xvOES"
-
--- glMultiTexCoord4bOES --------------------------------------------------------
-
-glMultiTexCoord4bOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLbyte -- ^ @s@.
-  -> GLbyte -- ^ @t@.
-  -> GLbyte -- ^ @r@.
-  -> GLbyte -- ^ @q@.
-  -> m ()
-glMultiTexCoord4bOES v1 v2 v3 v4 v5 = liftIO $ dyn553 ptr_glMultiTexCoord4bOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4bOES #-}
-ptr_glMultiTexCoord4bOES :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glMultiTexCoord4bOES = unsafePerformIO $ getCommand "glMultiTexCoord4bOES"
-
--- glMultiTexCoord4bvOES -------------------------------------------------------
-
-glMultiTexCoord4bvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glMultiTexCoord4bvOES v1 v2 = liftIO $ dyn536 ptr_glMultiTexCoord4bvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4bvOES #-}
-ptr_glMultiTexCoord4bvOES :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
-ptr_glMultiTexCoord4bvOES = unsafePerformIO $ getCommand "glMultiTexCoord4bvOES"
-
--- glMultiTexCoord4d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4dv'.
-glMultiTexCoord4d
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> GLdouble -- ^ @r@ of type @CoordD@.
-  -> GLdouble -- ^ @q@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord4d v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glMultiTexCoord4d v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4d #-}
-ptr_glMultiTexCoord4d :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMultiTexCoord4d = unsafePerformIO $ getCommand "glMultiTexCoord4d"
-
--- glMultiTexCoord4dARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord4dv'. This command is an alias for 'glMultiTexCoord4d'.
-glMultiTexCoord4dARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> GLdouble -- ^ @r@ of type @CoordD@.
-  -> GLdouble -- ^ @q@ of type @CoordD@.
-  -> m ()
-glMultiTexCoord4dARB v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glMultiTexCoord4dARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4dARB #-}
-ptr_glMultiTexCoord4dARB :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glMultiTexCoord4dARB = unsafePerformIO $ getCommand "glMultiTexCoord4dARB"
-
--- glMultiTexCoord4dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord4dv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
-  -> m ()
-glMultiTexCoord4dv v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord4dv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4dv #-}
-ptr_glMultiTexCoord4dv :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord4dv = unsafePerformIO $ getCommand "glMultiTexCoord4dv"
-
--- glMultiTexCoord4dvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord4dv'.
-glMultiTexCoord4dvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
-  -> m ()
-glMultiTexCoord4dvARB v1 v2 = liftIO $ dyn92 ptr_glMultiTexCoord4dvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4dvARB #-}
-ptr_glMultiTexCoord4dvARB :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexCoord4dvARB = unsafePerformIO $ getCommand "glMultiTexCoord4dvARB"
-
--- glMultiTexCoord4f -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4fv'.
-glMultiTexCoord4f
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> GLfloat -- ^ @r@ of type @CoordF@.
-  -> GLfloat -- ^ @q@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord4f v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glMultiTexCoord4f v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4f #-}
-ptr_glMultiTexCoord4f :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glMultiTexCoord4f = unsafePerformIO $ getCommand "glMultiTexCoord4f"
-
--- glMultiTexCoord4fARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord4fv'. This command is an alias for 'glMultiTexCoord4f'.
-glMultiTexCoord4fARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> GLfloat -- ^ @r@ of type @CoordF@.
-  -> GLfloat -- ^ @q@ of type @CoordF@.
-  -> m ()
-glMultiTexCoord4fARB v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glMultiTexCoord4fARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4fARB #-}
-ptr_glMultiTexCoord4fARB :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glMultiTexCoord4fARB = unsafePerformIO $ getCommand "glMultiTexCoord4fARB"
-
--- glMultiTexCoord4fv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord4fv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
-  -> m ()
-glMultiTexCoord4fv v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord4fv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4fv #-}
-ptr_glMultiTexCoord4fv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord4fv = unsafePerformIO $ getCommand "glMultiTexCoord4fv"
-
--- glMultiTexCoord4fvARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord4fv'.
-glMultiTexCoord4fvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
-  -> m ()
-glMultiTexCoord4fvARB v1 v2 = liftIO $ dyn93 ptr_glMultiTexCoord4fvARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4fvARB #-}
-ptr_glMultiTexCoord4fvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexCoord4fvARB = unsafePerformIO $ getCommand "glMultiTexCoord4fvARB"
-
--- glMultiTexCoord4hNV ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord4hvNV'.
-glMultiTexCoord4hNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @q@ of type @Half16NV@.
-  -> m ()
-glMultiTexCoord4hNV v1 v2 v3 v4 v5 = liftIO $ dyn554 ptr_glMultiTexCoord4hNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4hNV #-}
-ptr_glMultiTexCoord4hNV :: FunPtr (GLenum -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glMultiTexCoord4hNV = unsafePerformIO $ getCommand "glMultiTexCoord4hNV"
-
--- glMultiTexCoord4hvNV --------------------------------------------------------
-
-glMultiTexCoord4hvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
-  -> m ()
-glMultiTexCoord4hvNV v1 v2 = liftIO $ dyn539 ptr_glMultiTexCoord4hvNV v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4hvNV #-}
-ptr_glMultiTexCoord4hvNV :: FunPtr (GLenum -> Ptr GLhalfNV -> IO ())
-ptr_glMultiTexCoord4hvNV = unsafePerformIO $ getCommand "glMultiTexCoord4hvNV"
-
--- glMultiTexCoord4i -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4iv'.
-glMultiTexCoord4i
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> GLint -- ^ @r@ of type @CoordI@.
-  -> GLint -- ^ @q@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord4i v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glMultiTexCoord4i v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4i #-}
-ptr_glMultiTexCoord4i :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glMultiTexCoord4i = unsafePerformIO $ getCommand "glMultiTexCoord4i"
-
--- glMultiTexCoord4iARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord4iv'. This command is an alias for 'glMultiTexCoord4i'.
-glMultiTexCoord4iARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> GLint -- ^ @r@ of type @CoordI@.
-  -> GLint -- ^ @q@ of type @CoordI@.
-  -> m ()
-glMultiTexCoord4iARB v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glMultiTexCoord4iARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4iARB #-}
-ptr_glMultiTexCoord4iARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glMultiTexCoord4iARB = unsafePerformIO $ getCommand "glMultiTexCoord4iARB"
-
--- glMultiTexCoord4iv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord4iv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
-  -> m ()
-glMultiTexCoord4iv v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord4iv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4iv #-}
-ptr_glMultiTexCoord4iv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord4iv = unsafePerformIO $ getCommand "glMultiTexCoord4iv"
-
--- glMultiTexCoord4ivARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord4iv'.
-glMultiTexCoord4ivARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
-  -> m ()
-glMultiTexCoord4ivARB v1 v2 = liftIO $ dyn135 ptr_glMultiTexCoord4ivARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4ivARB #-}
-ptr_glMultiTexCoord4ivARB :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexCoord4ivARB = unsafePerformIO $ getCommand "glMultiTexCoord4ivARB"
-
--- glMultiTexCoord4s -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glMultiTexCoord4sv'.
-glMultiTexCoord4s
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> GLshort -- ^ @r@ of type @CoordS@.
-  -> GLshort -- ^ @q@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord4s v1 v2 v3 v4 v5 = liftIO $ dyn555 ptr_glMultiTexCoord4s v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4s #-}
-ptr_glMultiTexCoord4s :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glMultiTexCoord4s = unsafePerformIO $ getCommand "glMultiTexCoord4s"
-
--- glMultiTexCoord4sARB --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexCoord4sv'. This command is an alias for 'glMultiTexCoord4s'.
-glMultiTexCoord4sARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> GLshort -- ^ @r@ of type @CoordS@.
-  -> GLshort -- ^ @q@ of type @CoordS@.
-  -> m ()
-glMultiTexCoord4sARB v1 v2 v3 v4 v5 = liftIO $ dyn555 ptr_glMultiTexCoord4sARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4sARB #-}
-ptr_glMultiTexCoord4sARB :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glMultiTexCoord4sARB = unsafePerformIO $ getCommand "glMultiTexCoord4sARB"
-
--- glMultiTexCoord4sv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glMultiTexCoord.xml OpenGL 2.x>.
-glMultiTexCoord4sv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord4sv v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord4sv v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4sv #-}
-ptr_glMultiTexCoord4sv :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord4sv = unsafePerformIO $ getCommand "glMultiTexCoord4sv"
-
--- glMultiTexCoord4svARB -------------------------------------------------------
-
--- | This command is an alias for 'glMultiTexCoord4sv'.
-glMultiTexCoord4svARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @TextureUnit@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glMultiTexCoord4svARB v1 v2 = liftIO $ dyn541 ptr_glMultiTexCoord4svARB v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4svARB #-}
-ptr_glMultiTexCoord4svARB :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glMultiTexCoord4svARB = unsafePerformIO $ getCommand "glMultiTexCoord4svARB"
-
--- glMultiTexCoord4x -----------------------------------------------------------
-
-glMultiTexCoord4x
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @q@.
-  -> m ()
-glMultiTexCoord4x v1 v2 v3 v4 v5 = liftIO $ dyn556 ptr_glMultiTexCoord4x v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4x #-}
-ptr_glMultiTexCoord4x :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glMultiTexCoord4x = unsafePerformIO $ getCommand "glMultiTexCoord4x"
-
--- glMultiTexCoord4xOES --------------------------------------------------------
-
-glMultiTexCoord4xOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @q@.
-  -> m ()
-glMultiTexCoord4xOES v1 v2 v3 v4 v5 = liftIO $ dyn556 ptr_glMultiTexCoord4xOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoord4xOES #-}
-ptr_glMultiTexCoord4xOES :: FunPtr (GLenum -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glMultiTexCoord4xOES = unsafePerformIO $ getCommand "glMultiTexCoord4xOES"
-
--- glMultiTexCoord4xvOES -------------------------------------------------------
-
-glMultiTexCoord4xvOES
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glMultiTexCoord4xvOES v1 v2 = liftIO $ dyn94 ptr_glMultiTexCoord4xvOES v1 v2
-
-{-# NOINLINE ptr_glMultiTexCoord4xvOES #-}
-ptr_glMultiTexCoord4xvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glMultiTexCoord4xvOES = unsafePerformIO $ getCommand "glMultiTexCoord4xvOES"
-
--- glMultiTexCoordP1ui ---------------------------------------------------------
-
-glMultiTexCoordP1ui
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glMultiTexCoordP1ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP1ui v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP1ui #-}
-ptr_glMultiTexCoordP1ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glMultiTexCoordP1ui = unsafePerformIO $ getCommand "glMultiTexCoordP1ui"
-
--- glMultiTexCoordP1uiv --------------------------------------------------------
-
-glMultiTexCoordP1uiv
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glMultiTexCoordP1uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP1uiv v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP1uiv #-}
-ptr_glMultiTexCoordP1uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glMultiTexCoordP1uiv = unsafePerformIO $ getCommand "glMultiTexCoordP1uiv"
-
--- glMultiTexCoordP2ui ---------------------------------------------------------
-
-glMultiTexCoordP2ui
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glMultiTexCoordP2ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP2ui v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP2ui #-}
-ptr_glMultiTexCoordP2ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glMultiTexCoordP2ui = unsafePerformIO $ getCommand "glMultiTexCoordP2ui"
-
--- glMultiTexCoordP2uiv --------------------------------------------------------
-
-glMultiTexCoordP2uiv
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glMultiTexCoordP2uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP2uiv v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP2uiv #-}
-ptr_glMultiTexCoordP2uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glMultiTexCoordP2uiv = unsafePerformIO $ getCommand "glMultiTexCoordP2uiv"
-
--- glMultiTexCoordP3ui ---------------------------------------------------------
-
-glMultiTexCoordP3ui
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glMultiTexCoordP3ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP3ui v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP3ui #-}
-ptr_glMultiTexCoordP3ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glMultiTexCoordP3ui = unsafePerformIO $ getCommand "glMultiTexCoordP3ui"
-
--- glMultiTexCoordP3uiv --------------------------------------------------------
-
-glMultiTexCoordP3uiv
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glMultiTexCoordP3uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP3uiv v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP3uiv #-}
-ptr_glMultiTexCoordP3uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glMultiTexCoordP3uiv = unsafePerformIO $ getCommand "glMultiTexCoordP3uiv"
-
--- glMultiTexCoordP4ui ---------------------------------------------------------
-
-glMultiTexCoordP4ui
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glMultiTexCoordP4ui v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexCoordP4ui v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP4ui #-}
-ptr_glMultiTexCoordP4ui :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glMultiTexCoordP4ui = unsafePerformIO $ getCommand "glMultiTexCoordP4ui"
-
--- glMultiTexCoordP4uiv --------------------------------------------------------
-
-glMultiTexCoordP4uiv
-  :: MonadIO m
-  => GLenum -- ^ @texture@.
-  -> GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glMultiTexCoordP4uiv v1 v2 v3 = liftIO $ dyn409 ptr_glMultiTexCoordP4uiv v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexCoordP4uiv #-}
-ptr_glMultiTexCoordP4uiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glMultiTexCoordP4uiv = unsafePerformIO $ getCommand "glMultiTexCoordP4uiv"
-
--- glMultiTexCoordPointerEXT ---------------------------------------------------
-
-glMultiTexCoordPointerEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#TexCoordPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glMultiTexCoordPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn557 ptr_glMultiTexCoordPointerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glMultiTexCoordPointerEXT #-}
-ptr_glMultiTexCoordPointerEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glMultiTexCoordPointerEXT = unsafePerformIO $ getCommand "glMultiTexCoordPointerEXT"
-
--- glMultiTexEnvfEXT -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexEnvfvEXT'.
-glMultiTexEnvfEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glMultiTexEnvfEXT v1 v2 v3 v4 = liftIO $ dyn558 ptr_glMultiTexEnvfEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexEnvfEXT #-}
-ptr_glMultiTexEnvfEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glMultiTexEnvfEXT = unsafePerformIO $ getCommand "glMultiTexEnvfEXT"
-
--- glMultiTexEnvfvEXT ----------------------------------------------------------
-
-glMultiTexEnvfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glMultiTexEnvfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glMultiTexEnvfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexEnvfvEXT #-}
-ptr_glMultiTexEnvfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexEnvfvEXT = unsafePerformIO $ getCommand "glMultiTexEnvfvEXT"
-
--- glMultiTexEnviEXT -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexEnvivEXT'.
-glMultiTexEnviEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glMultiTexEnviEXT v1 v2 v3 v4 = liftIO $ dyn559 ptr_glMultiTexEnviEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexEnviEXT #-}
-ptr_glMultiTexEnviEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
-ptr_glMultiTexEnviEXT = unsafePerformIO $ getCommand "glMultiTexEnviEXT"
-
--- glMultiTexEnvivEXT ----------------------------------------------------------
-
-glMultiTexEnvivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glMultiTexEnvivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexEnvivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexEnvivEXT #-}
-ptr_glMultiTexEnvivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexEnvivEXT = unsafePerformIO $ getCommand "glMultiTexEnvivEXT"
-
--- glMultiTexGendEXT -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexGendvEXT'.
-glMultiTexGendEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> GLdouble -- ^ @param@.
-  -> m ()
-glMultiTexGendEXT v1 v2 v3 v4 = liftIO $ dyn560 ptr_glMultiTexGendEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexGendEXT #-}
-ptr_glMultiTexGendEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLdouble -> IO ())
-ptr_glMultiTexGendEXT = unsafePerformIO $ getCommand "glMultiTexGendEXT"
-
--- glMultiTexGendvEXT ----------------------------------------------------------
-
-glMultiTexGendvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glMultiTexGendvEXT v1 v2 v3 v4 = liftIO $ dyn350 ptr_glMultiTexGendvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexGendvEXT #-}
-ptr_glMultiTexGendvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glMultiTexGendvEXT = unsafePerformIO $ getCommand "glMultiTexGendvEXT"
-
--- glMultiTexGenfEXT -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexGenfvEXT'.
-glMultiTexGenfEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glMultiTexGenfEXT v1 v2 v3 v4 = liftIO $ dyn558 ptr_glMultiTexGenfEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexGenfEXT #-}
-ptr_glMultiTexGenfEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glMultiTexGenfEXT = unsafePerformIO $ getCommand "glMultiTexGenfEXT"
-
--- glMultiTexGenfvEXT ----------------------------------------------------------
-
-glMultiTexGenfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glMultiTexGenfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glMultiTexGenfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexGenfvEXT #-}
-ptr_glMultiTexGenfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexGenfvEXT = unsafePerformIO $ getCommand "glMultiTexGenfvEXT"
-
--- glMultiTexGeniEXT -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexGenivEXT'.
-glMultiTexGeniEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glMultiTexGeniEXT v1 v2 v3 v4 = liftIO $ dyn559 ptr_glMultiTexGeniEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexGeniEXT #-}
-ptr_glMultiTexGeniEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
-ptr_glMultiTexGeniEXT = unsafePerformIO $ getCommand "glMultiTexGeniEXT"
-
--- glMultiTexGenivEXT ----------------------------------------------------------
-
-glMultiTexGenivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glMultiTexGenivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexGenivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexGenivEXT #-}
-ptr_glMultiTexGenivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexGenivEXT = unsafePerformIO $ getCommand "glMultiTexGenivEXT"
-
--- glMultiTexImage1DEXT --------------------------------------------------------
-
-glMultiTexImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn561 ptr_glMultiTexImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glMultiTexImage1DEXT #-}
-ptr_glMultiTexImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glMultiTexImage1DEXT = unsafePerformIO $ getCommand "glMultiTexImage1DEXT"
-
--- glMultiTexImage2DEXT --------------------------------------------------------
-
-glMultiTexImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn562 ptr_glMultiTexImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glMultiTexImage2DEXT #-}
-ptr_glMultiTexImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glMultiTexImage2DEXT = unsafePerformIO $ getCommand "glMultiTexImage2DEXT"
-
--- glMultiTexImage3DEXT --------------------------------------------------------
-
-glMultiTexImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn563 ptr_glMultiTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glMultiTexImage3DEXT #-}
-ptr_glMultiTexImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glMultiTexImage3DEXT = unsafePerformIO $ getCommand "glMultiTexImage3DEXT"
-
--- glMultiTexParameterIivEXT ---------------------------------------------------
-
-glMultiTexParameterIivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glMultiTexParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexParameterIivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexParameterIivEXT #-}
-ptr_glMultiTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexParameterIivEXT = unsafePerformIO $ getCommand "glMultiTexParameterIivEXT"
-
--- glMultiTexParameterIuivEXT --------------------------------------------------
-
-glMultiTexParameterIuivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glMultiTexParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn354 ptr_glMultiTexParameterIuivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexParameterIuivEXT #-}
-ptr_glMultiTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glMultiTexParameterIuivEXT = unsafePerformIO $ getCommand "glMultiTexParameterIuivEXT"
-
--- glMultiTexParameterfEXT -----------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexParameterfvEXT'.
-glMultiTexParameterfEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glMultiTexParameterfEXT v1 v2 v3 v4 = liftIO $ dyn558 ptr_glMultiTexParameterfEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexParameterfEXT #-}
-ptr_glMultiTexParameterfEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glMultiTexParameterfEXT = unsafePerformIO $ getCommand "glMultiTexParameterfEXT"
-
--- glMultiTexParameterfvEXT ----------------------------------------------------
-
-glMultiTexParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glMultiTexParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn317 ptr_glMultiTexParameterfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexParameterfvEXT #-}
-ptr_glMultiTexParameterfvEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glMultiTexParameterfvEXT = unsafePerformIO $ getCommand "glMultiTexParameterfvEXT"
-
--- glMultiTexParameteriEXT -----------------------------------------------------
-
--- | The vector equivalent of this command is 'glMultiTexParameterivEXT'.
-glMultiTexParameteriEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glMultiTexParameteriEXT v1 v2 v3 v4 = liftIO $ dyn559 ptr_glMultiTexParameteriEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexParameteriEXT #-}
-ptr_glMultiTexParameteriEXT :: FunPtr (GLenum -> GLenum -> GLenum -> GLint -> IO ())
-ptr_glMultiTexParameteriEXT = unsafePerformIO $ getCommand "glMultiTexParameteriEXT"
-
--- glMultiTexParameterivEXT ----------------------------------------------------
-
-glMultiTexParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glMultiTexParameterivEXT v1 v2 v3 v4 = liftIO $ dyn318 ptr_glMultiTexParameterivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glMultiTexParameterivEXT #-}
-ptr_glMultiTexParameterivEXT :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glMultiTexParameterivEXT = unsafePerformIO $ getCommand "glMultiTexParameterivEXT"
-
--- glMultiTexRenderbufferEXT ---------------------------------------------------
-
-glMultiTexRenderbufferEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glMultiTexRenderbufferEXT v1 v2 v3 = liftIO $ dyn29 ptr_glMultiTexRenderbufferEXT v1 v2 v3
-
-{-# NOINLINE ptr_glMultiTexRenderbufferEXT #-}
-ptr_glMultiTexRenderbufferEXT :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glMultiTexRenderbufferEXT = unsafePerformIO $ getCommand "glMultiTexRenderbufferEXT"
-
--- glMultiTexSubImage1DEXT -----------------------------------------------------
-
-glMultiTexSubImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn564 ptr_glMultiTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glMultiTexSubImage1DEXT #-}
-ptr_glMultiTexSubImage1DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glMultiTexSubImage1DEXT = unsafePerformIO $ getCommand "glMultiTexSubImage1DEXT"
-
--- glMultiTexSubImage2DEXT -----------------------------------------------------
-
-glMultiTexSubImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn565 ptr_glMultiTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glMultiTexSubImage2DEXT #-}
-ptr_glMultiTexSubImage2DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glMultiTexSubImage2DEXT = unsafePerformIO $ getCommand "glMultiTexSubImage2DEXT"
-
--- glMultiTexSubImage3DEXT -----------------------------------------------------
-
-glMultiTexSubImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @texunit@ of type @TextureUnit@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn566 ptr_glMultiTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glMultiTexSubImage3DEXT #-}
-ptr_glMultiTexSubImage3DEXT :: FunPtr (GLenum -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glMultiTexSubImage3DEXT = unsafePerformIO $ getCommand "glMultiTexSubImage3DEXT"
-
--- glNamedBufferData -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferData.xhtml OpenGL 4.x>.
-glNamedBufferData
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@.
-  -> GLenum -- ^ @usage@.
-  -> m ()
-glNamedBufferData v1 v2 v3 v4 = liftIO $ dyn567 ptr_glNamedBufferData v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferData #-}
-ptr_glNamedBufferData :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-ptr_glNamedBufferData = unsafePerformIO $ getCommand "glNamedBufferData"
-
--- glNamedBufferDataEXT --------------------------------------------------------
-
-glNamedBufferDataEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLsizeiptr -- ^ @size@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
-  -> GLenum -- ^ @usage@ of type @VertexBufferObjectUsage@.
-  -> m ()
-glNamedBufferDataEXT v1 v2 v3 v4 = liftIO $ dyn567 ptr_glNamedBufferDataEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferDataEXT #-}
-ptr_glNamedBufferDataEXT :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLenum -> IO ())
-ptr_glNamedBufferDataEXT = unsafePerformIO $ getCommand "glNamedBufferDataEXT"
-
--- glNamedBufferPageCommitmentARB ----------------------------------------------
-
-glNamedBufferPageCommitmentARB
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@.
-  -> GLboolean -- ^ @commit@.
-  -> m ()
-glNamedBufferPageCommitmentARB v1 v2 v3 v4 = liftIO $ dyn568 ptr_glNamedBufferPageCommitmentARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferPageCommitmentARB #-}
-ptr_glNamedBufferPageCommitmentARB :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
-ptr_glNamedBufferPageCommitmentARB = unsafePerformIO $ getCommand "glNamedBufferPageCommitmentARB"
-
--- glNamedBufferPageCommitmentEXT ----------------------------------------------
-
-glNamedBufferPageCommitmentEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@.
-  -> GLboolean -- ^ @commit@.
-  -> m ()
-glNamedBufferPageCommitmentEXT v1 v2 v3 v4 = liftIO $ dyn568 ptr_glNamedBufferPageCommitmentEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferPageCommitmentEXT #-}
-ptr_glNamedBufferPageCommitmentEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> GLboolean -> IO ())
-ptr_glNamedBufferPageCommitmentEXT = unsafePerformIO $ getCommand "glNamedBufferPageCommitmentEXT"
-
--- glNamedBufferStorage --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferStorage.xhtml OpenGL 4.x>.
-glNamedBufferStorage
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
-  -> m ()
-glNamedBufferStorage v1 v2 v3 v4 = liftIO $ dyn569 ptr_glNamedBufferStorage v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferStorage #-}
-ptr_glNamedBufferStorage :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-ptr_glNamedBufferStorage = unsafePerformIO $ getCommand "glNamedBufferStorage"
-
--- glNamedBufferStorageEXT -----------------------------------------------------
-
--- | This command is an alias for 'glNamedBufferStorage'.
-glNamedBufferStorageEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@ pointing to @size@ elements of type @a@.
-  -> GLbitfield -- ^ @flags@.
-  -> m ()
-glNamedBufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn569 ptr_glNamedBufferStorageEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferStorageEXT #-}
-ptr_glNamedBufferStorageEXT :: FunPtr (GLuint -> GLsizeiptr -> Ptr a -> GLbitfield -> IO ())
-ptr_glNamedBufferStorageEXT = unsafePerformIO $ getCommand "glNamedBufferStorageEXT"
-
--- glNamedBufferSubData --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBufferSubData.xhtml OpenGL 4.x>.
-glNamedBufferSubData
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
-  -> m ()
-glNamedBufferSubData v1 v2 v3 v4 = liftIO $ dyn358 ptr_glNamedBufferSubData v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferSubData #-}
-ptr_glNamedBufferSubData :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-ptr_glNamedBufferSubData = unsafePerformIO $ getCommand "glNamedBufferSubData"
-
--- glNamedBufferSubDataEXT -----------------------------------------------------
-
--- | This command is an alias for 'glNamedBufferSubData'.
-glNamedBufferSubDataEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> Ptr a -- ^ @data@ pointing to @COMPSIZE(size)@ elements of type @a@.
-  -> m ()
-glNamedBufferSubDataEXT v1 v2 v3 v4 = liftIO $ dyn358 ptr_glNamedBufferSubDataEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedBufferSubDataEXT #-}
-ptr_glNamedBufferSubDataEXT :: FunPtr (GLuint -> GLintptr -> GLsizeiptr -> Ptr a -> IO ())
-ptr_glNamedBufferSubDataEXT = unsafePerformIO $ getCommand "glNamedBufferSubDataEXT"
-
--- glNamedCopyBufferSubDataEXT -------------------------------------------------
-
-glNamedCopyBufferSubDataEXT
-  :: MonadIO m
-  => GLuint -- ^ @readBuffer@.
-  -> GLuint -- ^ @writeBuffer@.
-  -> GLintptr -- ^ @readOffset@.
-  -> GLintptr -- ^ @writeOffset@.
-  -> GLsizeiptr -- ^ @size@.
-  -> m ()
-glNamedCopyBufferSubDataEXT v1 v2 v3 v4 v5 = liftIO $ dyn173 ptr_glNamedCopyBufferSubDataEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedCopyBufferSubDataEXT #-}
-ptr_glNamedCopyBufferSubDataEXT :: FunPtr (GLuint -> GLuint -> GLintptr -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glNamedCopyBufferSubDataEXT = unsafePerformIO $ getCommand "glNamedCopyBufferSubDataEXT"
-
--- glNamedFramebufferDrawBuffer ------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffer.xhtml OpenGL 4.x>.
-glNamedFramebufferDrawBuffer
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @buf@.
-  -> m ()
-glNamedFramebufferDrawBuffer v1 v2 = liftIO $ dyn15 ptr_glNamedFramebufferDrawBuffer v1 v2
-
-{-# NOINLINE ptr_glNamedFramebufferDrawBuffer #-}
-ptr_glNamedFramebufferDrawBuffer :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glNamedFramebufferDrawBuffer = unsafePerformIO $ getCommand "glNamedFramebufferDrawBuffer"
-
--- glNamedFramebufferDrawBuffers -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glDrawBuffers.xhtml OpenGL 4.x>.
-glNamedFramebufferDrawBuffers
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLenum -- ^ @bufs@.
-  -> m ()
-glNamedFramebufferDrawBuffers v1 v2 v3 = liftIO $ dyn281 ptr_glNamedFramebufferDrawBuffers v1 v2 v3
-
-{-# NOINLINE ptr_glNamedFramebufferDrawBuffers #-}
-ptr_glNamedFramebufferDrawBuffers :: FunPtr (GLuint -> GLsizei -> Ptr GLenum -> IO ())
-ptr_glNamedFramebufferDrawBuffers = unsafePerformIO $ getCommand "glNamedFramebufferDrawBuffers"
-
--- glNamedFramebufferParameteri ------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferParameteri.xhtml OpenGL 4.x>.
-glNamedFramebufferParameteri
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glNamedFramebufferParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glNamedFramebufferParameteri v1 v2 v3
-
-{-# NOINLINE ptr_glNamedFramebufferParameteri #-}
-ptr_glNamedFramebufferParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glNamedFramebufferParameteri = unsafePerformIO $ getCommand "glNamedFramebufferParameteri"
-
--- glNamedFramebufferParameteriEXT ---------------------------------------------
-
-glNamedFramebufferParameteriEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @pname@ of type @FramebufferParameterName@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glNamedFramebufferParameteriEXT v1 v2 v3 = liftIO $ dyn484 ptr_glNamedFramebufferParameteriEXT v1 v2 v3
-
-{-# NOINLINE ptr_glNamedFramebufferParameteriEXT #-}
-ptr_glNamedFramebufferParameteriEXT :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glNamedFramebufferParameteriEXT = unsafePerformIO $ getCommand "glNamedFramebufferParameteriEXT"
-
--- glNamedFramebufferReadBuffer ------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glReadBuffer.xhtml OpenGL 4.x>.
-glNamedFramebufferReadBuffer
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @src@.
-  -> m ()
-glNamedFramebufferReadBuffer v1 v2 = liftIO $ dyn15 ptr_glNamedFramebufferReadBuffer v1 v2
-
-{-# NOINLINE ptr_glNamedFramebufferReadBuffer #-}
-ptr_glNamedFramebufferReadBuffer :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glNamedFramebufferReadBuffer = unsafePerformIO $ getCommand "glNamedFramebufferReadBuffer"
-
--- glNamedFramebufferRenderbuffer ----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferRenderbuffer.xhtml OpenGL 4.x>.
-glNamedFramebufferRenderbuffer
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
-  -> GLenum -- ^ @renderbuffertarget@.
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glNamedFramebufferRenderbuffer v1 v2 v3 v4 = liftIO $ dyn570 ptr_glNamedFramebufferRenderbuffer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedFramebufferRenderbuffer #-}
-ptr_glNamedFramebufferRenderbuffer :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glNamedFramebufferRenderbuffer = unsafePerformIO $ getCommand "glNamedFramebufferRenderbuffer"
-
--- glNamedFramebufferRenderbufferEXT -------------------------------------------
-
-glNamedFramebufferRenderbufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @renderbuffertarget@ of type @RenderbufferTarget@.
-  -> GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
-  -> m ()
-glNamedFramebufferRenderbufferEXT v1 v2 v3 v4 = liftIO $ dyn570 ptr_glNamedFramebufferRenderbufferEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedFramebufferRenderbufferEXT #-}
-ptr_glNamedFramebufferRenderbufferEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glNamedFramebufferRenderbufferEXT = unsafePerformIO $ getCommand "glNamedFramebufferRenderbufferEXT"
-
--- glNamedFramebufferSampleLocationsfvARB --------------------------------------
-
-glNamedFramebufferSampleLocationsfvARB
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLuint -- ^ @start@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glNamedFramebufferSampleLocationsfvARB v1 v2 v3 v4 = liftIO $ dyn571 ptr_glNamedFramebufferSampleLocationsfvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedFramebufferSampleLocationsfvARB #-}
-ptr_glNamedFramebufferSampleLocationsfvARB :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glNamedFramebufferSampleLocationsfvARB = unsafePerformIO $ getCommand "glNamedFramebufferSampleLocationsfvARB"
-
--- glNamedFramebufferSampleLocationsfvNV ---------------------------------------
-
-glNamedFramebufferSampleLocationsfvNV
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLuint -- ^ @start@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@.
-  -> m ()
-glNamedFramebufferSampleLocationsfvNV v1 v2 v3 v4 = liftIO $ dyn571 ptr_glNamedFramebufferSampleLocationsfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedFramebufferSampleLocationsfvNV #-}
-ptr_glNamedFramebufferSampleLocationsfvNV :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glNamedFramebufferSampleLocationsfvNV = unsafePerformIO $ getCommand "glNamedFramebufferSampleLocationsfvNV"
-
--- glNamedFramebufferTexture ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTexture.xhtml OpenGL 4.x>.
-glNamedFramebufferTexture
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glNamedFramebufferTexture v1 v2 v3 v4 = liftIO $ dyn572 ptr_glNamedFramebufferTexture v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedFramebufferTexture #-}
-ptr_glNamedFramebufferTexture :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glNamedFramebufferTexture = unsafePerformIO $ getCommand "glNamedFramebufferTexture"
-
--- glNamedFramebufferTexture1DEXT ----------------------------------------------
-
-glNamedFramebufferTexture1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> m ()
-glNamedFramebufferTexture1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn573 ptr_glNamedFramebufferTexture1DEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedFramebufferTexture1DEXT #-}
-ptr_glNamedFramebufferTexture1DEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glNamedFramebufferTexture1DEXT = unsafePerformIO $ getCommand "glNamedFramebufferTexture1DEXT"
-
--- glNamedFramebufferTexture2DEXT ----------------------------------------------
-
-glNamedFramebufferTexture2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> m ()
-glNamedFramebufferTexture2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn573 ptr_glNamedFramebufferTexture2DEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedFramebufferTexture2DEXT #-}
-ptr_glNamedFramebufferTexture2DEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glNamedFramebufferTexture2DEXT = unsafePerformIO $ getCommand "glNamedFramebufferTexture2DEXT"
-
--- glNamedFramebufferTexture3DEXT ----------------------------------------------
-
-glNamedFramebufferTexture3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLenum -- ^ @textarget@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> m ()
-glNamedFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn574 ptr_glNamedFramebufferTexture3DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glNamedFramebufferTexture3DEXT #-}
-ptr_glNamedFramebufferTexture3DEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glNamedFramebufferTexture3DEXT = unsafePerformIO $ getCommand "glNamedFramebufferTexture3DEXT"
-
--- glNamedFramebufferTextureEXT ------------------------------------------------
-
-glNamedFramebufferTextureEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> m ()
-glNamedFramebufferTextureEXT v1 v2 v3 v4 = liftIO $ dyn572 ptr_glNamedFramebufferTextureEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedFramebufferTextureEXT #-}
-ptr_glNamedFramebufferTextureEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> IO ())
-ptr_glNamedFramebufferTextureEXT = unsafePerformIO $ getCommand "glNamedFramebufferTextureEXT"
-
--- glNamedFramebufferTextureFaceEXT --------------------------------------------
-
-glNamedFramebufferTextureFaceEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @face@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> m ()
-glNamedFramebufferTextureFaceEXT v1 v2 v3 v4 v5 = liftIO $ dyn575 ptr_glNamedFramebufferTextureFaceEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedFramebufferTextureFaceEXT #-}
-ptr_glNamedFramebufferTextureFaceEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLenum -> IO ())
-ptr_glNamedFramebufferTextureFaceEXT = unsafePerformIO $ getCommand "glNamedFramebufferTextureFaceEXT"
-
--- glNamedFramebufferTextureLayer ----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glFramebufferTextureLayer.xhtml OpenGL 4.x>.
-glNamedFramebufferTextureLayer
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@.
-  -> GLenum -- ^ @attachment@.
-  -> GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @layer@.
-  -> m ()
-glNamedFramebufferTextureLayer v1 v2 v3 v4 v5 = liftIO $ dyn576 ptr_glNamedFramebufferTextureLayer v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedFramebufferTextureLayer #-}
-ptr_glNamedFramebufferTextureLayer :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glNamedFramebufferTextureLayer = unsafePerformIO $ getCommand "glNamedFramebufferTextureLayer"
-
--- glNamedFramebufferTextureLayerEXT -------------------------------------------
-
-glNamedFramebufferTextureLayerEXT
-  :: MonadIO m
-  => GLuint -- ^ @framebuffer@ of type @Framebuffer@.
-  -> GLenum -- ^ @attachment@ of type @FramebufferAttachment@.
-  -> GLuint -- ^ @texture@ of type @Texture@.
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @layer@ of type @CheckedInt32@.
-  -> m ()
-glNamedFramebufferTextureLayerEXT v1 v2 v3 v4 v5 = liftIO $ dyn576 ptr_glNamedFramebufferTextureLayerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedFramebufferTextureLayerEXT #-}
-ptr_glNamedFramebufferTextureLayerEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> IO ())
-ptr_glNamedFramebufferTextureLayerEXT = unsafePerformIO $ getCommand "glNamedFramebufferTextureLayerEXT"
-
--- glNamedProgramLocalParameter4dEXT -------------------------------------------
-
--- | The vector equivalent of this command is 'glNamedProgramLocalParameter4dvEXT'.
-glNamedProgramLocalParameter4dEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glNamedProgramLocalParameter4dEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn577 ptr_glNamedProgramLocalParameter4dEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glNamedProgramLocalParameter4dEXT #-}
-ptr_glNamedProgramLocalParameter4dEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glNamedProgramLocalParameter4dEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4dEXT"
-
--- glNamedProgramLocalParameter4dvEXT ------------------------------------------
-
-glNamedProgramLocalParameter4dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4 = liftIO $ dyn362 ptr_glNamedProgramLocalParameter4dvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedProgramLocalParameter4dvEXT #-}
-ptr_glNamedProgramLocalParameter4dvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glNamedProgramLocalParameter4dvEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4dvEXT"
-
--- glNamedProgramLocalParameter4fEXT -------------------------------------------
-
--- | The vector equivalent of this command is 'glNamedProgramLocalParameter4fvEXT'.
-glNamedProgramLocalParameter4fEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glNamedProgramLocalParameter4fEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn578 ptr_glNamedProgramLocalParameter4fEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glNamedProgramLocalParameter4fEXT #-}
-ptr_glNamedProgramLocalParameter4fEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glNamedProgramLocalParameter4fEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4fEXT"
-
--- glNamedProgramLocalParameter4fvEXT ------------------------------------------
-
-glNamedProgramLocalParameter4fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4 = liftIO $ dyn363 ptr_glNamedProgramLocalParameter4fvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedProgramLocalParameter4fvEXT #-}
-ptr_glNamedProgramLocalParameter4fvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glNamedProgramLocalParameter4fvEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameter4fvEXT"
-
--- glNamedProgramLocalParameterI4iEXT ------------------------------------------
-
--- | The vector equivalent of this command is 'glNamedProgramLocalParameterI4ivEXT'.
-glNamedProgramLocalParameterI4iEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glNamedProgramLocalParameterI4iEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn579 ptr_glNamedProgramLocalParameterI4iEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glNamedProgramLocalParameterI4iEXT #-}
-ptr_glNamedProgramLocalParameterI4iEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glNamedProgramLocalParameterI4iEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4iEXT"
-
--- glNamedProgramLocalParameterI4ivEXT -----------------------------------------
-
-glNamedProgramLocalParameterI4ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4 = liftIO $ dyn360 ptr_glNamedProgramLocalParameterI4ivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedProgramLocalParameterI4ivEXT #-}
-ptr_glNamedProgramLocalParameterI4ivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glNamedProgramLocalParameterI4ivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4ivEXT"
-
--- glNamedProgramLocalParameterI4uiEXT -----------------------------------------
-
--- | The vector equivalent of this command is 'glNamedProgramLocalParameterI4uivEXT'.
-glNamedProgramLocalParameterI4uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> GLuint -- ^ @w@.
-  -> m ()
-glNamedProgramLocalParameterI4uiEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn580 ptr_glNamedProgramLocalParameterI4uiEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glNamedProgramLocalParameterI4uiEXT #-}
-ptr_glNamedProgramLocalParameterI4uiEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glNamedProgramLocalParameterI4uiEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4uiEXT"
-
--- glNamedProgramLocalParameterI4uivEXT ----------------------------------------
-
-glNamedProgramLocalParameterI4uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4 = liftIO $ dyn361 ptr_glNamedProgramLocalParameterI4uivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedProgramLocalParameterI4uivEXT #-}
-ptr_glNamedProgramLocalParameterI4uivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glNamedProgramLocalParameterI4uivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameterI4uivEXT"
-
--- glNamedProgramLocalParameters4fvEXT -----------------------------------------
-
-glNamedProgramLocalParameters4fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glNamedProgramLocalParameters4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn581 ptr_glNamedProgramLocalParameters4fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedProgramLocalParameters4fvEXT #-}
-ptr_glNamedProgramLocalParameters4fvEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glNamedProgramLocalParameters4fvEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParameters4fvEXT"
-
--- glNamedProgramLocalParametersI4ivEXT ----------------------------------------
-
-glNamedProgramLocalParametersI4ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @params@ pointing to @count*4@ elements of type @GLint@.
-  -> m ()
-glNamedProgramLocalParametersI4ivEXT v1 v2 v3 v4 v5 = liftIO $ dyn582 ptr_glNamedProgramLocalParametersI4ivEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedProgramLocalParametersI4ivEXT #-}
-ptr_glNamedProgramLocalParametersI4ivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glNamedProgramLocalParametersI4ivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParametersI4ivEXT"
-
--- glNamedProgramLocalParametersI4uivEXT ---------------------------------------
-
-glNamedProgramLocalParametersI4uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @params@ pointing to @count*4@ elements of type @GLuint@.
-  -> m ()
-glNamedProgramLocalParametersI4uivEXT v1 v2 v3 v4 v5 = liftIO $ dyn583 ptr_glNamedProgramLocalParametersI4uivEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedProgramLocalParametersI4uivEXT #-}
-ptr_glNamedProgramLocalParametersI4uivEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glNamedProgramLocalParametersI4uivEXT = unsafePerformIO $ getCommand "glNamedProgramLocalParametersI4uivEXT"
-
--- glNamedProgramStringEXT -----------------------------------------------------
-
-glNamedProgramStringEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLenum -- ^ @format@ of type @ProgramFormat@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr a -- ^ @string@ pointing to @len@ elements of type @a@.
-  -> m ()
-glNamedProgramStringEXT v1 v2 v3 v4 v5 = liftIO $ dyn584 ptr_glNamedProgramStringEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedProgramStringEXT #-}
-ptr_glNamedProgramStringEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glNamedProgramStringEXT = unsafePerformIO $ getCommand "glNamedProgramStringEXT"
-
--- glNamedRenderbufferStorage --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorage.xhtml OpenGL 4.x>.
-glNamedRenderbufferStorage
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glNamedRenderbufferStorage v1 v2 v3 v4 = liftIO $ dyn585 ptr_glNamedRenderbufferStorage v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedRenderbufferStorage #-}
-ptr_glNamedRenderbufferStorage :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glNamedRenderbufferStorage = unsafePerformIO $ getCommand "glNamedRenderbufferStorage"
-
--- glNamedRenderbufferStorageEXT -----------------------------------------------
-
-glNamedRenderbufferStorageEXT
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glNamedRenderbufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn585 ptr_glNamedRenderbufferStorageEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNamedRenderbufferStorageEXT #-}
-ptr_glNamedRenderbufferStorageEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glNamedRenderbufferStorageEXT = unsafePerformIO $ getCommand "glNamedRenderbufferStorageEXT"
-
--- glNamedRenderbufferStorageMultisample ---------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorageMultisample.xhtml OpenGL 4.x>.
-glNamedRenderbufferStorageMultisample
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glNamedRenderbufferStorageMultisample v1 v2 v3 v4 v5 = liftIO $ dyn586 ptr_glNamedRenderbufferStorageMultisample v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedRenderbufferStorageMultisample #-}
-ptr_glNamedRenderbufferStorageMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glNamedRenderbufferStorageMultisample = unsafePerformIO $ getCommand "glNamedRenderbufferStorageMultisample"
-
--- glNamedRenderbufferStorageMultisampleCoverageEXT ----------------------------
-
-glNamedRenderbufferStorageMultisampleCoverageEXT
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
-  -> GLsizei -- ^ @coverageSamples@.
-  -> GLsizei -- ^ @colorSamples@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glNamedRenderbufferStorageMultisampleCoverageEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn587 ptr_glNamedRenderbufferStorageMultisampleCoverageEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glNamedRenderbufferStorageMultisampleCoverageEXT #-}
-ptr_glNamedRenderbufferStorageMultisampleCoverageEXT :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glNamedRenderbufferStorageMultisampleCoverageEXT = unsafePerformIO $ getCommand "glNamedRenderbufferStorageMultisampleCoverageEXT"
-
--- glNamedRenderbufferStorageMultisampleEXT ------------------------------------
-
-glNamedRenderbufferStorageMultisampleEXT
-  :: MonadIO m
-  => GLuint -- ^ @renderbuffer@ of type @Renderbuffer@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glNamedRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5 = liftIO $ dyn586 ptr_glNamedRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedRenderbufferStorageMultisampleEXT #-}
-ptr_glNamedRenderbufferStorageMultisampleEXT :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glNamedRenderbufferStorageMultisampleEXT = unsafePerformIO $ getCommand "glNamedRenderbufferStorageMultisampleEXT"
-
--- glNamedStringARB ------------------------------------------------------------
-
-glNamedStringARB
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLint -- ^ @namelen@.
-  -> Ptr GLchar -- ^ @name@ pointing to @namelen@ elements of type @GLchar@.
-  -> GLint -- ^ @stringlen@.
-  -> Ptr GLchar -- ^ @string@ pointing to @stringlen@ elements of type @GLchar@.
-  -> m ()
-glNamedStringARB v1 v2 v3 v4 v5 = liftIO $ dyn588 ptr_glNamedStringARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glNamedStringARB #-}
-ptr_glNamedStringARB :: FunPtr (GLenum -> GLint -> Ptr GLchar -> GLint -> Ptr GLchar -> IO ())
-ptr_glNamedStringARB = unsafePerformIO $ getCommand "glNamedStringARB"
-
--- glNewList -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNewList.xml OpenGL 2.x>.
-glNewList
-  :: MonadIO m
-  => GLuint -- ^ @list@ of type @List@.
-  -> GLenum -- ^ @mode@ of type [ListMode](Graphics-Rendering-OpenGL-Raw-Groups.html#ListMode).
-  -> m ()
-glNewList v1 v2 = liftIO $ dyn15 ptr_glNewList v1 v2
-
-{-# NOINLINE ptr_glNewList #-}
-ptr_glNewList :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glNewList = unsafePerformIO $ getCommand "glNewList"
-
--- glNewObjectBufferATI --------------------------------------------------------
-
-glNewObjectBufferATI
-  :: MonadIO m
-  => GLsizei -- ^ @size@.
-  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
-  -> GLenum -- ^ @usage@ of type @ArrayObjectUsageATI@.
-  -> m GLuint
-glNewObjectBufferATI v1 v2 v3 = liftIO $ dyn589 ptr_glNewObjectBufferATI v1 v2 v3
-
-{-# NOINLINE ptr_glNewObjectBufferATI #-}
-ptr_glNewObjectBufferATI :: FunPtr (GLsizei -> Ptr a -> GLenum -> IO GLuint)
-ptr_glNewObjectBufferATI = unsafePerformIO $ getCommand "glNewObjectBufferATI"
-
--- glNormal3b ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3bv'.
-glNormal3b
-  :: MonadIO m
-  => GLbyte -- ^ @nx@.
-  -> GLbyte -- ^ @ny@.
-  -> GLbyte -- ^ @nz@.
-  -> m ()
-glNormal3b v1 v2 v3 = liftIO $ dyn36 ptr_glNormal3b v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3b #-}
-ptr_glNormal3b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glNormal3b = unsafePerformIO $ getCommand "glNormal3b"
-
--- glNormal3bv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
-glNormal3bv
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @GLbyte@.
-  -> m ()
-glNormal3bv v1 = liftIO $ dyn37 ptr_glNormal3bv v1
-
-{-# NOINLINE ptr_glNormal3bv #-}
-ptr_glNormal3bv :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glNormal3bv = unsafePerformIO $ getCommand "glNormal3bv"
-
--- glNormal3d ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3dv'.
-glNormal3d
-  :: MonadIO m
-  => GLdouble -- ^ @nx@ of type @CoordD@.
-  -> GLdouble -- ^ @ny@ of type @CoordD@.
-  -> GLdouble -- ^ @nz@ of type @CoordD@.
-  -> m ()
-glNormal3d v1 v2 v3 = liftIO $ dyn38 ptr_glNormal3d v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3d #-}
-ptr_glNormal3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glNormal3d = unsafePerformIO $ getCommand "glNormal3d"
-
--- glNormal3dv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
-glNormal3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glNormal3dv v1 = liftIO $ dyn39 ptr_glNormal3dv v1
-
-{-# NOINLINE ptr_glNormal3dv #-}
-ptr_glNormal3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glNormal3dv = unsafePerformIO $ getCommand "glNormal3dv"
-
--- glNormal3f ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3fv'.
-glNormal3f
-  :: MonadIO m
-  => GLfloat -- ^ @nx@ of type @CoordF@.
-  -> GLfloat -- ^ @ny@ of type @CoordF@.
-  -> GLfloat -- ^ @nz@ of type @CoordF@.
-  -> m ()
-glNormal3f v1 v2 v3 = liftIO $ dyn40 ptr_glNormal3f v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3f #-}
-ptr_glNormal3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glNormal3f = unsafePerformIO $ getCommand "glNormal3f"
-
--- glNormal3fVertex3fSUN -------------------------------------------------------
-
-glNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glNormal3fVertex3fSUN #-}
-ptr_glNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fSUN"
-
--- glNormal3fVertex3fvSUN ------------------------------------------------------
-
-glNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glNormal3fVertex3fvSUN v1 v2 = liftIO $ dyn96 ptr_glNormal3fVertex3fvSUN v1 v2
-
-{-# NOINLINE ptr_glNormal3fVertex3fvSUN #-}
-ptr_glNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glNormal3fVertex3fvSUN"
-
--- glNormal3fv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
-glNormal3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glNormal3fv v1 = liftIO $ dyn41 ptr_glNormal3fv v1
-
-{-# NOINLINE ptr_glNormal3fv #-}
-ptr_glNormal3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glNormal3fv = unsafePerformIO $ getCommand "glNormal3fv"
-
--- glNormal3hNV ----------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glNormal3hvNV'.
-glNormal3hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @nx@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @ny@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @nz@ of type @Half16NV@.
-  -> m ()
-glNormal3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glNormal3hNV v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3hNV #-}
-ptr_glNormal3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glNormal3hNV = unsafePerformIO $ getCommand "glNormal3hNV"
-
--- glNormal3hvNV ---------------------------------------------------------------
-
-glNormal3hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
-  -> m ()
-glNormal3hvNV v1 = liftIO $ dyn98 ptr_glNormal3hvNV v1
-
-{-# NOINLINE ptr_glNormal3hvNV #-}
-ptr_glNormal3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glNormal3hvNV = unsafePerformIO $ getCommand "glNormal3hvNV"
-
--- glNormal3i ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3iv'.
-glNormal3i
-  :: MonadIO m
-  => GLint -- ^ @nx@.
-  -> GLint -- ^ @ny@.
-  -> GLint -- ^ @nz@.
-  -> m ()
-glNormal3i v1 v2 v3 = liftIO $ dyn42 ptr_glNormal3i v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3i #-}
-ptr_glNormal3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glNormal3i = unsafePerformIO $ getCommand "glNormal3i"
-
--- glNormal3iv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
-glNormal3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glNormal3iv v1 = liftIO $ dyn43 ptr_glNormal3iv v1
-
-{-# NOINLINE ptr_glNormal3iv #-}
-ptr_glNormal3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glNormal3iv = unsafePerformIO $ getCommand "glNormal3iv"
-
--- glNormal3s ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>. The vector equivalent of this command is 'glNormal3sv'.
-glNormal3s
-  :: MonadIO m
-  => GLshort -- ^ @nx@.
-  -> GLshort -- ^ @ny@.
-  -> GLshort -- ^ @nz@.
-  -> m ()
-glNormal3s v1 v2 v3 = liftIO $ dyn44 ptr_glNormal3s v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3s #-}
-ptr_glNormal3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glNormal3s = unsafePerformIO $ getCommand "glNormal3s"
-
--- glNormal3sv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormal.xml OpenGL 2.x>.
-glNormal3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glNormal3sv v1 = liftIO $ dyn45 ptr_glNormal3sv v1
-
-{-# NOINLINE ptr_glNormal3sv #-}
-ptr_glNormal3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glNormal3sv = unsafePerformIO $ getCommand "glNormal3sv"
-
--- glNormal3x ------------------------------------------------------------------
-
-glNormal3x
-  :: MonadIO m
-  => GLfixed -- ^ @nx@.
-  -> GLfixed -- ^ @ny@.
-  -> GLfixed -- ^ @nz@.
-  -> m ()
-glNormal3x v1 v2 v3 = liftIO $ dyn105 ptr_glNormal3x v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3x #-}
-ptr_glNormal3x :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glNormal3x = unsafePerformIO $ getCommand "glNormal3x"
-
--- glNormal3xOES ---------------------------------------------------------------
-
-glNormal3xOES
-  :: MonadIO m
-  => GLfixed -- ^ @nx@.
-  -> GLfixed -- ^ @ny@.
-  -> GLfixed -- ^ @nz@.
-  -> m ()
-glNormal3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glNormal3xOES v1 v2 v3
-
-{-# NOINLINE ptr_glNormal3xOES #-}
-ptr_glNormal3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glNormal3xOES = unsafePerformIO $ getCommand "glNormal3xOES"
-
--- glNormal3xvOES --------------------------------------------------------------
-
-glNormal3xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
-  -> m ()
-glNormal3xvOES v1 = liftIO $ dyn106 ptr_glNormal3xvOES v1
-
-{-# NOINLINE ptr_glNormal3xvOES #-}
-ptr_glNormal3xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glNormal3xvOES = unsafePerformIO $ getCommand "glNormal3xvOES"
-
--- glNormalFormatNV ------------------------------------------------------------
-
-glNormalFormatNV
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glNormalFormatNV v1 v2 = liftIO $ dyn238 ptr_glNormalFormatNV v1 v2
-
-{-# NOINLINE ptr_glNormalFormatNV #-}
-ptr_glNormalFormatNV :: FunPtr (GLenum -> GLsizei -> IO ())
-ptr_glNormalFormatNV = unsafePerformIO $ getCommand "glNormalFormatNV"
-
--- glNormalP3ui ----------------------------------------------------------------
-
-glNormalP3ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glNormalP3ui v1 v2 = liftIO $ dyn16 ptr_glNormalP3ui v1 v2
-
-{-# NOINLINE ptr_glNormalP3ui #-}
-ptr_glNormalP3ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glNormalP3ui = unsafePerformIO $ getCommand "glNormalP3ui"
-
--- glNormalP3uiv ---------------------------------------------------------------
-
-glNormalP3uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glNormalP3uiv v1 v2 = liftIO $ dyn124 ptr_glNormalP3uiv v1 v2
-
-{-# NOINLINE ptr_glNormalP3uiv #-}
-ptr_glNormalP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glNormalP3uiv = unsafePerformIO $ getCommand "glNormalP3uiv"
-
--- glNormalPointer -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glNormalPointer.xml OpenGL 2.x>.
-glNormalPointer
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#NormalPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glNormalPointer v1 v2 v3 = liftIO $ dyn46 ptr_glNormalPointer v1 v2 v3
-
-{-# NOINLINE ptr_glNormalPointer #-}
-ptr_glNormalPointer :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glNormalPointer = unsafePerformIO $ getCommand "glNormalPointer"
-
--- glNormalPointerEXT ----------------------------------------------------------
-
-glNormalPointerEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#NormalPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride,count)@ elements of type @a@.
-  -> m ()
-glNormalPointerEXT v1 v2 v3 v4 = liftIO $ dyn464 ptr_glNormalPointerEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNormalPointerEXT #-}
-ptr_glNormalPointerEXT :: FunPtr (GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-ptr_glNormalPointerEXT = unsafePerformIO $ getCommand "glNormalPointerEXT"
-
--- glNormalPointerListIBM ------------------------------------------------------
-
-glNormalPointerListIBM
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#NormalPointerType).
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glNormalPointerListIBM v1 v2 v3 v4 = liftIO $ dyn279 ptr_glNormalPointerListIBM v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNormalPointerListIBM #-}
-ptr_glNormalPointerListIBM :: FunPtr (GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glNormalPointerListIBM = unsafePerformIO $ getCommand "glNormalPointerListIBM"
-
--- glNormalPointervINTEL -------------------------------------------------------
-
-glNormalPointervINTEL
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type [NormalPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#NormalPointerType).
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
-  -> m ()
-glNormalPointervINTEL v1 v2 = liftIO $ dyn267 ptr_glNormalPointervINTEL v1 v2
-
-{-# NOINLINE ptr_glNormalPointervINTEL #-}
-ptr_glNormalPointervINTEL :: FunPtr (GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glNormalPointervINTEL = unsafePerformIO $ getCommand "glNormalPointervINTEL"
-
--- glNormalStream3bATI ---------------------------------------------------------
-
-glNormalStream3bATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLbyte -- ^ @nx@.
-  -> GLbyte -- ^ @ny@.
-  -> GLbyte -- ^ @nz@.
-  -> m ()
-glNormalStream3bATI v1 v2 v3 v4 = liftIO $ dyn548 ptr_glNormalStream3bATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNormalStream3bATI #-}
-ptr_glNormalStream3bATI :: FunPtr (GLenum -> GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glNormalStream3bATI = unsafePerformIO $ getCommand "glNormalStream3bATI"
-
--- glNormalStream3bvATI --------------------------------------------------------
-
-glNormalStream3bvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
-  -> m ()
-glNormalStream3bvATI v1 v2 = liftIO $ dyn536 ptr_glNormalStream3bvATI v1 v2
-
-{-# NOINLINE ptr_glNormalStream3bvATI #-}
-ptr_glNormalStream3bvATI :: FunPtr (GLenum -> Ptr GLbyte -> IO ())
-ptr_glNormalStream3bvATI = unsafePerformIO $ getCommand "glNormalStream3bvATI"
-
--- glNormalStream3dATI ---------------------------------------------------------
-
-glNormalStream3dATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLdouble -- ^ @nx@.
-  -> GLdouble -- ^ @ny@.
-  -> GLdouble -- ^ @nz@.
-  -> m ()
-glNormalStream3dATI v1 v2 v3 v4 = liftIO $ dyn518 ptr_glNormalStream3dATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNormalStream3dATI #-}
-ptr_glNormalStream3dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glNormalStream3dATI = unsafePerformIO $ getCommand "glNormalStream3dATI"
-
--- glNormalStream3dvATI --------------------------------------------------------
-
-glNormalStream3dvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLdouble -- ^ @coords@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glNormalStream3dvATI v1 v2 = liftIO $ dyn92 ptr_glNormalStream3dvATI v1 v2
-
-{-# NOINLINE ptr_glNormalStream3dvATI #-}
-ptr_glNormalStream3dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glNormalStream3dvATI = unsafePerformIO $ getCommand "glNormalStream3dvATI"
-
--- glNormalStream3fATI ---------------------------------------------------------
-
-glNormalStream3fATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> m ()
-glNormalStream3fATI v1 v2 v3 v4 = liftIO $ dyn519 ptr_glNormalStream3fATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNormalStream3fATI #-}
-ptr_glNormalStream3fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glNormalStream3fATI = unsafePerformIO $ getCommand "glNormalStream3fATI"
-
--- glNormalStream3fvATI --------------------------------------------------------
-
-glNormalStream3fvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLfloat -- ^ @coords@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glNormalStream3fvATI v1 v2 = liftIO $ dyn93 ptr_glNormalStream3fvATI v1 v2
-
-{-# NOINLINE ptr_glNormalStream3fvATI #-}
-ptr_glNormalStream3fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glNormalStream3fvATI = unsafePerformIO $ getCommand "glNormalStream3fvATI"
-
--- glNormalStream3iATI ---------------------------------------------------------
-
-glNormalStream3iATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLint -- ^ @nx@.
-  -> GLint -- ^ @ny@.
-  -> GLint -- ^ @nz@.
-  -> m ()
-glNormalStream3iATI v1 v2 v3 v4 = liftIO $ dyn550 ptr_glNormalStream3iATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNormalStream3iATI #-}
-ptr_glNormalStream3iATI :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
-ptr_glNormalStream3iATI = unsafePerformIO $ getCommand "glNormalStream3iATI"
-
--- glNormalStream3ivATI --------------------------------------------------------
-
-glNormalStream3ivATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLint -- ^ @coords@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glNormalStream3ivATI v1 v2 = liftIO $ dyn135 ptr_glNormalStream3ivATI v1 v2
-
-{-# NOINLINE ptr_glNormalStream3ivATI #-}
-ptr_glNormalStream3ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glNormalStream3ivATI = unsafePerformIO $ getCommand "glNormalStream3ivATI"
-
--- glNormalStream3sATI ---------------------------------------------------------
-
-glNormalStream3sATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLshort -- ^ @nx@.
-  -> GLshort -- ^ @ny@.
-  -> GLshort -- ^ @nz@.
-  -> m ()
-glNormalStream3sATI v1 v2 v3 v4 = liftIO $ dyn551 ptr_glNormalStream3sATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glNormalStream3sATI #-}
-ptr_glNormalStream3sATI :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glNormalStream3sATI = unsafePerformIO $ getCommand "glNormalStream3sATI"
-
--- glNormalStream3svATI --------------------------------------------------------
-
-glNormalStream3svATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLshort -- ^ @coords@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glNormalStream3svATI v1 v2 = liftIO $ dyn541 ptr_glNormalStream3svATI v1 v2
-
-{-# NOINLINE ptr_glNormalStream3svATI #-}
-ptr_glNormalStream3svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glNormalStream3svATI = unsafePerformIO $ getCommand "glNormalStream3svATI"
-
--- glObjectLabel ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glObjectLabel.xhtml OpenGL 4.x>.
-glObjectLabel
-  :: MonadIO m
-  => GLenum -- ^ @identifier@.
-  -> GLuint -- ^ @name@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @label@ pointing to @COMPSIZE(label,length)@ elements of type @GLchar@.
-  -> m ()
-glObjectLabel v1 v2 v3 v4 = liftIO $ dyn480 ptr_glObjectLabel v1 v2 v3 v4
-
-{-# NOINLINE ptr_glObjectLabel #-}
-ptr_glObjectLabel :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glObjectLabel = unsafePerformIO $ getCommand "glObjectLabel"
-
--- glObjectLabelKHR ------------------------------------------------------------
-
--- | This command is an alias for 'glObjectLabel'.
-glObjectLabelKHR
-  :: MonadIO m
-  => GLenum -- ^ @identifier@.
-  -> GLuint -- ^ @name@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @label@.
-  -> m ()
-glObjectLabelKHR v1 v2 v3 v4 = liftIO $ dyn480 ptr_glObjectLabelKHR v1 v2 v3 v4
-
-{-# NOINLINE ptr_glObjectLabelKHR #-}
-ptr_glObjectLabelKHR :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glObjectLabelKHR = unsafePerformIO $ getCommand "glObjectLabelKHR"
-
--- glObjectPtrLabel ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glObjectPtrLabel.xhtml OpenGL 4.x>.
-glObjectPtrLabel
-  :: MonadIO m
-  => Ptr a -- ^ @ptr@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @label@ pointing to @COMPSIZE(label,length)@ elements of type @GLchar@.
-  -> m ()
-glObjectPtrLabel v1 v2 v3 = liftIO $ dyn590 ptr_glObjectPtrLabel v1 v2 v3
-
-{-# NOINLINE ptr_glObjectPtrLabel #-}
-ptr_glObjectPtrLabel :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glObjectPtrLabel = unsafePerformIO $ getCommand "glObjectPtrLabel"
-
--- glObjectPtrLabelKHR ---------------------------------------------------------
-
--- | This command is an alias for 'glObjectPtrLabel'.
-glObjectPtrLabelKHR
-  :: MonadIO m
-  => Ptr a -- ^ @ptr@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @label@.
-  -> m ()
-glObjectPtrLabelKHR v1 v2 v3 = liftIO $ dyn590 ptr_glObjectPtrLabelKHR v1 v2 v3
-
-{-# NOINLINE ptr_glObjectPtrLabelKHR #-}
-ptr_glObjectPtrLabelKHR :: FunPtr (Ptr a -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glObjectPtrLabelKHR = unsafePerformIO $ getCommand "glObjectPtrLabelKHR"
-
--- glObjectPurgeableAPPLE ------------------------------------------------------
-
-glObjectPurgeableAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @objectType@.
-  -> GLuint -- ^ @name@.
-  -> GLenum -- ^ @option@.
-  -> m GLenum
-glObjectPurgeableAPPLE v1 v2 v3 = liftIO $ dyn591 ptr_glObjectPurgeableAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glObjectPurgeableAPPLE #-}
-ptr_glObjectPurgeableAPPLE :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
-ptr_glObjectPurgeableAPPLE = unsafePerformIO $ getCommand "glObjectPurgeableAPPLE"
-
--- glObjectUnpurgeableAPPLE ----------------------------------------------------
-
-glObjectUnpurgeableAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @objectType@.
-  -> GLuint -- ^ @name@.
-  -> GLenum -- ^ @option@.
-  -> m GLenum
-glObjectUnpurgeableAPPLE v1 v2 v3 = liftIO $ dyn591 ptr_glObjectUnpurgeableAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glObjectUnpurgeableAPPLE #-}
-ptr_glObjectUnpurgeableAPPLE :: FunPtr (GLenum -> GLuint -> GLenum -> IO GLenum)
-ptr_glObjectUnpurgeableAPPLE = unsafePerformIO $ getCommand "glObjectUnpurgeableAPPLE"
-
--- glOrtho ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glOrtho.xml OpenGL 2.x>.
-glOrtho
-  :: MonadIO m
-  => GLdouble -- ^ @left@.
-  -> GLdouble -- ^ @right@.
-  -> GLdouble -- ^ @bottom@.
-  -> GLdouble -- ^ @top@.
-  -> GLdouble -- ^ @zNear@.
-  -> GLdouble -- ^ @zFar@.
-  -> m ()
-glOrtho v1 v2 v3 v4 v5 v6 = liftIO $ dyn292 ptr_glOrtho v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glOrtho #-}
-ptr_glOrtho :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glOrtho = unsafePerformIO $ getCommand "glOrtho"
-
--- glOrthof --------------------------------------------------------------------
-
-glOrthof
-  :: MonadIO m
-  => GLfloat -- ^ @l@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @n@.
-  -> GLfloat -- ^ @f@.
-  -> m ()
-glOrthof v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glOrthof v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glOrthof #-}
-ptr_glOrthof :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glOrthof = unsafePerformIO $ getCommand "glOrthof"
-
--- glOrthofOES -----------------------------------------------------------------
-
-glOrthofOES
-  :: MonadIO m
-  => GLfloat -- ^ @l@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @n@.
-  -> GLfloat -- ^ @f@.
-  -> m ()
-glOrthofOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn95 ptr_glOrthofOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glOrthofOES #-}
-ptr_glOrthofOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glOrthofOES = unsafePerformIO $ getCommand "glOrthofOES"
-
--- glOrthox --------------------------------------------------------------------
-
-glOrthox
-  :: MonadIO m
-  => GLfixed -- ^ @l@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @b@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @n@.
-  -> GLfixed -- ^ @f@.
-  -> m ()
-glOrthox v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glOrthox v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glOrthox #-}
-ptr_glOrthox :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glOrthox = unsafePerformIO $ getCommand "glOrthox"
-
--- glOrthoxOES -----------------------------------------------------------------
-
-glOrthoxOES
-  :: MonadIO m
-  => GLfixed -- ^ @l@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @b@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @n@.
-  -> GLfixed -- ^ @f@.
-  -> m ()
-glOrthoxOES v1 v2 v3 v4 v5 v6 = liftIO $ dyn293 ptr_glOrthoxOES v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glOrthoxOES #-}
-ptr_glOrthoxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glOrthoxOES = unsafePerformIO $ getCommand "glOrthoxOES"
-
--- glPNTrianglesfATI -----------------------------------------------------------
-
-glPNTrianglesfATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PNTrianglesPNameATI@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glPNTrianglesfATI v1 v2 = liftIO $ dyn0 ptr_glPNTrianglesfATI v1 v2
-
-{-# NOINLINE ptr_glPNTrianglesfATI #-}
-ptr_glPNTrianglesfATI :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPNTrianglesfATI = unsafePerformIO $ getCommand "glPNTrianglesfATI"
-
--- glPNTrianglesiATI -----------------------------------------------------------
-
-glPNTrianglesiATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PNTrianglesPNameATI@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glPNTrianglesiATI v1 v2 = liftIO $ dyn55 ptr_glPNTrianglesiATI v1 v2
-
-{-# NOINLINE ptr_glPNTrianglesiATI #-}
-ptr_glPNTrianglesiATI :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPNTrianglesiATI = unsafePerformIO $ getCommand "glPNTrianglesiATI"
-
--- glPassTexCoordATI -----------------------------------------------------------
-
-glPassTexCoordATI
-  :: MonadIO m
-  => GLuint -- ^ @dst@.
-  -> GLuint -- ^ @coord@.
-  -> GLenum -- ^ @swizzle@ of type @SwizzleOpATI@.
-  -> m ()
-glPassTexCoordATI v1 v2 v3 = liftIO $ dyn592 ptr_glPassTexCoordATI v1 v2 v3
-
-{-# NOINLINE ptr_glPassTexCoordATI #-}
-ptr_glPassTexCoordATI :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
-ptr_glPassTexCoordATI = unsafePerformIO $ getCommand "glPassTexCoordATI"
-
--- glPassThrough ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPassThrough.xml OpenGL 2.x>.
-glPassThrough
-  :: MonadIO m
-  => GLfloat -- ^ @token@ of type @FeedbackElement@.
-  -> m ()
-glPassThrough v1 = liftIO $ dyn79 ptr_glPassThrough v1
-
-{-# NOINLINE ptr_glPassThrough #-}
-ptr_glPassThrough :: FunPtr (GLfloat -> IO ())
-ptr_glPassThrough = unsafePerformIO $ getCommand "glPassThrough"
-
--- glPassThroughxOES -----------------------------------------------------------
-
-glPassThroughxOES
-  :: MonadIO m
-  => GLfixed -- ^ @token@.
-  -> m ()
-glPassThroughxOES v1 = liftIO $ dyn81 ptr_glPassThroughxOES v1
-
-{-# NOINLINE ptr_glPassThroughxOES #-}
-ptr_glPassThroughxOES :: FunPtr (GLfixed -> IO ())
-ptr_glPassThroughxOES = unsafePerformIO $ getCommand "glPassThroughxOES"
-
--- glPatchParameterfv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml OpenGL 4.x>.
-glPatchParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @values@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glPatchParameterfv v1 v2 = liftIO $ dyn93 ptr_glPatchParameterfv v1 v2
-
-{-# NOINLINE ptr_glPatchParameterfv #-}
-ptr_glPatchParameterfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPatchParameterfv = unsafePerformIO $ getCommand "glPatchParameterfv"
-
--- glPatchParameteri -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPatchParameter.xhtml OpenGL 4.x>.
-glPatchParameteri
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glPatchParameteri v1 v2 = liftIO $ dyn55 ptr_glPatchParameteri v1 v2
-
-{-# NOINLINE ptr_glPatchParameteri #-}
-ptr_glPatchParameteri :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPatchParameteri = unsafePerformIO $ getCommand "glPatchParameteri"
-
--- glPatchParameteriEXT --------------------------------------------------------
-
--- | This command is an alias for 'glPatchParameteri'.
-glPatchParameteriEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glPatchParameteriEXT v1 v2 = liftIO $ dyn55 ptr_glPatchParameteriEXT v1 v2
-
-{-# NOINLINE ptr_glPatchParameteriEXT #-}
-ptr_glPatchParameteriEXT :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPatchParameteriEXT = unsafePerformIO $ getCommand "glPatchParameteriEXT"
-
--- glPatchParameteriOES --------------------------------------------------------
-
--- | This command is an alias for 'glPatchParameteri'.
-glPatchParameteriOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glPatchParameteriOES v1 v2 = liftIO $ dyn55 ptr_glPatchParameteriOES v1 v2
-
-{-# NOINLINE ptr_glPatchParameteriOES #-}
-ptr_glPatchParameteriOES :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPatchParameteriOES = unsafePerformIO $ getCommand "glPatchParameteriOES"
-
--- glPathColorGenNV ------------------------------------------------------------
-
-glPathColorGenNV
-  :: MonadIO m
-  => GLenum -- ^ @color@ of type @PathColor@.
-  -> GLenum -- ^ @genMode@ of type @PathGenMode@.
-  -> GLenum -- ^ @colorFormat@ of type @PathColorFormat@.
-  -> Ptr GLfloat -- ^ @coeffs@ pointing to @COMPSIZE(genMode,colorFormat)@ elements of type @GLfloat@.
-  -> m ()
-glPathColorGenNV v1 v2 v3 v4 = liftIO $ dyn317 ptr_glPathColorGenNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glPathColorGenNV #-}
-ptr_glPathColorGenNV :: FunPtr (GLenum -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glPathColorGenNV = unsafePerformIO $ getCommand "glPathColorGenNV"
-
--- glPathCommandsNV ------------------------------------------------------------
-
-glPathCommandsNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @numCommands@.
-  -> Ptr GLubyte -- ^ @commands@ pointing to @numCommands@ elements of type @PathCommand@.
-  -> GLsizei -- ^ @numCoords@.
-  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
-  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
-  -> m ()
-glPathCommandsNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn593 ptr_glPathCommandsNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glPathCommandsNV #-}
-ptr_glPathCommandsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glPathCommandsNV = unsafePerformIO $ getCommand "glPathCommandsNV"
-
--- glPathCoordsNV --------------------------------------------------------------
-
-glPathCoordsNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @numCoords@.
-  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
-  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
-  -> m ()
-glPathCoordsNV v1 v2 v3 v4 = liftIO $ dyn594 ptr_glPathCoordsNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glPathCoordsNV #-}
-ptr_glPathCoordsNV :: FunPtr (GLuint -> GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glPathCoordsNV = unsafePerformIO $ getCommand "glPathCoordsNV"
-
--- glPathCoverDepthFuncNV ------------------------------------------------------
-
-glPathCoverDepthFuncNV
-  :: MonadIO m
-  => GLenum -- ^ @func@ of type [DepthFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#DepthFunction).
-  -> m ()
-glPathCoverDepthFuncNV v1 = liftIO $ dyn4 ptr_glPathCoverDepthFuncNV v1
-
-{-# NOINLINE ptr_glPathCoverDepthFuncNV #-}
-ptr_glPathCoverDepthFuncNV :: FunPtr (GLenum -> IO ())
-ptr_glPathCoverDepthFuncNV = unsafePerformIO $ getCommand "glPathCoverDepthFuncNV"
-
--- glPathDashArrayNV -----------------------------------------------------------
-
-glPathDashArrayNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @dashCount@.
-  -> Ptr GLfloat -- ^ @dashArray@ pointing to @dashCount@ elements of type @GLfloat@.
-  -> m ()
-glPathDashArrayNV v1 v2 v3 = liftIO $ dyn217 ptr_glPathDashArrayNV v1 v2 v3
-
-{-# NOINLINE ptr_glPathDashArrayNV #-}
-ptr_glPathDashArrayNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glPathDashArrayNV = unsafePerformIO $ getCommand "glPathDashArrayNV"
-
--- glPathFogGenNV --------------------------------------------------------------
-
-glPathFogGenNV
-  :: MonadIO m
-  => GLenum -- ^ @genMode@ of type @PathGenMode@.
-  -> m ()
-glPathFogGenNV v1 = liftIO $ dyn4 ptr_glPathFogGenNV v1
-
-{-# NOINLINE ptr_glPathFogGenNV #-}
-ptr_glPathFogGenNV :: FunPtr (GLenum -> IO ())
-ptr_glPathFogGenNV = unsafePerformIO $ getCommand "glPathFogGenNV"
-
--- glPathGlyphIndexArrayNV -----------------------------------------------------
-
-glPathGlyphIndexArrayNV
-  :: MonadIO m
-  => GLuint -- ^ @firstPathName@.
-  -> GLenum -- ^ @fontTarget@.
-  -> Ptr a -- ^ @fontName@.
-  -> GLbitfield -- ^ @fontStyle@.
-  -> GLuint -- ^ @firstGlyphIndex@.
-  -> GLsizei -- ^ @numGlyphs@.
-  -> GLuint -- ^ @pathParameterTemplate@.
-  -> GLfloat -- ^ @emScale@.
-  -> m GLenum
-glPathGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn595 ptr_glPathGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glPathGlyphIndexArrayNV #-}
-ptr_glPathGlyphIndexArrayNV :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
-ptr_glPathGlyphIndexArrayNV = unsafePerformIO $ getCommand "glPathGlyphIndexArrayNV"
-
--- glPathGlyphIndexRangeNV -----------------------------------------------------
-
-glPathGlyphIndexRangeNV
-  :: MonadIO m
-  => GLenum -- ^ @fontTarget@.
-  -> Ptr a -- ^ @fontName@.
-  -> GLbitfield -- ^ @fontStyle@.
-  -> GLuint -- ^ @pathParameterTemplate@.
-  -> GLfloat -- ^ @emScale@.
-  -> Ptr GLuint -- ^ @baseAndCount@.
-  -> m GLenum
-glPathGlyphIndexRangeNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn596 ptr_glPathGlyphIndexRangeNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glPathGlyphIndexRangeNV #-}
-ptr_glPathGlyphIndexRangeNV :: FunPtr (GLenum -> Ptr a -> GLbitfield -> GLuint -> GLfloat -> Ptr GLuint -> IO GLenum)
-ptr_glPathGlyphIndexRangeNV = unsafePerformIO $ getCommand "glPathGlyphIndexRangeNV"
-
--- glPathGlyphRangeNV ----------------------------------------------------------
-
-glPathGlyphRangeNV
-  :: MonadIO m
-  => GLuint -- ^ @firstPathName@ of type @Path@.
-  -> GLenum -- ^ @fontTarget@ of type @PathFontTarget@.
-  -> Ptr a -- ^ @fontName@ pointing to @COMPSIZE(fontTarget,fontName)@ elements of type @a@.
-  -> GLbitfield -- ^ @fontStyle@ of type @PathFontStyle@.
-  -> GLuint -- ^ @firstGlyph@.
-  -> GLsizei -- ^ @numGlyphs@.
-  -> GLenum -- ^ @handleMissingGlyphs@ of type @PathHandleMissingGlyphs@.
-  -> GLuint -- ^ @pathParameterTemplate@ of type @Path@.
-  -> GLfloat -- ^ @emScale@.
-  -> m ()
-glPathGlyphRangeNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn597 ptr_glPathGlyphRangeNV v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glPathGlyphRangeNV #-}
-ptr_glPathGlyphRangeNV :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLuint -> GLsizei -> GLenum -> GLuint -> GLfloat -> IO ())
-ptr_glPathGlyphRangeNV = unsafePerformIO $ getCommand "glPathGlyphRangeNV"
-
--- glPathGlyphsNV --------------------------------------------------------------
-
-glPathGlyphsNV
-  :: MonadIO m
-  => GLuint -- ^ @firstPathName@ of type @Path@.
-  -> GLenum -- ^ @fontTarget@ of type @PathFontTarget@.
-  -> Ptr a -- ^ @fontName@ pointing to @COMPSIZE(fontTarget,fontName)@ elements of type @a@.
-  -> GLbitfield -- ^ @fontStyle@ of type @PathFontStyle@.
-  -> GLsizei -- ^ @numGlyphs@.
-  -> GLenum -- ^ @type@ of type @PathElementType@.
-  -> Ptr b -- ^ @charcodes@ pointing to @COMPSIZE(numGlyphs,type,charcodes)@ elements of type @b@.
-  -> GLenum -- ^ @handleMissingGlyphs@ of type @PathHandleMissingGlyphs@.
-  -> GLuint -- ^ @pathParameterTemplate@ of type @Path@.
-  -> GLfloat -- ^ @emScale@.
-  -> m ()
-glPathGlyphsNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn598 ptr_glPathGlyphsNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glPathGlyphsNV #-}
-ptr_glPathGlyphsNV :: FunPtr (GLuint -> GLenum -> Ptr a -> GLbitfield -> GLsizei -> GLenum -> Ptr b -> GLenum -> GLuint -> GLfloat -> IO ())
-ptr_glPathGlyphsNV = unsafePerformIO $ getCommand "glPathGlyphsNV"
-
--- glPathMemoryGlyphIndexArrayNV -----------------------------------------------
-
-glPathMemoryGlyphIndexArrayNV
-  :: MonadIO m
-  => GLuint -- ^ @firstPathName@.
-  -> GLenum -- ^ @fontTarget@.
-  -> GLsizeiptr -- ^ @fontSize@.
-  -> Ptr a -- ^ @fontData@.
-  -> GLsizei -- ^ @faceIndex@.
-  -> GLuint -- ^ @firstGlyphIndex@.
-  -> GLsizei -- ^ @numGlyphs@.
-  -> GLuint -- ^ @pathParameterTemplate@.
-  -> GLfloat -- ^ @emScale@.
-  -> m GLenum
-glPathMemoryGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn599 ptr_glPathMemoryGlyphIndexArrayNV v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glPathMemoryGlyphIndexArrayNV #-}
-ptr_glPathMemoryGlyphIndexArrayNV :: FunPtr (GLuint -> GLenum -> GLsizeiptr -> Ptr a -> GLsizei -> GLuint -> GLsizei -> GLuint -> GLfloat -> IO GLenum)
-ptr_glPathMemoryGlyphIndexArrayNV = unsafePerformIO $ getCommand "glPathMemoryGlyphIndexArrayNV"
-
--- glPathParameterfNV ----------------------------------------------------------
-
-glPathParameterfNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
-  -> GLfloat -- ^ @value@.
-  -> m ()
-glPathParameterfNV v1 v2 v3 = liftIO $ dyn483 ptr_glPathParameterfNV v1 v2 v3
-
-{-# NOINLINE ptr_glPathParameterfNV #-}
-ptr_glPathParameterfNV :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
-ptr_glPathParameterfNV = unsafePerformIO $ getCommand "glPathParameterfNV"
-
--- glPathParameterfvNV ---------------------------------------------------------
-
-glPathParameterfvNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glPathParameterfvNV v1 v2 v3 = liftIO $ dyn345 ptr_glPathParameterfvNV v1 v2 v3
-
-{-# NOINLINE ptr_glPathParameterfvNV #-}
-ptr_glPathParameterfvNV :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glPathParameterfvNV = unsafePerformIO $ getCommand "glPathParameterfvNV"
-
--- glPathParameteriNV ----------------------------------------------------------
-
-glPathParameteriNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glPathParameteriNV v1 v2 v3 = liftIO $ dyn484 ptr_glPathParameteriNV v1 v2 v3
-
-{-# NOINLINE ptr_glPathParameteriNV #-}
-ptr_glPathParameteriNV :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glPathParameteriNV = unsafePerformIO $ getCommand "glPathParameteriNV"
-
--- glPathParameterivNV ---------------------------------------------------------
-
-glPathParameterivNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @pname@ of type @PathParameter@.
-  -> Ptr GLint -- ^ @value@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glPathParameterivNV v1 v2 v3 = liftIO $ dyn331 ptr_glPathParameterivNV v1 v2 v3
-
-{-# NOINLINE ptr_glPathParameterivNV #-}
-ptr_glPathParameterivNV :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glPathParameterivNV = unsafePerformIO $ getCommand "glPathParameterivNV"
-
--- glPathStencilDepthOffsetNV --------------------------------------------------
-
-glPathStencilDepthOffsetNV
-  :: MonadIO m
-  => GLfloat -- ^ @factor@.
-  -> GLfloat -- ^ @units@.
-  -> m ()
-glPathStencilDepthOffsetNV v1 v2 = liftIO $ dyn221 ptr_glPathStencilDepthOffsetNV v1 v2
-
-{-# NOINLINE ptr_glPathStencilDepthOffsetNV #-}
-ptr_glPathStencilDepthOffsetNV :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glPathStencilDepthOffsetNV = unsafePerformIO $ getCommand "glPathStencilDepthOffsetNV"
-
--- glPathStencilFuncNV ---------------------------------------------------------
-
-glPathStencilFuncNV
-  :: MonadIO m
-  => GLenum -- ^ @func@ of type [StencilFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilFunction).
-  -> GLint -- ^ @ref@ of type @ClampedStencilValue@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glPathStencilFuncNV v1 v2 v3 = liftIO $ dyn600 ptr_glPathStencilFuncNV v1 v2 v3
-
-{-# NOINLINE ptr_glPathStencilFuncNV #-}
-ptr_glPathStencilFuncNV :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
-ptr_glPathStencilFuncNV = unsafePerformIO $ getCommand "glPathStencilFuncNV"
-
--- glPathStringNV --------------------------------------------------------------
-
-glPathStringNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @format@ of type @PathStringFormat@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr a -- ^ @pathString@ pointing to @length@ elements of type @a@.
-  -> m ()
-glPathStringNV v1 v2 v3 v4 = liftIO $ dyn601 ptr_glPathStringNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glPathStringNV #-}
-ptr_glPathStringNV :: FunPtr (GLuint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glPathStringNV = unsafePerformIO $ getCommand "glPathStringNV"
-
--- glPathSubCommandsNV ---------------------------------------------------------
-
-glPathSubCommandsNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @commandStart@.
-  -> GLsizei -- ^ @commandsToDelete@.
-  -> GLsizei -- ^ @numCommands@.
-  -> Ptr GLubyte -- ^ @commands@ pointing to @numCommands@ elements of type @PathCommand@.
-  -> GLsizei -- ^ @numCoords@.
-  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
-  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
-  -> m ()
-glPathSubCommandsNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn602 ptr_glPathSubCommandsNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glPathSubCommandsNV #-}
-ptr_glPathSubCommandsNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLsizei -> Ptr GLubyte -> GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glPathSubCommandsNV = unsafePerformIO $ getCommand "glPathSubCommandsNV"
-
--- glPathSubCoordsNV -----------------------------------------------------------
-
-glPathSubCoordsNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @coordStart@.
-  -> GLsizei -- ^ @numCoords@.
-  -> GLenum -- ^ @coordType@ of type @PathCoordType@.
-  -> Ptr a -- ^ @coords@ pointing to @COMPSIZE(numCoords,coordType)@ elements of type @a@.
-  -> m ()
-glPathSubCoordsNV v1 v2 v3 v4 v5 = liftIO $ dyn603 ptr_glPathSubCoordsNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glPathSubCoordsNV #-}
-ptr_glPathSubCoordsNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLenum -> Ptr a -> IO ())
-ptr_glPathSubCoordsNV = unsafePerformIO $ getCommand "glPathSubCoordsNV"
-
--- glPathTexGenNV --------------------------------------------------------------
-
-glPathTexGenNV
-  :: MonadIO m
-  => GLenum -- ^ @texCoordSet@ of type @PathColor@.
-  -> GLenum -- ^ @genMode@ of type @PathGenMode@.
-  -> GLint -- ^ @components@.
-  -> Ptr GLfloat -- ^ @coeffs@ pointing to @COMPSIZE(genMode,components)@ elements of type @GLfloat@.
-  -> m ()
-glPathTexGenNV v1 v2 v3 v4 = liftIO $ dyn604 ptr_glPathTexGenNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glPathTexGenNV #-}
-ptr_glPathTexGenNV :: FunPtr (GLenum -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-ptr_glPathTexGenNV = unsafePerformIO $ getCommand "glPathTexGenNV"
-
--- glPauseTransformFeedback ----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPauseTransformFeedback.xhtml OpenGL 4.x>.
-glPauseTransformFeedback
-  :: MonadIO m
-  => m ()
-glPauseTransformFeedback = liftIO $ dyn10 ptr_glPauseTransformFeedback
-
-{-# NOINLINE ptr_glPauseTransformFeedback #-}
-ptr_glPauseTransformFeedback :: FunPtr (IO ())
-ptr_glPauseTransformFeedback = unsafePerformIO $ getCommand "glPauseTransformFeedback"
-
--- glPauseTransformFeedbackNV --------------------------------------------------
-
--- | This command is an alias for 'glPauseTransformFeedback'.
-glPauseTransformFeedbackNV
-  :: MonadIO m
-  => m ()
-glPauseTransformFeedbackNV = liftIO $ dyn10 ptr_glPauseTransformFeedbackNV
-
-{-# NOINLINE ptr_glPauseTransformFeedbackNV #-}
-ptr_glPauseTransformFeedbackNV :: FunPtr (IO ())
-ptr_glPauseTransformFeedbackNV = unsafePerformIO $ getCommand "glPauseTransformFeedbackNV"
-
--- glPixelDataRangeNV ----------------------------------------------------------
-
-glPixelDataRangeNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @PixelDataRangeTargetNV@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
-  -> m ()
-glPixelDataRangeNV v1 v2 v3 = liftIO $ dyn46 ptr_glPixelDataRangeNV v1 v2 v3
-
-{-# NOINLINE ptr_glPixelDataRangeNV #-}
-ptr_glPixelDataRangeNV :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glPixelDataRangeNV = unsafePerformIO $ getCommand "glPixelDataRangeNV"
-
--- glPixelMapfv ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelMap.xml OpenGL 2.x>.
-glPixelMapfv
-  :: MonadIO m
-  => GLenum -- ^ @map@ of type [PixelMap](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelMap).
-  -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
-  -> Ptr GLfloat -- ^ @values@ pointing to @mapsize@ elements of type @GLfloat@.
-  -> m ()
-glPixelMapfv v1 v2 v3 = liftIO $ dyn224 ptr_glPixelMapfv v1 v2 v3
-
-{-# NOINLINE ptr_glPixelMapfv #-}
-ptr_glPixelMapfv :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glPixelMapfv = unsafePerformIO $ getCommand "glPixelMapfv"
-
--- glPixelMapuiv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelMap.xml OpenGL 2.x>.
-glPixelMapuiv
-  :: MonadIO m
-  => GLenum -- ^ @map@ of type [PixelMap](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelMap).
-  -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
-  -> Ptr GLuint -- ^ @values@ pointing to @mapsize@ elements of type @GLuint@.
-  -> m ()
-glPixelMapuiv v1 v2 v3 = liftIO $ dyn196 ptr_glPixelMapuiv v1 v2 v3
-
-{-# NOINLINE ptr_glPixelMapuiv #-}
-ptr_glPixelMapuiv :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glPixelMapuiv = unsafePerformIO $ getCommand "glPixelMapuiv"
-
--- glPixelMapusv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelMap.xml OpenGL 2.x>.
-glPixelMapusv
-  :: MonadIO m
-  => GLenum -- ^ @map@ of type [PixelMap](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelMap).
-  -> GLsizei -- ^ @mapsize@ of type @CheckedInt32@.
-  -> Ptr GLushort -- ^ @values@ pointing to @mapsize@ elements of type @GLushort@.
-  -> m ()
-glPixelMapusv v1 v2 v3 = liftIO $ dyn448 ptr_glPixelMapusv v1 v2 v3
-
-{-# NOINLINE ptr_glPixelMapusv #-}
-ptr_glPixelMapusv :: FunPtr (GLenum -> GLsizei -> Ptr GLushort -> IO ())
-ptr_glPixelMapusv = unsafePerformIO $ getCommand "glPixelMapusv"
-
--- glPixelMapx -----------------------------------------------------------------
-
-glPixelMapx
-  :: MonadIO m
-  => GLenum -- ^ @map@.
-  -> GLint -- ^ @size@.
-  -> Ptr GLfixed -- ^ @values@ pointing to @size@ elements of type @GLfixed@.
-  -> m ()
-glPixelMapx v1 v2 v3 = liftIO $ dyn386 ptr_glPixelMapx v1 v2 v3
-
-{-# NOINLINE ptr_glPixelMapx #-}
-ptr_glPixelMapx :: FunPtr (GLenum -> GLint -> Ptr GLfixed -> IO ())
-ptr_glPixelMapx = unsafePerformIO $ getCommand "glPixelMapx"
-
--- glPixelStoref ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelStore.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml OpenGL 4.x>.
-glPixelStoref
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelStoreParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPixelStoref v1 v2 = liftIO $ dyn0 ptr_glPixelStoref v1 v2
-
-{-# NOINLINE ptr_glPixelStoref #-}
-ptr_glPixelStoref :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPixelStoref = unsafePerformIO $ getCommand "glPixelStoref"
-
--- glPixelStorei ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelStore.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPixelStore.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPixelStore.xhtml OpenGL 4.x>.
-glPixelStorei
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelStoreParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelStoreParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glPixelStorei v1 v2 = liftIO $ dyn55 ptr_glPixelStorei v1 v2
-
-{-# NOINLINE ptr_glPixelStorei #-}
-ptr_glPixelStorei :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPixelStorei = unsafePerformIO $ getCommand "glPixelStorei"
-
--- glPixelStorex ---------------------------------------------------------------
-
-glPixelStorex
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glPixelStorex v1 v2 = liftIO $ dyn1 ptr_glPixelStorex v1 v2
-
-{-# NOINLINE ptr_glPixelStorex #-}
-ptr_glPixelStorex :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glPixelStorex = unsafePerformIO $ getCommand "glPixelStorex"
-
--- glPixelTexGenParameterfSGIS -------------------------------------------------
-
-glPixelTexGenParameterfSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTexGenParameterNameSGIS).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPixelTexGenParameterfSGIS v1 v2 = liftIO $ dyn0 ptr_glPixelTexGenParameterfSGIS v1 v2
-
-{-# NOINLINE ptr_glPixelTexGenParameterfSGIS #-}
-ptr_glPixelTexGenParameterfSGIS :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPixelTexGenParameterfSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameterfSGIS"
-
--- glPixelTexGenParameterfvSGIS ------------------------------------------------
-
-glPixelTexGenParameterfvSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTexGenParameterNameSGIS).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPixelTexGenParameterfvSGIS v1 v2 = liftIO $ dyn93 ptr_glPixelTexGenParameterfvSGIS v1 v2
-
-{-# NOINLINE ptr_glPixelTexGenParameterfvSGIS #-}
-ptr_glPixelTexGenParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPixelTexGenParameterfvSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameterfvSGIS"
-
--- glPixelTexGenParameteriSGIS -------------------------------------------------
-
-glPixelTexGenParameteriSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTexGenParameterNameSGIS).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glPixelTexGenParameteriSGIS v1 v2 = liftIO $ dyn55 ptr_glPixelTexGenParameteriSGIS v1 v2
-
-{-# NOINLINE ptr_glPixelTexGenParameteriSGIS #-}
-ptr_glPixelTexGenParameteriSGIS :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPixelTexGenParameteriSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameteriSGIS"
-
--- glPixelTexGenParameterivSGIS ------------------------------------------------
-
-glPixelTexGenParameterivSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTexGenParameterNameSGIS](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTexGenParameterNameSGIS).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glPixelTexGenParameterivSGIS v1 v2 = liftIO $ dyn135 ptr_glPixelTexGenParameterivSGIS v1 v2
-
-{-# NOINLINE ptr_glPixelTexGenParameterivSGIS #-}
-ptr_glPixelTexGenParameterivSGIS :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glPixelTexGenParameterivSGIS = unsafePerformIO $ getCommand "glPixelTexGenParameterivSGIS"
-
--- glPixelTexGenSGIX -----------------------------------------------------------
-
-glPixelTexGenSGIX
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type @PixelTexGenModeSGIX@.
-  -> m ()
-glPixelTexGenSGIX v1 = liftIO $ dyn4 ptr_glPixelTexGenSGIX v1
-
-{-# NOINLINE ptr_glPixelTexGenSGIX #-}
-ptr_glPixelTexGenSGIX :: FunPtr (GLenum -> IO ())
-ptr_glPixelTexGenSGIX = unsafePerformIO $ getCommand "glPixelTexGenSGIX"
-
--- glPixelTransferf ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelTransfer.xml OpenGL 2.x>.
-glPixelTransferf
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTransferParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPixelTransferf v1 v2 = liftIO $ dyn0 ptr_glPixelTransferf v1 v2
-
-{-# NOINLINE ptr_glPixelTransferf #-}
-ptr_glPixelTransferf :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPixelTransferf = unsafePerformIO $ getCommand "glPixelTransferf"
-
--- glPixelTransferi ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelTransfer.xml OpenGL 2.x>.
-glPixelTransferi
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type [PixelTransferParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelTransferParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glPixelTransferi v1 v2 = liftIO $ dyn55 ptr_glPixelTransferi v1 v2
-
-{-# NOINLINE ptr_glPixelTransferi #-}
-ptr_glPixelTransferi :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPixelTransferi = unsafePerformIO $ getCommand "glPixelTransferi"
-
--- glPixelTransferxOES ---------------------------------------------------------
-
-glPixelTransferxOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glPixelTransferxOES v1 v2 = liftIO $ dyn1 ptr_glPixelTransferxOES v1 v2
-
-{-# NOINLINE ptr_glPixelTransferxOES #-}
-ptr_glPixelTransferxOES :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glPixelTransferxOES = unsafePerformIO $ getCommand "glPixelTransferxOES"
-
--- glPixelTransformParameterfEXT -----------------------------------------------
-
-glPixelTransformParameterfEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
-  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glPixelTransformParameterfEXT v1 v2 v3 = liftIO $ dyn160 ptr_glPixelTransformParameterfEXT v1 v2 v3
-
-{-# NOINLINE ptr_glPixelTransformParameterfEXT #-}
-ptr_glPixelTransformParameterfEXT :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glPixelTransformParameterfEXT = unsafePerformIO $ getCommand "glPixelTransformParameterfEXT"
-
--- glPixelTransformParameterfvEXT ----------------------------------------------
-
-glPixelTransformParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
-  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glPixelTransformParameterfvEXT v1 v2 v3 = liftIO $ dyn131 ptr_glPixelTransformParameterfvEXT v1 v2 v3
-
-{-# NOINLINE ptr_glPixelTransformParameterfvEXT #-}
-ptr_glPixelTransformParameterfvEXT :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glPixelTransformParameterfvEXT = unsafePerformIO $ getCommand "glPixelTransformParameterfvEXT"
-
--- glPixelTransformParameteriEXT -----------------------------------------------
-
-glPixelTransformParameteriEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
-  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glPixelTransformParameteriEXT v1 v2 v3 = liftIO $ dyn62 ptr_glPixelTransformParameteriEXT v1 v2 v3
-
-{-# NOINLINE ptr_glPixelTransformParameteriEXT #-}
-ptr_glPixelTransformParameteriEXT :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glPixelTransformParameteriEXT = unsafePerformIO $ getCommand "glPixelTransformParameteriEXT"
-
--- glPixelTransformParameterivEXT ----------------------------------------------
-
-glPixelTransformParameterivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @PixelTransformTargetEXT@.
-  -> GLenum -- ^ @pname@ of type @PixelTransformPNameEXT@.
-  -> Ptr GLint -- ^ @params@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glPixelTransformParameterivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glPixelTransformParameterivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glPixelTransformParameterivEXT #-}
-ptr_glPixelTransformParameterivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glPixelTransformParameterivEXT = unsafePerformIO $ getCommand "glPixelTransformParameterivEXT"
-
--- glPixelZoom -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPixelZoom.xml OpenGL 2.x>.
-glPixelZoom
-  :: MonadIO m
-  => GLfloat -- ^ @xfactor@.
-  -> GLfloat -- ^ @yfactor@.
-  -> m ()
-glPixelZoom v1 v2 = liftIO $ dyn221 ptr_glPixelZoom v1 v2
-
-{-# NOINLINE ptr_glPixelZoom #-}
-ptr_glPixelZoom :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glPixelZoom = unsafePerformIO $ getCommand "glPixelZoom"
-
--- glPixelZoomxOES -------------------------------------------------------------
-
-glPixelZoomxOES
-  :: MonadIO m
-  => GLfixed -- ^ @xfactor@.
-  -> GLfixed -- ^ @yfactor@.
-  -> m ()
-glPixelZoomxOES v1 v2 = liftIO $ dyn223 ptr_glPixelZoomxOES v1 v2
-
-{-# NOINLINE ptr_glPixelZoomxOES #-}
-ptr_glPixelZoomxOES :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glPixelZoomxOES = unsafePerformIO $ getCommand "glPixelZoomxOES"
-
--- glPointAlongPathNV ----------------------------------------------------------
-
-glPointAlongPathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLsizei -- ^ @startSegment@.
-  -> GLsizei -- ^ @numSegments@.
-  -> GLfloat -- ^ @distance@.
-  -> Ptr GLfloat -- ^ @x@ pointing to @1@ element of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @y@ pointing to @1@ element of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @tangentX@ pointing to @1@ element of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @tangentY@ pointing to @1@ element of type @GLfloat@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glPointAlongPathNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn605 ptr_glPointAlongPathNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glPointAlongPathNV #-}
-ptr_glPointAlongPathNV :: FunPtr (GLuint -> GLsizei -> GLsizei -> GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO GLboolean)
-ptr_glPointAlongPathNV = unsafePerformIO $ getCommand "glPointAlongPathNV"
-
--- glPointParameterf -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
-glPointParameterf
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPointParameterf v1 v2 = liftIO $ dyn0 ptr_glPointParameterf v1 v2
-
-{-# NOINLINE ptr_glPointParameterf #-}
-ptr_glPointParameterf :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPointParameterf = unsafePerformIO $ getCommand "glPointParameterf"
-
--- glPointParameterfARB --------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterf'.
-glPointParameterfARB
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfARB v1 v2 = liftIO $ dyn0 ptr_glPointParameterfARB v1 v2
-
-{-# NOINLINE ptr_glPointParameterfARB #-}
-ptr_glPointParameterfARB :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPointParameterfARB = unsafePerformIO $ getCommand "glPointParameterfARB"
-
--- glPointParameterfEXT --------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterf'.
-glPointParameterfEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfEXT v1 v2 = liftIO $ dyn0 ptr_glPointParameterfEXT v1 v2
-
-{-# NOINLINE ptr_glPointParameterfEXT #-}
-ptr_glPointParameterfEXT :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPointParameterfEXT = unsafePerformIO $ getCommand "glPointParameterfEXT"
-
--- glPointParameterfSGIS -------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterf'.
-glPointParameterfSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfSGIS v1 v2 = liftIO $ dyn0 ptr_glPointParameterfSGIS v1 v2
-
-{-# NOINLINE ptr_glPointParameterfSGIS #-}
-ptr_glPointParameterfSGIS :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glPointParameterfSGIS = unsafePerformIO $ getCommand "glPointParameterfSGIS"
-
--- glPointParameterfv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
-glPointParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfv v1 v2 = liftIO $ dyn93 ptr_glPointParameterfv v1 v2
-
-{-# NOINLINE ptr_glPointParameterfv #-}
-ptr_glPointParameterfv :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfv = unsafePerformIO $ getCommand "glPointParameterfv"
-
--- glPointParameterfvARB -------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterfv'.
-glPointParameterfvARB
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfvARB v1 v2 = liftIO $ dyn93 ptr_glPointParameterfvARB v1 v2
-
-{-# NOINLINE ptr_glPointParameterfvARB #-}
-ptr_glPointParameterfvARB :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfvARB = unsafePerformIO $ getCommand "glPointParameterfvARB"
-
--- glPointParameterfvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterfv'.
-glPointParameterfvEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfvEXT v1 v2 = liftIO $ dyn93 ptr_glPointParameterfvEXT v1 v2
-
-{-# NOINLINE ptr_glPointParameterfvEXT #-}
-ptr_glPointParameterfvEXT :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfvEXT = unsafePerformIO $ getCommand "glPointParameterfvEXT"
-
--- glPointParameterfvSGIS ------------------------------------------------------
-
--- | This command is an alias for 'glPointParameterfv'.
-glPointParameterfvSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glPointParameterfvSGIS v1 v2 = liftIO $ dyn93 ptr_glPointParameterfvSGIS v1 v2
-
-{-# NOINLINE ptr_glPointParameterfvSGIS #-}
-ptr_glPointParameterfvSGIS :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glPointParameterfvSGIS = unsafePerformIO $ getCommand "glPointParameterfvSGIS"
-
--- glPointParameteri -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
-glPointParameteri
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glPointParameteri v1 v2 = liftIO $ dyn55 ptr_glPointParameteri v1 v2
-
-{-# NOINLINE ptr_glPointParameteri #-}
-ptr_glPointParameteri :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPointParameteri = unsafePerformIO $ getCommand "glPointParameteri"
-
--- glPointParameteriNV ---------------------------------------------------------
-
--- | This command is an alias for 'glPointParameteri'.
-glPointParameteriNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glPointParameteriNV v1 v2 = liftIO $ dyn55 ptr_glPointParameteriNV v1 v2
-
-{-# NOINLINE ptr_glPointParameteriNV #-}
-ptr_glPointParameteriNV :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glPointParameteriNV = unsafePerformIO $ getCommand "glPointParameteriNV"
-
--- glPointParameteriv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointParameter.xhtml OpenGL 4.x>.
-glPointParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glPointParameteriv v1 v2 = liftIO $ dyn135 ptr_glPointParameteriv v1 v2
-
-{-# NOINLINE ptr_glPointParameteriv #-}
-ptr_glPointParameteriv :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glPointParameteriv = unsafePerformIO $ getCommand "glPointParameteriv"
-
--- glPointParameterivNV --------------------------------------------------------
-
--- | This command is an alias for 'glPointParameteriv'.
-glPointParameterivNV
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @PointParameterNameARB@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glPointParameterivNV v1 v2 = liftIO $ dyn135 ptr_glPointParameterivNV v1 v2
-
-{-# NOINLINE ptr_glPointParameterivNV #-}
-ptr_glPointParameterivNV :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glPointParameterivNV = unsafePerformIO $ getCommand "glPointParameterivNV"
-
--- glPointParameterx -----------------------------------------------------------
-
-glPointParameterx
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glPointParameterx v1 v2 = liftIO $ dyn1 ptr_glPointParameterx v1 v2
-
-{-# NOINLINE ptr_glPointParameterx #-}
-ptr_glPointParameterx :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glPointParameterx = unsafePerformIO $ getCommand "glPointParameterx"
-
--- glPointParameterxOES --------------------------------------------------------
-
-glPointParameterxOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glPointParameterxOES v1 v2 = liftIO $ dyn1 ptr_glPointParameterxOES v1 v2
-
-{-# NOINLINE ptr_glPointParameterxOES #-}
-ptr_glPointParameterxOES :: FunPtr (GLenum -> GLfixed -> IO ())
-ptr_glPointParameterxOES = unsafePerformIO $ getCommand "glPointParameterxOES"
-
--- glPointParameterxv ----------------------------------------------------------
-
-glPointParameterxv
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glPointParameterxv v1 v2 = liftIO $ dyn94 ptr_glPointParameterxv v1 v2
-
-{-# NOINLINE ptr_glPointParameterxv #-}
-ptr_glPointParameterxv :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glPointParameterxv = unsafePerformIO $ getCommand "glPointParameterxv"
-
--- glPointParameterxvOES -------------------------------------------------------
-
-glPointParameterxvOES
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glPointParameterxvOES v1 v2 = liftIO $ dyn94 ptr_glPointParameterxvOES v1 v2
-
-{-# NOINLINE ptr_glPointParameterxvOES #-}
-ptr_glPointParameterxvOES :: FunPtr (GLenum -> Ptr GLfixed -> IO ())
-ptr_glPointParameterxvOES = unsafePerformIO $ getCommand "glPointParameterxvOES"
-
--- glPointSize -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPointSize.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPointSize.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPointSize.xhtml OpenGL 4.x>.
-glPointSize
-  :: MonadIO m
-  => GLfloat -- ^ @size@ of type @CheckedFloat32@.
-  -> m ()
-glPointSize v1 = liftIO $ dyn79 ptr_glPointSize v1
-
-{-# NOINLINE ptr_glPointSize #-}
-ptr_glPointSize :: FunPtr (GLfloat -> IO ())
-ptr_glPointSize = unsafePerformIO $ getCommand "glPointSize"
-
--- glPointSizePointerOES -------------------------------------------------------
-
-glPointSizePointerOES
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glPointSizePointerOES v1 v2 v3 = liftIO $ dyn46 ptr_glPointSizePointerOES v1 v2 v3
-
-{-# NOINLINE ptr_glPointSizePointerOES #-}
-ptr_glPointSizePointerOES :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glPointSizePointerOES = unsafePerformIO $ getCommand "glPointSizePointerOES"
-
--- glPointSizex ----------------------------------------------------------------
-
-glPointSizex
-  :: MonadIO m
-  => GLfixed -- ^ @size@.
-  -> m ()
-glPointSizex v1 = liftIO $ dyn81 ptr_glPointSizex v1
-
-{-# NOINLINE ptr_glPointSizex #-}
-ptr_glPointSizex :: FunPtr (GLfixed -> IO ())
-ptr_glPointSizex = unsafePerformIO $ getCommand "glPointSizex"
-
--- glPointSizexOES -------------------------------------------------------------
-
-glPointSizexOES
-  :: MonadIO m
-  => GLfixed -- ^ @size@.
-  -> m ()
-glPointSizexOES v1 = liftIO $ dyn81 ptr_glPointSizexOES v1
-
-{-# NOINLINE ptr_glPointSizexOES #-}
-ptr_glPointSizexOES :: FunPtr (GLfixed -> IO ())
-ptr_glPointSizexOES = unsafePerformIO $ getCommand "glPointSizexOES"
-
--- glPollAsyncSGIX -------------------------------------------------------------
-
-glPollAsyncSGIX
-  :: MonadIO m
-  => Ptr GLuint -- ^ @markerp@ pointing to @1@ element of type @GLuint@.
-  -> m GLint
-glPollAsyncSGIX v1 = liftIO $ dyn276 ptr_glPollAsyncSGIX v1
-
-{-# NOINLINE ptr_glPollAsyncSGIX #-}
-ptr_glPollAsyncSGIX :: FunPtr (Ptr GLuint -> IO GLint)
-ptr_glPollAsyncSGIX = unsafePerformIO $ getCommand "glPollAsyncSGIX"
-
--- glPollInstrumentsSGIX -------------------------------------------------------
-
-glPollInstrumentsSGIX
-  :: MonadIO m
-  => Ptr GLint -- ^ @marker_p@ pointing to @1@ element of type @GLint@.
-  -> m GLint
-glPollInstrumentsSGIX v1 = liftIO $ dyn606 ptr_glPollInstrumentsSGIX v1
-
-{-# NOINLINE ptr_glPollInstrumentsSGIX #-}
-ptr_glPollInstrumentsSGIX :: FunPtr (Ptr GLint -> IO GLint)
-ptr_glPollInstrumentsSGIX = unsafePerformIO $ getCommand "glPollInstrumentsSGIX"
-
--- glPolygonMode ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPolygonMode.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPolygonMode.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPolygonMode.xhtml OpenGL 4.x>.
-glPolygonMode
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @mode@ of type [PolygonMode](Graphics-Rendering-OpenGL-Raw-Groups.html#PolygonMode).
-  -> m ()
-glPolygonMode v1 v2 = liftIO $ dyn51 ptr_glPolygonMode v1 v2
-
-{-# NOINLINE ptr_glPolygonMode #-}
-ptr_glPolygonMode :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glPolygonMode = unsafePerformIO $ getCommand "glPolygonMode"
-
--- glPolygonModeNV -------------------------------------------------------------
-
--- | This command is an alias for 'glPolygonMode'.
-glPolygonModeNV
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @mode@ of type [PolygonMode](Graphics-Rendering-OpenGL-Raw-Groups.html#PolygonMode).
-  -> m ()
-glPolygonModeNV v1 v2 = liftIO $ dyn51 ptr_glPolygonModeNV v1 v2
-
-{-# NOINLINE ptr_glPolygonModeNV #-}
-ptr_glPolygonModeNV :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glPolygonModeNV = unsafePerformIO $ getCommand "glPolygonModeNV"
-
--- glPolygonOffset -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glPolygonOffset.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glPolygonOffset.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPolygonOffset.xhtml OpenGL 4.x>.
-glPolygonOffset
-  :: MonadIO m
-  => GLfloat -- ^ @factor@.
-  -> GLfloat -- ^ @units@.
-  -> m ()
-glPolygonOffset v1 v2 = liftIO $ dyn221 ptr_glPolygonOffset v1 v2
-
-{-# NOINLINE ptr_glPolygonOffset #-}
-ptr_glPolygonOffset :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glPolygonOffset = unsafePerformIO $ getCommand "glPolygonOffset"
-
--- glPolygonOffsetClampEXT -----------------------------------------------------
-
-glPolygonOffsetClampEXT
-  :: MonadIO m
-  => GLfloat -- ^ @factor@.
-  -> GLfloat -- ^ @units@.
-  -> GLfloat -- ^ @clamp@.
-  -> m ()
-glPolygonOffsetClampEXT v1 v2 v3 = liftIO $ dyn40 ptr_glPolygonOffsetClampEXT v1 v2 v3
-
-{-# NOINLINE ptr_glPolygonOffsetClampEXT #-}
-ptr_glPolygonOffsetClampEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glPolygonOffsetClampEXT = unsafePerformIO $ getCommand "glPolygonOffsetClampEXT"
-
--- glPolygonOffsetEXT ----------------------------------------------------------
-
-glPolygonOffsetEXT
-  :: MonadIO m
-  => GLfloat -- ^ @factor@.
-  -> GLfloat -- ^ @bias@.
-  -> m ()
-glPolygonOffsetEXT v1 v2 = liftIO $ dyn221 ptr_glPolygonOffsetEXT v1 v2
-
-{-# NOINLINE ptr_glPolygonOffsetEXT #-}
-ptr_glPolygonOffsetEXT :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glPolygonOffsetEXT = unsafePerformIO $ getCommand "glPolygonOffsetEXT"
-
--- glPolygonOffsetx ------------------------------------------------------------
-
-glPolygonOffsetx
-  :: MonadIO m
-  => GLfixed -- ^ @factor@.
-  -> GLfixed -- ^ @units@.
-  -> m ()
-glPolygonOffsetx v1 v2 = liftIO $ dyn223 ptr_glPolygonOffsetx v1 v2
-
-{-# NOINLINE ptr_glPolygonOffsetx #-}
-ptr_glPolygonOffsetx :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glPolygonOffsetx = unsafePerformIO $ getCommand "glPolygonOffsetx"
-
--- glPolygonOffsetxOES ---------------------------------------------------------
-
-glPolygonOffsetxOES
-  :: MonadIO m
-  => GLfixed -- ^ @factor@.
-  -> GLfixed -- ^ @units@.
-  -> m ()
-glPolygonOffsetxOES v1 v2 = liftIO $ dyn223 ptr_glPolygonOffsetxOES v1 v2
-
-{-# NOINLINE ptr_glPolygonOffsetxOES #-}
-ptr_glPolygonOffsetxOES :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glPolygonOffsetxOES = unsafePerformIO $ getCommand "glPolygonOffsetxOES"
-
--- glPolygonStipple ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPolygonStipple.xml OpenGL 2.x>.
-glPolygonStipple
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @mask@ pointing to @COMPSIZE()@ elements of type @GLubyte@.
-  -> m ()
-glPolygonStipple v1 = liftIO $ dyn100 ptr_glPolygonStipple v1
-
-{-# NOINLINE ptr_glPolygonStipple #-}
-ptr_glPolygonStipple :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glPolygonStipple = unsafePerformIO $ getCommand "glPolygonStipple"
-
--- glPopAttrib -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushAttrib.xml OpenGL 2.x>.
-glPopAttrib
-  :: MonadIO m
-  => m ()
-glPopAttrib = liftIO $ dyn10 ptr_glPopAttrib
-
-{-# NOINLINE ptr_glPopAttrib #-}
-ptr_glPopAttrib :: FunPtr (IO ())
-ptr_glPopAttrib = unsafePerformIO $ getCommand "glPopAttrib"
-
--- glPopClientAttrib -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushClientAttrib.xml OpenGL 2.x>.
-glPopClientAttrib
-  :: MonadIO m
-  => m ()
-glPopClientAttrib = liftIO $ dyn10 ptr_glPopClientAttrib
-
-{-# NOINLINE ptr_glPopClientAttrib #-}
-ptr_glPopClientAttrib :: FunPtr (IO ())
-ptr_glPopClientAttrib = unsafePerformIO $ getCommand "glPopClientAttrib"
-
--- glPopDebugGroup -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPopDebugGroup.xhtml OpenGL 4.x>.
-glPopDebugGroup
-  :: MonadIO m
-  => m ()
-glPopDebugGroup = liftIO $ dyn10 ptr_glPopDebugGroup
-
-{-# NOINLINE ptr_glPopDebugGroup #-}
-ptr_glPopDebugGroup :: FunPtr (IO ())
-ptr_glPopDebugGroup = unsafePerformIO $ getCommand "glPopDebugGroup"
-
--- glPopDebugGroupKHR ----------------------------------------------------------
-
--- | This command is an alias for 'glPopDebugGroup'.
-glPopDebugGroupKHR
-  :: MonadIO m
-  => m ()
-glPopDebugGroupKHR = liftIO $ dyn10 ptr_glPopDebugGroupKHR
-
-{-# NOINLINE ptr_glPopDebugGroupKHR #-}
-ptr_glPopDebugGroupKHR :: FunPtr (IO ())
-ptr_glPopDebugGroupKHR = unsafePerformIO $ getCommand "glPopDebugGroupKHR"
-
--- glPopGroupMarkerEXT ---------------------------------------------------------
-
-glPopGroupMarkerEXT
-  :: MonadIO m
-  => m ()
-glPopGroupMarkerEXT = liftIO $ dyn10 ptr_glPopGroupMarkerEXT
-
-{-# NOINLINE ptr_glPopGroupMarkerEXT #-}
-ptr_glPopGroupMarkerEXT :: FunPtr (IO ())
-ptr_glPopGroupMarkerEXT = unsafePerformIO $ getCommand "glPopGroupMarkerEXT"
-
--- glPopMatrix -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushMatrix.xml OpenGL 2.x>.
-glPopMatrix
-  :: MonadIO m
-  => m ()
-glPopMatrix = liftIO $ dyn10 ptr_glPopMatrix
-
-{-# NOINLINE ptr_glPopMatrix #-}
-ptr_glPopMatrix :: FunPtr (IO ())
-ptr_glPopMatrix = unsafePerformIO $ getCommand "glPopMatrix"
-
--- glPopName -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushName.xml OpenGL 2.x>.
-glPopName
-  :: MonadIO m
-  => m ()
-glPopName = liftIO $ dyn10 ptr_glPopName
-
-{-# NOINLINE ptr_glPopName #-}
-ptr_glPopName :: FunPtr (IO ())
-ptr_glPopName = unsafePerformIO $ getCommand "glPopName"
-
--- glPresentFrameDualFillNV ----------------------------------------------------
-
-glPresentFrameDualFillNV
-  :: MonadIO m
-  => GLuint -- ^ @video_slot@.
-  -> GLuint64EXT -- ^ @minPresentTime@.
-  -> GLuint -- ^ @beginPresentTimeId@.
-  -> GLuint -- ^ @presentDurationId@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @target0@.
-  -> GLuint -- ^ @fill0@.
-  -> GLenum -- ^ @target1@.
-  -> GLuint -- ^ @fill1@.
-  -> GLenum -- ^ @target2@.
-  -> GLuint -- ^ @fill2@.
-  -> GLenum -- ^ @target3@.
-  -> GLuint -- ^ @fill3@.
-  -> m ()
-glPresentFrameDualFillNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn607 ptr_glPresentFrameDualFillNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
-
-{-# NOINLINE ptr_glPresentFrameDualFillNV #-}
-ptr_glPresentFrameDualFillNV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> IO ())
-ptr_glPresentFrameDualFillNV = unsafePerformIO $ getCommand "glPresentFrameDualFillNV"
-
--- glPresentFrameKeyedNV -------------------------------------------------------
-
-glPresentFrameKeyedNV
-  :: MonadIO m
-  => GLuint -- ^ @video_slot@.
-  -> GLuint64EXT -- ^ @minPresentTime@.
-  -> GLuint -- ^ @beginPresentTimeId@.
-  -> GLuint -- ^ @presentDurationId@.
-  -> GLenum -- ^ @type@.
-  -> GLenum -- ^ @target0@.
-  -> GLuint -- ^ @fill0@.
-  -> GLuint -- ^ @key0@.
-  -> GLenum -- ^ @target1@.
-  -> GLuint -- ^ @fill1@.
-  -> GLuint -- ^ @key1@.
-  -> m ()
-glPresentFrameKeyedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn608 ptr_glPresentFrameKeyedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glPresentFrameKeyedNV #-}
-ptr_glPresentFrameKeyedNV :: FunPtr (GLuint -> GLuint64EXT -> GLuint -> GLuint -> GLenum -> GLenum -> GLuint -> GLuint -> GLenum -> GLuint -> GLuint -> IO ())
-ptr_glPresentFrameKeyedNV = unsafePerformIO $ getCommand "glPresentFrameKeyedNV"
-
--- glPrimitiveBoundingBox ------------------------------------------------------
-
-glPrimitiveBoundingBox
-  :: MonadIO m
-  => GLfloat -- ^ @minX@.
-  -> GLfloat -- ^ @minY@.
-  -> GLfloat -- ^ @minZ@.
-  -> GLfloat -- ^ @minW@.
-  -> GLfloat -- ^ @maxX@.
-  -> GLfloat -- ^ @maxY@.
-  -> GLfloat -- ^ @maxZ@.
-  -> GLfloat -- ^ @maxW@.
-  -> m ()
-glPrimitiveBoundingBox v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBox v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glPrimitiveBoundingBox #-}
-ptr_glPrimitiveBoundingBox :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glPrimitiveBoundingBox = unsafePerformIO $ getCommand "glPrimitiveBoundingBox"
-
--- glPrimitiveBoundingBoxARB ---------------------------------------------------
-
--- | This command is an alias for 'glPrimitiveBoundingBox'.
-glPrimitiveBoundingBoxARB
-  :: MonadIO m
-  => GLfloat -- ^ @minX@.
-  -> GLfloat -- ^ @minY@.
-  -> GLfloat -- ^ @minZ@.
-  -> GLfloat -- ^ @minW@.
-  -> GLfloat -- ^ @maxX@.
-  -> GLfloat -- ^ @maxY@.
-  -> GLfloat -- ^ @maxZ@.
-  -> GLfloat -- ^ @maxW@.
-  -> m ()
-glPrimitiveBoundingBoxARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBoxARB v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glPrimitiveBoundingBoxARB #-}
-ptr_glPrimitiveBoundingBoxARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glPrimitiveBoundingBoxARB = unsafePerformIO $ getCommand "glPrimitiveBoundingBoxARB"
-
--- glPrimitiveBoundingBoxEXT ---------------------------------------------------
-
--- | This command is an alias for 'glPrimitiveBoundingBox'.
-glPrimitiveBoundingBoxEXT
-  :: MonadIO m
-  => GLfloat -- ^ @minX@.
-  -> GLfloat -- ^ @minY@.
-  -> GLfloat -- ^ @minZ@.
-  -> GLfloat -- ^ @minW@.
-  -> GLfloat -- ^ @maxX@.
-  -> GLfloat -- ^ @maxY@.
-  -> GLfloat -- ^ @maxZ@.
-  -> GLfloat -- ^ @maxW@.
-  -> m ()
-glPrimitiveBoundingBoxEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBoxEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glPrimitiveBoundingBoxEXT #-}
-ptr_glPrimitiveBoundingBoxEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glPrimitiveBoundingBoxEXT = unsafePerformIO $ getCommand "glPrimitiveBoundingBoxEXT"
-
--- glPrimitiveBoundingBoxOES ---------------------------------------------------
-
--- | This command is an alias for 'glPrimitiveBoundingBox'.
-glPrimitiveBoundingBoxOES
-  :: MonadIO m
-  => GLfloat -- ^ @minX@.
-  -> GLfloat -- ^ @minY@.
-  -> GLfloat -- ^ @minZ@.
-  -> GLfloat -- ^ @minW@.
-  -> GLfloat -- ^ @maxX@.
-  -> GLfloat -- ^ @maxY@.
-  -> GLfloat -- ^ @maxZ@.
-  -> GLfloat -- ^ @maxW@.
-  -> m ()
-glPrimitiveBoundingBoxOES v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glPrimitiveBoundingBoxOES v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glPrimitiveBoundingBoxOES #-}
-ptr_glPrimitiveBoundingBoxOES :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glPrimitiveBoundingBoxOES = unsafePerformIO $ getCommand "glPrimitiveBoundingBoxOES"
-
--- glPrimitiveRestartIndex -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glPrimitiveRestartIndex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glPrimitiveRestartIndex.xhtml OpenGL 4.x>.
-glPrimitiveRestartIndex
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> m ()
-glPrimitiveRestartIndex v1 = liftIO $ dyn2 ptr_glPrimitiveRestartIndex v1
-
-{-# NOINLINE ptr_glPrimitiveRestartIndex #-}
-ptr_glPrimitiveRestartIndex :: FunPtr (GLuint -> IO ())
-ptr_glPrimitiveRestartIndex = unsafePerformIO $ getCommand "glPrimitiveRestartIndex"
-
--- glPrimitiveRestartIndexNV ---------------------------------------------------
-
-glPrimitiveRestartIndexNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> m ()
-glPrimitiveRestartIndexNV v1 = liftIO $ dyn2 ptr_glPrimitiveRestartIndexNV v1
-
-{-# NOINLINE ptr_glPrimitiveRestartIndexNV #-}
-ptr_glPrimitiveRestartIndexNV :: FunPtr (GLuint -> IO ())
-ptr_glPrimitiveRestartIndexNV = unsafePerformIO $ getCommand "glPrimitiveRestartIndexNV"
-
--- glPrimitiveRestartNV --------------------------------------------------------
-
-glPrimitiveRestartNV
-  :: MonadIO m
-  => m ()
-glPrimitiveRestartNV = liftIO $ dyn10 ptr_glPrimitiveRestartNV
-
-{-# NOINLINE ptr_glPrimitiveRestartNV #-}
-ptr_glPrimitiveRestartNV :: FunPtr (IO ())
-ptr_glPrimitiveRestartNV = unsafePerformIO $ getCommand "glPrimitiveRestartNV"
-
--- glPrioritizeTextures --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPrioritizeTextures.xml OpenGL 2.x>.
-glPrioritizeTextures
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> Ptr GLfloat -- ^ @priorities@ pointing to @n@ elements of type @GLfloat@.
-  -> m ()
-glPrioritizeTextures v1 v2 v3 = liftIO $ dyn610 ptr_glPrioritizeTextures v1 v2 v3
-
-{-# NOINLINE ptr_glPrioritizeTextures #-}
-ptr_glPrioritizeTextures :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
-ptr_glPrioritizeTextures = unsafePerformIO $ getCommand "glPrioritizeTextures"
-
--- glPrioritizeTexturesEXT -----------------------------------------------------
-
--- | This command is an alias for 'glPrioritizeTextures'.
-glPrioritizeTexturesEXT
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @Texture@.
-  -> Ptr GLclampf -- ^ @priorities@ pointing to @n@ elements of type @ClampedFloat32@.
-  -> m ()
-glPrioritizeTexturesEXT v1 v2 v3 = liftIO $ dyn611 ptr_glPrioritizeTexturesEXT v1 v2 v3
-
-{-# NOINLINE ptr_glPrioritizeTexturesEXT #-}
-ptr_glPrioritizeTexturesEXT :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLclampf -> IO ())
-ptr_glPrioritizeTexturesEXT = unsafePerformIO $ getCommand "glPrioritizeTexturesEXT"
-
--- glPrioritizeTexturesxOES ----------------------------------------------------
-
-glPrioritizeTexturesxOES
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @textures@ pointing to @n@ elements of type @GLuint@.
-  -> Ptr GLfixed -- ^ @priorities@ pointing to @n@ elements of type @ClampedFixed@.
-  -> m ()
-glPrioritizeTexturesxOES v1 v2 v3 = liftIO $ dyn612 ptr_glPrioritizeTexturesxOES v1 v2 v3
-
-{-# NOINLINE ptr_glPrioritizeTexturesxOES #-}
-ptr_glPrioritizeTexturesxOES :: FunPtr (GLsizei -> Ptr GLuint -> Ptr GLfixed -> IO ())
-ptr_glPrioritizeTexturesxOES = unsafePerformIO $ getCommand "glPrioritizeTexturesxOES"
-
--- glProgramBinary -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramBinary.xhtml OpenGL 4.x>.
-glProgramBinary
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @binaryFormat@.
-  -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
-  -> GLsizei -- ^ @length@.
-  -> m ()
-glProgramBinary v1 v2 v3 v4 = liftIO $ dyn613 ptr_glProgramBinary v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramBinary #-}
-ptr_glProgramBinary :: FunPtr (GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-ptr_glProgramBinary = unsafePerformIO $ getCommand "glProgramBinary"
-
--- glProgramBinaryOES ----------------------------------------------------------
-
--- | This command is an alias for 'glProgramBinary'.
-glProgramBinaryOES
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @binaryFormat@.
-  -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
-  -> GLint -- ^ @length@.
-  -> m ()
-glProgramBinaryOES v1 v2 v3 v4 = liftIO $ dyn614 ptr_glProgramBinaryOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramBinaryOES #-}
-ptr_glProgramBinaryOES :: FunPtr (GLuint -> GLenum -> Ptr a -> GLint -> IO ())
-ptr_glProgramBinaryOES = unsafePerformIO $ getCommand "glProgramBinaryOES"
-
--- glProgramBufferParametersIivNV ----------------------------------------------
-
-glProgramBufferParametersIivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @bindingIndex@.
-  -> GLuint -- ^ @wordIndex@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @params@ pointing to @count@ elements of type @GLint@.
-  -> m ()
-glProgramBufferParametersIivNV v1 v2 v3 v4 v5 = liftIO $ dyn615 ptr_glProgramBufferParametersIivNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramBufferParametersIivNV #-}
-ptr_glProgramBufferParametersIivNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramBufferParametersIivNV = unsafePerformIO $ getCommand "glProgramBufferParametersIivNV"
-
--- glProgramBufferParametersIuivNV ---------------------------------------------
-
-glProgramBufferParametersIuivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @bindingIndex@.
-  -> GLuint -- ^ @wordIndex@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @params@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glProgramBufferParametersIuivNV v1 v2 v3 v4 v5 = liftIO $ dyn616 ptr_glProgramBufferParametersIuivNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramBufferParametersIuivNV #-}
-ptr_glProgramBufferParametersIuivNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramBufferParametersIuivNV = unsafePerformIO $ getCommand "glProgramBufferParametersIuivNV"
-
--- glProgramBufferParametersfvNV -----------------------------------------------
-
-glProgramBufferParametersfvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @bindingIndex@.
-  -> GLuint -- ^ @wordIndex@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramBufferParametersfvNV v1 v2 v3 v4 v5 = liftIO $ dyn617 ptr_glProgramBufferParametersfvNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramBufferParametersfvNV #-}
-ptr_glProgramBufferParametersfvNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramBufferParametersfvNV = unsafePerformIO $ getCommand "glProgramBufferParametersfvNV"
-
--- glProgramEnvParameter4dARB --------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramEnvParameter4dvARB'.
-glProgramEnvParameter4dARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glProgramEnvParameter4dARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn618 ptr_glProgramEnvParameter4dARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramEnvParameter4dARB #-}
-ptr_glProgramEnvParameter4dARB :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramEnvParameter4dARB = unsafePerformIO $ getCommand "glProgramEnvParameter4dARB"
-
--- glProgramEnvParameter4dvARB -------------------------------------------------
-
-glProgramEnvParameter4dvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glProgramEnvParameter4dvARB v1 v2 v3 = liftIO $ dyn327 ptr_glProgramEnvParameter4dvARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramEnvParameter4dvARB #-}
-ptr_glProgramEnvParameter4dvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glProgramEnvParameter4dvARB = unsafePerformIO $ getCommand "glProgramEnvParameter4dvARB"
-
--- glProgramEnvParameter4fARB --------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramEnvParameter4fvARB'.
-glProgramEnvParameter4fARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glProgramEnvParameter4fARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn619 ptr_glProgramEnvParameter4fARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramEnvParameter4fARB #-}
-ptr_glProgramEnvParameter4fARB :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramEnvParameter4fARB = unsafePerformIO $ getCommand "glProgramEnvParameter4fARB"
-
--- glProgramEnvParameter4fvARB -------------------------------------------------
-
-glProgramEnvParameter4fvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glProgramEnvParameter4fvARB v1 v2 v3 = liftIO $ dyn266 ptr_glProgramEnvParameter4fvARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramEnvParameter4fvARB #-}
-ptr_glProgramEnvParameter4fvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glProgramEnvParameter4fvARB = unsafePerformIO $ getCommand "glProgramEnvParameter4fvARB"
-
--- glProgramEnvParameterI4iNV --------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramEnvParameterI4ivNV'.
-glProgramEnvParameterI4iNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glProgramEnvParameterI4iNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn620 ptr_glProgramEnvParameterI4iNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramEnvParameterI4iNV #-}
-ptr_glProgramEnvParameterI4iNV :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramEnvParameterI4iNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4iNV"
-
--- glProgramEnvParameterI4ivNV -------------------------------------------------
-
-glProgramEnvParameterI4ivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glProgramEnvParameterI4ivNV v1 v2 v3 = liftIO $ dyn338 ptr_glProgramEnvParameterI4ivNV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramEnvParameterI4ivNV #-}
-ptr_glProgramEnvParameterI4ivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glProgramEnvParameterI4ivNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4ivNV"
-
--- glProgramEnvParameterI4uiNV -------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramEnvParameterI4uivNV'.
-glProgramEnvParameterI4uiNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> GLuint -- ^ @w@.
-  -> m ()
-glProgramEnvParameterI4uiNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn6 ptr_glProgramEnvParameterI4uiNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramEnvParameterI4uiNV #-}
-ptr_glProgramEnvParameterI4uiNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glProgramEnvParameterI4uiNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4uiNV"
-
--- glProgramEnvParameterI4uivNV ------------------------------------------------
-
-glProgramEnvParameterI4uivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glProgramEnvParameterI4uivNV v1 v2 v3 = liftIO $ dyn213 ptr_glProgramEnvParameterI4uivNV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramEnvParameterI4uivNV #-}
-ptr_glProgramEnvParameterI4uivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glProgramEnvParameterI4uivNV = unsafePerformIO $ getCommand "glProgramEnvParameterI4uivNV"
-
--- glProgramEnvParameters4fvEXT ------------------------------------------------
-
-glProgramEnvParameters4fvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glProgramEnvParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn283 ptr_glProgramEnvParameters4fvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramEnvParameters4fvEXT #-}
-ptr_glProgramEnvParameters4fvEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramEnvParameters4fvEXT = unsafePerformIO $ getCommand "glProgramEnvParameters4fvEXT"
-
--- glProgramEnvParametersI4ivNV ------------------------------------------------
-
-glProgramEnvParametersI4ivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @params@ pointing to @count*4@ elements of type @GLint@.
-  -> m ()
-glProgramEnvParametersI4ivNV v1 v2 v3 v4 = liftIO $ dyn621 ptr_glProgramEnvParametersI4ivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramEnvParametersI4ivNV #-}
-ptr_glProgramEnvParametersI4ivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramEnvParametersI4ivNV = unsafePerformIO $ getCommand "glProgramEnvParametersI4ivNV"
-
--- glProgramEnvParametersI4uivNV -----------------------------------------------
-
-glProgramEnvParametersI4uivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @params@ pointing to @count*4@ elements of type @GLuint@.
-  -> m ()
-glProgramEnvParametersI4uivNV v1 v2 v3 v4 = liftIO $ dyn22 ptr_glProgramEnvParametersI4uivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramEnvParametersI4uivNV #-}
-ptr_glProgramEnvParametersI4uivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramEnvParametersI4uivNV = unsafePerformIO $ getCommand "glProgramEnvParametersI4uivNV"
-
--- glProgramLocalParameter4dARB ------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramLocalParameter4dvARB'.
-glProgramLocalParameter4dARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glProgramLocalParameter4dARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn618 ptr_glProgramLocalParameter4dARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramLocalParameter4dARB #-}
-ptr_glProgramLocalParameter4dARB :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramLocalParameter4dARB = unsafePerformIO $ getCommand "glProgramLocalParameter4dARB"
-
--- glProgramLocalParameter4dvARB -----------------------------------------------
-
-glProgramLocalParameter4dvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glProgramLocalParameter4dvARB v1 v2 v3 = liftIO $ dyn327 ptr_glProgramLocalParameter4dvARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramLocalParameter4dvARB #-}
-ptr_glProgramLocalParameter4dvARB :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glProgramLocalParameter4dvARB = unsafePerformIO $ getCommand "glProgramLocalParameter4dvARB"
-
--- glProgramLocalParameter4fARB ------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramLocalParameter4fvARB'.
-glProgramLocalParameter4fARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glProgramLocalParameter4fARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn619 ptr_glProgramLocalParameter4fARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramLocalParameter4fARB #-}
-ptr_glProgramLocalParameter4fARB :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramLocalParameter4fARB = unsafePerformIO $ getCommand "glProgramLocalParameter4fARB"
-
--- glProgramLocalParameter4fvARB -----------------------------------------------
-
-glProgramLocalParameter4fvARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glProgramLocalParameter4fvARB v1 v2 v3 = liftIO $ dyn266 ptr_glProgramLocalParameter4fvARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramLocalParameter4fvARB #-}
-ptr_glProgramLocalParameter4fvARB :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glProgramLocalParameter4fvARB = unsafePerformIO $ getCommand "glProgramLocalParameter4fvARB"
-
--- glProgramLocalParameterI4iNV ------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramLocalParameterI4ivNV'.
-glProgramLocalParameterI4iNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glProgramLocalParameterI4iNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn620 ptr_glProgramLocalParameterI4iNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramLocalParameterI4iNV #-}
-ptr_glProgramLocalParameterI4iNV :: FunPtr (GLenum -> GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramLocalParameterI4iNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4iNV"
-
--- glProgramLocalParameterI4ivNV -----------------------------------------------
-
-glProgramLocalParameterI4ivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @params@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glProgramLocalParameterI4ivNV v1 v2 v3 = liftIO $ dyn338 ptr_glProgramLocalParameterI4ivNV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramLocalParameterI4ivNV #-}
-ptr_glProgramLocalParameterI4ivNV :: FunPtr (GLenum -> GLuint -> Ptr GLint -> IO ())
-ptr_glProgramLocalParameterI4ivNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4ivNV"
-
--- glProgramLocalParameterI4uiNV -----------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramLocalParameterI4uivNV'.
-glProgramLocalParameterI4uiNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> GLuint -- ^ @w@.
-  -> m ()
-glProgramLocalParameterI4uiNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn6 ptr_glProgramLocalParameterI4uiNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramLocalParameterI4uiNV #-}
-ptr_glProgramLocalParameterI4uiNV :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glProgramLocalParameterI4uiNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4uiNV"
-
--- glProgramLocalParameterI4uivNV ----------------------------------------------
-
-glProgramLocalParameterI4uivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @params@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glProgramLocalParameterI4uivNV v1 v2 v3 = liftIO $ dyn213 ptr_glProgramLocalParameterI4uivNV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramLocalParameterI4uivNV #-}
-ptr_glProgramLocalParameterI4uivNV :: FunPtr (GLenum -> GLuint -> Ptr GLuint -> IO ())
-ptr_glProgramLocalParameterI4uivNV = unsafePerformIO $ getCommand "glProgramLocalParameterI4uivNV"
-
--- glProgramLocalParameters4fvEXT ----------------------------------------------
-
-glProgramLocalParameters4fvEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glProgramLocalParameters4fvEXT v1 v2 v3 v4 = liftIO $ dyn283 ptr_glProgramLocalParameters4fvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramLocalParameters4fvEXT #-}
-ptr_glProgramLocalParameters4fvEXT :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramLocalParameters4fvEXT = unsafePerformIO $ getCommand "glProgramLocalParameters4fvEXT"
-
--- glProgramLocalParametersI4ivNV ----------------------------------------------
-
-glProgramLocalParametersI4ivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @params@ pointing to @count*4@ elements of type @GLint@.
-  -> m ()
-glProgramLocalParametersI4ivNV v1 v2 v3 v4 = liftIO $ dyn621 ptr_glProgramLocalParametersI4ivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramLocalParametersI4ivNV #-}
-ptr_glProgramLocalParametersI4ivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramLocalParametersI4ivNV = unsafePerformIO $ getCommand "glProgramLocalParametersI4ivNV"
-
--- glProgramLocalParametersI4uivNV ---------------------------------------------
-
-glProgramLocalParametersI4uivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @params@ pointing to @count*4@ elements of type @GLuint@.
-  -> m ()
-glProgramLocalParametersI4uivNV v1 v2 v3 v4 = liftIO $ dyn22 ptr_glProgramLocalParametersI4uivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramLocalParametersI4uivNV #-}
-ptr_glProgramLocalParametersI4uivNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramLocalParametersI4uivNV = unsafePerformIO $ getCommand "glProgramLocalParametersI4uivNV"
-
--- glProgramNamedParameter4dNV -------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramNamedParameter4dvNV'.
-glProgramNamedParameter4dNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glProgramNamedParameter4dNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn622 ptr_glProgramNamedParameter4dNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glProgramNamedParameter4dNV #-}
-ptr_glProgramNamedParameter4dNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramNamedParameter4dNV = unsafePerformIO $ getCommand "glProgramNamedParameter4dNV"
-
--- glProgramNamedParameter4dvNV ------------------------------------------------
-
-glProgramNamedParameter4dvNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glProgramNamedParameter4dvNV v1 v2 v3 v4 = liftIO $ dyn389 ptr_glProgramNamedParameter4dvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramNamedParameter4dvNV #-}
-ptr_glProgramNamedParameter4dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLdouble -> IO ())
-ptr_glProgramNamedParameter4dvNV = unsafePerformIO $ getCommand "glProgramNamedParameter4dvNV"
-
--- glProgramNamedParameter4fNV -------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramNamedParameter4fvNV'.
-glProgramNamedParameter4fNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glProgramNamedParameter4fNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn623 ptr_glProgramNamedParameter4fNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glProgramNamedParameter4fNV #-}
-ptr_glProgramNamedParameter4fNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramNamedParameter4fNV = unsafePerformIO $ getCommand "glProgramNamedParameter4fNV"
-
--- glProgramNamedParameter4fvNV ------------------------------------------------
-
-glProgramNamedParameter4fvNV
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr GLubyte -- ^ @name@ pointing to @1@ element of type @GLubyte@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glProgramNamedParameter4fvNV v1 v2 v3 v4 = liftIO $ dyn390 ptr_glProgramNamedParameter4fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramNamedParameter4fvNV #-}
-ptr_glProgramNamedParameter4fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-ptr_glProgramNamedParameter4fvNV = unsafePerformIO $ getCommand "glProgramNamedParameter4fvNV"
-
--- glProgramParameter4dNV ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramParameter4dvNV'.
-glProgramParameter4dNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glProgramParameter4dNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn618 ptr_glProgramParameter4dNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramParameter4dNV #-}
-ptr_glProgramParameter4dNV :: FunPtr (GLenum -> GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramParameter4dNV = unsafePerformIO $ getCommand "glProgramParameter4dNV"
-
--- glProgramParameter4dvNV -----------------------------------------------------
-
-glProgramParameter4dvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glProgramParameter4dvNV v1 v2 v3 = liftIO $ dyn327 ptr_glProgramParameter4dvNV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramParameter4dvNV #-}
-ptr_glProgramParameter4dvNV :: FunPtr (GLenum -> GLuint -> Ptr GLdouble -> IO ())
-ptr_glProgramParameter4dvNV = unsafePerformIO $ getCommand "glProgramParameter4dvNV"
-
--- glProgramParameter4fNV ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glProgramParameter4fvNV'.
-glProgramParameter4fNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glProgramParameter4fNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn619 ptr_glProgramParameter4fNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramParameter4fNV #-}
-ptr_glProgramParameter4fNV :: FunPtr (GLenum -> GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramParameter4fNV = unsafePerformIO $ getCommand "glProgramParameter4fNV"
-
--- glProgramParameter4fvNV -----------------------------------------------------
-
-glProgramParameter4fvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glProgramParameter4fvNV v1 v2 v3 = liftIO $ dyn266 ptr_glProgramParameter4fvNV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramParameter4fvNV #-}
-ptr_glProgramParameter4fvNV :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glProgramParameter4fvNV = unsafePerformIO $ getCommand "glProgramParameter4fvNV"
-
--- glProgramParameteri ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramParameter.xhtml OpenGL 4.x>.
-glProgramParameteri
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glProgramParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glProgramParameteri v1 v2 v3
-
-{-# NOINLINE ptr_glProgramParameteri #-}
-ptr_glProgramParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glProgramParameteri = unsafePerformIO $ getCommand "glProgramParameteri"
-
--- glProgramParameteriARB ------------------------------------------------------
-
--- | This command is an alias for 'glProgramParameteri'.
-glProgramParameteriARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glProgramParameteriARB v1 v2 v3 = liftIO $ dyn484 ptr_glProgramParameteriARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramParameteriARB #-}
-ptr_glProgramParameteriARB :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glProgramParameteriARB = unsafePerformIO $ getCommand "glProgramParameteriARB"
-
--- glProgramParameteriEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramParameteri'.
-glProgramParameteriEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLenum -- ^ @pname@ of type @ProgramParameterPName@.
-  -> GLint -- ^ @value@.
-  -> m ()
-glProgramParameteriEXT v1 v2 v3 = liftIO $ dyn484 ptr_glProgramParameteriEXT v1 v2 v3
-
-{-# NOINLINE ptr_glProgramParameteriEXT #-}
-ptr_glProgramParameteriEXT :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glProgramParameteriEXT = unsafePerformIO $ getCommand "glProgramParameteriEXT"
-
--- glProgramParameters4dvNV ----------------------------------------------------
-
-glProgramParameters4dvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @count*4@ elements of type @GLdouble@.
-  -> m ()
-glProgramParameters4dvNV v1 v2 v3 v4 = liftIO $ dyn624 ptr_glProgramParameters4dvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramParameters4dvNV #-}
-ptr_glProgramParameters4dvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramParameters4dvNV = unsafePerformIO $ getCommand "glProgramParameters4dvNV"
-
--- glProgramParameters4fvNV ----------------------------------------------------
-
-glProgramParameters4fvNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glProgramParameters4fvNV v1 v2 v3 v4 = liftIO $ dyn283 ptr_glProgramParameters4fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramParameters4fvNV #-}
-ptr_glProgramParameters4fvNV :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramParameters4fvNV = unsafePerformIO $ getCommand "glProgramParameters4fvNV"
-
--- glProgramPathFragmentInputGenNV ---------------------------------------------
-
-glProgramPathFragmentInputGenNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLenum -- ^ @genMode@.
-  -> GLint -- ^ @components@.
-  -> Ptr GLfloat -- ^ @coeffs@.
-  -> m ()
-glProgramPathFragmentInputGenNV v1 v2 v3 v4 v5 = liftIO $ dyn625 ptr_glProgramPathFragmentInputGenNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramPathFragmentInputGenNV #-}
-ptr_glProgramPathFragmentInputGenNV :: FunPtr (GLuint -> GLint -> GLenum -> GLint -> Ptr GLfloat -> IO ())
-ptr_glProgramPathFragmentInputGenNV = unsafePerformIO $ getCommand "glProgramPathFragmentInputGenNV"
-
--- glProgramStringARB ----------------------------------------------------------
-
-glProgramStringARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTargetARB@.
-  -> GLenum -- ^ @format@ of type @ProgramFormatARB@.
-  -> GLsizei -- ^ @len@.
-  -> Ptr a -- ^ @string@ pointing to @len@ elements of type @a@.
-  -> m ()
-glProgramStringARB v1 v2 v3 v4 = liftIO $ dyn626 ptr_glProgramStringARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramStringARB #-}
-ptr_glProgramStringARB :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glProgramStringARB = unsafePerformIO $ getCommand "glProgramStringARB"
-
--- glProgramSubroutineParametersuivNV ------------------------------------------
-
-glProgramSubroutineParametersuivNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @params@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glProgramSubroutineParametersuivNV v1 v2 v3 = liftIO $ dyn196 ptr_glProgramSubroutineParametersuivNV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramSubroutineParametersuivNV #-}
-ptr_glProgramSubroutineParametersuivNV :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramSubroutineParametersuivNV = unsafePerformIO $ getCommand "glProgramSubroutineParametersuivNV"
-
--- glProgramUniform1d ----------------------------------------------------------
-
-glProgramUniform1d
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @v0@.
-  -> m ()
-glProgramUniform1d v1 v2 v3 = liftIO $ dyn627 ptr_glProgramUniform1d v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1d #-}
-ptr_glProgramUniform1d :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
-ptr_glProgramUniform1d = unsafePerformIO $ getCommand "glProgramUniform1d"
-
--- glProgramUniform1dEXT -------------------------------------------------------
-
-glProgramUniform1dEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glProgramUniform1dEXT v1 v2 v3 = liftIO $ dyn627 ptr_glProgramUniform1dEXT v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1dEXT #-}
-ptr_glProgramUniform1dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> IO ())
-ptr_glProgramUniform1dEXT = unsafePerformIO $ getCommand "glProgramUniform1dEXT"
-
--- glProgramUniform1dv ---------------------------------------------------------
-
-glProgramUniform1dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glProgramUniform1dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform1dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1dv #-}
-ptr_glProgramUniform1dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform1dv = unsafePerformIO $ getCommand "glProgramUniform1dv"
-
--- glProgramUniform1dvEXT ------------------------------------------------------
-
-glProgramUniform1dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniform1dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform1dvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1dvEXT #-}
-ptr_glProgramUniform1dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform1dvEXT = unsafePerformIO $ getCommand "glProgramUniform1dvEXT"
-
--- glProgramUniform1f ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform1f
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> m ()
-glProgramUniform1f v1 v2 v3 = liftIO $ dyn628 ptr_glProgramUniform1f v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1f #-}
-ptr_glProgramUniform1f :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
-ptr_glProgramUniform1f = unsafePerformIO $ getCommand "glProgramUniform1f"
-
--- glProgramUniform1fEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1f'.
-glProgramUniform1fEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> m ()
-glProgramUniform1fEXT v1 v2 v3 = liftIO $ dyn628 ptr_glProgramUniform1fEXT v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1fEXT #-}
-ptr_glProgramUniform1fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> IO ())
-ptr_glProgramUniform1fEXT = unsafePerformIO $ getCommand "glProgramUniform1fEXT"
-
--- glProgramUniform1fv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform1fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glProgramUniform1fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform1fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1fv #-}
-ptr_glProgramUniform1fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform1fv = unsafePerformIO $ getCommand "glProgramUniform1fv"
-
--- glProgramUniform1fvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1fv'.
-glProgramUniform1fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniform1fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform1fvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1fvEXT #-}
-ptr_glProgramUniform1fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform1fvEXT = unsafePerformIO $ getCommand "glProgramUniform1fvEXT"
-
--- glProgramUniform1i ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform1i
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> m ()
-glProgramUniform1i v1 v2 v3 = liftIO $ dyn629 ptr_glProgramUniform1i v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1i #-}
-ptr_glProgramUniform1i :: FunPtr (GLuint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform1i = unsafePerformIO $ getCommand "glProgramUniform1i"
-
--- glProgramUniform1i64ARB -----------------------------------------------------
-
-glProgramUniform1i64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> m ()
-glProgramUniform1i64ARB v1 v2 v3 = liftIO $ dyn630 ptr_glProgramUniform1i64ARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1i64ARB #-}
-ptr_glProgramUniform1i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> IO ())
-ptr_glProgramUniform1i64ARB = unsafePerformIO $ getCommand "glProgramUniform1i64ARB"
-
--- glProgramUniform1i64NV ------------------------------------------------------
-
-glProgramUniform1i64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> m ()
-glProgramUniform1i64NV v1 v2 v3 = liftIO $ dyn631 ptr_glProgramUniform1i64NV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1i64NV #-}
-ptr_glProgramUniform1i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> IO ())
-ptr_glProgramUniform1i64NV = unsafePerformIO $ getCommand "glProgramUniform1i64NV"
-
--- glProgramUniform1i64vARB ----------------------------------------------------
-
-glProgramUniform1i64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count@ elements of type @GLint64@.
-  -> m ()
-glProgramUniform1i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform1i64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1i64vARB #-}
-ptr_glProgramUniform1i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glProgramUniform1i64vARB = unsafePerformIO $ getCommand "glProgramUniform1i64vARB"
-
--- glProgramUniform1i64vNV -----------------------------------------------------
-
-glProgramUniform1i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count@ elements of type @GLint64EXT@.
-  -> m ()
-glProgramUniform1i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform1i64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1i64vNV #-}
-ptr_glProgramUniform1i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glProgramUniform1i64vNV = unsafePerformIO $ getCommand "glProgramUniform1i64vNV"
-
--- glProgramUniform1iEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1i'.
-glProgramUniform1iEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> m ()
-glProgramUniform1iEXT v1 v2 v3 = liftIO $ dyn629 ptr_glProgramUniform1iEXT v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1iEXT #-}
-ptr_glProgramUniform1iEXT :: FunPtr (GLuint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform1iEXT = unsafePerformIO $ getCommand "glProgramUniform1iEXT"
-
--- glProgramUniform1iv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform1iv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glProgramUniform1iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform1iv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1iv #-}
-ptr_glProgramUniform1iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform1iv = unsafePerformIO $ getCommand "glProgramUniform1iv"
-
--- glProgramUniform1ivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1iv'.
-glProgramUniform1ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count@ elements of type @GLint@.
-  -> m ()
-glProgramUniform1ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform1ivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1ivEXT #-}
-ptr_glProgramUniform1ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform1ivEXT = unsafePerformIO $ getCommand "glProgramUniform1ivEXT"
-
--- glProgramUniform1ui ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform1ui
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> m ()
-glProgramUniform1ui v1 v2 v3 = liftIO $ dyn633 ptr_glProgramUniform1ui v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1ui #-}
-ptr_glProgramUniform1ui :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
-ptr_glProgramUniform1ui = unsafePerformIO $ getCommand "glProgramUniform1ui"
-
--- glProgramUniform1ui64ARB ----------------------------------------------------
-
-glProgramUniform1ui64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> m ()
-glProgramUniform1ui64ARB v1 v2 v3 = liftIO $ dyn634 ptr_glProgramUniform1ui64ARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1ui64ARB #-}
-ptr_glProgramUniform1ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
-ptr_glProgramUniform1ui64ARB = unsafePerformIO $ getCommand "glProgramUniform1ui64ARB"
-
--- glProgramUniform1ui64NV -----------------------------------------------------
-
-glProgramUniform1ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> m ()
-glProgramUniform1ui64NV v1 v2 v3 = liftIO $ dyn635 ptr_glProgramUniform1ui64NV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1ui64NV #-}
-ptr_glProgramUniform1ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
-ptr_glProgramUniform1ui64NV = unsafePerformIO $ getCommand "glProgramUniform1ui64NV"
-
--- glProgramUniform1ui64vARB ---------------------------------------------------
-
-glProgramUniform1ui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
-  -> m ()
-glProgramUniform1ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform1ui64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1ui64vARB #-}
-ptr_glProgramUniform1ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glProgramUniform1ui64vARB = unsafePerformIO $ getCommand "glProgramUniform1ui64vARB"
-
--- glProgramUniform1ui64vNV ----------------------------------------------------
-
-glProgramUniform1ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count@ elements of type @GLuint64EXT@.
-  -> m ()
-glProgramUniform1ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform1ui64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1ui64vNV #-}
-ptr_glProgramUniform1ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glProgramUniform1ui64vNV = unsafePerformIO $ getCommand "glProgramUniform1ui64vNV"
-
--- glProgramUniform1uiEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1ui'.
-glProgramUniform1uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> m ()
-glProgramUniform1uiEXT v1 v2 v3 = liftIO $ dyn633 ptr_glProgramUniform1uiEXT v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniform1uiEXT #-}
-ptr_glProgramUniform1uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
-ptr_glProgramUniform1uiEXT = unsafePerformIO $ getCommand "glProgramUniform1uiEXT"
-
--- glProgramUniform1uiv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform1uiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glProgramUniform1uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform1uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1uiv #-}
-ptr_glProgramUniform1uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform1uiv = unsafePerformIO $ getCommand "glProgramUniform1uiv"
-
--- glProgramUniform1uivEXT -----------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform1uiv'.
-glProgramUniform1uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glProgramUniform1uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform1uivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform1uivEXT #-}
-ptr_glProgramUniform1uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform1uivEXT = unsafePerformIO $ getCommand "glProgramUniform1uivEXT"
-
--- glProgramUniform2d ----------------------------------------------------------
-
-glProgramUniform2d
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @v0@.
-  -> GLdouble -- ^ @v1@.
-  -> m ()
-glProgramUniform2d v1 v2 v3 v4 = liftIO $ dyn637 ptr_glProgramUniform2d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2d #-}
-ptr_glProgramUniform2d :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramUniform2d = unsafePerformIO $ getCommand "glProgramUniform2d"
-
--- glProgramUniform2dEXT -------------------------------------------------------
-
-glProgramUniform2dEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glProgramUniform2dEXT v1 v2 v3 v4 = liftIO $ dyn637 ptr_glProgramUniform2dEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2dEXT #-}
-ptr_glProgramUniform2dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramUniform2dEXT = unsafePerformIO $ getCommand "glProgramUniform2dEXT"
-
--- glProgramUniform2dv ---------------------------------------------------------
-
-glProgramUniform2dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniform2dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform2dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2dv #-}
-ptr_glProgramUniform2dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform2dv = unsafePerformIO $ getCommand "glProgramUniform2dv"
-
--- glProgramUniform2dvEXT ------------------------------------------------------
-
-glProgramUniform2dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniform2dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform2dvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2dvEXT #-}
-ptr_glProgramUniform2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform2dvEXT = unsafePerformIO $ getCommand "glProgramUniform2dvEXT"
-
--- glProgramUniform2f ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform2f
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> m ()
-glProgramUniform2f v1 v2 v3 v4 = liftIO $ dyn638 ptr_glProgramUniform2f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2f #-}
-ptr_glProgramUniform2f :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramUniform2f = unsafePerformIO $ getCommand "glProgramUniform2f"
-
--- glProgramUniform2fEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform2f'.
-glProgramUniform2fEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> m ()
-glProgramUniform2fEXT v1 v2 v3 v4 = liftIO $ dyn638 ptr_glProgramUniform2fEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2fEXT #-}
-ptr_glProgramUniform2fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramUniform2fEXT = unsafePerformIO $ getCommand "glProgramUniform2fEXT"
-
--- glProgramUniform2fv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform2fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniform2fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform2fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2fv #-}
-ptr_glProgramUniform2fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform2fv = unsafePerformIO $ getCommand "glProgramUniform2fv"
-
--- glProgramUniform2fvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform2fv'.
-glProgramUniform2fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniform2fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform2fvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2fvEXT #-}
-ptr_glProgramUniform2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform2fvEXT = unsafePerformIO $ getCommand "glProgramUniform2fvEXT"
-
--- glProgramUniform2i ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform2i
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> m ()
-glProgramUniform2i v1 v2 v3 v4 = liftIO $ dyn639 ptr_glProgramUniform2i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2i #-}
-ptr_glProgramUniform2i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform2i = unsafePerformIO $ getCommand "glProgramUniform2i"
-
--- glProgramUniform2i64ARB -----------------------------------------------------
-
-glProgramUniform2i64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> GLint64 -- ^ @y@.
-  -> m ()
-glProgramUniform2i64ARB v1 v2 v3 v4 = liftIO $ dyn640 ptr_glProgramUniform2i64ARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2i64ARB #-}
-ptr_glProgramUniform2i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> IO ())
-ptr_glProgramUniform2i64ARB = unsafePerformIO $ getCommand "glProgramUniform2i64ARB"
-
--- glProgramUniform2i64NV ------------------------------------------------------
-
-glProgramUniform2i64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> m ()
-glProgramUniform2i64NV v1 v2 v3 v4 = liftIO $ dyn641 ptr_glProgramUniform2i64NV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2i64NV #-}
-ptr_glProgramUniform2i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glProgramUniform2i64NV = unsafePerformIO $ getCommand "glProgramUniform2i64NV"
-
--- glProgramUniform2i64vARB ----------------------------------------------------
-
-glProgramUniform2i64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*2@ elements of type @GLint64@.
-  -> m ()
-glProgramUniform2i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform2i64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2i64vARB #-}
-ptr_glProgramUniform2i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glProgramUniform2i64vARB = unsafePerformIO $ getCommand "glProgramUniform2i64vARB"
-
--- glProgramUniform2i64vNV -----------------------------------------------------
-
-glProgramUniform2i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLint64EXT@.
-  -> m ()
-glProgramUniform2i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform2i64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2i64vNV #-}
-ptr_glProgramUniform2i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glProgramUniform2i64vNV = unsafePerformIO $ getCommand "glProgramUniform2i64vNV"
-
--- glProgramUniform2iEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform2i'.
-glProgramUniform2iEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> m ()
-glProgramUniform2iEXT v1 v2 v3 v4 = liftIO $ dyn639 ptr_glProgramUniform2iEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2iEXT #-}
-ptr_glProgramUniform2iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform2iEXT = unsafePerformIO $ getCommand "glProgramUniform2iEXT"
-
--- glProgramUniform2iv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform2iv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @2@ elements of type @GLint@.
-  -> m ()
-glProgramUniform2iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform2iv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2iv #-}
-ptr_glProgramUniform2iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform2iv = unsafePerformIO $ getCommand "glProgramUniform2iv"
-
--- glProgramUniform2ivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform2iv'.
-glProgramUniform2ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
-  -> m ()
-glProgramUniform2ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform2ivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2ivEXT #-}
-ptr_glProgramUniform2ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform2ivEXT = unsafePerformIO $ getCommand "glProgramUniform2ivEXT"
-
--- glProgramUniform2ui ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform2ui
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> m ()
-glProgramUniform2ui v1 v2 v3 v4 = liftIO $ dyn642 ptr_glProgramUniform2ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2ui #-}
-ptr_glProgramUniform2ui :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
-ptr_glProgramUniform2ui = unsafePerformIO $ getCommand "glProgramUniform2ui"
-
--- glProgramUniform2ui64ARB ----------------------------------------------------
-
-glProgramUniform2ui64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> GLuint64 -- ^ @y@.
-  -> m ()
-glProgramUniform2ui64ARB v1 v2 v3 v4 = liftIO $ dyn643 ptr_glProgramUniform2ui64ARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2ui64ARB #-}
-ptr_glProgramUniform2ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> IO ())
-ptr_glProgramUniform2ui64ARB = unsafePerformIO $ getCommand "glProgramUniform2ui64ARB"
-
--- glProgramUniform2ui64NV -----------------------------------------------------
-
-glProgramUniform2ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> m ()
-glProgramUniform2ui64NV v1 v2 v3 v4 = liftIO $ dyn644 ptr_glProgramUniform2ui64NV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2ui64NV #-}
-ptr_glProgramUniform2ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glProgramUniform2ui64NV = unsafePerformIO $ getCommand "glProgramUniform2ui64NV"
-
--- glProgramUniform2ui64vARB ---------------------------------------------------
-
-glProgramUniform2ui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count*2@ elements of type @GLuint64@.
-  -> m ()
-glProgramUniform2ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform2ui64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2ui64vARB #-}
-ptr_glProgramUniform2ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glProgramUniform2ui64vARB = unsafePerformIO $ getCommand "glProgramUniform2ui64vARB"
-
--- glProgramUniform2ui64vNV ----------------------------------------------------
-
-glProgramUniform2ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLuint64EXT@.
-  -> m ()
-glProgramUniform2ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform2ui64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2ui64vNV #-}
-ptr_glProgramUniform2ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glProgramUniform2ui64vNV = unsafePerformIO $ getCommand "glProgramUniform2ui64vNV"
-
--- glProgramUniform2uiEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform2ui'.
-glProgramUniform2uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> m ()
-glProgramUniform2uiEXT v1 v2 v3 v4 = liftIO $ dyn642 ptr_glProgramUniform2uiEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2uiEXT #-}
-ptr_glProgramUniform2uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> IO ())
-ptr_glProgramUniform2uiEXT = unsafePerformIO $ getCommand "glProgramUniform2uiEXT"
-
--- glProgramUniform2uiv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform2uiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @2@ elements of type @GLuint@.
-  -> m ()
-glProgramUniform2uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform2uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2uiv #-}
-ptr_glProgramUniform2uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform2uiv = unsafePerformIO $ getCommand "glProgramUniform2uiv"
-
--- glProgramUniform2uivEXT -----------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform2uiv'.
-glProgramUniform2uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
-  -> m ()
-glProgramUniform2uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform2uivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform2uivEXT #-}
-ptr_glProgramUniform2uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform2uivEXT = unsafePerformIO $ getCommand "glProgramUniform2uivEXT"
-
--- glProgramUniform3d ----------------------------------------------------------
-
-glProgramUniform3d
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @v0@.
-  -> GLdouble -- ^ @v1@.
-  -> GLdouble -- ^ @v2@.
-  -> m ()
-glProgramUniform3d v1 v2 v3 v4 v5 = liftIO $ dyn645 ptr_glProgramUniform3d v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3d #-}
-ptr_glProgramUniform3d :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramUniform3d = unsafePerformIO $ getCommand "glProgramUniform3d"
-
--- glProgramUniform3dEXT -------------------------------------------------------
-
-glProgramUniform3dEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glProgramUniform3dEXT v1 v2 v3 v4 v5 = liftIO $ dyn645 ptr_glProgramUniform3dEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3dEXT #-}
-ptr_glProgramUniform3dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramUniform3dEXT = unsafePerformIO $ getCommand "glProgramUniform3dEXT"
-
--- glProgramUniform3dv ---------------------------------------------------------
-
-glProgramUniform3dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniform3dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform3dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3dv #-}
-ptr_glProgramUniform3dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform3dv = unsafePerformIO $ getCommand "glProgramUniform3dv"
-
--- glProgramUniform3dvEXT ------------------------------------------------------
-
-glProgramUniform3dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniform3dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform3dvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3dvEXT #-}
-ptr_glProgramUniform3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform3dvEXT = unsafePerformIO $ getCommand "glProgramUniform3dvEXT"
-
--- glProgramUniform3f ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform3f
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> m ()
-glProgramUniform3f v1 v2 v3 v4 v5 = liftIO $ dyn646 ptr_glProgramUniform3f v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3f #-}
-ptr_glProgramUniform3f :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramUniform3f = unsafePerformIO $ getCommand "glProgramUniform3f"
-
--- glProgramUniform3fEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform3f'.
-glProgramUniform3fEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> m ()
-glProgramUniform3fEXT v1 v2 v3 v4 v5 = liftIO $ dyn646 ptr_glProgramUniform3fEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3fEXT #-}
-ptr_glProgramUniform3fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramUniform3fEXT = unsafePerformIO $ getCommand "glProgramUniform3fEXT"
-
--- glProgramUniform3fv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform3fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniform3fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform3fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3fv #-}
-ptr_glProgramUniform3fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform3fv = unsafePerformIO $ getCommand "glProgramUniform3fv"
-
--- glProgramUniform3fvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform3fv'.
-glProgramUniform3fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniform3fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform3fvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3fvEXT #-}
-ptr_glProgramUniform3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform3fvEXT = unsafePerformIO $ getCommand "glProgramUniform3fvEXT"
-
--- glProgramUniform3i ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform3i
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> m ()
-glProgramUniform3i v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glProgramUniform3i v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3i #-}
-ptr_glProgramUniform3i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform3i = unsafePerformIO $ getCommand "glProgramUniform3i"
-
--- glProgramUniform3i64ARB -----------------------------------------------------
-
-glProgramUniform3i64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> GLint64 -- ^ @y@.
-  -> GLint64 -- ^ @z@.
-  -> m ()
-glProgramUniform3i64ARB v1 v2 v3 v4 v5 = liftIO $ dyn648 ptr_glProgramUniform3i64ARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3i64ARB #-}
-ptr_glProgramUniform3i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
-ptr_glProgramUniform3i64ARB = unsafePerformIO $ getCommand "glProgramUniform3i64ARB"
-
--- glProgramUniform3i64NV ------------------------------------------------------
-
-glProgramUniform3i64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> GLint64EXT -- ^ @z@.
-  -> m ()
-glProgramUniform3i64NV v1 v2 v3 v4 v5 = liftIO $ dyn649 ptr_glProgramUniform3i64NV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3i64NV #-}
-ptr_glProgramUniform3i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glProgramUniform3i64NV = unsafePerformIO $ getCommand "glProgramUniform3i64NV"
-
--- glProgramUniform3i64vARB ----------------------------------------------------
-
-glProgramUniform3i64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*3@ elements of type @GLint64@.
-  -> m ()
-glProgramUniform3i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform3i64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3i64vARB #-}
-ptr_glProgramUniform3i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glProgramUniform3i64vARB = unsafePerformIO $ getCommand "glProgramUniform3i64vARB"
-
--- glProgramUniform3i64vNV -----------------------------------------------------
-
-glProgramUniform3i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLint64EXT@.
-  -> m ()
-glProgramUniform3i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform3i64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3i64vNV #-}
-ptr_glProgramUniform3i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glProgramUniform3i64vNV = unsafePerformIO $ getCommand "glProgramUniform3i64vNV"
-
--- glProgramUniform3iEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform3i'.
-glProgramUniform3iEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> m ()
-glProgramUniform3iEXT v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glProgramUniform3iEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3iEXT #-}
-ptr_glProgramUniform3iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform3iEXT = unsafePerformIO $ getCommand "glProgramUniform3iEXT"
-
--- glProgramUniform3iv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform3iv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glProgramUniform3iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform3iv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3iv #-}
-ptr_glProgramUniform3iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform3iv = unsafePerformIO $ getCommand "glProgramUniform3iv"
-
--- glProgramUniform3ivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform3iv'.
-glProgramUniform3ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
-  -> m ()
-glProgramUniform3ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform3ivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3ivEXT #-}
-ptr_glProgramUniform3ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform3ivEXT = unsafePerformIO $ getCommand "glProgramUniform3ivEXT"
-
--- glProgramUniform3ui ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform3ui
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> m ()
-glProgramUniform3ui v1 v2 v3 v4 v5 = liftIO $ dyn650 ptr_glProgramUniform3ui v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3ui #-}
-ptr_glProgramUniform3ui :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glProgramUniform3ui = unsafePerformIO $ getCommand "glProgramUniform3ui"
-
--- glProgramUniform3ui64ARB ----------------------------------------------------
-
-glProgramUniform3ui64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> GLuint64 -- ^ @y@.
-  -> GLuint64 -- ^ @z@.
-  -> m ()
-glProgramUniform3ui64ARB v1 v2 v3 v4 v5 = liftIO $ dyn651 ptr_glProgramUniform3ui64ARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3ui64ARB #-}
-ptr_glProgramUniform3ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-ptr_glProgramUniform3ui64ARB = unsafePerformIO $ getCommand "glProgramUniform3ui64ARB"
-
--- glProgramUniform3ui64NV -----------------------------------------------------
-
-glProgramUniform3ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> GLuint64EXT -- ^ @z@.
-  -> m ()
-glProgramUniform3ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn652 ptr_glProgramUniform3ui64NV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3ui64NV #-}
-ptr_glProgramUniform3ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glProgramUniform3ui64NV = unsafePerformIO $ getCommand "glProgramUniform3ui64NV"
-
--- glProgramUniform3ui64vARB ---------------------------------------------------
-
-glProgramUniform3ui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count*3@ elements of type @GLuint64@.
-  -> m ()
-glProgramUniform3ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform3ui64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3ui64vARB #-}
-ptr_glProgramUniform3ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glProgramUniform3ui64vARB = unsafePerformIO $ getCommand "glProgramUniform3ui64vARB"
-
--- glProgramUniform3ui64vNV ----------------------------------------------------
-
-glProgramUniform3ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLuint64EXT@.
-  -> m ()
-glProgramUniform3ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform3ui64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3ui64vNV #-}
-ptr_glProgramUniform3ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glProgramUniform3ui64vNV = unsafePerformIO $ getCommand "glProgramUniform3ui64vNV"
-
--- glProgramUniform3uiEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform3ui'.
-glProgramUniform3uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> m ()
-glProgramUniform3uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn650 ptr_glProgramUniform3uiEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniform3uiEXT #-}
-ptr_glProgramUniform3uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glProgramUniform3uiEXT = unsafePerformIO $ getCommand "glProgramUniform3uiEXT"
-
--- glProgramUniform3uiv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform3uiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @3@ elements of type @GLuint@.
-  -> m ()
-glProgramUniform3uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform3uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3uiv #-}
-ptr_glProgramUniform3uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform3uiv = unsafePerformIO $ getCommand "glProgramUniform3uiv"
-
--- glProgramUniform3uivEXT -----------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform3uiv'.
-glProgramUniform3uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
-  -> m ()
-glProgramUniform3uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform3uivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform3uivEXT #-}
-ptr_glProgramUniform3uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform3uivEXT = unsafePerformIO $ getCommand "glProgramUniform3uivEXT"
-
--- glProgramUniform4d ----------------------------------------------------------
-
-glProgramUniform4d
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @v0@.
-  -> GLdouble -- ^ @v1@.
-  -> GLdouble -- ^ @v2@.
-  -> GLdouble -- ^ @v3@.
-  -> m ()
-glProgramUniform4d v1 v2 v3 v4 v5 v6 = liftIO $ dyn653 ptr_glProgramUniform4d v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4d #-}
-ptr_glProgramUniform4d :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramUniform4d = unsafePerformIO $ getCommand "glProgramUniform4d"
-
--- glProgramUniform4dEXT -------------------------------------------------------
-
-glProgramUniform4dEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glProgramUniform4dEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn653 ptr_glProgramUniform4dEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4dEXT #-}
-ptr_glProgramUniform4dEXT :: FunPtr (GLuint -> GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glProgramUniform4dEXT = unsafePerformIO $ getCommand "glProgramUniform4dEXT"
-
--- glProgramUniform4dv ---------------------------------------------------------
-
-glProgramUniform4dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniform4dv v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform4dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4dv #-}
-ptr_glProgramUniform4dv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform4dv = unsafePerformIO $ getCommand "glProgramUniform4dv"
-
--- glProgramUniform4dvEXT ------------------------------------------------------
-
-glProgramUniform4dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniform4dvEXT v1 v2 v3 v4 = liftIO $ dyn452 ptr_glProgramUniform4dvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4dvEXT #-}
-ptr_glProgramUniform4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glProgramUniform4dvEXT = unsafePerformIO $ getCommand "glProgramUniform4dvEXT"
-
--- glProgramUniform4f ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform4f
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> GLfloat -- ^ @v3@.
-  -> m ()
-glProgramUniform4f v1 v2 v3 v4 v5 v6 = liftIO $ dyn654 ptr_glProgramUniform4f v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4f #-}
-ptr_glProgramUniform4f :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramUniform4f = unsafePerformIO $ getCommand "glProgramUniform4f"
-
--- glProgramUniform4fEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform4f'.
-glProgramUniform4fEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> GLfloat -- ^ @v3@.
-  -> m ()
-glProgramUniform4fEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn654 ptr_glProgramUniform4fEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4fEXT #-}
-ptr_glProgramUniform4fEXT :: FunPtr (GLuint -> GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glProgramUniform4fEXT = unsafePerformIO $ getCommand "glProgramUniform4fEXT"
-
--- glProgramUniform4fv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform4fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniform4fv v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform4fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4fv #-}
-ptr_glProgramUniform4fv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform4fv = unsafePerformIO $ getCommand "glProgramUniform4fv"
-
--- glProgramUniform4fvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform4fv'.
-glProgramUniform4fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniform4fvEXT v1 v2 v3 v4 = liftIO $ dyn453 ptr_glProgramUniform4fvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4fvEXT #-}
-ptr_glProgramUniform4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glProgramUniform4fvEXT = unsafePerformIO $ getCommand "glProgramUniform4fvEXT"
-
--- glProgramUniform4i ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform4i
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> GLint -- ^ @v3@.
-  -> m ()
-glProgramUniform4i v1 v2 v3 v4 v5 v6 = liftIO $ dyn655 ptr_glProgramUniform4i v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4i #-}
-ptr_glProgramUniform4i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform4i = unsafePerformIO $ getCommand "glProgramUniform4i"
-
--- glProgramUniform4i64ARB -----------------------------------------------------
-
-glProgramUniform4i64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> GLint64 -- ^ @y@.
-  -> GLint64 -- ^ @z@.
-  -> GLint64 -- ^ @w@.
-  -> m ()
-glProgramUniform4i64ARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn656 ptr_glProgramUniform4i64ARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4i64ARB #-}
-ptr_glProgramUniform4i64ARB :: FunPtr (GLuint -> GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-ptr_glProgramUniform4i64ARB = unsafePerformIO $ getCommand "glProgramUniform4i64ARB"
-
--- glProgramUniform4i64NV ------------------------------------------------------
-
-glProgramUniform4i64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> GLint64EXT -- ^ @z@.
-  -> GLint64EXT -- ^ @w@.
-  -> m ()
-glProgramUniform4i64NV v1 v2 v3 v4 v5 v6 = liftIO $ dyn657 ptr_glProgramUniform4i64NV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4i64NV #-}
-ptr_glProgramUniform4i64NV :: FunPtr (GLuint -> GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glProgramUniform4i64NV = unsafePerformIO $ getCommand "glProgramUniform4i64NV"
-
--- glProgramUniform4i64vARB ----------------------------------------------------
-
-glProgramUniform4i64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*4@ elements of type @GLint64@.
-  -> m ()
-glProgramUniform4i64vARB v1 v2 v3 v4 = liftIO $ dyn454 ptr_glProgramUniform4i64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4i64vARB #-}
-ptr_glProgramUniform4i64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glProgramUniform4i64vARB = unsafePerformIO $ getCommand "glProgramUniform4i64vARB"
-
--- glProgramUniform4i64vNV -----------------------------------------------------
-
-glProgramUniform4i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLint64EXT@.
-  -> m ()
-glProgramUniform4i64vNV v1 v2 v3 v4 = liftIO $ dyn632 ptr_glProgramUniform4i64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4i64vNV #-}
-ptr_glProgramUniform4i64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glProgramUniform4i64vNV = unsafePerformIO $ getCommand "glProgramUniform4i64vNV"
-
--- glProgramUniform4iEXT -------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform4i'.
-glProgramUniform4iEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> GLint -- ^ @v3@.
-  -> m ()
-glProgramUniform4iEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn655 ptr_glProgramUniform4iEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4iEXT #-}
-ptr_glProgramUniform4iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glProgramUniform4iEXT = unsafePerformIO $ getCommand "glProgramUniform4iEXT"
-
--- glProgramUniform4iv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform4iv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glProgramUniform4iv v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform4iv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4iv #-}
-ptr_glProgramUniform4iv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform4iv = unsafePerformIO $ getCommand "glProgramUniform4iv"
-
--- glProgramUniform4ivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform4iv'.
-glProgramUniform4ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
-  -> m ()
-glProgramUniform4ivEXT v1 v2 v3 v4 = liftIO $ dyn455 ptr_glProgramUniform4ivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4ivEXT #-}
-ptr_glProgramUniform4ivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glProgramUniform4ivEXT = unsafePerformIO $ getCommand "glProgramUniform4ivEXT"
-
--- glProgramUniform4ui ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform4ui
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> GLuint -- ^ @v3@.
-  -> m ()
-glProgramUniform4ui v1 v2 v3 v4 v5 v6 = liftIO $ dyn658 ptr_glProgramUniform4ui v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4ui #-}
-ptr_glProgramUniform4ui :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glProgramUniform4ui = unsafePerformIO $ getCommand "glProgramUniform4ui"
-
--- glProgramUniform4ui64ARB ----------------------------------------------------
-
-glProgramUniform4ui64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> GLuint64 -- ^ @y@.
-  -> GLuint64 -- ^ @z@.
-  -> GLuint64 -- ^ @w@.
-  -> m ()
-glProgramUniform4ui64ARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn659 ptr_glProgramUniform4ui64ARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4ui64ARB #-}
-ptr_glProgramUniform4ui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-ptr_glProgramUniform4ui64ARB = unsafePerformIO $ getCommand "glProgramUniform4ui64ARB"
-
--- glProgramUniform4ui64NV -----------------------------------------------------
-
-glProgramUniform4ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> GLuint64EXT -- ^ @z@.
-  -> GLuint64EXT -- ^ @w@.
-  -> m ()
-glProgramUniform4ui64NV v1 v2 v3 v4 v5 v6 = liftIO $ dyn660 ptr_glProgramUniform4ui64NV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4ui64NV #-}
-ptr_glProgramUniform4ui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glProgramUniform4ui64NV = unsafePerformIO $ getCommand "glProgramUniform4ui64NV"
-
--- glProgramUniform4ui64vARB ---------------------------------------------------
-
-glProgramUniform4ui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count*4@ elements of type @GLuint64@.
-  -> m ()
-glProgramUniform4ui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniform4ui64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4ui64vARB #-}
-ptr_glProgramUniform4ui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glProgramUniform4ui64vARB = unsafePerformIO $ getCommand "glProgramUniform4ui64vARB"
-
--- glProgramUniform4ui64vNV ----------------------------------------------------
-
-glProgramUniform4ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLuint64EXT@.
-  -> m ()
-glProgramUniform4ui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniform4ui64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4ui64vNV #-}
-ptr_glProgramUniform4ui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glProgramUniform4ui64vNV = unsafePerformIO $ getCommand "glProgramUniform4ui64vNV"
-
--- glProgramUniform4uiEXT ------------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform4ui'.
-glProgramUniform4uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> GLuint -- ^ @v3@.
-  -> m ()
-glProgramUniform4uiEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn658 ptr_glProgramUniform4uiEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glProgramUniform4uiEXT #-}
-ptr_glProgramUniform4uiEXT :: FunPtr (GLuint -> GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glProgramUniform4uiEXT = unsafePerformIO $ getCommand "glProgramUniform4uiEXT"
-
--- glProgramUniform4uiv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniform4uiv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glProgramUniform4uiv v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform4uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4uiv #-}
-ptr_glProgramUniform4uiv :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform4uiv = unsafePerformIO $ getCommand "glProgramUniform4uiv"
-
--- glProgramUniform4uivEXT -----------------------------------------------------
-
--- | This command is an alias for 'glProgramUniform4uiv'.
-glProgramUniform4uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
-  -> m ()
-glProgramUniform4uivEXT v1 v2 v3 v4 = liftIO $ dyn457 ptr_glProgramUniform4uivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniform4uivEXT #-}
-ptr_glProgramUniform4uivEXT :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glProgramUniform4uivEXT = unsafePerformIO $ getCommand "glProgramUniform4uivEXT"
-
--- glProgramUniformHandleui64ARB -----------------------------------------------
-
-glProgramUniformHandleui64ARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64 -- ^ @value@.
-  -> m ()
-glProgramUniformHandleui64ARB v1 v2 v3 = liftIO $ dyn634 ptr_glProgramUniformHandleui64ARB v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniformHandleui64ARB #-}
-ptr_glProgramUniformHandleui64ARB :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
-ptr_glProgramUniformHandleui64ARB = unsafePerformIO $ getCommand "glProgramUniformHandleui64ARB"
-
--- glProgramUniformHandleui64NV ------------------------------------------------
-
-glProgramUniformHandleui64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64 -- ^ @value@.
-  -> m ()
-glProgramUniformHandleui64NV v1 v2 v3 = liftIO $ dyn634 ptr_glProgramUniformHandleui64NV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniformHandleui64NV #-}
-ptr_glProgramUniformHandleui64NV :: FunPtr (GLuint -> GLint -> GLuint64 -> IO ())
-ptr_glProgramUniformHandleui64NV = unsafePerformIO $ getCommand "glProgramUniformHandleui64NV"
-
--- glProgramUniformHandleui64vARB ----------------------------------------------
-
-glProgramUniformHandleui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @values@ pointing to @count@ elements of type @GLuint64@.
-  -> m ()
-glProgramUniformHandleui64vARB v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniformHandleui64vARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniformHandleui64vARB #-}
-ptr_glProgramUniformHandleui64vARB :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glProgramUniformHandleui64vARB = unsafePerformIO $ getCommand "glProgramUniformHandleui64vARB"
-
--- glProgramUniformHandleui64vNV -----------------------------------------------
-
-glProgramUniformHandleui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @values@ pointing to @count@ elements of type @GLuint64@.
-  -> m ()
-glProgramUniformHandleui64vNV v1 v2 v3 v4 = liftIO $ dyn456 ptr_glProgramUniformHandleui64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniformHandleui64vNV #-}
-ptr_glProgramUniformHandleui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glProgramUniformHandleui64vNV = unsafePerformIO $ getCommand "glProgramUniformHandleui64vNV"
-
--- glProgramUniformMatrix2dv ---------------------------------------------------
-
-glProgramUniformMatrix2dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2dv #-}
-ptr_glProgramUniformMatrix2dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2dv"
-
--- glProgramUniformMatrix2dvEXT ------------------------------------------------
-
-glProgramUniformMatrix2dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2dvEXT #-}
-ptr_glProgramUniformMatrix2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2dvEXT"
-
--- glProgramUniformMatrix2fv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix2fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2fv #-}
-ptr_glProgramUniformMatrix2fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2fv"
-
--- glProgramUniformMatrix2fvEXT ------------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix2fv'.
-glProgramUniformMatrix2fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2fvEXT #-}
-ptr_glProgramUniformMatrix2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2fvEXT"
-
--- glProgramUniformMatrix2x3dv -------------------------------------------------
-
-glProgramUniformMatrix2x3dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2x3dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x3dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x3dv #-}
-ptr_glProgramUniformMatrix2x3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2x3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3dv"
-
--- glProgramUniformMatrix2x3dvEXT ----------------------------------------------
-
-glProgramUniformMatrix2x3dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2x3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x3dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x3dvEXT #-}
-ptr_glProgramUniformMatrix2x3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2x3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3dvEXT"
-
--- glProgramUniformMatrix2x3fv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix2x3fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2x3fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x3fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x3fv #-}
-ptr_glProgramUniformMatrix2x3fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2x3fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3fv"
-
--- glProgramUniformMatrix2x3fvEXT ----------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix2x3fv'.
-glProgramUniformMatrix2x3fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2x3fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x3fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x3fvEXT #-}
-ptr_glProgramUniformMatrix2x3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2x3fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x3fvEXT"
-
--- glProgramUniformMatrix2x4dv -------------------------------------------------
-
-glProgramUniformMatrix2x4dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x4dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4dv #-}
-ptr_glProgramUniformMatrix2x4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2x4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dv"
-
--- glProgramUniformMatrix2x4dvEXT ----------------------------------------------
-
-glProgramUniformMatrix2x4dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix2x4dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4dvEXT #-}
-ptr_glProgramUniformMatrix2x4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix2x4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4dvEXT"
-
--- glProgramUniformMatrix2x4fv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix2x4fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x4fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4fv #-}
-ptr_glProgramUniformMatrix2x4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2x4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fv"
-
--- glProgramUniformMatrix2x4fvEXT ----------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix2x4fv'.
-glProgramUniformMatrix2x4fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix2x4fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix2x4fvEXT #-}
-ptr_glProgramUniformMatrix2x4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix2x4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix2x4fvEXT"
-
--- glProgramUniformMatrix3dv ---------------------------------------------------
-
-glProgramUniformMatrix3dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3dv #-}
-ptr_glProgramUniformMatrix3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3dv"
-
--- glProgramUniformMatrix3dvEXT ------------------------------------------------
-
-glProgramUniformMatrix3dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3dvEXT #-}
-ptr_glProgramUniformMatrix3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3dvEXT"
-
--- glProgramUniformMatrix3fv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix3fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix3fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3fv #-}
-ptr_glProgramUniformMatrix3fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix3fv = unsafePerformIO $ getCommand "glProgramUniformMatrix3fv"
-
--- glProgramUniformMatrix3fvEXT ------------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix3fv'.
-glProgramUniformMatrix3fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix3fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3fvEXT #-}
-ptr_glProgramUniformMatrix3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix3fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3fvEXT"
-
--- glProgramUniformMatrix3x2dv -------------------------------------------------
-
-glProgramUniformMatrix3x2dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3x2dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x2dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x2dv #-}
-ptr_glProgramUniformMatrix3x2dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3x2dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2dv"
-
--- glProgramUniformMatrix3x2dvEXT ----------------------------------------------
-
-glProgramUniformMatrix3x2dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3x2dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x2dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x2dvEXT #-}
-ptr_glProgramUniformMatrix3x2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3x2dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2dvEXT"
-
--- glProgramUniformMatrix3x2fv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix3x2fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix3x2fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x2fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x2fv #-}
-ptr_glProgramUniformMatrix3x2fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix3x2fv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2fv"
-
--- glProgramUniformMatrix3x2fvEXT ----------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix3x2fv'.
-glProgramUniformMatrix3x2fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix3x2fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x2fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x2fvEXT #-}
-ptr_glProgramUniformMatrix3x2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix3x2fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x2fvEXT"
-
--- glProgramUniformMatrix3x4dv -------------------------------------------------
-
-glProgramUniformMatrix3x4dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3x4dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x4dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x4dv #-}
-ptr_glProgramUniformMatrix3x4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3x4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4dv"
-
--- glProgramUniformMatrix3x4dvEXT ----------------------------------------------
-
-glProgramUniformMatrix3x4dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix3x4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix3x4dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x4dvEXT #-}
-ptr_glProgramUniformMatrix3x4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix3x4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4dvEXT"
-
--- glProgramUniformMatrix3x4fv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix3x4fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix3x4fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x4fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x4fv #-}
-ptr_glProgramUniformMatrix3x4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix3x4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4fv"
-
--- glProgramUniformMatrix3x4fvEXT ----------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix3x4fv'.
-glProgramUniformMatrix3x4fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix3x4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix3x4fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix3x4fvEXT #-}
-ptr_glProgramUniformMatrix3x4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix3x4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix3x4fvEXT"
-
--- glProgramUniformMatrix4dv ---------------------------------------------------
-
-glProgramUniformMatrix4dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix4dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4dv #-}
-ptr_glProgramUniformMatrix4dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix4dv = unsafePerformIO $ getCommand "glProgramUniformMatrix4dv"
-
--- glProgramUniformMatrix4dvEXT ------------------------------------------------
-
-glProgramUniformMatrix4dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix4dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4dvEXT #-}
-ptr_glProgramUniformMatrix4dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix4dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4dvEXT"
-
--- glProgramUniformMatrix4fv ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix4fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix4fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4fv #-}
-ptr_glProgramUniformMatrix4fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix4fv = unsafePerformIO $ getCommand "glProgramUniformMatrix4fv"
-
--- glProgramUniformMatrix4fvEXT ------------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix4fv'.
-glProgramUniformMatrix4fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix4fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4fvEXT #-}
-ptr_glProgramUniformMatrix4fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix4fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4fvEXT"
-
--- glProgramUniformMatrix4x2dv -------------------------------------------------
-
-glProgramUniformMatrix4x2dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix4x2dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x2dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x2dv #-}
-ptr_glProgramUniformMatrix4x2dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix4x2dv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2dv"
-
--- glProgramUniformMatrix4x2dvEXT ----------------------------------------------
-
-glProgramUniformMatrix4x2dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix4x2dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x2dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x2dvEXT #-}
-ptr_glProgramUniformMatrix4x2dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix4x2dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2dvEXT"
-
--- glProgramUniformMatrix4x2fv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix4x2fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix4x2fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x2fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x2fv #-}
-ptr_glProgramUniformMatrix4x2fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix4x2fv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2fv"
-
--- glProgramUniformMatrix4x2fvEXT ----------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix4x2fv'.
-glProgramUniformMatrix4x2fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix4x2fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x2fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x2fvEXT #-}
-ptr_glProgramUniformMatrix4x2fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix4x2fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x2fvEXT"
-
--- glProgramUniformMatrix4x3dv -------------------------------------------------
-
-glProgramUniformMatrix4x3dv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix4x3dv v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x3dv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x3dv #-}
-ptr_glProgramUniformMatrix4x3dv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix4x3dv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3dv"
-
--- glProgramUniformMatrix4x3dvEXT ----------------------------------------------
-
-glProgramUniformMatrix4x3dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glProgramUniformMatrix4x3dvEXT v1 v2 v3 v4 v5 = liftIO $ dyn661 ptr_glProgramUniformMatrix4x3dvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x3dvEXT #-}
-ptr_glProgramUniformMatrix4x3dvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glProgramUniformMatrix4x3dvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3dvEXT"
-
--- glProgramUniformMatrix4x3fv -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glProgramUniform.xhtml OpenGL 4.x>.
-glProgramUniformMatrix4x3fv
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix4x3fv v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x3fv v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x3fv #-}
-ptr_glProgramUniformMatrix4x3fv :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix4x3fv = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3fv"
-
--- glProgramUniformMatrix4x3fvEXT ----------------------------------------------
-
--- | This command is an alias for 'glProgramUniformMatrix4x3fv'.
-glProgramUniformMatrix4x3fvEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
-  -> m ()
-glProgramUniformMatrix4x3fvEXT v1 v2 v3 v4 v5 = liftIO $ dyn662 ptr_glProgramUniformMatrix4x3fvEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glProgramUniformMatrix4x3fvEXT #-}
-ptr_glProgramUniformMatrix4x3fvEXT :: FunPtr (GLuint -> GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glProgramUniformMatrix4x3fvEXT = unsafePerformIO $ getCommand "glProgramUniformMatrix4x3fvEXT"
-
--- glProgramUniformui64NV ------------------------------------------------------
-
-glProgramUniformui64NV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @value@.
-  -> m ()
-glProgramUniformui64NV v1 v2 v3 = liftIO $ dyn635 ptr_glProgramUniformui64NV v1 v2 v3
-
-{-# NOINLINE ptr_glProgramUniformui64NV #-}
-ptr_glProgramUniformui64NV :: FunPtr (GLuint -> GLint -> GLuint64EXT -> IO ())
-ptr_glProgramUniformui64NV = unsafePerformIO $ getCommand "glProgramUniformui64NV"
-
--- glProgramUniformui64vNV -----------------------------------------------------
-
-glProgramUniformui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count@ elements of type @GLuint64EXT@.
-  -> m ()
-glProgramUniformui64vNV v1 v2 v3 v4 = liftIO $ dyn636 ptr_glProgramUniformui64vNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glProgramUniformui64vNV #-}
-ptr_glProgramUniformui64vNV :: FunPtr (GLuint -> GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glProgramUniformui64vNV = unsafePerformIO $ getCommand "glProgramUniformui64vNV"
-
--- glProgramVertexLimitNV ------------------------------------------------------
-
-glProgramVertexLimitNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @ProgramTarget@.
-  -> GLint -- ^ @limit@.
-  -> m ()
-glProgramVertexLimitNV v1 v2 = liftIO $ dyn55 ptr_glProgramVertexLimitNV v1 v2
-
-{-# NOINLINE ptr_glProgramVertexLimitNV #-}
-ptr_glProgramVertexLimitNV :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glProgramVertexLimitNV = unsafePerformIO $ getCommand "glProgramVertexLimitNV"
-
--- glProvokingVertex -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glProvokingVertex.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glProvokingVertex.xhtml OpenGL 4.x>.
-glProvokingVertex
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> m ()
-glProvokingVertex v1 = liftIO $ dyn4 ptr_glProvokingVertex v1
-
-{-# NOINLINE ptr_glProvokingVertex #-}
-ptr_glProvokingVertex :: FunPtr (GLenum -> IO ())
-ptr_glProvokingVertex = unsafePerformIO $ getCommand "glProvokingVertex"
-
--- glProvokingVertexEXT --------------------------------------------------------
-
--- | This command is an alias for 'glProvokingVertex'.
-glProvokingVertexEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> m ()
-glProvokingVertexEXT v1 = liftIO $ dyn4 ptr_glProvokingVertexEXT v1
-
-{-# NOINLINE ptr_glProvokingVertexEXT #-}
-ptr_glProvokingVertexEXT :: FunPtr (GLenum -> IO ())
-ptr_glProvokingVertexEXT = unsafePerformIO $ getCommand "glProvokingVertexEXT"
-
--- glPushAttrib ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushAttrib.xml OpenGL 2.x>.
-glPushAttrib
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@ of type [AttribMask](Graphics-Rendering-OpenGL-Raw-Groups.html#AttribMask).
-  -> m ()
-glPushAttrib v1 = liftIO $ dyn69 ptr_glPushAttrib v1
-
-{-# NOINLINE ptr_glPushAttrib #-}
-ptr_glPushAttrib :: FunPtr (GLbitfield -> IO ())
-ptr_glPushAttrib = unsafePerformIO $ getCommand "glPushAttrib"
-
--- glPushClientAttrib ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushClientAttrib.xml OpenGL 2.x>.
-glPushClientAttrib
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@ of type [ClientAttribMask](Graphics-Rendering-OpenGL-Raw-Groups.html#ClientAttribMask).
-  -> m ()
-glPushClientAttrib v1 = liftIO $ dyn69 ptr_glPushClientAttrib v1
-
-{-# NOINLINE ptr_glPushClientAttrib #-}
-ptr_glPushClientAttrib :: FunPtr (GLbitfield -> IO ())
-ptr_glPushClientAttrib = unsafePerformIO $ getCommand "glPushClientAttrib"
-
--- glPushClientAttribDefaultEXT ------------------------------------------------
-
-glPushClientAttribDefaultEXT
-  :: MonadIO m
-  => GLbitfield -- ^ @mask@ of type [ClientAttribMask](Graphics-Rendering-OpenGL-Raw-Groups.html#ClientAttribMask).
-  -> m ()
-glPushClientAttribDefaultEXT v1 = liftIO $ dyn69 ptr_glPushClientAttribDefaultEXT v1
-
-{-# NOINLINE ptr_glPushClientAttribDefaultEXT #-}
-ptr_glPushClientAttribDefaultEXT :: FunPtr (GLbitfield -> IO ())
-ptr_glPushClientAttribDefaultEXT = unsafePerformIO $ getCommand "glPushClientAttribDefaultEXT"
-
--- glPushDebugGroup ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glPushDebugGroup.xhtml OpenGL 4.x>.
-glPushDebugGroup
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLuint -- ^ @id@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @message@ pointing to @COMPSIZE(message,length)@ elements of type @GLchar@.
-  -> m ()
-glPushDebugGroup v1 v2 v3 v4 = liftIO $ dyn480 ptr_glPushDebugGroup v1 v2 v3 v4
-
-{-# NOINLINE ptr_glPushDebugGroup #-}
-ptr_glPushDebugGroup :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glPushDebugGroup = unsafePerformIO $ getCommand "glPushDebugGroup"
-
--- glPushDebugGroupKHR ---------------------------------------------------------
-
--- | This command is an alias for 'glPushDebugGroup'.
-glPushDebugGroupKHR
-  :: MonadIO m
-  => GLenum -- ^ @source@.
-  -> GLuint -- ^ @id@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @message@.
-  -> m ()
-glPushDebugGroupKHR v1 v2 v3 v4 = liftIO $ dyn480 ptr_glPushDebugGroupKHR v1 v2 v3 v4
-
-{-# NOINLINE ptr_glPushDebugGroupKHR #-}
-ptr_glPushDebugGroupKHR :: FunPtr (GLenum -> GLuint -> GLsizei -> Ptr GLchar -> IO ())
-ptr_glPushDebugGroupKHR = unsafePerformIO $ getCommand "glPushDebugGroupKHR"
-
--- glPushGroupMarkerEXT --------------------------------------------------------
-
-glPushGroupMarkerEXT
-  :: MonadIO m
-  => GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @marker@.
-  -> m ()
-glPushGroupMarkerEXT v1 v2 = liftIO $ dyn465 ptr_glPushGroupMarkerEXT v1 v2
-
-{-# NOINLINE ptr_glPushGroupMarkerEXT #-}
-ptr_glPushGroupMarkerEXT :: FunPtr (GLsizei -> Ptr GLchar -> IO ())
-ptr_glPushGroupMarkerEXT = unsafePerformIO $ getCommand "glPushGroupMarkerEXT"
-
--- glPushMatrix ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushMatrix.xml OpenGL 2.x>.
-glPushMatrix
-  :: MonadIO m
-  => m ()
-glPushMatrix = liftIO $ dyn10 ptr_glPushMatrix
-
-{-# NOINLINE ptr_glPushMatrix #-}
-ptr_glPushMatrix :: FunPtr (IO ())
-ptr_glPushMatrix = unsafePerformIO $ getCommand "glPushMatrix"
-
--- glPushName ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glPushName.xml OpenGL 2.x>.
-glPushName
-  :: MonadIO m
-  => GLuint -- ^ @name@ of type @SelectName@.
-  -> m ()
-glPushName v1 = liftIO $ dyn2 ptr_glPushName v1
-
-{-# NOINLINE ptr_glPushName #-}
-ptr_glPushName :: FunPtr (GLuint -> IO ())
-ptr_glPushName = unsafePerformIO $ getCommand "glPushName"
-
--- glQueryCounter --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glQueryCounter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glQueryCounter.xhtml OpenGL 4.x>.
-glQueryCounter
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @target@.
-  -> m ()
-glQueryCounter v1 v2 = liftIO $ dyn15 ptr_glQueryCounter v1 v2
-
-{-# NOINLINE ptr_glQueryCounter #-}
-ptr_glQueryCounter :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glQueryCounter = unsafePerformIO $ getCommand "glQueryCounter"
-
--- glQueryCounterEXT -----------------------------------------------------------
-
--- | This command is an alias for 'glQueryCounter'.
-glQueryCounterEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @target@.
-  -> m ()
-glQueryCounterEXT v1 v2 = liftIO $ dyn15 ptr_glQueryCounterEXT v1 v2
-
-{-# NOINLINE ptr_glQueryCounterEXT #-}
-ptr_glQueryCounterEXT :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glQueryCounterEXT = unsafePerformIO $ getCommand "glQueryCounterEXT"
-
--- glQueryMatrixxOES -----------------------------------------------------------
-
-glQueryMatrixxOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @mantissa@ pointing to @16@ elements of type @GLfixed@.
-  -> Ptr GLint -- ^ @exponent@ pointing to @16@ elements of type @GLint@.
-  -> m GLbitfield
-glQueryMatrixxOES v1 v2 = liftIO $ dyn663 ptr_glQueryMatrixxOES v1 v2
-
-{-# NOINLINE ptr_glQueryMatrixxOES #-}
-ptr_glQueryMatrixxOES :: FunPtr (Ptr GLfixed -> Ptr GLint -> IO GLbitfield)
-ptr_glQueryMatrixxOES = unsafePerformIO $ getCommand "glQueryMatrixxOES"
-
--- glQueryObjectParameteruiAMD -------------------------------------------------
-
-glQueryObjectParameteruiAMD
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @pname@.
-  -> GLuint -- ^ @param@ of type [OcclusionQueryEventMaskAMD](Graphics-Rendering-OpenGL-Raw-Groups.html#OcclusionQueryEventMaskAMD).
-  -> m ()
-glQueryObjectParameteruiAMD v1 v2 v3 v4 = liftIO $ dyn664 ptr_glQueryObjectParameteruiAMD v1 v2 v3 v4
-
-{-# NOINLINE ptr_glQueryObjectParameteruiAMD #-}
-ptr_glQueryObjectParameteruiAMD :: FunPtr (GLenum -> GLuint -> GLenum -> GLuint -> IO ())
-ptr_glQueryObjectParameteruiAMD = unsafePerformIO $ getCommand "glQueryObjectParameteruiAMD"
-
--- glRasterPos2d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2dv'.
-glRasterPos2d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> m ()
-glRasterPos2d v1 v2 = liftIO $ dyn216 ptr_glRasterPos2d v1 v2
-
-{-# NOINLINE ptr_glRasterPos2d #-}
-ptr_glRasterPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glRasterPos2d = unsafePerformIO $ getCommand "glRasterPos2d"
-
--- glRasterPos2dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos2dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glRasterPos2dv v1 = liftIO $ dyn39 ptr_glRasterPos2dv v1
-
-{-# NOINLINE ptr_glRasterPos2dv #-}
-ptr_glRasterPos2dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glRasterPos2dv = unsafePerformIO $ getCommand "glRasterPos2dv"
-
--- glRasterPos2f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2fv'.
-glRasterPos2f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> m ()
-glRasterPos2f v1 v2 = liftIO $ dyn221 ptr_glRasterPos2f v1 v2
-
-{-# NOINLINE ptr_glRasterPos2f #-}
-ptr_glRasterPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glRasterPos2f = unsafePerformIO $ getCommand "glRasterPos2f"
-
--- glRasterPos2fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos2fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glRasterPos2fv v1 = liftIO $ dyn41 ptr_glRasterPos2fv v1
-
-{-# NOINLINE ptr_glRasterPos2fv #-}
-ptr_glRasterPos2fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glRasterPos2fv = unsafePerformIO $ getCommand "glRasterPos2fv"
-
--- glRasterPos2i ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2iv'.
-glRasterPos2i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> m ()
-glRasterPos2i v1 v2 = liftIO $ dyn265 ptr_glRasterPos2i v1 v2
-
-{-# NOINLINE ptr_glRasterPos2i #-}
-ptr_glRasterPos2i :: FunPtr (GLint -> GLint -> IO ())
-ptr_glRasterPos2i = unsafePerformIO $ getCommand "glRasterPos2i"
-
--- glRasterPos2iv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos2iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glRasterPos2iv v1 = liftIO $ dyn43 ptr_glRasterPos2iv v1
-
-{-# NOINLINE ptr_glRasterPos2iv #-}
-ptr_glRasterPos2iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glRasterPos2iv = unsafePerformIO $ getCommand "glRasterPos2iv"
-
--- glRasterPos2s ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos2sv'.
-glRasterPos2s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> m ()
-glRasterPos2s v1 v2 = liftIO $ dyn665 ptr_glRasterPos2s v1 v2
-
-{-# NOINLINE ptr_glRasterPos2s #-}
-ptr_glRasterPos2s :: FunPtr (GLshort -> GLshort -> IO ())
-ptr_glRasterPos2s = unsafePerformIO $ getCommand "glRasterPos2s"
-
--- glRasterPos2sv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos2sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glRasterPos2sv v1 = liftIO $ dyn45 ptr_glRasterPos2sv v1
-
-{-# NOINLINE ptr_glRasterPos2sv #-}
-ptr_glRasterPos2sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glRasterPos2sv = unsafePerformIO $ getCommand "glRasterPos2sv"
-
--- glRasterPos2xOES ------------------------------------------------------------
-
-glRasterPos2xOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> m ()
-glRasterPos2xOES v1 v2 = liftIO $ dyn223 ptr_glRasterPos2xOES v1 v2
-
-{-# NOINLINE ptr_glRasterPos2xOES #-}
-ptr_glRasterPos2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glRasterPos2xOES = unsafePerformIO $ getCommand "glRasterPos2xOES"
-
--- glRasterPos2xvOES -----------------------------------------------------------
-
-glRasterPos2xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
-  -> m ()
-glRasterPos2xvOES v1 = liftIO $ dyn106 ptr_glRasterPos2xvOES v1
-
-{-# NOINLINE ptr_glRasterPos2xvOES #-}
-ptr_glRasterPos2xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glRasterPos2xvOES = unsafePerformIO $ getCommand "glRasterPos2xvOES"
-
--- glRasterPos3d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3dv'.
-glRasterPos3d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glRasterPos3d v1 v2 v3 = liftIO $ dyn38 ptr_glRasterPos3d v1 v2 v3
-
-{-# NOINLINE ptr_glRasterPos3d #-}
-ptr_glRasterPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glRasterPos3d = unsafePerformIO $ getCommand "glRasterPos3d"
-
--- glRasterPos3dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glRasterPos3dv v1 = liftIO $ dyn39 ptr_glRasterPos3dv v1
-
-{-# NOINLINE ptr_glRasterPos3dv #-}
-ptr_glRasterPos3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glRasterPos3dv = unsafePerformIO $ getCommand "glRasterPos3dv"
-
--- glRasterPos3f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3fv'.
-glRasterPos3f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glRasterPos3f v1 v2 v3 = liftIO $ dyn40 ptr_glRasterPos3f v1 v2 v3
-
-{-# NOINLINE ptr_glRasterPos3f #-}
-ptr_glRasterPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glRasterPos3f = unsafePerformIO $ getCommand "glRasterPos3f"
-
--- glRasterPos3fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glRasterPos3fv v1 = liftIO $ dyn41 ptr_glRasterPos3fv v1
-
-{-# NOINLINE ptr_glRasterPos3fv #-}
-ptr_glRasterPos3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glRasterPos3fv = unsafePerformIO $ getCommand "glRasterPos3fv"
-
--- glRasterPos3i ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3iv'.
-glRasterPos3i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> m ()
-glRasterPos3i v1 v2 v3 = liftIO $ dyn42 ptr_glRasterPos3i v1 v2 v3
-
-{-# NOINLINE ptr_glRasterPos3i #-}
-ptr_glRasterPos3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glRasterPos3i = unsafePerformIO $ getCommand "glRasterPos3i"
-
--- glRasterPos3iv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glRasterPos3iv v1 = liftIO $ dyn43 ptr_glRasterPos3iv v1
-
-{-# NOINLINE ptr_glRasterPos3iv #-}
-ptr_glRasterPos3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glRasterPos3iv = unsafePerformIO $ getCommand "glRasterPos3iv"
-
--- glRasterPos3s ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos3sv'.
-glRasterPos3s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> m ()
-glRasterPos3s v1 v2 v3 = liftIO $ dyn44 ptr_glRasterPos3s v1 v2 v3
-
-{-# NOINLINE ptr_glRasterPos3s #-}
-ptr_glRasterPos3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glRasterPos3s = unsafePerformIO $ getCommand "glRasterPos3s"
-
--- glRasterPos3sv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glRasterPos3sv v1 = liftIO $ dyn45 ptr_glRasterPos3sv v1
-
-{-# NOINLINE ptr_glRasterPos3sv #-}
-ptr_glRasterPos3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glRasterPos3sv = unsafePerformIO $ getCommand "glRasterPos3sv"
-
--- glRasterPos3xOES ------------------------------------------------------------
-
-glRasterPos3xOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glRasterPos3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glRasterPos3xOES v1 v2 v3
-
-{-# NOINLINE ptr_glRasterPos3xOES #-}
-ptr_glRasterPos3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glRasterPos3xOES = unsafePerformIO $ getCommand "glRasterPos3xOES"
-
--- glRasterPos3xvOES -----------------------------------------------------------
-
-glRasterPos3xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
-  -> m ()
-glRasterPos3xvOES v1 = liftIO $ dyn106 ptr_glRasterPos3xvOES v1
-
-{-# NOINLINE ptr_glRasterPos3xvOES #-}
-ptr_glRasterPos3xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glRasterPos3xvOES = unsafePerformIO $ getCommand "glRasterPos3xvOES"
-
--- glRasterPos4d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4dv'.
-glRasterPos4d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> GLdouble -- ^ @w@ of type @CoordD@.
-  -> m ()
-glRasterPos4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glRasterPos4d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRasterPos4d #-}
-ptr_glRasterPos4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glRasterPos4d = unsafePerformIO $ getCommand "glRasterPos4d"
-
--- glRasterPos4dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos4dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
-  -> m ()
-glRasterPos4dv v1 = liftIO $ dyn39 ptr_glRasterPos4dv v1
-
-{-# NOINLINE ptr_glRasterPos4dv #-}
-ptr_glRasterPos4dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glRasterPos4dv = unsafePerformIO $ getCommand "glRasterPos4dv"
-
--- glRasterPos4f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4fv'.
-glRasterPos4f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> GLfloat -- ^ @w@ of type @CoordF@.
-  -> m ()
-glRasterPos4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glRasterPos4f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRasterPos4f #-}
-ptr_glRasterPos4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glRasterPos4f = unsafePerformIO $ getCommand "glRasterPos4f"
-
--- glRasterPos4fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos4fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
-  -> m ()
-glRasterPos4fv v1 = liftIO $ dyn41 ptr_glRasterPos4fv v1
-
-{-# NOINLINE ptr_glRasterPos4fv #-}
-ptr_glRasterPos4fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glRasterPos4fv = unsafePerformIO $ getCommand "glRasterPos4fv"
-
--- glRasterPos4i ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4iv'.
-glRasterPos4i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> GLint -- ^ @w@ of type @CoordI@.
-  -> m ()
-glRasterPos4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glRasterPos4i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRasterPos4i #-}
-ptr_glRasterPos4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glRasterPos4i = unsafePerformIO $ getCommand "glRasterPos4i"
-
--- glRasterPos4iv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos4iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
-  -> m ()
-glRasterPos4iv v1 = liftIO $ dyn43 ptr_glRasterPos4iv v1
-
-{-# NOINLINE ptr_glRasterPos4iv #-}
-ptr_glRasterPos4iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glRasterPos4iv = unsafePerformIO $ getCommand "glRasterPos4iv"
-
--- glRasterPos4s ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glRasterPos4sv'.
-glRasterPos4s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> GLshort -- ^ @w@ of type @CoordS@.
-  -> m ()
-glRasterPos4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glRasterPos4s v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRasterPos4s #-}
-ptr_glRasterPos4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glRasterPos4s = unsafePerformIO $ getCommand "glRasterPos4s"
-
--- glRasterPos4sv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRasterPos.xml OpenGL 2.x>.
-glRasterPos4sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glRasterPos4sv v1 = liftIO $ dyn45 ptr_glRasterPos4sv v1
-
-{-# NOINLINE ptr_glRasterPos4sv #-}
-ptr_glRasterPos4sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glRasterPos4sv = unsafePerformIO $ getCommand "glRasterPos4sv"
-
--- glRasterPos4xOES ------------------------------------------------------------
-
-glRasterPos4xOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> GLfixed -- ^ @w@.
-  -> m ()
-glRasterPos4xOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRasterPos4xOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRasterPos4xOES #-}
-ptr_glRasterPos4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glRasterPos4xOES = unsafePerformIO $ getCommand "glRasterPos4xOES"
-
--- glRasterPos4xvOES -----------------------------------------------------------
-
-glRasterPos4xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glRasterPos4xvOES v1 = liftIO $ dyn106 ptr_glRasterPos4xvOES v1
-
-{-# NOINLINE ptr_glRasterPos4xvOES #-}
-ptr_glRasterPos4xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glRasterPos4xvOES = unsafePerformIO $ getCommand "glRasterPos4xvOES"
-
--- glRasterSamplesEXT ----------------------------------------------------------
-
-glRasterSamplesEXT
-  :: MonadIO m
-  => GLuint -- ^ @samples@.
-  -> GLboolean -- ^ @fixedsamplelocations@.
-  -> m ()
-glRasterSamplesEXT v1 v2 = liftIO $ dyn666 ptr_glRasterSamplesEXT v1 v2
-
-{-# NOINLINE ptr_glRasterSamplesEXT #-}
-ptr_glRasterSamplesEXT :: FunPtr (GLuint -> GLboolean -> IO ())
-ptr_glRasterSamplesEXT = unsafePerformIO $ getCommand "glRasterSamplesEXT"
-
--- glReadBuffer ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glReadBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glReadBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glReadBuffer.xhtml OpenGL 4.x>.
-glReadBuffer
-  :: MonadIO m
-  => GLenum -- ^ @src@ of type [ReadBufferMode](Graphics-Rendering-OpenGL-Raw-Groups.html#ReadBufferMode).
-  -> m ()
-glReadBuffer v1 = liftIO $ dyn4 ptr_glReadBuffer v1
-
-{-# NOINLINE ptr_glReadBuffer #-}
-ptr_glReadBuffer :: FunPtr (GLenum -> IO ())
-ptr_glReadBuffer = unsafePerformIO $ getCommand "glReadBuffer"
-
--- glReadBufferIndexedEXT ------------------------------------------------------
-
-glReadBufferIndexedEXT
-  :: MonadIO m
-  => GLenum -- ^ @src@.
-  -> GLint -- ^ @index@.
-  -> m ()
-glReadBufferIndexedEXT v1 v2 = liftIO $ dyn55 ptr_glReadBufferIndexedEXT v1 v2
-
-{-# NOINLINE ptr_glReadBufferIndexedEXT #-}
-ptr_glReadBufferIndexedEXT :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glReadBufferIndexedEXT = unsafePerformIO $ getCommand "glReadBufferIndexedEXT"
-
--- glReadBufferNV --------------------------------------------------------------
-
-glReadBufferNV
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> m ()
-glReadBufferNV v1 = liftIO $ dyn4 ptr_glReadBufferNV v1
-
-{-# NOINLINE ptr_glReadBufferNV #-}
-ptr_glReadBufferNV :: FunPtr (GLenum -> IO ())
-ptr_glReadBufferNV = unsafePerformIO $ getCommand "glReadBufferNV"
-
--- glReadInstrumentsSGIX -------------------------------------------------------
-
-glReadInstrumentsSGIX
-  :: MonadIO m
-  => GLint -- ^ @marker@.
-  -> m ()
-glReadInstrumentsSGIX v1 = liftIO $ dyn12 ptr_glReadInstrumentsSGIX v1
-
-{-# NOINLINE ptr_glReadInstrumentsSGIX #-}
-ptr_glReadInstrumentsSGIX :: FunPtr (GLint -> IO ())
-ptr_glReadInstrumentsSGIX = unsafePerformIO $ getCommand "glReadInstrumentsSGIX"
-
--- glReadPixels ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glReadPixels.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glReadPixels.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glReadPixels.xhtml OpenGL 4.x>.
-glReadPixels
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glReadPixels v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn667 ptr_glReadPixels v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glReadPixels #-}
-ptr_glReadPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glReadPixels = unsafePerformIO $ getCommand "glReadPixels"
-
--- glReadnPixels ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glReadPixels.xhtml OpenGL 4.x>.
-glReadnPixels
-  :: MonadIO m
-  => GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @data@.
-  -> m ()
-glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixels v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glReadnPixels #-}
-ptr_glReadnPixels :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glReadnPixels = unsafePerformIO $ getCommand "glReadnPixels"
-
--- glReadnPixelsARB ------------------------------------------------------------
-
--- | This command is an alias for 'glReadnPixels'.
-glReadnPixelsARB
-  :: MonadIO m
-  => GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixelsARB v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glReadnPixelsARB #-}
-ptr_glReadnPixelsARB :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glReadnPixelsARB = unsafePerformIO $ getCommand "glReadnPixelsARB"
-
--- glReadnPixelsEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glReadnPixels'.
-glReadnPixelsEXT
-  :: MonadIO m
-  => GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixelsEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glReadnPixelsEXT #-}
-ptr_glReadnPixelsEXT :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glReadnPixelsEXT = unsafePerformIO $ getCommand "glReadnPixelsEXT"
-
--- glReadnPixelsKHR ------------------------------------------------------------
-
--- | This command is an alias for 'glReadnPixels'.
-glReadnPixelsKHR
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr a -- ^ @data@ pointing to @bufSize@ elements of type @a@.
-  -> m ()
-glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn668 ptr_glReadnPixelsKHR v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glReadnPixelsKHR #-}
-ptr_glReadnPixelsKHR :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glReadnPixelsKHR = unsafePerformIO $ getCommand "glReadnPixelsKHR"
-
--- glRectd ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectdv'.
-glRectd
-  :: MonadIO m
-  => GLdouble -- ^ @x1@ of type @CoordD@.
-  -> GLdouble -- ^ @y1@ of type @CoordD@.
-  -> GLdouble -- ^ @x2@ of type @CoordD@.
-  -> GLdouble -- ^ @y2@ of type @CoordD@.
-  -> m ()
-glRectd v1 v2 v3 v4 = liftIO $ dyn108 ptr_glRectd v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRectd #-}
-ptr_glRectd :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glRectd = unsafePerformIO $ getCommand "glRectd"
-
--- glRectdv --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
-glRectdv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v1@ pointing to @2@ elements of type @CoordD@.
-  -> Ptr GLdouble -- ^ @v2@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glRectdv v1 v2 = liftIO $ dyn669 ptr_glRectdv v1 v2
-
-{-# NOINLINE ptr_glRectdv #-}
-ptr_glRectdv :: FunPtr (Ptr GLdouble -> Ptr GLdouble -> IO ())
-ptr_glRectdv = unsafePerformIO $ getCommand "glRectdv"
-
--- glRectf ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectfv'.
-glRectf
-  :: MonadIO m
-  => GLfloat -- ^ @x1@ of type @CoordF@.
-  -> GLfloat -- ^ @y1@ of type @CoordF@.
-  -> GLfloat -- ^ @x2@ of type @CoordF@.
-  -> GLfloat -- ^ @y2@ of type @CoordF@.
-  -> m ()
-glRectf v1 v2 v3 v4 = liftIO $ dyn49 ptr_glRectf v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRectf #-}
-ptr_glRectf :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glRectf = unsafePerformIO $ getCommand "glRectf"
-
--- glRectfv --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
-glRectfv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v1@ pointing to @2@ elements of type @CoordF@.
-  -> Ptr GLfloat -- ^ @v2@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glRectfv v1 v2 = liftIO $ dyn96 ptr_glRectfv v1 v2
-
-{-# NOINLINE ptr_glRectfv #-}
-ptr_glRectfv :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glRectfv = unsafePerformIO $ getCommand "glRectfv"
-
--- glRecti ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectiv'.
-glRecti
-  :: MonadIO m
-  => GLint -- ^ @x1@ of type @CoordI@.
-  -> GLint -- ^ @y1@ of type @CoordI@.
-  -> GLint -- ^ @x2@ of type @CoordI@.
-  -> GLint -- ^ @y2@ of type @CoordI@.
-  -> m ()
-glRecti v1 v2 v3 v4 = liftIO $ dyn76 ptr_glRecti v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRecti #-}
-ptr_glRecti :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glRecti = unsafePerformIO $ getCommand "glRecti"
-
--- glRectiv --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
-glRectiv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v1@ pointing to @2@ elements of type @CoordI@.
-  -> Ptr GLint -- ^ @v2@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glRectiv v1 v2 = liftIO $ dyn670 ptr_glRectiv v1 v2
-
-{-# NOINLINE ptr_glRectiv #-}
-ptr_glRectiv :: FunPtr (Ptr GLint -> Ptr GLint -> IO ())
-ptr_glRectiv = unsafePerformIO $ getCommand "glRectiv"
-
--- glRects ---------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>. The vector equivalent of this command is 'glRectsv'.
-glRects
-  :: MonadIO m
-  => GLshort -- ^ @x1@ of type @CoordS@.
-  -> GLshort -- ^ @y1@ of type @CoordS@.
-  -> GLshort -- ^ @x2@ of type @CoordS@.
-  -> GLshort -- ^ @y2@ of type @CoordS@.
-  -> m ()
-glRects v1 v2 v3 v4 = liftIO $ dyn112 ptr_glRects v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRects #-}
-ptr_glRects :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glRects = unsafePerformIO $ getCommand "glRects"
-
--- glRectsv --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRect.xml OpenGL 2.x>.
-glRectsv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v1@ pointing to @2@ elements of type @CoordS@.
-  -> Ptr GLshort -- ^ @v2@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glRectsv v1 v2 = liftIO $ dyn671 ptr_glRectsv v1 v2
-
-{-# NOINLINE ptr_glRectsv #-}
-ptr_glRectsv :: FunPtr (Ptr GLshort -> Ptr GLshort -> IO ())
-ptr_glRectsv = unsafePerformIO $ getCommand "glRectsv"
-
--- glRectxOES ------------------------------------------------------------------
-
-glRectxOES
-  :: MonadIO m
-  => GLfixed -- ^ @x1@.
-  -> GLfixed -- ^ @y1@.
-  -> GLfixed -- ^ @x2@.
-  -> GLfixed -- ^ @y2@.
-  -> m ()
-glRectxOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRectxOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRectxOES #-}
-ptr_glRectxOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glRectxOES = unsafePerformIO $ getCommand "glRectxOES"
-
--- glRectxvOES -----------------------------------------------------------------
-
-glRectxvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @v1@ pointing to @2@ elements of type @GLfixed@.
-  -> Ptr GLfixed -- ^ @v2@ pointing to @2@ elements of type @GLfixed@.
-  -> m ()
-glRectxvOES v1 v2 = liftIO $ dyn672 ptr_glRectxvOES v1 v2
-
-{-# NOINLINE ptr_glRectxvOES #-}
-ptr_glRectxvOES :: FunPtr (Ptr GLfixed -> Ptr GLfixed -> IO ())
-ptr_glRectxvOES = unsafePerformIO $ getCommand "glRectxvOES"
-
--- glReferencePlaneSGIX --------------------------------------------------------
-
-glReferencePlaneSGIX
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @equation@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glReferencePlaneSGIX v1 = liftIO $ dyn39 ptr_glReferencePlaneSGIX v1
-
-{-# NOINLINE ptr_glReferencePlaneSGIX #-}
-ptr_glReferencePlaneSGIX :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glReferencePlaneSGIX = unsafePerformIO $ getCommand "glReferencePlaneSGIX"
-
--- glReleaseShaderCompiler -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glReleaseShaderCompiler.xhtml OpenGL 4.x>.
-glReleaseShaderCompiler
-  :: MonadIO m
-  => m ()
-glReleaseShaderCompiler = liftIO $ dyn10 ptr_glReleaseShaderCompiler
-
-{-# NOINLINE ptr_glReleaseShaderCompiler #-}
-ptr_glReleaseShaderCompiler :: FunPtr (IO ())
-ptr_glReleaseShaderCompiler = unsafePerformIO $ getCommand "glReleaseShaderCompiler"
-
--- glRenderMode ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRenderMode.xml OpenGL 2.x>.
-glRenderMode
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [RenderingMode](Graphics-Rendering-OpenGL-Raw-Groups.html#RenderingMode).
-  -> m GLint
-glRenderMode v1 = liftIO $ dyn673 ptr_glRenderMode v1
-
-{-# NOINLINE ptr_glRenderMode #-}
-ptr_glRenderMode :: FunPtr (GLenum -> IO GLint)
-ptr_glRenderMode = unsafePerformIO $ getCommand "glRenderMode"
-
--- glRenderbufferStorage -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorage.xhtml OpenGL 4.x>.
-glRenderbufferStorage
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorage v1 v2 v3 v4 = liftIO $ dyn674 ptr_glRenderbufferStorage v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRenderbufferStorage #-}
-ptr_glRenderbufferStorage :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorage = unsafePerformIO $ getCommand "glRenderbufferStorage"
-
--- glRenderbufferStorageEXT ----------------------------------------------------
-
--- | This command is an alias for 'glRenderbufferStorage'.
-glRenderbufferStorageEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageEXT v1 v2 v3 v4 = liftIO $ dyn674 ptr_glRenderbufferStorageEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRenderbufferStorageEXT #-}
-ptr_glRenderbufferStorageEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageEXT = unsafePerformIO $ getCommand "glRenderbufferStorageEXT"
-
--- glRenderbufferStorageMultisample --------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glRenderbufferStorageMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glRenderbufferStorageMultisample.xhtml OpenGL 4.x>.
-glRenderbufferStorageMultisample
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisample v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisample v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisample #-}
-ptr_glRenderbufferStorageMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisample = unsafePerformIO $ getCommand "glRenderbufferStorageMultisample"
-
--- glRenderbufferStorageMultisampleANGLE ---------------------------------------
-
-glRenderbufferStorageMultisampleANGLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleANGLE v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleANGLE #-}
-ptr_glRenderbufferStorageMultisampleANGLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleANGLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleANGLE"
-
--- glRenderbufferStorageMultisampleAPPLE ---------------------------------------
-
-glRenderbufferStorageMultisampleAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleAPPLE v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleAPPLE #-}
-ptr_glRenderbufferStorageMultisampleAPPLE :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleAPPLE = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleAPPLE"
-
--- glRenderbufferStorageMultisampleCoverageNV ----------------------------------
-
-glRenderbufferStorageMultisampleCoverageNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @RenderbufferTarget@.
-  -> GLsizei -- ^ @coverageSamples@.
-  -> GLsizei -- ^ @colorSamples@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6 = liftIO $ dyn676 ptr_glRenderbufferStorageMultisampleCoverageNV v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleCoverageNV #-}
-ptr_glRenderbufferStorageMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleCoverageNV = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleCoverageNV"
-
--- glRenderbufferStorageMultisampleEXT -----------------------------------------
-
--- | This command is an alias for 'glRenderbufferStorageMultisample'.
-glRenderbufferStorageMultisampleEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleEXT #-}
-ptr_glRenderbufferStorageMultisampleEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleEXT = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleEXT"
-
--- glRenderbufferStorageMultisampleIMG -----------------------------------------
-
-glRenderbufferStorageMultisampleIMG
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleIMG v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleIMG #-}
-ptr_glRenderbufferStorageMultisampleIMG :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleIMG = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleIMG"
-
--- glRenderbufferStorageMultisampleNV ------------------------------------------
-
--- | This command is an alias for 'glRenderbufferStorageMultisample'.
-glRenderbufferStorageMultisampleNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glRenderbufferStorageMultisampleNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glRenderbufferStorageMultisampleNV #-}
-ptr_glRenderbufferStorageMultisampleNV :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageMultisampleNV = unsafePerformIO $ getCommand "glRenderbufferStorageMultisampleNV"
-
--- glRenderbufferStorageOES ----------------------------------------------------
-
-glRenderbufferStorageOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glRenderbufferStorageOES v1 v2 v3 v4 = liftIO $ dyn674 ptr_glRenderbufferStorageOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRenderbufferStorageOES #-}
-ptr_glRenderbufferStorageOES :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glRenderbufferStorageOES = unsafePerformIO $ getCommand "glRenderbufferStorageOES"
-
--- glReplacementCodePointerSUN -------------------------------------------------
-
-glReplacementCodePointerSUN
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type @ReplacementCodeTypeSUN@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @Ptr a@.
-  -> m ()
-glReplacementCodePointerSUN v1 v2 v3 = liftIO $ dyn677 ptr_glReplacementCodePointerSUN v1 v2 v3
-
-{-# NOINLINE ptr_glReplacementCodePointerSUN #-}
-ptr_glReplacementCodePointerSUN :: FunPtr (GLenum -> GLsizei -> Ptr (Ptr a) -> IO ())
-ptr_glReplacementCodePointerSUN = unsafePerformIO $ getCommand "glReplacementCodePointerSUN"
-
--- glReplacementCodeubSUN ------------------------------------------------------
-
-glReplacementCodeubSUN
-  :: MonadIO m
-  => GLubyte -- ^ @code@.
-  -> m ()
-glReplacementCodeubSUN v1 = liftIO $ dyn460 ptr_glReplacementCodeubSUN v1
-
-{-# NOINLINE ptr_glReplacementCodeubSUN #-}
-ptr_glReplacementCodeubSUN :: FunPtr (GLubyte -> IO ())
-ptr_glReplacementCodeubSUN = unsafePerformIO $ getCommand "glReplacementCodeubSUN"
-
--- glReplacementCodeubvSUN -----------------------------------------------------
-
-glReplacementCodeubvSUN
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @code@ pointing to @COMPSIZE()@ elements of type @GLubyte@.
-  -> m ()
-glReplacementCodeubvSUN v1 = liftIO $ dyn100 ptr_glReplacementCodeubvSUN v1
-
-{-# NOINLINE ptr_glReplacementCodeubvSUN #-}
-ptr_glReplacementCodeubvSUN :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glReplacementCodeubvSUN = unsafePerformIO $ getCommand "glReplacementCodeubvSUN"
-
--- glReplacementCodeuiColor3fVertex3fSUN ---------------------------------------
-
-glReplacementCodeuiColor3fVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn678 ptr_glReplacementCodeuiColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glReplacementCodeuiColor3fVertex3fSUN #-}
-ptr_glReplacementCodeuiColor3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiColor3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor3fVertex3fSUN"
-
--- glReplacementCodeuiColor3fVertex3fvSUN --------------------------------------
-
-glReplacementCodeuiColor3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLfloat -- ^ @c@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn679 ptr_glReplacementCodeuiColor3fVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glReplacementCodeuiColor3fVertex3fvSUN #-}
-ptr_glReplacementCodeuiColor3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiColor3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor3fVertex3fvSUN"
-
--- glReplacementCodeuiColor4fNormal3fVertex3fSUN -------------------------------
-
-glReplacementCodeuiColor4fNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @a@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn680 ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN #-}
-ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4fNormal3fVertex3fSUN"
-
--- glReplacementCodeuiColor4fNormal3fVertex3fvSUN ------------------------------
-
-glReplacementCodeuiColor4fNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn681 ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
-
-{-# NOINLINE ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN #-}
-ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4fNormal3fVertex3fvSUN"
-
--- glReplacementCodeuiColor4ubVertex3fSUN --------------------------------------
-
-glReplacementCodeuiColor4ubVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLubyte -- ^ @r@.
-  -> GLubyte -- ^ @g@.
-  -> GLubyte -- ^ @b@.
-  -> GLubyte -- ^ @a@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn682 ptr_glReplacementCodeuiColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glReplacementCodeuiColor4ubVertex3fSUN #-}
-ptr_glReplacementCodeuiColor4ubVertex3fSUN :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiColor4ubVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4ubVertex3fSUN"
-
--- glReplacementCodeuiColor4ubVertex3fvSUN -------------------------------------
-
-glReplacementCodeuiColor4ubVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn683 ptr_glReplacementCodeuiColor4ubVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glReplacementCodeuiColor4ubVertex3fvSUN #-}
-ptr_glReplacementCodeuiColor4ubVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiColor4ubVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiColor4ubVertex3fvSUN"
-
--- glReplacementCodeuiNormal3fVertex3fSUN --------------------------------------
-
-glReplacementCodeuiNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn678 ptr_glReplacementCodeuiNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glReplacementCodeuiNormal3fVertex3fSUN #-}
-ptr_glReplacementCodeuiNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiNormal3fVertex3fSUN"
-
--- glReplacementCodeuiNormal3fVertex3fvSUN -------------------------------------
-
-glReplacementCodeuiNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn679 ptr_glReplacementCodeuiNormal3fVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glReplacementCodeuiNormal3fVertex3fvSUN #-}
-ptr_glReplacementCodeuiNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiNormal3fVertex3fvSUN"
-
--- glReplacementCodeuiSUN ------------------------------------------------------
-
-glReplacementCodeuiSUN
-  :: MonadIO m
-  => GLuint -- ^ @code@.
-  -> m ()
-glReplacementCodeuiSUN v1 = liftIO $ dyn2 ptr_glReplacementCodeuiSUN v1
-
-{-# NOINLINE ptr_glReplacementCodeuiSUN #-}
-ptr_glReplacementCodeuiSUN :: FunPtr (GLuint -> IO ())
-ptr_glReplacementCodeuiSUN = unsafePerformIO $ getCommand "glReplacementCodeuiSUN"
-
--- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN ---------------------
-
-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @a@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn684 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
-
-{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN #-}
-ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN"
-
--- glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN --------------------
-
-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5 = liftIO $ dyn685 ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN #-}
-ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN"
-
--- glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN ----------------------------
-
-glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn686 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN #-}
-ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN"
-
--- glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN ---------------------------
-
-glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn681 ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 v4
-
-{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN #-}
-ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN"
-
--- glReplacementCodeuiTexCoord2fVertex3fSUN ------------------------------------
-
-glReplacementCodeuiTexCoord2fVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6 = liftIO $ dyn687 ptr_glReplacementCodeuiTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fVertex3fSUN #-}
-ptr_glReplacementCodeuiTexCoord2fVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiTexCoord2fVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fVertex3fSUN"
-
--- glReplacementCodeuiTexCoord2fVertex3fvSUN -----------------------------------
-
-glReplacementCodeuiTexCoord2fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3 = liftIO $ dyn679 ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN #-}
-ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiTexCoord2fVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiTexCoord2fVertex3fvSUN"
-
--- glReplacementCodeuiVertex3fSUN ----------------------------------------------
-
-glReplacementCodeuiVertex3fSUN
-  :: MonadIO m
-  => GLuint -- ^ @rc@ of type @ReplacementCodeSUN@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glReplacementCodeuiVertex3fSUN v1 v2 v3 v4 = liftIO $ dyn688 ptr_glReplacementCodeuiVertex3fSUN v1 v2 v3 v4
-
-{-# NOINLINE ptr_glReplacementCodeuiVertex3fSUN #-}
-ptr_glReplacementCodeuiVertex3fSUN :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glReplacementCodeuiVertex3fSUN = unsafePerformIO $ getCommand "glReplacementCodeuiVertex3fSUN"
-
--- glReplacementCodeuiVertex3fvSUN ---------------------------------------------
-
-glReplacementCodeuiVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @rc@ pointing to @1@ element of type @ReplacementCodeSUN@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glReplacementCodeuiVertex3fvSUN v1 v2 = liftIO $ dyn689 ptr_glReplacementCodeuiVertex3fvSUN v1 v2
-
-{-# NOINLINE ptr_glReplacementCodeuiVertex3fvSUN #-}
-ptr_glReplacementCodeuiVertex3fvSUN :: FunPtr (Ptr GLuint -> Ptr GLfloat -> IO ())
-ptr_glReplacementCodeuiVertex3fvSUN = unsafePerformIO $ getCommand "glReplacementCodeuiVertex3fvSUN"
-
--- glReplacementCodeuivSUN -----------------------------------------------------
-
-glReplacementCodeuivSUN
-  :: MonadIO m
-  => Ptr GLuint -- ^ @code@ pointing to @COMPSIZE()@ elements of type @GLuint@.
-  -> m ()
-glReplacementCodeuivSUN v1 = liftIO $ dyn102 ptr_glReplacementCodeuivSUN v1
-
-{-# NOINLINE ptr_glReplacementCodeuivSUN #-}
-ptr_glReplacementCodeuivSUN :: FunPtr (Ptr GLuint -> IO ())
-ptr_glReplacementCodeuivSUN = unsafePerformIO $ getCommand "glReplacementCodeuivSUN"
-
--- glReplacementCodeusSUN ------------------------------------------------------
-
-glReplacementCodeusSUN
-  :: MonadIO m
-  => GLushort -- ^ @code@.
-  -> m ()
-glReplacementCodeusSUN v1 = liftIO $ dyn461 ptr_glReplacementCodeusSUN v1
-
-{-# NOINLINE ptr_glReplacementCodeusSUN #-}
-ptr_glReplacementCodeusSUN :: FunPtr (GLushort -> IO ())
-ptr_glReplacementCodeusSUN = unsafePerformIO $ getCommand "glReplacementCodeusSUN"
-
--- glReplacementCodeusvSUN -----------------------------------------------------
-
-glReplacementCodeusvSUN
-  :: MonadIO m
-  => Ptr GLushort -- ^ @code@ pointing to @COMPSIZE()@ elements of type @GLushort@.
-  -> m ()
-glReplacementCodeusvSUN v1 = liftIO $ dyn104 ptr_glReplacementCodeusvSUN v1
-
-{-# NOINLINE ptr_glReplacementCodeusvSUN #-}
-ptr_glReplacementCodeusvSUN :: FunPtr (Ptr GLushort -> IO ())
-ptr_glReplacementCodeusvSUN = unsafePerformIO $ getCommand "glReplacementCodeusvSUN"
-
--- glRequestResidentProgramsNV -------------------------------------------------
-
-glRequestResidentProgramsNV
-  :: MonadIO m
-  => GLsizei -- ^ @n@.
-  -> Ptr GLuint -- ^ @programs@ pointing to @n@ elements of type @GLuint@.
-  -> m ()
-glRequestResidentProgramsNV v1 v2 = liftIO $ dyn192 ptr_glRequestResidentProgramsNV v1 v2
-
-{-# NOINLINE ptr_glRequestResidentProgramsNV #-}
-ptr_glRequestResidentProgramsNV :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glRequestResidentProgramsNV = unsafePerformIO $ getCommand "glRequestResidentProgramsNV"
-
--- glResetHistogram ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glResetHistogram.xml OpenGL 2.x>.
-glResetHistogram
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @HistogramTarget@.
-  -> m ()
-glResetHistogram v1 = liftIO $ dyn4 ptr_glResetHistogram v1
-
-{-# NOINLINE ptr_glResetHistogram #-}
-ptr_glResetHistogram :: FunPtr (GLenum -> IO ())
-ptr_glResetHistogram = unsafePerformIO $ getCommand "glResetHistogram"
-
--- glResetHistogramEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glResetHistogram'.
-glResetHistogramEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [HistogramTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#HistogramTargetEXT).
-  -> m ()
-glResetHistogramEXT v1 = liftIO $ dyn4 ptr_glResetHistogramEXT v1
-
-{-# NOINLINE ptr_glResetHistogramEXT #-}
-ptr_glResetHistogramEXT :: FunPtr (GLenum -> IO ())
-ptr_glResetHistogramEXT = unsafePerformIO $ getCommand "glResetHistogramEXT"
-
--- glResetMinmax ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glResetMinmax.xml OpenGL 2.x>.
-glResetMinmax
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @MinmaxTarget@.
-  -> m ()
-glResetMinmax v1 = liftIO $ dyn4 ptr_glResetMinmax v1
-
-{-# NOINLINE ptr_glResetMinmax #-}
-ptr_glResetMinmax :: FunPtr (GLenum -> IO ())
-ptr_glResetMinmax = unsafePerformIO $ getCommand "glResetMinmax"
-
--- glResetMinmaxEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glResetMinmax'.
-glResetMinmaxEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [MinmaxTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#MinmaxTargetEXT).
-  -> m ()
-glResetMinmaxEXT v1 = liftIO $ dyn4 ptr_glResetMinmaxEXT v1
-
-{-# NOINLINE ptr_glResetMinmaxEXT #-}
-ptr_glResetMinmaxEXT :: FunPtr (GLenum -> IO ())
-ptr_glResetMinmaxEXT = unsafePerformIO $ getCommand "glResetMinmaxEXT"
-
--- glResizeBuffersMESA ---------------------------------------------------------
-
-glResizeBuffersMESA
-  :: MonadIO m
-  => m ()
-glResizeBuffersMESA = liftIO $ dyn10 ptr_glResizeBuffersMESA
-
-{-# NOINLINE ptr_glResizeBuffersMESA #-}
-ptr_glResizeBuffersMESA :: FunPtr (IO ())
-ptr_glResizeBuffersMESA = unsafePerformIO $ getCommand "glResizeBuffersMESA"
-
--- glResolveDepthValuesNV ------------------------------------------------------
-
-glResolveDepthValuesNV
-  :: MonadIO m
-  => m ()
-glResolveDepthValuesNV = liftIO $ dyn10 ptr_glResolveDepthValuesNV
-
-{-# NOINLINE ptr_glResolveDepthValuesNV #-}
-ptr_glResolveDepthValuesNV :: FunPtr (IO ())
-ptr_glResolveDepthValuesNV = unsafePerformIO $ getCommand "glResolveDepthValuesNV"
-
--- glResolveMultisampleFramebufferAPPLE ----------------------------------------
-
-glResolveMultisampleFramebufferAPPLE
-  :: MonadIO m
-  => m ()
-glResolveMultisampleFramebufferAPPLE = liftIO $ dyn10 ptr_glResolveMultisampleFramebufferAPPLE
-
-{-# NOINLINE ptr_glResolveMultisampleFramebufferAPPLE #-}
-ptr_glResolveMultisampleFramebufferAPPLE :: FunPtr (IO ())
-ptr_glResolveMultisampleFramebufferAPPLE = unsafePerformIO $ getCommand "glResolveMultisampleFramebufferAPPLE"
-
--- glResumeTransformFeedback ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glResumeTransformFeedback.xhtml OpenGL 4.x>.
-glResumeTransformFeedback
-  :: MonadIO m
-  => m ()
-glResumeTransformFeedback = liftIO $ dyn10 ptr_glResumeTransformFeedback
-
-{-# NOINLINE ptr_glResumeTransformFeedback #-}
-ptr_glResumeTransformFeedback :: FunPtr (IO ())
-ptr_glResumeTransformFeedback = unsafePerformIO $ getCommand "glResumeTransformFeedback"
-
--- glResumeTransformFeedbackNV -------------------------------------------------
-
--- | This command is an alias for 'glResumeTransformFeedback'.
-glResumeTransformFeedbackNV
-  :: MonadIO m
-  => m ()
-glResumeTransformFeedbackNV = liftIO $ dyn10 ptr_glResumeTransformFeedbackNV
-
-{-# NOINLINE ptr_glResumeTransformFeedbackNV #-}
-ptr_glResumeTransformFeedbackNV :: FunPtr (IO ())
-ptr_glResumeTransformFeedbackNV = unsafePerformIO $ getCommand "glResumeTransformFeedbackNV"
-
--- glRotated -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRotate.xml OpenGL 2.x>.
-glRotated
-  :: MonadIO m
-  => GLdouble -- ^ @angle@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glRotated v1 v2 v3 v4 = liftIO $ dyn108 ptr_glRotated v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRotated #-}
-ptr_glRotated :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glRotated = unsafePerformIO $ getCommand "glRotated"
-
--- glRotatef -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glRotate.xml OpenGL 2.x>.
-glRotatef
-  :: MonadIO m
-  => GLfloat -- ^ @angle@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glRotatef v1 v2 v3 v4 = liftIO $ dyn49 ptr_glRotatef v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRotatef #-}
-ptr_glRotatef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glRotatef = unsafePerformIO $ getCommand "glRotatef"
-
--- glRotatex -------------------------------------------------------------------
-
-glRotatex
-  :: MonadIO m
-  => GLfixed -- ^ @angle@.
-  -> GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glRotatex v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRotatex v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRotatex #-}
-ptr_glRotatex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glRotatex = unsafePerformIO $ getCommand "glRotatex"
-
--- glRotatexOES ----------------------------------------------------------------
-
-glRotatexOES
-  :: MonadIO m
-  => GLfixed -- ^ @angle@.
-  -> GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glRotatexOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glRotatexOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glRotatexOES #-}
-ptr_glRotatexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glRotatexOES = unsafePerformIO $ getCommand "glRotatexOES"
-
--- glSampleCoverage ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glSampleCoverage.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glSampleCoverage.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSampleCoverage.xhtml OpenGL 4.x>.
-glSampleCoverage
-  :: MonadIO m
-  => GLfloat -- ^ @value@.
-  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glSampleCoverage v1 v2 = liftIO $ dyn690 ptr_glSampleCoverage v1 v2
-
-{-# NOINLINE ptr_glSampleCoverage #-}
-ptr_glSampleCoverage :: FunPtr (GLfloat -> GLboolean -> IO ())
-ptr_glSampleCoverage = unsafePerformIO $ getCommand "glSampleCoverage"
-
--- glSampleCoverageARB ---------------------------------------------------------
-
--- | This command is an alias for 'glSampleCoverage'.
-glSampleCoverageARB
-  :: MonadIO m
-  => GLfloat -- ^ @value@.
-  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glSampleCoverageARB v1 v2 = liftIO $ dyn690 ptr_glSampleCoverageARB v1 v2
-
-{-# NOINLINE ptr_glSampleCoverageARB #-}
-ptr_glSampleCoverageARB :: FunPtr (GLfloat -> GLboolean -> IO ())
-ptr_glSampleCoverageARB = unsafePerformIO $ getCommand "glSampleCoverageARB"
-
--- glSampleCoveragex -----------------------------------------------------------
-
-glSampleCoveragex
-  :: MonadIO m
-  => GLclampx -- ^ @value@.
-  -> GLboolean -- ^ @invert@.
-  -> m ()
-glSampleCoveragex v1 v2 = liftIO $ dyn691 ptr_glSampleCoveragex v1 v2
-
-{-# NOINLINE ptr_glSampleCoveragex #-}
-ptr_glSampleCoveragex :: FunPtr (GLclampx -> GLboolean -> IO ())
-ptr_glSampleCoveragex = unsafePerformIO $ getCommand "glSampleCoveragex"
-
--- glSampleCoveragexOES --------------------------------------------------------
-
-glSampleCoveragexOES
-  :: MonadIO m
-  => GLclampx -- ^ @value@.
-  -> GLboolean -- ^ @invert@.
-  -> m ()
-glSampleCoveragexOES v1 v2 = liftIO $ dyn691 ptr_glSampleCoveragexOES v1 v2
-
-{-# NOINLINE ptr_glSampleCoveragexOES #-}
-ptr_glSampleCoveragexOES :: FunPtr (GLclampx -> GLboolean -> IO ())
-ptr_glSampleCoveragexOES = unsafePerformIO $ getCommand "glSampleCoveragexOES"
-
--- glSampleMapATI --------------------------------------------------------------
-
-glSampleMapATI
-  :: MonadIO m
-  => GLuint -- ^ @dst@.
-  -> GLuint -- ^ @interp@.
-  -> GLenum -- ^ @swizzle@ of type @SwizzleOpATI@.
-  -> m ()
-glSampleMapATI v1 v2 v3 = liftIO $ dyn592 ptr_glSampleMapATI v1 v2 v3
-
-{-# NOINLINE ptr_glSampleMapATI #-}
-ptr_glSampleMapATI :: FunPtr (GLuint -> GLuint -> GLenum -> IO ())
-ptr_glSampleMapATI = unsafePerformIO $ getCommand "glSampleMapATI"
-
--- glSampleMaskEXT -------------------------------------------------------------
-
-glSampleMaskEXT
-  :: MonadIO m
-  => GLclampf -- ^ @value@ of type @ClampedFloat32@.
-  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glSampleMaskEXT v1 v2 = liftIO $ dyn692 ptr_glSampleMaskEXT v1 v2
-
-{-# NOINLINE ptr_glSampleMaskEXT #-}
-ptr_glSampleMaskEXT :: FunPtr (GLclampf -> GLboolean -> IO ())
-ptr_glSampleMaskEXT = unsafePerformIO $ getCommand "glSampleMaskEXT"
-
--- glSampleMaskIndexedNV -------------------------------------------------------
-
-glSampleMaskIndexedNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLbitfield -- ^ @mask@ of type @SampleMaskNV@.
-  -> m ()
-glSampleMaskIndexedNV v1 v2 = liftIO $ dyn693 ptr_glSampleMaskIndexedNV v1 v2
-
-{-# NOINLINE ptr_glSampleMaskIndexedNV #-}
-ptr_glSampleMaskIndexedNV :: FunPtr (GLuint -> GLbitfield -> IO ())
-ptr_glSampleMaskIndexedNV = unsafePerformIO $ getCommand "glSampleMaskIndexedNV"
-
--- glSampleMaskSGIS ------------------------------------------------------------
-
--- | This command is an alias for 'glSampleMaskEXT'.
-glSampleMaskSGIS
-  :: MonadIO m
-  => GLclampf -- ^ @value@ of type @ClampedFloat32@.
-  -> GLboolean -- ^ @invert@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glSampleMaskSGIS v1 v2 = liftIO $ dyn692 ptr_glSampleMaskSGIS v1 v2
-
-{-# NOINLINE ptr_glSampleMaskSGIS #-}
-ptr_glSampleMaskSGIS :: FunPtr (GLclampf -> GLboolean -> IO ())
-ptr_glSampleMaskSGIS = unsafePerformIO $ getCommand "glSampleMaskSGIS"
-
--- glSampleMaski ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSampleMaski.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSampleMaski.xhtml OpenGL 4.x>.
-glSampleMaski
-  :: MonadIO m
-  => GLuint -- ^ @maskNumber@.
-  -> GLbitfield -- ^ @mask@.
-  -> m ()
-glSampleMaski v1 v2 = liftIO $ dyn693 ptr_glSampleMaski v1 v2
-
-{-# NOINLINE ptr_glSampleMaski #-}
-ptr_glSampleMaski :: FunPtr (GLuint -> GLbitfield -> IO ())
-ptr_glSampleMaski = unsafePerformIO $ getCommand "glSampleMaski"
-
--- glSamplePatternEXT ----------------------------------------------------------
-
-glSamplePatternEXT
-  :: MonadIO m
-  => GLenum -- ^ @pattern@ of type @SamplePatternEXT@.
-  -> m ()
-glSamplePatternEXT v1 = liftIO $ dyn4 ptr_glSamplePatternEXT v1
-
-{-# NOINLINE ptr_glSamplePatternEXT #-}
-ptr_glSamplePatternEXT :: FunPtr (GLenum -> IO ())
-ptr_glSamplePatternEXT = unsafePerformIO $ getCommand "glSamplePatternEXT"
-
--- glSamplePatternSGIS ---------------------------------------------------------
-
--- | This command is an alias for 'glSamplePatternEXT'.
-glSamplePatternSGIS
-  :: MonadIO m
-  => GLenum -- ^ @pattern@ of type [SamplePatternSGIS](Graphics-Rendering-OpenGL-Raw-Groups.html#SamplePatternSGIS).
-  -> m ()
-glSamplePatternSGIS v1 = liftIO $ dyn4 ptr_glSamplePatternSGIS v1
-
-{-# NOINLINE ptr_glSamplePatternSGIS #-}
-ptr_glSamplePatternSGIS :: FunPtr (GLenum -> IO ())
-ptr_glSamplePatternSGIS = unsafePerformIO $ getCommand "glSamplePatternSGIS"
-
--- glSamplerParameterIiv -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
-glSamplerParameterIiv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glSamplerParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameterIiv v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterIiv #-}
-ptr_glSamplerParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glSamplerParameterIiv = unsafePerformIO $ getCommand "glSamplerParameterIiv"
-
--- glSamplerParameterIivEXT ----------------------------------------------------
-
--- | This command is an alias for 'glSamplerParameterIiv'.
-glSamplerParameterIivEXT
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glSamplerParameterIivEXT v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameterIivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterIivEXT #-}
-ptr_glSamplerParameterIivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glSamplerParameterIivEXT = unsafePerformIO $ getCommand "glSamplerParameterIivEXT"
-
--- glSamplerParameterIivOES ----------------------------------------------------
-
--- | This command is an alias for 'glSamplerParameterIiv'.
-glSamplerParameterIivOES
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glSamplerParameterIivOES v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameterIivOES v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterIivOES #-}
-ptr_glSamplerParameterIivOES :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glSamplerParameterIivOES = unsafePerformIO $ getCommand "glSamplerParameterIivOES"
-
--- glSamplerParameterIuiv ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
-glSamplerParameterIuiv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glSamplerParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glSamplerParameterIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterIuiv #-}
-ptr_glSamplerParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glSamplerParameterIuiv = unsafePerformIO $ getCommand "glSamplerParameterIuiv"
-
--- glSamplerParameterIuivEXT ---------------------------------------------------
-
--- | This command is an alias for 'glSamplerParameterIuiv'.
-glSamplerParameterIuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glSamplerParameterIuivEXT v1 v2 v3 = liftIO $ dyn371 ptr_glSamplerParameterIuivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterIuivEXT #-}
-ptr_glSamplerParameterIuivEXT :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glSamplerParameterIuivEXT = unsafePerformIO $ getCommand "glSamplerParameterIuivEXT"
-
--- glSamplerParameterIuivOES ---------------------------------------------------
-
--- | This command is an alias for 'glSamplerParameterIuiv'.
-glSamplerParameterIuivOES
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glSamplerParameterIuivOES v1 v2 v3 = liftIO $ dyn371 ptr_glSamplerParameterIuivOES v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterIuivOES #-}
-ptr_glSamplerParameterIuivOES :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glSamplerParameterIuivOES = unsafePerformIO $ getCommand "glSamplerParameterIuivOES"
-
--- glSamplerParameterf ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
-glSamplerParameterf
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glSamplerParameterf v1 v2 v3 = liftIO $ dyn483 ptr_glSamplerParameterf v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterf #-}
-ptr_glSamplerParameterf :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
-ptr_glSamplerParameterf = unsafePerformIO $ getCommand "glSamplerParameterf"
-
--- glSamplerParameterfv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
-glSamplerParameterfv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glSamplerParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glSamplerParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameterfv #-}
-ptr_glSamplerParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glSamplerParameterfv = unsafePerformIO $ getCommand "glSamplerParameterfv"
-
--- glSamplerParameteri ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
-glSamplerParameteri
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glSamplerParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glSamplerParameteri v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameteri #-}
-ptr_glSamplerParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glSamplerParameteri = unsafePerformIO $ getCommand "glSamplerParameteri"
-
--- glSamplerParameteriv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glSamplerParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glSamplerParameter.xhtml OpenGL 4.x>.
-glSamplerParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @sampler@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glSamplerParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glSamplerParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glSamplerParameteriv #-}
-ptr_glSamplerParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glSamplerParameteriv = unsafePerformIO $ getCommand "glSamplerParameteriv"
-
--- glScaled --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glScale.xml OpenGL 2.x>.
-glScaled
-  :: MonadIO m
-  => GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glScaled v1 v2 v3 = liftIO $ dyn38 ptr_glScaled v1 v2 v3
-
-{-# NOINLINE ptr_glScaled #-}
-ptr_glScaled :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glScaled = unsafePerformIO $ getCommand "glScaled"
-
--- glScalef --------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glScale.xml OpenGL 2.x>.
-glScalef
-  :: MonadIO m
-  => GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glScalef v1 v2 v3 = liftIO $ dyn40 ptr_glScalef v1 v2 v3
-
-{-# NOINLINE ptr_glScalef #-}
-ptr_glScalef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glScalef = unsafePerformIO $ getCommand "glScalef"
-
--- glScalex --------------------------------------------------------------------
-
-glScalex
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glScalex v1 v2 v3 = liftIO $ dyn105 ptr_glScalex v1 v2 v3
-
-{-# NOINLINE ptr_glScalex #-}
-ptr_glScalex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glScalex = unsafePerformIO $ getCommand "glScalex"
-
--- glScalexOES -----------------------------------------------------------------
-
-glScalexOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glScalexOES v1 v2 v3 = liftIO $ dyn105 ptr_glScalexOES v1 v2 v3
-
-{-# NOINLINE ptr_glScalexOES #-}
-ptr_glScalexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glScalexOES = unsafePerformIO $ getCommand "glScalexOES"
-
--- glScissor -------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glScissor.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glScissor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glScissor.xhtml OpenGL 4.x>.
-glScissor
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glScissor v1 v2 v3 v4 = liftIO $ dyn694 ptr_glScissor v1 v2 v3 v4
-
-{-# NOINLINE ptr_glScissor #-}
-ptr_glScissor :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glScissor = unsafePerformIO $ getCommand "glScissor"
-
--- glScissorArrayv -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glScissorArray.xhtml OpenGL 4.x>.
-glScissorArrayv
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
-  -> m ()
-glScissorArrayv v1 v2 v3 = liftIO $ dyn695 ptr_glScissorArrayv v1 v2 v3
-
-{-# NOINLINE ptr_glScissorArrayv #-}
-ptr_glScissorArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glScissorArrayv = unsafePerformIO $ getCommand "glScissorArrayv"
-
--- glScissorArrayvNV -----------------------------------------------------------
-
--- | This command is an alias for 'glScissorArrayv'.
-glScissorArrayvNV
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
-  -> m ()
-glScissorArrayvNV v1 v2 v3 = liftIO $ dyn695 ptr_glScissorArrayvNV v1 v2 v3
-
-{-# NOINLINE ptr_glScissorArrayvNV #-}
-ptr_glScissorArrayvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glScissorArrayvNV = unsafePerformIO $ getCommand "glScissorArrayvNV"
-
--- glScissorIndexed ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glScissorIndexed.xhtml OpenGL 4.x>.
-glScissorIndexed
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @left@.
-  -> GLint -- ^ @bottom@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glScissorIndexed v1 v2 v3 v4 v5 = liftIO $ dyn696 ptr_glScissorIndexed v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glScissorIndexed #-}
-ptr_glScissorIndexed :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glScissorIndexed = unsafePerformIO $ getCommand "glScissorIndexed"
-
--- glScissorIndexedNV ----------------------------------------------------------
-
--- | This command is an alias for 'glScissorIndexed'.
-glScissorIndexedNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @left@.
-  -> GLint -- ^ @bottom@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glScissorIndexedNV v1 v2 v3 v4 v5 = liftIO $ dyn696 ptr_glScissorIndexedNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glScissorIndexedNV #-}
-ptr_glScissorIndexedNV :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glScissorIndexedNV = unsafePerformIO $ getCommand "glScissorIndexedNV"
-
--- glScissorIndexedv -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glScissorIndexed.xhtml OpenGL 4.x>.
-glScissorIndexedv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glScissorIndexedv v1 v2 = liftIO $ dyn697 ptr_glScissorIndexedv v1 v2
-
-{-# NOINLINE ptr_glScissorIndexedv #-}
-ptr_glScissorIndexedv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glScissorIndexedv = unsafePerformIO $ getCommand "glScissorIndexedv"
-
--- glScissorIndexedvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glScissorIndexedv'.
-glScissorIndexedvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glScissorIndexedvNV v1 v2 = liftIO $ dyn697 ptr_glScissorIndexedvNV v1 v2
-
-{-# NOINLINE ptr_glScissorIndexedvNV #-}
-ptr_glScissorIndexedvNV :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glScissorIndexedvNV = unsafePerformIO $ getCommand "glScissorIndexedvNV"
-
--- glSecondaryColor3b ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3bv'.
-glSecondaryColor3b
-  :: MonadIO m
-  => GLbyte -- ^ @red@ of type @ColorB@.
-  -> GLbyte -- ^ @green@ of type @ColorB@.
-  -> GLbyte -- ^ @blue@ of type @ColorB@.
-  -> m ()
-glSecondaryColor3b v1 v2 v3 = liftIO $ dyn36 ptr_glSecondaryColor3b v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3b #-}
-ptr_glSecondaryColor3b :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glSecondaryColor3b = unsafePerformIO $ getCommand "glSecondaryColor3b"
-
--- glSecondaryColor3bEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3bvEXT'. This command is an alias for 'glSecondaryColor3b'.
-glSecondaryColor3bEXT
-  :: MonadIO m
-  => GLbyte -- ^ @red@ of type @ColorB@.
-  -> GLbyte -- ^ @green@ of type @ColorB@.
-  -> GLbyte -- ^ @blue@ of type @ColorB@.
-  -> m ()
-glSecondaryColor3bEXT v1 v2 v3 = liftIO $ dyn36 ptr_glSecondaryColor3bEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3bEXT #-}
-ptr_glSecondaryColor3bEXT :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glSecondaryColor3bEXT = unsafePerformIO $ getCommand "glSecondaryColor3bEXT"
-
--- glSecondaryColor3bv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3bv
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @ColorB@.
-  -> m ()
-glSecondaryColor3bv v1 = liftIO $ dyn37 ptr_glSecondaryColor3bv v1
-
-{-# NOINLINE ptr_glSecondaryColor3bv #-}
-ptr_glSecondaryColor3bv :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glSecondaryColor3bv = unsafePerformIO $ getCommand "glSecondaryColor3bv"
-
--- glSecondaryColor3bvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3bv'.
-glSecondaryColor3bvEXT
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @ColorB@.
-  -> m ()
-glSecondaryColor3bvEXT v1 = liftIO $ dyn37 ptr_glSecondaryColor3bvEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3bvEXT #-}
-ptr_glSecondaryColor3bvEXT :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glSecondaryColor3bvEXT = unsafePerformIO $ getCommand "glSecondaryColor3bvEXT"
-
--- glSecondaryColor3d ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3dv'.
-glSecondaryColor3d
-  :: MonadIO m
-  => GLdouble -- ^ @red@ of type @ColorD@.
-  -> GLdouble -- ^ @green@ of type @ColorD@.
-  -> GLdouble -- ^ @blue@ of type @ColorD@.
-  -> m ()
-glSecondaryColor3d v1 v2 v3 = liftIO $ dyn38 ptr_glSecondaryColor3d v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3d #-}
-ptr_glSecondaryColor3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glSecondaryColor3d = unsafePerformIO $ getCommand "glSecondaryColor3d"
-
--- glSecondaryColor3dEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3dvEXT'. This command is an alias for 'glSecondaryColor3d'.
-glSecondaryColor3dEXT
-  :: MonadIO m
-  => GLdouble -- ^ @red@ of type @ColorD@.
-  -> GLdouble -- ^ @green@ of type @ColorD@.
-  -> GLdouble -- ^ @blue@ of type @ColorD@.
-  -> m ()
-glSecondaryColor3dEXT v1 v2 v3 = liftIO $ dyn38 ptr_glSecondaryColor3dEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3dEXT #-}
-ptr_glSecondaryColor3dEXT :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glSecondaryColor3dEXT = unsafePerformIO $ getCommand "glSecondaryColor3dEXT"
-
--- glSecondaryColor3dv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @ColorD@.
-  -> m ()
-glSecondaryColor3dv v1 = liftIO $ dyn39 ptr_glSecondaryColor3dv v1
-
-{-# NOINLINE ptr_glSecondaryColor3dv #-}
-ptr_glSecondaryColor3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glSecondaryColor3dv = unsafePerformIO $ getCommand "glSecondaryColor3dv"
-
--- glSecondaryColor3dvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3dv'.
-glSecondaryColor3dvEXT
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @ColorD@.
-  -> m ()
-glSecondaryColor3dvEXT v1 = liftIO $ dyn39 ptr_glSecondaryColor3dvEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3dvEXT #-}
-ptr_glSecondaryColor3dvEXT :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glSecondaryColor3dvEXT = unsafePerformIO $ getCommand "glSecondaryColor3dvEXT"
-
--- glSecondaryColor3f ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3fv'.
-glSecondaryColor3f
-  :: MonadIO m
-  => GLfloat -- ^ @red@ of type @ColorF@.
-  -> GLfloat -- ^ @green@ of type @ColorF@.
-  -> GLfloat -- ^ @blue@ of type @ColorF@.
-  -> m ()
-glSecondaryColor3f v1 v2 v3 = liftIO $ dyn40 ptr_glSecondaryColor3f v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3f #-}
-ptr_glSecondaryColor3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glSecondaryColor3f = unsafePerformIO $ getCommand "glSecondaryColor3f"
-
--- glSecondaryColor3fEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3fvEXT'. This command is an alias for 'glSecondaryColor3f'.
-glSecondaryColor3fEXT
-  :: MonadIO m
-  => GLfloat -- ^ @red@ of type @ColorF@.
-  -> GLfloat -- ^ @green@ of type @ColorF@.
-  -> GLfloat -- ^ @blue@ of type @ColorF@.
-  -> m ()
-glSecondaryColor3fEXT v1 v2 v3 = liftIO $ dyn40 ptr_glSecondaryColor3fEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3fEXT #-}
-ptr_glSecondaryColor3fEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glSecondaryColor3fEXT = unsafePerformIO $ getCommand "glSecondaryColor3fEXT"
-
--- glSecondaryColor3fv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @ColorF@.
-  -> m ()
-glSecondaryColor3fv v1 = liftIO $ dyn41 ptr_glSecondaryColor3fv v1
-
-{-# NOINLINE ptr_glSecondaryColor3fv #-}
-ptr_glSecondaryColor3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glSecondaryColor3fv = unsafePerformIO $ getCommand "glSecondaryColor3fv"
-
--- glSecondaryColor3fvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3fv'.
-glSecondaryColor3fvEXT
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @ColorF@.
-  -> m ()
-glSecondaryColor3fvEXT v1 = liftIO $ dyn41 ptr_glSecondaryColor3fvEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3fvEXT #-}
-ptr_glSecondaryColor3fvEXT :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glSecondaryColor3fvEXT = unsafePerformIO $ getCommand "glSecondaryColor3fvEXT"
-
--- glSecondaryColor3hNV --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3hvNV'.
-glSecondaryColor3hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @red@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @green@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @blue@ of type @Half16NV@.
-  -> m ()
-glSecondaryColor3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glSecondaryColor3hNV v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3hNV #-}
-ptr_glSecondaryColor3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glSecondaryColor3hNV = unsafePerformIO $ getCommand "glSecondaryColor3hNV"
-
--- glSecondaryColor3hvNV -------------------------------------------------------
-
-glSecondaryColor3hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
-  -> m ()
-glSecondaryColor3hvNV v1 = liftIO $ dyn98 ptr_glSecondaryColor3hvNV v1
-
-{-# NOINLINE ptr_glSecondaryColor3hvNV #-}
-ptr_glSecondaryColor3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glSecondaryColor3hvNV = unsafePerformIO $ getCommand "glSecondaryColor3hvNV"
-
--- glSecondaryColor3i ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3iv'.
-glSecondaryColor3i
-  :: MonadIO m
-  => GLint -- ^ @red@ of type @ColorI@.
-  -> GLint -- ^ @green@ of type @ColorI@.
-  -> GLint -- ^ @blue@ of type @ColorI@.
-  -> m ()
-glSecondaryColor3i v1 v2 v3 = liftIO $ dyn42 ptr_glSecondaryColor3i v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3i #-}
-ptr_glSecondaryColor3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glSecondaryColor3i = unsafePerformIO $ getCommand "glSecondaryColor3i"
-
--- glSecondaryColor3iEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3ivEXT'. This command is an alias for 'glSecondaryColor3i'.
-glSecondaryColor3iEXT
-  :: MonadIO m
-  => GLint -- ^ @red@ of type @ColorI@.
-  -> GLint -- ^ @green@ of type @ColorI@.
-  -> GLint -- ^ @blue@ of type @ColorI@.
-  -> m ()
-glSecondaryColor3iEXT v1 v2 v3 = liftIO $ dyn42 ptr_glSecondaryColor3iEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3iEXT #-}
-ptr_glSecondaryColor3iEXT :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glSecondaryColor3iEXT = unsafePerformIO $ getCommand "glSecondaryColor3iEXT"
-
--- glSecondaryColor3iv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
-  -> m ()
-glSecondaryColor3iv v1 = liftIO $ dyn43 ptr_glSecondaryColor3iv v1
-
-{-# NOINLINE ptr_glSecondaryColor3iv #-}
-ptr_glSecondaryColor3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glSecondaryColor3iv = unsafePerformIO $ getCommand "glSecondaryColor3iv"
-
--- glSecondaryColor3ivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3iv'.
-glSecondaryColor3ivEXT
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @ColorI@.
-  -> m ()
-glSecondaryColor3ivEXT v1 = liftIO $ dyn43 ptr_glSecondaryColor3ivEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3ivEXT #-}
-ptr_glSecondaryColor3ivEXT :: FunPtr (Ptr GLint -> IO ())
-ptr_glSecondaryColor3ivEXT = unsafePerformIO $ getCommand "glSecondaryColor3ivEXT"
-
--- glSecondaryColor3s ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3sv'.
-glSecondaryColor3s
-  :: MonadIO m
-  => GLshort -- ^ @red@ of type @ColorS@.
-  -> GLshort -- ^ @green@ of type @ColorS@.
-  -> GLshort -- ^ @blue@ of type @ColorS@.
-  -> m ()
-glSecondaryColor3s v1 v2 v3 = liftIO $ dyn44 ptr_glSecondaryColor3s v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3s #-}
-ptr_glSecondaryColor3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glSecondaryColor3s = unsafePerformIO $ getCommand "glSecondaryColor3s"
-
--- glSecondaryColor3sEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3svEXT'. This command is an alias for 'glSecondaryColor3s'.
-glSecondaryColor3sEXT
-  :: MonadIO m
-  => GLshort -- ^ @red@ of type @ColorS@.
-  -> GLshort -- ^ @green@ of type @ColorS@.
-  -> GLshort -- ^ @blue@ of type @ColorS@.
-  -> m ()
-glSecondaryColor3sEXT v1 v2 v3 = liftIO $ dyn44 ptr_glSecondaryColor3sEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3sEXT #-}
-ptr_glSecondaryColor3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glSecondaryColor3sEXT = unsafePerformIO $ getCommand "glSecondaryColor3sEXT"
-
--- glSecondaryColor3sv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
-  -> m ()
-glSecondaryColor3sv v1 = liftIO $ dyn45 ptr_glSecondaryColor3sv v1
-
-{-# NOINLINE ptr_glSecondaryColor3sv #-}
-ptr_glSecondaryColor3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glSecondaryColor3sv = unsafePerformIO $ getCommand "glSecondaryColor3sv"
-
--- glSecondaryColor3svEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3sv'.
-glSecondaryColor3svEXT
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @ColorS@.
-  -> m ()
-glSecondaryColor3svEXT v1 = liftIO $ dyn45 ptr_glSecondaryColor3svEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3svEXT #-}
-ptr_glSecondaryColor3svEXT :: FunPtr (Ptr GLshort -> IO ())
-ptr_glSecondaryColor3svEXT = unsafePerformIO $ getCommand "glSecondaryColor3svEXT"
-
--- glSecondaryColor3ub ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3ubv'.
-glSecondaryColor3ub
-  :: MonadIO m
-  => GLubyte -- ^ @red@ of type @ColorUB@.
-  -> GLubyte -- ^ @green@ of type @ColorUB@.
-  -> GLubyte -- ^ @blue@ of type @ColorUB@.
-  -> m ()
-glSecondaryColor3ub v1 v2 v3 = liftIO $ dyn99 ptr_glSecondaryColor3ub v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3ub #-}
-ptr_glSecondaryColor3ub :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glSecondaryColor3ub = unsafePerformIO $ getCommand "glSecondaryColor3ub"
-
--- glSecondaryColor3ubEXT ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3ubvEXT'. This command is an alias for 'glSecondaryColor3ub'.
-glSecondaryColor3ubEXT
-  :: MonadIO m
-  => GLubyte -- ^ @red@ of type @ColorUB@.
-  -> GLubyte -- ^ @green@ of type @ColorUB@.
-  -> GLubyte -- ^ @blue@ of type @ColorUB@.
-  -> m ()
-glSecondaryColor3ubEXT v1 v2 v3 = liftIO $ dyn99 ptr_glSecondaryColor3ubEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3ubEXT #-}
-ptr_glSecondaryColor3ubEXT :: FunPtr (GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glSecondaryColor3ubEXT = unsafePerformIO $ getCommand "glSecondaryColor3ubEXT"
-
--- glSecondaryColor3ubv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3ubv
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @v@ pointing to @3@ elements of type @ColorUB@.
-  -> m ()
-glSecondaryColor3ubv v1 = liftIO $ dyn100 ptr_glSecondaryColor3ubv v1
-
-{-# NOINLINE ptr_glSecondaryColor3ubv #-}
-ptr_glSecondaryColor3ubv :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glSecondaryColor3ubv = unsafePerformIO $ getCommand "glSecondaryColor3ubv"
-
--- glSecondaryColor3ubvEXT -----------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3ubv'.
-glSecondaryColor3ubvEXT
-  :: MonadIO m
-  => Ptr GLubyte -- ^ @v@ pointing to @3@ elements of type @ColorUB@.
-  -> m ()
-glSecondaryColor3ubvEXT v1 = liftIO $ dyn100 ptr_glSecondaryColor3ubvEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3ubvEXT #-}
-ptr_glSecondaryColor3ubvEXT :: FunPtr (Ptr GLubyte -> IO ())
-ptr_glSecondaryColor3ubvEXT = unsafePerformIO $ getCommand "glSecondaryColor3ubvEXT"
-
--- glSecondaryColor3ui ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3uiv'.
-glSecondaryColor3ui
-  :: MonadIO m
-  => GLuint -- ^ @red@ of type @ColorUI@.
-  -> GLuint -- ^ @green@ of type @ColorUI@.
-  -> GLuint -- ^ @blue@ of type @ColorUI@.
-  -> m ()
-glSecondaryColor3ui v1 v2 v3 = liftIO $ dyn101 ptr_glSecondaryColor3ui v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3ui #-}
-ptr_glSecondaryColor3ui :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glSecondaryColor3ui = unsafePerformIO $ getCommand "glSecondaryColor3ui"
-
--- glSecondaryColor3uiEXT ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3uivEXT'. This command is an alias for 'glSecondaryColor3ui'.
-glSecondaryColor3uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @red@ of type @ColorUI@.
-  -> GLuint -- ^ @green@ of type @ColorUI@.
-  -> GLuint -- ^ @blue@ of type @ColorUI@.
-  -> m ()
-glSecondaryColor3uiEXT v1 v2 v3 = liftIO $ dyn101 ptr_glSecondaryColor3uiEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3uiEXT #-}
-ptr_glSecondaryColor3uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glSecondaryColor3uiEXT = unsafePerformIO $ getCommand "glSecondaryColor3uiEXT"
-
--- glSecondaryColor3uiv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3uiv
-  :: MonadIO m
-  => Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @ColorUI@.
-  -> m ()
-glSecondaryColor3uiv v1 = liftIO $ dyn102 ptr_glSecondaryColor3uiv v1
-
-{-# NOINLINE ptr_glSecondaryColor3uiv #-}
-ptr_glSecondaryColor3uiv :: FunPtr (Ptr GLuint -> IO ())
-ptr_glSecondaryColor3uiv = unsafePerformIO $ getCommand "glSecondaryColor3uiv"
-
--- glSecondaryColor3uivEXT -----------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3uiv'.
-glSecondaryColor3uivEXT
-  :: MonadIO m
-  => Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @ColorUI@.
-  -> m ()
-glSecondaryColor3uivEXT v1 = liftIO $ dyn102 ptr_glSecondaryColor3uivEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3uivEXT #-}
-ptr_glSecondaryColor3uivEXT :: FunPtr (Ptr GLuint -> IO ())
-ptr_glSecondaryColor3uivEXT = unsafePerformIO $ getCommand "glSecondaryColor3uivEXT"
-
--- glSecondaryColor3us ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>. The vector equivalent of this command is 'glSecondaryColor3usv'.
-glSecondaryColor3us
-  :: MonadIO m
-  => GLushort -- ^ @red@ of type @ColorUS@.
-  -> GLushort -- ^ @green@ of type @ColorUS@.
-  -> GLushort -- ^ @blue@ of type @ColorUS@.
-  -> m ()
-glSecondaryColor3us v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3us v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3us #-}
-ptr_glSecondaryColor3us :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-ptr_glSecondaryColor3us = unsafePerformIO $ getCommand "glSecondaryColor3us"
-
--- glSecondaryColor3usEXT ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glSecondaryColor3usvEXT'. This command is an alias for 'glSecondaryColor3us'.
-glSecondaryColor3usEXT
-  :: MonadIO m
-  => GLushort -- ^ @red@ of type @ColorUS@.
-  -> GLushort -- ^ @green@ of type @ColorUS@.
-  -> GLushort -- ^ @blue@ of type @ColorUS@.
-  -> m ()
-glSecondaryColor3usEXT v1 v2 v3 = liftIO $ dyn103 ptr_glSecondaryColor3usEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColor3usEXT #-}
-ptr_glSecondaryColor3usEXT :: FunPtr (GLushort -> GLushort -> GLushort -> IO ())
-ptr_glSecondaryColor3usEXT = unsafePerformIO $ getCommand "glSecondaryColor3usEXT"
-
--- glSecondaryColor3usv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColor.xml OpenGL 2.x>.
-glSecondaryColor3usv
-  :: MonadIO m
-  => Ptr GLushort -- ^ @v@ pointing to @3@ elements of type @ColorUS@.
-  -> m ()
-glSecondaryColor3usv v1 = liftIO $ dyn104 ptr_glSecondaryColor3usv v1
-
-{-# NOINLINE ptr_glSecondaryColor3usv #-}
-ptr_glSecondaryColor3usv :: FunPtr (Ptr GLushort -> IO ())
-ptr_glSecondaryColor3usv = unsafePerformIO $ getCommand "glSecondaryColor3usv"
-
--- glSecondaryColor3usvEXT -----------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColor3usv'.
-glSecondaryColor3usvEXT
-  :: MonadIO m
-  => Ptr GLushort -- ^ @v@ pointing to @3@ elements of type @ColorUS@.
-  -> m ()
-glSecondaryColor3usvEXT v1 = liftIO $ dyn104 ptr_glSecondaryColor3usvEXT v1
-
-{-# NOINLINE ptr_glSecondaryColor3usvEXT #-}
-ptr_glSecondaryColor3usvEXT :: FunPtr (Ptr GLushort -> IO ())
-ptr_glSecondaryColor3usvEXT = unsafePerformIO $ getCommand "glSecondaryColor3usvEXT"
-
--- glSecondaryColorFormatNV ----------------------------------------------------
-
-glSecondaryColorFormatNV
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glSecondaryColorFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glSecondaryColorFormatNV v1 v2 v3
-
-{-# NOINLINE ptr_glSecondaryColorFormatNV #-}
-ptr_glSecondaryColorFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
-ptr_glSecondaryColorFormatNV = unsafePerformIO $ getCommand "glSecondaryColorFormatNV"
-
--- glSecondaryColorP3ui --------------------------------------------------------
-
-glSecondaryColorP3ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @color@.
-  -> m ()
-glSecondaryColorP3ui v1 v2 = liftIO $ dyn16 ptr_glSecondaryColorP3ui v1 v2
-
-{-# NOINLINE ptr_glSecondaryColorP3ui #-}
-ptr_glSecondaryColorP3ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glSecondaryColorP3ui = unsafePerformIO $ getCommand "glSecondaryColorP3ui"
-
--- glSecondaryColorP3uiv -------------------------------------------------------
-
-glSecondaryColorP3uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @color@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glSecondaryColorP3uiv v1 v2 = liftIO $ dyn124 ptr_glSecondaryColorP3uiv v1 v2
-
-{-# NOINLINE ptr_glSecondaryColorP3uiv #-}
-ptr_glSecondaryColorP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glSecondaryColorP3uiv = unsafePerformIO $ getCommand "glSecondaryColorP3uiv"
-
--- glSecondaryColorPointer -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSecondaryColorPointer.xml OpenGL 2.x>.
-glSecondaryColorPointer
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glSecondaryColorPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glSecondaryColorPointer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glSecondaryColorPointer #-}
-ptr_glSecondaryColorPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glSecondaryColorPointer = unsafePerformIO $ getCommand "glSecondaryColorPointer"
-
--- glSecondaryColorPointerEXT --------------------------------------------------
-
--- | This command is an alias for 'glSecondaryColorPointer'.
-glSecondaryColorPointerEXT
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glSecondaryColorPointerEXT v1 v2 v3 v4 = liftIO $ dyn125 ptr_glSecondaryColorPointerEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glSecondaryColorPointerEXT #-}
-ptr_glSecondaryColorPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glSecondaryColorPointerEXT = unsafePerformIO $ getCommand "glSecondaryColorPointerEXT"
-
--- glSecondaryColorPointerListIBM ----------------------------------------------
-
-glSecondaryColorPointerListIBM
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @SecondaryColorPointerTypeIBM@.
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glSecondaryColorPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glSecondaryColorPointerListIBM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glSecondaryColorPointerListIBM #-}
-ptr_glSecondaryColorPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glSecondaryColorPointerListIBM = unsafePerformIO $ getCommand "glSecondaryColorPointerListIBM"
-
--- glSelectBuffer --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSelectBuffer.xml OpenGL 2.x>.
-glSelectBuffer
-  :: MonadIO m
-  => GLsizei -- ^ @size@.
-  -> Ptr GLuint -- ^ @buffer@ pointing to @size@ elements of type @SelectName@.
-  -> m ()
-glSelectBuffer v1 v2 = liftIO $ dyn192 ptr_glSelectBuffer v1 v2
-
-{-# NOINLINE ptr_glSelectBuffer #-}
-ptr_glSelectBuffer :: FunPtr (GLsizei -> Ptr GLuint -> IO ())
-ptr_glSelectBuffer = unsafePerformIO $ getCommand "glSelectBuffer"
-
--- glSelectPerfMonitorCountersAMD ----------------------------------------------
-
-glSelectPerfMonitorCountersAMD
-  :: MonadIO m
-  => GLuint -- ^ @monitor@.
-  -> GLboolean -- ^ @enable@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLuint -- ^ @group@.
-  -> GLint -- ^ @numCounters@.
-  -> Ptr GLuint -- ^ @counterList@ pointing to @numCounters@ elements of type @GLuint@.
-  -> m ()
-glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5 = liftIO $ dyn698 ptr_glSelectPerfMonitorCountersAMD v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glSelectPerfMonitorCountersAMD #-}
-ptr_glSelectPerfMonitorCountersAMD :: FunPtr (GLuint -> GLboolean -> GLuint -> GLint -> Ptr GLuint -> IO ())
-ptr_glSelectPerfMonitorCountersAMD = unsafePerformIO $ getCommand "glSelectPerfMonitorCountersAMD"
-
--- glSeparableFilter2D ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glSeparableFilter2D.xml OpenGL 2.x>.
-glSeparableFilter2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @SeparableTarget@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type,width)@ elements of type @a@.
-  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type,height)@ elements of type @b@.
-  -> m ()
-glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn699 ptr_glSeparableFilter2D v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glSeparableFilter2D #-}
-ptr_glSeparableFilter2D :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
-ptr_glSeparableFilter2D = unsafePerformIO $ getCommand "glSeparableFilter2D"
-
--- glSeparableFilter2DEXT ------------------------------------------------------
-
--- | This command is an alias for 'glSeparableFilter2D'.
-glSeparableFilter2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [SeparableTargetEXT](Graphics-Rendering-OpenGL-Raw-Groups.html#SeparableTargetEXT).
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @row@ pointing to @COMPSIZE(target,format,type,width)@ elements of type @a@.
-  -> Ptr b -- ^ @column@ pointing to @COMPSIZE(target,format,type,height)@ elements of type @b@.
-  -> m ()
-glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn699 ptr_glSeparableFilter2DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glSeparableFilter2DEXT #-}
-ptr_glSeparableFilter2DEXT :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> Ptr b -> IO ())
-ptr_glSeparableFilter2DEXT = unsafePerformIO $ getCommand "glSeparableFilter2DEXT"
-
--- glSetFenceAPPLE -------------------------------------------------------------
-
-glSetFenceAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> m ()
-glSetFenceAPPLE v1 = liftIO $ dyn2 ptr_glSetFenceAPPLE v1
-
-{-# NOINLINE ptr_glSetFenceAPPLE #-}
-ptr_glSetFenceAPPLE :: FunPtr (GLuint -> IO ())
-ptr_glSetFenceAPPLE = unsafePerformIO $ getCommand "glSetFenceAPPLE"
-
--- glSetFenceNV ----------------------------------------------------------------
-
-glSetFenceNV
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> GLenum -- ^ @condition@ of type @FenceConditionNV@.
-  -> m ()
-glSetFenceNV v1 v2 = liftIO $ dyn15 ptr_glSetFenceNV v1 v2
-
-{-# NOINLINE ptr_glSetFenceNV #-}
-ptr_glSetFenceNV :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glSetFenceNV = unsafePerformIO $ getCommand "glSetFenceNV"
-
--- glSetFragmentShaderConstantATI ----------------------------------------------
-
-glSetFragmentShaderConstantATI
-  :: MonadIO m
-  => GLuint -- ^ @dst@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glSetFragmentShaderConstantATI v1 v2 = liftIO $ dyn373 ptr_glSetFragmentShaderConstantATI v1 v2
-
-{-# NOINLINE ptr_glSetFragmentShaderConstantATI #-}
-ptr_glSetFragmentShaderConstantATI :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glSetFragmentShaderConstantATI = unsafePerformIO $ getCommand "glSetFragmentShaderConstantATI"
-
--- glSetInvariantEXT -----------------------------------------------------------
-
-glSetInvariantEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @type@ of type @ScalarType@.
-  -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type)@ elements of type @a@.
-  -> m ()
-glSetInvariantEXT v1 v2 v3 = liftIO $ dyn700 ptr_glSetInvariantEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSetInvariantEXT #-}
-ptr_glSetInvariantEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
-ptr_glSetInvariantEXT = unsafePerformIO $ getCommand "glSetInvariantEXT"
-
--- glSetLocalConstantEXT -------------------------------------------------------
-
-glSetLocalConstantEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @type@ of type @ScalarType@.
-  -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type)@ elements of type @a@.
-  -> m ()
-glSetLocalConstantEXT v1 v2 v3 = liftIO $ dyn700 ptr_glSetLocalConstantEXT v1 v2 v3
-
-{-# NOINLINE ptr_glSetLocalConstantEXT #-}
-ptr_glSetLocalConstantEXT :: FunPtr (GLuint -> GLenum -> Ptr a -> IO ())
-ptr_glSetLocalConstantEXT = unsafePerformIO $ getCommand "glSetLocalConstantEXT"
-
--- glSetMultisamplefvAMD -------------------------------------------------------
-
-glSetMultisamplefvAMD
-  :: MonadIO m
-  => GLenum -- ^ @pname@.
-  -> GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @val@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glSetMultisamplefvAMD v1 v2 v3 = liftIO $ dyn266 ptr_glSetMultisamplefvAMD v1 v2 v3
-
-{-# NOINLINE ptr_glSetMultisamplefvAMD #-}
-ptr_glSetMultisamplefvAMD :: FunPtr (GLenum -> GLuint -> Ptr GLfloat -> IO ())
-ptr_glSetMultisamplefvAMD = unsafePerformIO $ getCommand "glSetMultisamplefvAMD"
-
--- glShadeModel ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glShadeModel.xml OpenGL 2.x>.
-glShadeModel
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type [ShadingModel](Graphics-Rendering-OpenGL-Raw-Groups.html#ShadingModel).
-  -> m ()
-glShadeModel v1 = liftIO $ dyn4 ptr_glShadeModel v1
-
-{-# NOINLINE ptr_glShadeModel #-}
-ptr_glShadeModel :: FunPtr (GLenum -> IO ())
-ptr_glShadeModel = unsafePerformIO $ getCommand "glShadeModel"
-
--- glShaderBinary --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glShaderBinary.xhtml OpenGL 4.x>.
-glShaderBinary
-  :: MonadIO m
-  => GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @shaders@ pointing to @count@ elements of type @GLuint@.
-  -> GLenum -- ^ @binaryformat@.
-  -> Ptr a -- ^ @binary@ pointing to @length@ elements of type @a@.
-  -> GLsizei -- ^ @length@.
-  -> m ()
-glShaderBinary v1 v2 v3 v4 v5 = liftIO $ dyn701 ptr_glShaderBinary v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glShaderBinary #-}
-ptr_glShaderBinary :: FunPtr (GLsizei -> Ptr GLuint -> GLenum -> Ptr a -> GLsizei -> IO ())
-ptr_glShaderBinary = unsafePerformIO $ getCommand "glShaderBinary"
-
--- glShaderOp1EXT --------------------------------------------------------------
-
-glShaderOp1EXT
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @VertexShaderOpEXT@.
-  -> GLuint -- ^ @res@.
-  -> GLuint -- ^ @arg1@.
-  -> m ()
-glShaderOp1EXT v1 v2 v3 = liftIO $ dyn17 ptr_glShaderOp1EXT v1 v2 v3
-
-{-# NOINLINE ptr_glShaderOp1EXT #-}
-ptr_glShaderOp1EXT :: FunPtr (GLenum -> GLuint -> GLuint -> IO ())
-ptr_glShaderOp1EXT = unsafePerformIO $ getCommand "glShaderOp1EXT"
-
--- glShaderOp2EXT --------------------------------------------------------------
-
-glShaderOp2EXT
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @VertexShaderOpEXT@.
-  -> GLuint -- ^ @res@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg2@.
-  -> m ()
-glShaderOp2EXT v1 v2 v3 v4 = liftIO $ dyn702 ptr_glShaderOp2EXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glShaderOp2EXT #-}
-ptr_glShaderOp2EXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glShaderOp2EXT = unsafePerformIO $ getCommand "glShaderOp2EXT"
-
--- glShaderOp3EXT --------------------------------------------------------------
-
-glShaderOp3EXT
-  :: MonadIO m
-  => GLenum -- ^ @op@ of type @VertexShaderOpEXT@.
-  -> GLuint -- ^ @res@.
-  -> GLuint -- ^ @arg1@.
-  -> GLuint -- ^ @arg2@.
-  -> GLuint -- ^ @arg3@.
-  -> m ()
-glShaderOp3EXT v1 v2 v3 v4 v5 = liftIO $ dyn703 ptr_glShaderOp3EXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glShaderOp3EXT #-}
-ptr_glShaderOp3EXT :: FunPtr (GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glShaderOp3EXT = unsafePerformIO $ getCommand "glShaderOp3EXT"
-
--- glShaderSource --------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glShaderSource.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glShaderSource.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glShaderSource.xhtml OpenGL 4.x>.
-glShaderSource
-  :: MonadIO m
-  => GLuint -- ^ @shader@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr (Ptr GLchar) -- ^ @string@ pointing to @count@ elements of type @Ptr GLchar@.
-  -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
-  -> m ()
-glShaderSource v1 v2 v3 v4 = liftIO $ dyn137 ptr_glShaderSource v1 v2 v3 v4
-
-{-# NOINLINE ptr_glShaderSource #-}
-ptr_glShaderSource :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> Ptr GLint -> IO ())
-ptr_glShaderSource = unsafePerformIO $ getCommand "glShaderSource"
-
--- glShaderSourceARB -----------------------------------------------------------
-
--- | This command is an alias for 'glShaderSource'.
-glShaderSourceARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @shaderObj@ of type @handleARB@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr (Ptr GLcharARB) -- ^ @string@ pointing to @count@ elements of type @Ptr GLcharARB@.
-  -> Ptr GLint -- ^ @length@ pointing to @count@ elements of type @GLint@.
-  -> m ()
-glShaderSourceARB v1 v2 v3 v4 = liftIO $ dyn704 ptr_glShaderSourceARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glShaderSourceARB #-}
-ptr_glShaderSourceARB :: FunPtr (GLhandleARB -> GLsizei -> Ptr (Ptr GLcharARB) -> Ptr GLint -> IO ())
-ptr_glShaderSourceARB = unsafePerformIO $ getCommand "glShaderSourceARB"
-
--- glShaderStorageBlockBinding -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glShaderStorageBlockBinding.xhtml OpenGL 4.x>.
-glShaderStorageBlockBinding
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @storageBlockIndex@.
-  -> GLuint -- ^ @storageBlockBinding@.
-  -> m ()
-glShaderStorageBlockBinding v1 v2 v3 = liftIO $ dyn101 ptr_glShaderStorageBlockBinding v1 v2 v3
-
-{-# NOINLINE ptr_glShaderStorageBlockBinding #-}
-ptr_glShaderStorageBlockBinding :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glShaderStorageBlockBinding = unsafePerformIO $ getCommand "glShaderStorageBlockBinding"
-
--- glSharpenTexFuncSGIS --------------------------------------------------------
-
-glSharpenTexFuncSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLfloat -- ^ @points@ pointing to @n*2@ elements of type @GLfloat@.
-  -> m ()
-glSharpenTexFuncSGIS v1 v2 v3 = liftIO $ dyn224 ptr_glSharpenTexFuncSGIS v1 v2 v3
-
-{-# NOINLINE ptr_glSharpenTexFuncSGIS #-}
-ptr_glSharpenTexFuncSGIS :: FunPtr (GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glSharpenTexFuncSGIS = unsafePerformIO $ getCommand "glSharpenTexFuncSGIS"
-
--- glSpriteParameterfSGIX ------------------------------------------------------
-
-glSpriteParameterfSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glSpriteParameterfSGIX v1 v2 = liftIO $ dyn0 ptr_glSpriteParameterfSGIX v1 v2
-
-{-# NOINLINE ptr_glSpriteParameterfSGIX #-}
-ptr_glSpriteParameterfSGIX :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glSpriteParameterfSGIX = unsafePerformIO $ getCommand "glSpriteParameterfSGIX"
-
--- glSpriteParameterfvSGIX -----------------------------------------------------
-
-glSpriteParameterfvSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glSpriteParameterfvSGIX v1 v2 = liftIO $ dyn93 ptr_glSpriteParameterfvSGIX v1 v2
-
-{-# NOINLINE ptr_glSpriteParameterfvSGIX #-}
-ptr_glSpriteParameterfvSGIX :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glSpriteParameterfvSGIX = unsafePerformIO $ getCommand "glSpriteParameterfvSGIX"
-
--- glSpriteParameteriSGIX ------------------------------------------------------
-
-glSpriteParameteriSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glSpriteParameteriSGIX v1 v2 = liftIO $ dyn55 ptr_glSpriteParameteriSGIX v1 v2
-
-{-# NOINLINE ptr_glSpriteParameteriSGIX #-}
-ptr_glSpriteParameteriSGIX :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glSpriteParameteriSGIX = unsafePerformIO $ getCommand "glSpriteParameteriSGIX"
-
--- glSpriteParameterivSGIX -----------------------------------------------------
-
-glSpriteParameterivSGIX
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @SpriteParameterNameSGIX@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glSpriteParameterivSGIX v1 v2 = liftIO $ dyn135 ptr_glSpriteParameterivSGIX v1 v2
-
-{-# NOINLINE ptr_glSpriteParameterivSGIX #-}
-ptr_glSpriteParameterivSGIX :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glSpriteParameterivSGIX = unsafePerformIO $ getCommand "glSpriteParameterivSGIX"
-
--- glStartInstrumentsSGIX ------------------------------------------------------
-
-glStartInstrumentsSGIX
-  :: MonadIO m
-  => m ()
-glStartInstrumentsSGIX = liftIO $ dyn10 ptr_glStartInstrumentsSGIX
-
-{-# NOINLINE ptr_glStartInstrumentsSGIX #-}
-ptr_glStartInstrumentsSGIX :: FunPtr (IO ())
-ptr_glStartInstrumentsSGIX = unsafePerformIO $ getCommand "glStartInstrumentsSGIX"
-
--- glStartTilingQCOM -----------------------------------------------------------
-
-glStartTilingQCOM
-  :: MonadIO m
-  => GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @width@.
-  -> GLuint -- ^ @height@.
-  -> GLbitfield -- ^ @preserveMask@.
-  -> m ()
-glStartTilingQCOM v1 v2 v3 v4 v5 = liftIO $ dyn705 ptr_glStartTilingQCOM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glStartTilingQCOM #-}
-ptr_glStartTilingQCOM :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLbitfield -> IO ())
-ptr_glStartTilingQCOM = unsafePerformIO $ getCommand "glStartTilingQCOM"
-
--- glStateCaptureNV ------------------------------------------------------------
-
-glStateCaptureNV
-  :: MonadIO m
-  => GLuint -- ^ @state@.
-  -> GLenum -- ^ @mode@.
-  -> m ()
-glStateCaptureNV v1 v2 = liftIO $ dyn15 ptr_glStateCaptureNV v1 v2
-
-{-# NOINLINE ptr_glStateCaptureNV #-}
-ptr_glStateCaptureNV :: FunPtr (GLuint -> GLenum -> IO ())
-ptr_glStateCaptureNV = unsafePerformIO $ getCommand "glStateCaptureNV"
-
--- glStencilClearTagEXT --------------------------------------------------------
-
-glStencilClearTagEXT
-  :: MonadIO m
-  => GLsizei -- ^ @stencilTagBits@.
-  -> GLuint -- ^ @stencilClearTag@.
-  -> m ()
-glStencilClearTagEXT v1 v2 = liftIO $ dyn706 ptr_glStencilClearTagEXT v1 v2
-
-{-# NOINLINE ptr_glStencilClearTagEXT #-}
-ptr_glStencilClearTagEXT :: FunPtr (GLsizei -> GLuint -> IO ())
-ptr_glStencilClearTagEXT = unsafePerformIO $ getCommand "glStencilClearTagEXT"
-
--- glStencilFillPathInstancedNV ------------------------------------------------
-
-glStencilFillPathInstancedNV
-  :: MonadIO m
-  => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
-  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
-  -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLenum -- ^ @fillMode@ of type @PathFillMode@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
-  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
-  -> m ()
-glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn707 ptr_glStencilFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glStencilFillPathInstancedNV #-}
-ptr_glStencilFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glStencilFillPathInstancedNV = unsafePerformIO $ getCommand "glStencilFillPathInstancedNV"
-
--- glStencilFillPathNV ---------------------------------------------------------
-
-glStencilFillPathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLenum -- ^ @fillMode@ of type @PathFillMode@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glStencilFillPathNV v1 v2 v3 = liftIO $ dyn708 ptr_glStencilFillPathNV v1 v2 v3
-
-{-# NOINLINE ptr_glStencilFillPathNV #-}
-ptr_glStencilFillPathNV :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
-ptr_glStencilFillPathNV = unsafePerformIO $ getCommand "glStencilFillPathNV"
-
--- glStencilFunc ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilFunc.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilFunc.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilFunc.xhtml OpenGL 4.x>.
-glStencilFunc
-  :: MonadIO m
-  => GLenum -- ^ @func@ of type [StencilFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilFunction).
-  -> GLint -- ^ @ref@ of type @StencilValue@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glStencilFunc v1 v2 v3 = liftIO $ dyn600 ptr_glStencilFunc v1 v2 v3
-
-{-# NOINLINE ptr_glStencilFunc #-}
-ptr_glStencilFunc :: FunPtr (GLenum -> GLint -> GLuint -> IO ())
-ptr_glStencilFunc = unsafePerformIO $ getCommand "glStencilFunc"
-
--- glStencilFuncSeparate -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilFuncSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilFuncSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilFuncSeparate.xhtml OpenGL 4.x>.
-glStencilFuncSeparate
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
-  -> GLenum -- ^ @func@ of type [StencilFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilFunction).
-  -> GLint -- ^ @ref@ of type @StencilValue@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glStencilFuncSeparate v1 v2 v3 v4 = liftIO $ dyn709 ptr_glStencilFuncSeparate v1 v2 v3 v4
-
-{-# NOINLINE ptr_glStencilFuncSeparate #-}
-ptr_glStencilFuncSeparate :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
-ptr_glStencilFuncSeparate = unsafePerformIO $ getCommand "glStencilFuncSeparate"
-
--- glStencilFuncSeparateATI ----------------------------------------------------
-
-glStencilFuncSeparateATI
-  :: MonadIO m
-  => GLenum -- ^ @frontfunc@ of type [StencilFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilFunction).
-  -> GLenum -- ^ @backfunc@ of type [StencilFunction](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilFunction).
-  -> GLint -- ^ @ref@ of type @ClampedStencilValue@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glStencilFuncSeparateATI v1 v2 v3 v4 = liftIO $ dyn709 ptr_glStencilFuncSeparateATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glStencilFuncSeparateATI #-}
-ptr_glStencilFuncSeparateATI :: FunPtr (GLenum -> GLenum -> GLint -> GLuint -> IO ())
-ptr_glStencilFuncSeparateATI = unsafePerformIO $ getCommand "glStencilFuncSeparateATI"
-
--- glStencilMask ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilMask.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilMask.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilMask.xhtml OpenGL 4.x>.
-glStencilMask
-  :: MonadIO m
-  => GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glStencilMask v1 = liftIO $ dyn2 ptr_glStencilMask v1
-
-{-# NOINLINE ptr_glStencilMask #-}
-ptr_glStencilMask :: FunPtr (GLuint -> IO ())
-ptr_glStencilMask = unsafePerformIO $ getCommand "glStencilMask"
-
--- glStencilMaskSeparate -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilMaskSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilMaskSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilMaskSeparate.xhtml OpenGL 4.x>.
-glStencilMaskSeparate
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glStencilMaskSeparate v1 v2 = liftIO $ dyn16 ptr_glStencilMaskSeparate v1 v2
-
-{-# NOINLINE ptr_glStencilMaskSeparate #-}
-ptr_glStencilMaskSeparate :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glStencilMaskSeparate = unsafePerformIO $ getCommand "glStencilMaskSeparate"
-
--- glStencilOp -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilOp.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilOp.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilOp.xhtml OpenGL 4.x>.
-glStencilOp
-  :: MonadIO m
-  => GLenum -- ^ @fail@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> GLenum -- ^ @zfail@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> GLenum -- ^ @zpass@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> m ()
-glStencilOp v1 v2 v3 = liftIO $ dyn710 ptr_glStencilOp v1 v2 v3
-
-{-# NOINLINE ptr_glStencilOp #-}
-ptr_glStencilOp :: FunPtr (GLenum -> GLenum -> GLenum -> IO ())
-ptr_glStencilOp = unsafePerformIO $ getCommand "glStencilOp"
-
--- glStencilOpSeparate ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glStencilOpSeparate.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glStencilOpSeparate.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glStencilOpSeparate.xhtml OpenGL 4.x>.
-glStencilOpSeparate
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
-  -> GLenum -- ^ @sfail@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> GLenum -- ^ @dpfail@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> GLenum -- ^ @dppass@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> m ()
-glStencilOpSeparate v1 v2 v3 v4 = liftIO $ dyn53 ptr_glStencilOpSeparate v1 v2 v3 v4
-
-{-# NOINLINE ptr_glStencilOpSeparate #-}
-ptr_glStencilOpSeparate :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glStencilOpSeparate = unsafePerformIO $ getCommand "glStencilOpSeparate"
-
--- glStencilOpSeparateATI ------------------------------------------------------
-
--- | This command is an alias for 'glStencilOpSeparate'.
-glStencilOpSeparateATI
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
-  -> GLenum -- ^ @sfail@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> GLenum -- ^ @dpfail@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> GLenum -- ^ @dppass@ of type [StencilOp](Graphics-Rendering-OpenGL-Raw-Groups.html#StencilOp).
-  -> m ()
-glStencilOpSeparateATI v1 v2 v3 v4 = liftIO $ dyn53 ptr_glStencilOpSeparateATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glStencilOpSeparateATI #-}
-ptr_glStencilOpSeparateATI :: FunPtr (GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glStencilOpSeparateATI = unsafePerformIO $ getCommand "glStencilOpSeparateATI"
-
--- glStencilOpValueAMD ---------------------------------------------------------
-
-glStencilOpValueAMD
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type @StencilFaceDirection@.
-  -> GLuint -- ^ @value@.
-  -> m ()
-glStencilOpValueAMD v1 v2 = liftIO $ dyn16 ptr_glStencilOpValueAMD v1 v2
-
-{-# NOINLINE ptr_glStencilOpValueAMD #-}
-ptr_glStencilOpValueAMD :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glStencilOpValueAMD = unsafePerformIO $ getCommand "glStencilOpValueAMD"
-
--- glStencilStrokePathInstancedNV ----------------------------------------------
-
-glStencilStrokePathInstancedNV
-  :: MonadIO m
-  => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@ of type @PathElementType@.
-  -> Ptr a -- ^ @paths@ pointing to @COMPSIZE(numPaths,pathNameType,paths)@ elements of type @PathElement@.
-  -> GLuint -- ^ @pathBase@ of type @Path@.
-  -> GLint -- ^ @reference@ of type @StencilValue@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
-  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(numPaths,transformType)@ elements of type @GLfloat@.
-  -> m ()
-glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn711 ptr_glStencilStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glStencilStrokePathInstancedNV #-}
-ptr_glStencilStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glStencilStrokePathInstancedNV = unsafePerformIO $ getCommand "glStencilStrokePathInstancedNV"
-
--- glStencilStrokePathNV -------------------------------------------------------
-
-glStencilStrokePathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@ of type @Path@.
-  -> GLint -- ^ @reference@ of type @StencilValue@.
-  -> GLuint -- ^ @mask@ of type @MaskedStencilValue@.
-  -> m ()
-glStencilStrokePathNV v1 v2 v3 = liftIO $ dyn633 ptr_glStencilStrokePathNV v1 v2 v3
-
-{-# NOINLINE ptr_glStencilStrokePathNV #-}
-ptr_glStencilStrokePathNV :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
-ptr_glStencilStrokePathNV = unsafePerformIO $ getCommand "glStencilStrokePathNV"
-
--- glStencilThenCoverFillPathInstancedNV ---------------------------------------
-
-glStencilThenCoverFillPathInstancedNV
-  :: MonadIO m
-  => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@.
-  -> Ptr a -- ^ @paths@.
-  -> GLuint -- ^ @pathBase@.
-  -> GLenum -- ^ @fillMode@.
-  -> GLuint -- ^ @mask@.
-  -> GLenum -- ^ @coverMode@.
-  -> GLenum -- ^ @transformType@.
-  -> Ptr GLfloat -- ^ @transformValues@.
-  -> m ()
-glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn712 ptr_glStencilThenCoverFillPathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glStencilThenCoverFillPathInstancedNV #-}
-ptr_glStencilThenCoverFillPathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLenum -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glStencilThenCoverFillPathInstancedNV = unsafePerformIO $ getCommand "glStencilThenCoverFillPathInstancedNV"
-
--- glStencilThenCoverFillPathNV ------------------------------------------------
-
-glStencilThenCoverFillPathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@.
-  -> GLenum -- ^ @fillMode@.
-  -> GLuint -- ^ @mask@.
-  -> GLenum -- ^ @coverMode@.
-  -> m ()
-glStencilThenCoverFillPathNV v1 v2 v3 v4 = liftIO $ dyn713 ptr_glStencilThenCoverFillPathNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glStencilThenCoverFillPathNV #-}
-ptr_glStencilThenCoverFillPathNV :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> IO ())
-ptr_glStencilThenCoverFillPathNV = unsafePerformIO $ getCommand "glStencilThenCoverFillPathNV"
-
--- glStencilThenCoverStrokePathInstancedNV -------------------------------------
-
-glStencilThenCoverStrokePathInstancedNV
-  :: MonadIO m
-  => GLsizei -- ^ @numPaths@.
-  -> GLenum -- ^ @pathNameType@.
-  -> Ptr a -- ^ @paths@.
-  -> GLuint -- ^ @pathBase@.
-  -> GLint -- ^ @reference@.
-  -> GLuint -- ^ @mask@.
-  -> GLenum -- ^ @coverMode@.
-  -> GLenum -- ^ @transformType@.
-  -> Ptr GLfloat -- ^ @transformValues@.
-  -> m ()
-glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn714 ptr_glStencilThenCoverStrokePathInstancedNV v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glStencilThenCoverStrokePathInstancedNV #-}
-ptr_glStencilThenCoverStrokePathInstancedNV :: FunPtr (GLsizei -> GLenum -> Ptr a -> GLuint -> GLint -> GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glStencilThenCoverStrokePathInstancedNV = unsafePerformIO $ getCommand "glStencilThenCoverStrokePathInstancedNV"
-
--- glStencilThenCoverStrokePathNV ----------------------------------------------
-
-glStencilThenCoverStrokePathNV
-  :: MonadIO m
-  => GLuint -- ^ @path@.
-  -> GLint -- ^ @reference@.
-  -> GLuint -- ^ @mask@.
-  -> GLenum -- ^ @coverMode@.
-  -> m ()
-glStencilThenCoverStrokePathNV v1 v2 v3 v4 = liftIO $ dyn715 ptr_glStencilThenCoverStrokePathNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glStencilThenCoverStrokePathNV #-}
-ptr_glStencilThenCoverStrokePathNV :: FunPtr (GLuint -> GLint -> GLuint -> GLenum -> IO ())
-ptr_glStencilThenCoverStrokePathNV = unsafePerformIO $ getCommand "glStencilThenCoverStrokePathNV"
-
--- glStopInstrumentsSGIX -------------------------------------------------------
-
-glStopInstrumentsSGIX
-  :: MonadIO m
-  => GLint -- ^ @marker@.
-  -> m ()
-glStopInstrumentsSGIX v1 = liftIO $ dyn12 ptr_glStopInstrumentsSGIX v1
-
-{-# NOINLINE ptr_glStopInstrumentsSGIX #-}
-ptr_glStopInstrumentsSGIX :: FunPtr (GLint -> IO ())
-ptr_glStopInstrumentsSGIX = unsafePerformIO $ getCommand "glStopInstrumentsSGIX"
-
--- glStringMarkerGREMEDY -------------------------------------------------------
-
-glStringMarkerGREMEDY
-  :: MonadIO m
-  => GLsizei -- ^ @len@.
-  -> Ptr a -- ^ @string@ pointing to @len@ elements of type @a@.
-  -> m ()
-glStringMarkerGREMEDY v1 v2 = liftIO $ dyn259 ptr_glStringMarkerGREMEDY v1 v2
-
-{-# NOINLINE ptr_glStringMarkerGREMEDY #-}
-ptr_glStringMarkerGREMEDY :: FunPtr (GLsizei -> Ptr a -> IO ())
-ptr_glStringMarkerGREMEDY = unsafePerformIO $ getCommand "glStringMarkerGREMEDY"
-
--- glSubpixelPrecisionBiasNV ---------------------------------------------------
-
-glSubpixelPrecisionBiasNV
-  :: MonadIO m
-  => GLuint -- ^ @xbits@.
-  -> GLuint -- ^ @ybits@.
-  -> m ()
-glSubpixelPrecisionBiasNV v1 v2 = liftIO $ dyn3 ptr_glSubpixelPrecisionBiasNV v1 v2
-
-{-# NOINLINE ptr_glSubpixelPrecisionBiasNV #-}
-ptr_glSubpixelPrecisionBiasNV :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glSubpixelPrecisionBiasNV = unsafePerformIO $ getCommand "glSubpixelPrecisionBiasNV"
-
--- glSwizzleEXT ----------------------------------------------------------------
-
-glSwizzleEXT
-  :: MonadIO m
-  => GLuint -- ^ @res@.
-  -> GLuint -- ^ @in@.
-  -> GLenum -- ^ @outX@ of type @VertexShaderCoordOutEXT@.
-  -> GLenum -- ^ @outY@ of type @VertexShaderCoordOutEXT@.
-  -> GLenum -- ^ @outZ@ of type @VertexShaderCoordOutEXT@.
-  -> GLenum -- ^ @outW@ of type @VertexShaderCoordOutEXT@.
-  -> m ()
-glSwizzleEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn716 ptr_glSwizzleEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glSwizzleEXT #-}
-ptr_glSwizzleEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glSwizzleEXT = unsafePerformIO $ getCommand "glSwizzleEXT"
-
--- glSyncTextureINTEL ----------------------------------------------------------
-
-glSyncTextureINTEL
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> m ()
-glSyncTextureINTEL v1 = liftIO $ dyn2 ptr_glSyncTextureINTEL v1
-
-{-# NOINLINE ptr_glSyncTextureINTEL #-}
-ptr_glSyncTextureINTEL :: FunPtr (GLuint -> IO ())
-ptr_glSyncTextureINTEL = unsafePerformIO $ getCommand "glSyncTextureINTEL"
-
--- glTagSampleBufferSGIX -------------------------------------------------------
-
-glTagSampleBufferSGIX
-  :: MonadIO m
-  => m ()
-glTagSampleBufferSGIX = liftIO $ dyn10 ptr_glTagSampleBufferSGIX
-
-{-# NOINLINE ptr_glTagSampleBufferSGIX #-}
-ptr_glTagSampleBufferSGIX :: FunPtr (IO ())
-ptr_glTagSampleBufferSGIX = unsafePerformIO $ getCommand "glTagSampleBufferSGIX"
-
--- glTangent3bEXT --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTangent3bvEXT'.
-glTangent3bEXT
-  :: MonadIO m
-  => GLbyte -- ^ @tx@.
-  -> GLbyte -- ^ @ty@.
-  -> GLbyte -- ^ @tz@.
-  -> m ()
-glTangent3bEXT v1 v2 v3 = liftIO $ dyn36 ptr_glTangent3bEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTangent3bEXT #-}
-ptr_glTangent3bEXT :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glTangent3bEXT = unsafePerformIO $ getCommand "glTangent3bEXT"
-
--- glTangent3bvEXT -------------------------------------------------------------
-
-glTangent3bvEXT
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @v@ pointing to @3@ elements of type @GLbyte@.
-  -> m ()
-glTangent3bvEXT v1 = liftIO $ dyn37 ptr_glTangent3bvEXT v1
-
-{-# NOINLINE ptr_glTangent3bvEXT #-}
-ptr_glTangent3bvEXT :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glTangent3bvEXT = unsafePerformIO $ getCommand "glTangent3bvEXT"
-
--- glTangent3dEXT --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTangent3dvEXT'.
-glTangent3dEXT
-  :: MonadIO m
-  => GLdouble -- ^ @tx@ of type @CoordD@.
-  -> GLdouble -- ^ @ty@ of type @CoordD@.
-  -> GLdouble -- ^ @tz@ of type @CoordD@.
-  -> m ()
-glTangent3dEXT v1 v2 v3 = liftIO $ dyn38 ptr_glTangent3dEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTangent3dEXT #-}
-ptr_glTangent3dEXT :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glTangent3dEXT = unsafePerformIO $ getCommand "glTangent3dEXT"
-
--- glTangent3dvEXT -------------------------------------------------------------
-
-glTangent3dvEXT
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glTangent3dvEXT v1 = liftIO $ dyn39 ptr_glTangent3dvEXT v1
-
-{-# NOINLINE ptr_glTangent3dvEXT #-}
-ptr_glTangent3dvEXT :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glTangent3dvEXT = unsafePerformIO $ getCommand "glTangent3dvEXT"
-
--- glTangent3fEXT --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTangent3fvEXT'.
-glTangent3fEXT
-  :: MonadIO m
-  => GLfloat -- ^ @tx@ of type @CoordF@.
-  -> GLfloat -- ^ @ty@ of type @CoordF@.
-  -> GLfloat -- ^ @tz@ of type @CoordF@.
-  -> m ()
-glTangent3fEXT v1 v2 v3 = liftIO $ dyn40 ptr_glTangent3fEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTangent3fEXT #-}
-ptr_glTangent3fEXT :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTangent3fEXT = unsafePerformIO $ getCommand "glTangent3fEXT"
-
--- glTangent3fvEXT -------------------------------------------------------------
-
-glTangent3fvEXT
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glTangent3fvEXT v1 = liftIO $ dyn41 ptr_glTangent3fvEXT v1
-
-{-# NOINLINE ptr_glTangent3fvEXT #-}
-ptr_glTangent3fvEXT :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glTangent3fvEXT = unsafePerformIO $ getCommand "glTangent3fvEXT"
-
--- glTangent3iEXT --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTangent3ivEXT'.
-glTangent3iEXT
-  :: MonadIO m
-  => GLint -- ^ @tx@.
-  -> GLint -- ^ @ty@.
-  -> GLint -- ^ @tz@.
-  -> m ()
-glTangent3iEXT v1 v2 v3 = liftIO $ dyn42 ptr_glTangent3iEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTangent3iEXT #-}
-ptr_glTangent3iEXT :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glTangent3iEXT = unsafePerformIO $ getCommand "glTangent3iEXT"
-
--- glTangent3ivEXT -------------------------------------------------------------
-
-glTangent3ivEXT
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glTangent3ivEXT v1 = liftIO $ dyn43 ptr_glTangent3ivEXT v1
-
-{-# NOINLINE ptr_glTangent3ivEXT #-}
-ptr_glTangent3ivEXT :: FunPtr (Ptr GLint -> IO ())
-ptr_glTangent3ivEXT = unsafePerformIO $ getCommand "glTangent3ivEXT"
-
--- glTangent3sEXT --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTangent3svEXT'.
-glTangent3sEXT
-  :: MonadIO m
-  => GLshort -- ^ @tx@.
-  -> GLshort -- ^ @ty@.
-  -> GLshort -- ^ @tz@.
-  -> m ()
-glTangent3sEXT v1 v2 v3 = liftIO $ dyn44 ptr_glTangent3sEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTangent3sEXT #-}
-ptr_glTangent3sEXT :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glTangent3sEXT = unsafePerformIO $ getCommand "glTangent3sEXT"
-
--- glTangent3svEXT -------------------------------------------------------------
-
-glTangent3svEXT
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glTangent3svEXT v1 = liftIO $ dyn45 ptr_glTangent3svEXT v1
-
-{-# NOINLINE ptr_glTangent3svEXT #-}
-ptr_glTangent3svEXT :: FunPtr (Ptr GLshort -> IO ())
-ptr_glTangent3svEXT = unsafePerformIO $ getCommand "glTangent3svEXT"
-
--- glTangentPointerEXT ---------------------------------------------------------
-
-glTangentPointerEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@ of type @TangentPointerTypeEXT@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glTangentPointerEXT v1 v2 v3 = liftIO $ dyn46 ptr_glTangentPointerEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTangentPointerEXT #-}
-ptr_glTangentPointerEXT :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glTangentPointerEXT = unsafePerformIO $ getCommand "glTangentPointerEXT"
-
--- glTbufferMask3DFX -----------------------------------------------------------
-
-glTbufferMask3DFX
-  :: MonadIO m
-  => GLuint -- ^ @mask@.
-  -> m ()
-glTbufferMask3DFX v1 = liftIO $ dyn2 ptr_glTbufferMask3DFX v1
-
-{-# NOINLINE ptr_glTbufferMask3DFX #-}
-ptr_glTbufferMask3DFX :: FunPtr (GLuint -> IO ())
-ptr_glTbufferMask3DFX = unsafePerformIO $ getCommand "glTbufferMask3DFX"
-
--- glTessellationFactorAMD -----------------------------------------------------
-
-glTessellationFactorAMD
-  :: MonadIO m
-  => GLfloat -- ^ @factor@.
-  -> m ()
-glTessellationFactorAMD v1 = liftIO $ dyn79 ptr_glTessellationFactorAMD v1
-
-{-# NOINLINE ptr_glTessellationFactorAMD #-}
-ptr_glTessellationFactorAMD :: FunPtr (GLfloat -> IO ())
-ptr_glTessellationFactorAMD = unsafePerformIO $ getCommand "glTessellationFactorAMD"
-
--- glTessellationModeAMD -------------------------------------------------------
-
-glTessellationModeAMD
-  :: MonadIO m
-  => GLenum -- ^ @mode@.
-  -> m ()
-glTessellationModeAMD v1 = liftIO $ dyn4 ptr_glTessellationModeAMD v1
-
-{-# NOINLINE ptr_glTessellationModeAMD #-}
-ptr_glTessellationModeAMD :: FunPtr (GLenum -> IO ())
-ptr_glTessellationModeAMD = unsafePerformIO $ getCommand "glTessellationModeAMD"
-
--- glTestFenceAPPLE ------------------------------------------------------------
-
-glTestFenceAPPLE
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glTestFenceAPPLE v1 = liftIO $ dyn272 ptr_glTestFenceAPPLE v1
-
-{-# NOINLINE ptr_glTestFenceAPPLE #-}
-ptr_glTestFenceAPPLE :: FunPtr (GLuint -> IO GLboolean)
-ptr_glTestFenceAPPLE = unsafePerformIO $ getCommand "glTestFenceAPPLE"
-
--- glTestFenceNV ---------------------------------------------------------------
-
-glTestFenceNV
-  :: MonadIO m
-  => GLuint -- ^ @fence@ of type @FenceNV@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glTestFenceNV v1 = liftIO $ dyn272 ptr_glTestFenceNV v1
-
-{-# NOINLINE ptr_glTestFenceNV #-}
-ptr_glTestFenceNV :: FunPtr (GLuint -> IO GLboolean)
-ptr_glTestFenceNV = unsafePerformIO $ getCommand "glTestFenceNV"
-
--- glTestObjectAPPLE -----------------------------------------------------------
-
-glTestObjectAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @object@ of type @ObjectTypeAPPLE@.
-  -> GLuint -- ^ @name@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glTestObjectAPPLE v1 v2 = liftIO $ dyn473 ptr_glTestObjectAPPLE v1 v2
-
-{-# NOINLINE ptr_glTestObjectAPPLE #-}
-ptr_glTestObjectAPPLE :: FunPtr (GLenum -> GLuint -> IO GLboolean)
-ptr_glTestObjectAPPLE = unsafePerformIO $ getCommand "glTestObjectAPPLE"
-
--- glTexBuffer -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexBuffer.xhtml OpenGL 4.x>.
-glTexBuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTexBuffer v1 v2 v3 = liftIO $ dyn29 ptr_glTexBuffer v1 v2 v3
-
-{-# NOINLINE ptr_glTexBuffer #-}
-ptr_glTexBuffer :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glTexBuffer = unsafePerformIO $ getCommand "glTexBuffer"
-
--- glTexBufferARB --------------------------------------------------------------
-
--- | This command is an alias for 'glTexBuffer'.
-glTexBufferARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTexBufferARB v1 v2 v3 = liftIO $ dyn29 ptr_glTexBufferARB v1 v2 v3
-
-{-# NOINLINE ptr_glTexBufferARB #-}
-ptr_glTexBufferARB :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glTexBufferARB = unsafePerformIO $ getCommand "glTexBufferARB"
-
--- glTexBufferEXT --------------------------------------------------------------
-
--- | This command is an alias for 'glTexBuffer'.
-glTexBufferEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTexBufferEXT v1 v2 v3 = liftIO $ dyn29 ptr_glTexBufferEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTexBufferEXT #-}
-ptr_glTexBufferEXT :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glTexBufferEXT = unsafePerformIO $ getCommand "glTexBufferEXT"
-
--- glTexBufferOES --------------------------------------------------------------
-
--- | This command is an alias for 'glTexBuffer'.
-glTexBufferOES
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTexBufferOES v1 v2 v3 = liftIO $ dyn29 ptr_glTexBufferOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexBufferOES #-}
-ptr_glTexBufferOES :: FunPtr (GLenum -> GLenum -> GLuint -> IO ())
-ptr_glTexBufferOES = unsafePerformIO $ getCommand "glTexBufferOES"
-
--- glTexBufferRange ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBufferRange.xhtml OpenGL 4.x>.
-glTexBufferRange
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTexBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn717 ptr_glTexBufferRange v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexBufferRange #-}
-ptr_glTexBufferRange :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTexBufferRange = unsafePerformIO $ getCommand "glTexBufferRange"
-
--- glTexBufferRangeEXT ---------------------------------------------------------
-
--- | This command is an alias for 'glTexBufferRange'.
-glTexBufferRangeEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTexBufferRangeEXT v1 v2 v3 v4 v5 = liftIO $ dyn717 ptr_glTexBufferRangeEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexBufferRangeEXT #-}
-ptr_glTexBufferRangeEXT :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTexBufferRangeEXT = unsafePerformIO $ getCommand "glTexBufferRangeEXT"
-
--- glTexBufferRangeOES ---------------------------------------------------------
-
--- | This command is an alias for 'glTexBufferRange'.
-glTexBufferRangeOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTexBufferRangeOES v1 v2 v3 v4 v5 = liftIO $ dyn717 ptr_glTexBufferRangeOES v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexBufferRangeOES #-}
-ptr_glTexBufferRangeOES :: FunPtr (GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTexBufferRangeOES = unsafePerformIO $ getCommand "glTexBufferRangeOES"
-
--- glTexBumpParameterfvATI -----------------------------------------------------
-
-glTexBumpParameterfvATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
-  -> Ptr GLfloat -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glTexBumpParameterfvATI v1 v2 = liftIO $ dyn93 ptr_glTexBumpParameterfvATI v1 v2
-
-{-# NOINLINE ptr_glTexBumpParameterfvATI #-}
-ptr_glTexBumpParameterfvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexBumpParameterfvATI = unsafePerformIO $ getCommand "glTexBumpParameterfvATI"
-
--- glTexBumpParameterivATI -----------------------------------------------------
-
-glTexBumpParameterivATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @TexBumpParameterATI@.
-  -> Ptr GLint -- ^ @param@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glTexBumpParameterivATI v1 v2 = liftIO $ dyn135 ptr_glTexBumpParameterivATI v1 v2
-
-{-# NOINLINE ptr_glTexBumpParameterivATI #-}
-ptr_glTexBumpParameterivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glTexBumpParameterivATI = unsafePerformIO $ getCommand "glTexBumpParameterivATI"
-
--- glTexCoord1bOES -------------------------------------------------------------
-
-glTexCoord1bOES
-  :: MonadIO m
-  => GLbyte -- ^ @s@.
-  -> m ()
-glTexCoord1bOES v1 = liftIO $ dyn458 ptr_glTexCoord1bOES v1
-
-{-# NOINLINE ptr_glTexCoord1bOES #-}
-ptr_glTexCoord1bOES :: FunPtr (GLbyte -> IO ())
-ptr_glTexCoord1bOES = unsafePerformIO $ getCommand "glTexCoord1bOES"
-
--- glTexCoord1bvOES ------------------------------------------------------------
-
-glTexCoord1bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @1@ element of type @GLbyte@.
-  -> m ()
-glTexCoord1bvOES v1 = liftIO $ dyn37 ptr_glTexCoord1bvOES v1
-
-{-# NOINLINE ptr_glTexCoord1bvOES #-}
-ptr_glTexCoord1bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glTexCoord1bvOES = unsafePerformIO $ getCommand "glTexCoord1bvOES"
-
--- glTexCoord1d ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1dv'.
-glTexCoord1d
-  :: MonadIO m
-  => GLdouble -- ^ @s@ of type @CoordD@.
-  -> m ()
-glTexCoord1d v1 = liftIO $ dyn78 ptr_glTexCoord1d v1
-
-{-# NOINLINE ptr_glTexCoord1d #-}
-ptr_glTexCoord1d :: FunPtr (GLdouble -> IO ())
-ptr_glTexCoord1d = unsafePerformIO $ getCommand "glTexCoord1d"
-
--- glTexCoord1dv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord1dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @CoordD@.
-  -> m ()
-glTexCoord1dv v1 = liftIO $ dyn39 ptr_glTexCoord1dv v1
-
-{-# NOINLINE ptr_glTexCoord1dv #-}
-ptr_glTexCoord1dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glTexCoord1dv = unsafePerformIO $ getCommand "glTexCoord1dv"
-
--- glTexCoord1f ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1fv'.
-glTexCoord1f
-  :: MonadIO m
-  => GLfloat -- ^ @s@ of type @CoordF@.
-  -> m ()
-glTexCoord1f v1 = liftIO $ dyn79 ptr_glTexCoord1f v1
-
-{-# NOINLINE ptr_glTexCoord1f #-}
-ptr_glTexCoord1f :: FunPtr (GLfloat -> IO ())
-ptr_glTexCoord1f = unsafePerformIO $ getCommand "glTexCoord1f"
-
--- glTexCoord1fv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord1fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @CoordF@.
-  -> m ()
-glTexCoord1fv v1 = liftIO $ dyn41 ptr_glTexCoord1fv v1
-
-{-# NOINLINE ptr_glTexCoord1fv #-}
-ptr_glTexCoord1fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glTexCoord1fv = unsafePerformIO $ getCommand "glTexCoord1fv"
-
--- glTexCoord1hNV --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTexCoord1hvNV'.
-glTexCoord1hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> m ()
-glTexCoord1hNV v1 = liftIO $ dyn280 ptr_glTexCoord1hNV v1
-
-{-# NOINLINE ptr_glTexCoord1hNV #-}
-ptr_glTexCoord1hNV :: FunPtr (GLhalfNV -> IO ())
-ptr_glTexCoord1hNV = unsafePerformIO $ getCommand "glTexCoord1hNV"
-
--- glTexCoord1hvNV -------------------------------------------------------------
-
-glTexCoord1hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
-  -> m ()
-glTexCoord1hvNV v1 = liftIO $ dyn98 ptr_glTexCoord1hvNV v1
-
-{-# NOINLINE ptr_glTexCoord1hvNV #-}
-ptr_glTexCoord1hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glTexCoord1hvNV = unsafePerformIO $ getCommand "glTexCoord1hvNV"
-
--- glTexCoord1i ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1iv'.
-glTexCoord1i
-  :: MonadIO m
-  => GLint -- ^ @s@ of type @CoordI@.
-  -> m ()
-glTexCoord1i v1 = liftIO $ dyn12 ptr_glTexCoord1i v1
-
-{-# NOINLINE ptr_glTexCoord1i #-}
-ptr_glTexCoord1i :: FunPtr (GLint -> IO ())
-ptr_glTexCoord1i = unsafePerformIO $ getCommand "glTexCoord1i"
-
--- glTexCoord1iv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord1iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @1@ element of type @CoordI@.
-  -> m ()
-glTexCoord1iv v1 = liftIO $ dyn43 ptr_glTexCoord1iv v1
-
-{-# NOINLINE ptr_glTexCoord1iv #-}
-ptr_glTexCoord1iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glTexCoord1iv = unsafePerformIO $ getCommand "glTexCoord1iv"
-
--- glTexCoord1s ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord1sv'.
-glTexCoord1s
-  :: MonadIO m
-  => GLshort -- ^ @s@ of type @CoordS@.
-  -> m ()
-glTexCoord1s v1 = liftIO $ dyn459 ptr_glTexCoord1s v1
-
-{-# NOINLINE ptr_glTexCoord1s #-}
-ptr_glTexCoord1s :: FunPtr (GLshort -> IO ())
-ptr_glTexCoord1s = unsafePerformIO $ getCommand "glTexCoord1s"
-
--- glTexCoord1sv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord1sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @1@ element of type @CoordS@.
-  -> m ()
-glTexCoord1sv v1 = liftIO $ dyn45 ptr_glTexCoord1sv v1
-
-{-# NOINLINE ptr_glTexCoord1sv #-}
-ptr_glTexCoord1sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glTexCoord1sv = unsafePerformIO $ getCommand "glTexCoord1sv"
-
--- glTexCoord1xOES -------------------------------------------------------------
-
-glTexCoord1xOES
-  :: MonadIO m
-  => GLfixed -- ^ @s@.
-  -> m ()
-glTexCoord1xOES v1 = liftIO $ dyn81 ptr_glTexCoord1xOES v1
-
-{-# NOINLINE ptr_glTexCoord1xOES #-}
-ptr_glTexCoord1xOES :: FunPtr (GLfixed -> IO ())
-ptr_glTexCoord1xOES = unsafePerformIO $ getCommand "glTexCoord1xOES"
-
--- glTexCoord1xvOES ------------------------------------------------------------
-
-glTexCoord1xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @1@ element of type @GLfixed@.
-  -> m ()
-glTexCoord1xvOES v1 = liftIO $ dyn106 ptr_glTexCoord1xvOES v1
-
-{-# NOINLINE ptr_glTexCoord1xvOES #-}
-ptr_glTexCoord1xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glTexCoord1xvOES = unsafePerformIO $ getCommand "glTexCoord1xvOES"
-
--- glTexCoord2bOES -------------------------------------------------------------
-
-glTexCoord2bOES
-  :: MonadIO m
-  => GLbyte -- ^ @s@.
-  -> GLbyte -- ^ @t@.
-  -> m ()
-glTexCoord2bOES v1 v2 = liftIO $ dyn718 ptr_glTexCoord2bOES v1 v2
-
-{-# NOINLINE ptr_glTexCoord2bOES #-}
-ptr_glTexCoord2bOES :: FunPtr (GLbyte -> GLbyte -> IO ())
-ptr_glTexCoord2bOES = unsafePerformIO $ getCommand "glTexCoord2bOES"
-
--- glTexCoord2bvOES ------------------------------------------------------------
-
-glTexCoord2bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @2@ elements of type @GLbyte@.
-  -> m ()
-glTexCoord2bvOES v1 = liftIO $ dyn37 ptr_glTexCoord2bvOES v1
-
-{-# NOINLINE ptr_glTexCoord2bvOES #-}
-ptr_glTexCoord2bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glTexCoord2bvOES = unsafePerformIO $ getCommand "glTexCoord2bvOES"
-
--- glTexCoord2d ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2dv'.
-glTexCoord2d
-  :: MonadIO m
-  => GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> m ()
-glTexCoord2d v1 v2 = liftIO $ dyn216 ptr_glTexCoord2d v1 v2
-
-{-# NOINLINE ptr_glTexCoord2d #-}
-ptr_glTexCoord2d :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glTexCoord2d = unsafePerformIO $ getCommand "glTexCoord2d"
-
--- glTexCoord2dv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord2dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glTexCoord2dv v1 = liftIO $ dyn39 ptr_glTexCoord2dv v1
-
-{-# NOINLINE ptr_glTexCoord2dv #-}
-ptr_glTexCoord2dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glTexCoord2dv = unsafePerformIO $ getCommand "glTexCoord2dv"
-
--- glTexCoord2f ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2fv'.
-glTexCoord2f
-  :: MonadIO m
-  => GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> m ()
-glTexCoord2f v1 v2 = liftIO $ dyn221 ptr_glTexCoord2f v1 v2
-
-{-# NOINLINE ptr_glTexCoord2f #-}
-ptr_glTexCoord2f :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord2f = unsafePerformIO $ getCommand "glTexCoord2f"
-
--- glTexCoord2fColor3fVertex3fSUN ----------------------------------------------
-
-glTexCoord2fColor3fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glTexCoord2fColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glTexCoord2fColor3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTexCoord2fColor3fVertex3fSUN #-}
-ptr_glTexCoord2fColor3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord2fColor3fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fColor3fVertex3fSUN"
-
--- glTexCoord2fColor3fVertex3fvSUN ---------------------------------------------
-
-glTexCoord2fColor3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @c@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glTexCoord2fColor3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn110 ptr_glTexCoord2fColor3fVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord2fColor3fVertex3fvSUN #-}
-ptr_glTexCoord2fColor3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glTexCoord2fColor3fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fColor3fVertex3fvSUN"
-
--- glTexCoord2fColor4fNormal3fVertex3fSUN --------------------------------------
-
-glTexCoord2fColor4fNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @a@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn719 ptr_glTexCoord2fColor4fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glTexCoord2fColor4fNormal3fVertex3fSUN #-}
-ptr_glTexCoord2fColor4fNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord2fColor4fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4fNormal3fVertex3fSUN"
-
--- glTexCoord2fColor4fNormal3fVertex3fvSUN -------------------------------------
-
-glTexCoord2fColor4fNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4 = liftIO $ dyn720 ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN #-}
-ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glTexCoord2fColor4fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4fNormal3fVertex3fvSUN"
-
--- glTexCoord2fColor4ubVertex3fSUN ---------------------------------------------
-
-glTexCoord2fColor4ubVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLubyte -- ^ @r@.
-  -> GLubyte -- ^ @g@.
-  -> GLubyte -- ^ @b@.
-  -> GLubyte -- ^ @a@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn721 ptr_glTexCoord2fColor4ubVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTexCoord2fColor4ubVertex3fSUN #-}
-ptr_glTexCoord2fColor4ubVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord2fColor4ubVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4ubVertex3fSUN"
-
--- glTexCoord2fColor4ubVertex3fvSUN --------------------------------------------
-
-glTexCoord2fColor4ubVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLubyte -- ^ @c@ pointing to @4@ elements of type @GLubyte@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3 = liftIO $ dyn722 ptr_glTexCoord2fColor4ubVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord2fColor4ubVertex3fvSUN #-}
-ptr_glTexCoord2fColor4ubVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLubyte -> Ptr GLfloat -> IO ())
-ptr_glTexCoord2fColor4ubVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fColor4ubVertex3fvSUN"
-
--- glTexCoord2fNormal3fVertex3fSUN ---------------------------------------------
-
-glTexCoord2fNormal3fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glTexCoord2fNormal3fVertex3fSUN v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTexCoord2fNormal3fVertex3fSUN #-}
-ptr_glTexCoord2fNormal3fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord2fNormal3fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fNormal3fVertex3fSUN"
-
--- glTexCoord2fNormal3fVertex3fvSUN --------------------------------------------
-
-glTexCoord2fNormal3fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glTexCoord2fNormal3fVertex3fvSUN v1 v2 v3 = liftIO $ dyn110 ptr_glTexCoord2fNormal3fVertex3fvSUN v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord2fNormal3fVertex3fvSUN #-}
-ptr_glTexCoord2fNormal3fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glTexCoord2fNormal3fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fNormal3fVertex3fvSUN"
-
--- glTexCoord2fVertex3fSUN -----------------------------------------------------
-
-glTexCoord2fVertex3fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5 = liftIO $ dyn251 ptr_glTexCoord2fVertex3fSUN v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexCoord2fVertex3fSUN #-}
-ptr_glTexCoord2fVertex3fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord2fVertex3fSUN = unsafePerformIO $ getCommand "glTexCoord2fVertex3fSUN"
-
--- glTexCoord2fVertex3fvSUN ----------------------------------------------------
-
-glTexCoord2fVertex3fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @tc@ pointing to @2@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glTexCoord2fVertex3fvSUN v1 v2 = liftIO $ dyn96 ptr_glTexCoord2fVertex3fvSUN v1 v2
-
-{-# NOINLINE ptr_glTexCoord2fVertex3fvSUN #-}
-ptr_glTexCoord2fVertex3fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glTexCoord2fVertex3fvSUN = unsafePerformIO $ getCommand "glTexCoord2fVertex3fvSUN"
-
--- glTexCoord2fv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord2fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glTexCoord2fv v1 = liftIO $ dyn41 ptr_glTexCoord2fv v1
-
-{-# NOINLINE ptr_glTexCoord2fv #-}
-ptr_glTexCoord2fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glTexCoord2fv = unsafePerformIO $ getCommand "glTexCoord2fv"
-
--- glTexCoord2hNV --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTexCoord2hvNV'.
-glTexCoord2hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
-  -> m ()
-glTexCoord2hNV v1 v2 = liftIO $ dyn723 ptr_glTexCoord2hNV v1 v2
-
-{-# NOINLINE ptr_glTexCoord2hNV #-}
-ptr_glTexCoord2hNV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
-ptr_glTexCoord2hNV = unsafePerformIO $ getCommand "glTexCoord2hNV"
-
--- glTexCoord2hvNV -------------------------------------------------------------
-
-glTexCoord2hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
-  -> m ()
-glTexCoord2hvNV v1 = liftIO $ dyn98 ptr_glTexCoord2hvNV v1
-
-{-# NOINLINE ptr_glTexCoord2hvNV #-}
-ptr_glTexCoord2hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glTexCoord2hvNV = unsafePerformIO $ getCommand "glTexCoord2hvNV"
-
--- glTexCoord2i ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2iv'.
-glTexCoord2i
-  :: MonadIO m
-  => GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> m ()
-glTexCoord2i v1 v2 = liftIO $ dyn265 ptr_glTexCoord2i v1 v2
-
-{-# NOINLINE ptr_glTexCoord2i #-}
-ptr_glTexCoord2i :: FunPtr (GLint -> GLint -> IO ())
-ptr_glTexCoord2i = unsafePerformIO $ getCommand "glTexCoord2i"
-
--- glTexCoord2iv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord2iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glTexCoord2iv v1 = liftIO $ dyn43 ptr_glTexCoord2iv v1
-
-{-# NOINLINE ptr_glTexCoord2iv #-}
-ptr_glTexCoord2iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glTexCoord2iv = unsafePerformIO $ getCommand "glTexCoord2iv"
-
--- glTexCoord2s ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord2sv'.
-glTexCoord2s
-  :: MonadIO m
-  => GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> m ()
-glTexCoord2s v1 v2 = liftIO $ dyn665 ptr_glTexCoord2s v1 v2
-
-{-# NOINLINE ptr_glTexCoord2s #-}
-ptr_glTexCoord2s :: FunPtr (GLshort -> GLshort -> IO ())
-ptr_glTexCoord2s = unsafePerformIO $ getCommand "glTexCoord2s"
-
--- glTexCoord2sv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord2sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glTexCoord2sv v1 = liftIO $ dyn45 ptr_glTexCoord2sv v1
-
-{-# NOINLINE ptr_glTexCoord2sv #-}
-ptr_glTexCoord2sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glTexCoord2sv = unsafePerformIO $ getCommand "glTexCoord2sv"
-
--- glTexCoord2xOES -------------------------------------------------------------
-
-glTexCoord2xOES
-  :: MonadIO m
-  => GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> m ()
-glTexCoord2xOES v1 v2 = liftIO $ dyn223 ptr_glTexCoord2xOES v1 v2
-
-{-# NOINLINE ptr_glTexCoord2xOES #-}
-ptr_glTexCoord2xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glTexCoord2xOES = unsafePerformIO $ getCommand "glTexCoord2xOES"
-
--- glTexCoord2xvOES ------------------------------------------------------------
-
-glTexCoord2xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
-  -> m ()
-glTexCoord2xvOES v1 = liftIO $ dyn106 ptr_glTexCoord2xvOES v1
-
-{-# NOINLINE ptr_glTexCoord2xvOES #-}
-ptr_glTexCoord2xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glTexCoord2xvOES = unsafePerformIO $ getCommand "glTexCoord2xvOES"
-
--- glTexCoord3bOES -------------------------------------------------------------
-
-glTexCoord3bOES
-  :: MonadIO m
-  => GLbyte -- ^ @s@.
-  -> GLbyte -- ^ @t@.
-  -> GLbyte -- ^ @r@.
-  -> m ()
-glTexCoord3bOES v1 v2 v3 = liftIO $ dyn36 ptr_glTexCoord3bOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord3bOES #-}
-ptr_glTexCoord3bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glTexCoord3bOES = unsafePerformIO $ getCommand "glTexCoord3bOES"
-
--- glTexCoord3bvOES ------------------------------------------------------------
-
-glTexCoord3bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
-  -> m ()
-glTexCoord3bvOES v1 = liftIO $ dyn37 ptr_glTexCoord3bvOES v1
-
-{-# NOINLINE ptr_glTexCoord3bvOES #-}
-ptr_glTexCoord3bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glTexCoord3bvOES = unsafePerformIO $ getCommand "glTexCoord3bvOES"
-
--- glTexCoord3d ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3dv'.
-glTexCoord3d
-  :: MonadIO m
-  => GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> GLdouble -- ^ @r@ of type @CoordD@.
-  -> m ()
-glTexCoord3d v1 v2 v3 = liftIO $ dyn38 ptr_glTexCoord3d v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord3d #-}
-ptr_glTexCoord3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glTexCoord3d = unsafePerformIO $ getCommand "glTexCoord3d"
-
--- glTexCoord3dv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glTexCoord3dv v1 = liftIO $ dyn39 ptr_glTexCoord3dv v1
-
-{-# NOINLINE ptr_glTexCoord3dv #-}
-ptr_glTexCoord3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glTexCoord3dv = unsafePerformIO $ getCommand "glTexCoord3dv"
-
--- glTexCoord3f ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3fv'.
-glTexCoord3f
-  :: MonadIO m
-  => GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> GLfloat -- ^ @r@ of type @CoordF@.
-  -> m ()
-glTexCoord3f v1 v2 v3 = liftIO $ dyn40 ptr_glTexCoord3f v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord3f #-}
-ptr_glTexCoord3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord3f = unsafePerformIO $ getCommand "glTexCoord3f"
-
--- glTexCoord3fv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glTexCoord3fv v1 = liftIO $ dyn41 ptr_glTexCoord3fv v1
-
-{-# NOINLINE ptr_glTexCoord3fv #-}
-ptr_glTexCoord3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glTexCoord3fv = unsafePerformIO $ getCommand "glTexCoord3fv"
-
--- glTexCoord3hNV --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTexCoord3hvNV'.
-glTexCoord3hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
-  -> m ()
-glTexCoord3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glTexCoord3hNV v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord3hNV #-}
-ptr_glTexCoord3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glTexCoord3hNV = unsafePerformIO $ getCommand "glTexCoord3hNV"
-
--- glTexCoord3hvNV -------------------------------------------------------------
-
-glTexCoord3hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
-  -> m ()
-glTexCoord3hvNV v1 = liftIO $ dyn98 ptr_glTexCoord3hvNV v1
-
-{-# NOINLINE ptr_glTexCoord3hvNV #-}
-ptr_glTexCoord3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glTexCoord3hvNV = unsafePerformIO $ getCommand "glTexCoord3hvNV"
-
--- glTexCoord3i ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3iv'.
-glTexCoord3i
-  :: MonadIO m
-  => GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> GLint -- ^ @r@ of type @CoordI@.
-  -> m ()
-glTexCoord3i v1 v2 v3 = liftIO $ dyn42 ptr_glTexCoord3i v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord3i #-}
-ptr_glTexCoord3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glTexCoord3i = unsafePerformIO $ getCommand "glTexCoord3i"
-
--- glTexCoord3iv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glTexCoord3iv v1 = liftIO $ dyn43 ptr_glTexCoord3iv v1
-
-{-# NOINLINE ptr_glTexCoord3iv #-}
-ptr_glTexCoord3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glTexCoord3iv = unsafePerformIO $ getCommand "glTexCoord3iv"
-
--- glTexCoord3s ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord3sv'.
-glTexCoord3s
-  :: MonadIO m
-  => GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> GLshort -- ^ @r@ of type @CoordS@.
-  -> m ()
-glTexCoord3s v1 v2 v3 = liftIO $ dyn44 ptr_glTexCoord3s v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord3s #-}
-ptr_glTexCoord3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glTexCoord3s = unsafePerformIO $ getCommand "glTexCoord3s"
-
--- glTexCoord3sv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glTexCoord3sv v1 = liftIO $ dyn45 ptr_glTexCoord3sv v1
-
-{-# NOINLINE ptr_glTexCoord3sv #-}
-ptr_glTexCoord3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glTexCoord3sv = unsafePerformIO $ getCommand "glTexCoord3sv"
-
--- glTexCoord3xOES -------------------------------------------------------------
-
-glTexCoord3xOES
-  :: MonadIO m
-  => GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @r@.
-  -> m ()
-glTexCoord3xOES v1 v2 v3 = liftIO $ dyn105 ptr_glTexCoord3xOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoord3xOES #-}
-ptr_glTexCoord3xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glTexCoord3xOES = unsafePerformIO $ getCommand "glTexCoord3xOES"
-
--- glTexCoord3xvOES ------------------------------------------------------------
-
-glTexCoord3xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
-  -> m ()
-glTexCoord3xvOES v1 = liftIO $ dyn106 ptr_glTexCoord3xvOES v1
-
-{-# NOINLINE ptr_glTexCoord3xvOES #-}
-ptr_glTexCoord3xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glTexCoord3xvOES = unsafePerformIO $ getCommand "glTexCoord3xvOES"
-
--- glTexCoord4bOES -------------------------------------------------------------
-
-glTexCoord4bOES
-  :: MonadIO m
-  => GLbyte -- ^ @s@.
-  -> GLbyte -- ^ @t@.
-  -> GLbyte -- ^ @r@.
-  -> GLbyte -- ^ @q@.
-  -> m ()
-glTexCoord4bOES v1 v2 v3 v4 = liftIO $ dyn107 ptr_glTexCoord4bOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4bOES #-}
-ptr_glTexCoord4bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glTexCoord4bOES = unsafePerformIO $ getCommand "glTexCoord4bOES"
-
--- glTexCoord4bvOES ------------------------------------------------------------
-
-glTexCoord4bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glTexCoord4bvOES v1 = liftIO $ dyn37 ptr_glTexCoord4bvOES v1
-
-{-# NOINLINE ptr_glTexCoord4bvOES #-}
-ptr_glTexCoord4bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glTexCoord4bvOES = unsafePerformIO $ getCommand "glTexCoord4bvOES"
-
--- glTexCoord4d ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4dv'.
-glTexCoord4d
-  :: MonadIO m
-  => GLdouble -- ^ @s@ of type @CoordD@.
-  -> GLdouble -- ^ @t@ of type @CoordD@.
-  -> GLdouble -- ^ @r@ of type @CoordD@.
-  -> GLdouble -- ^ @q@ of type @CoordD@.
-  -> m ()
-glTexCoord4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glTexCoord4d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4d #-}
-ptr_glTexCoord4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glTexCoord4d = unsafePerformIO $ getCommand "glTexCoord4d"
-
--- glTexCoord4dv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord4dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
-  -> m ()
-glTexCoord4dv v1 = liftIO $ dyn39 ptr_glTexCoord4dv v1
-
-{-# NOINLINE ptr_glTexCoord4dv #-}
-ptr_glTexCoord4dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glTexCoord4dv = unsafePerformIO $ getCommand "glTexCoord4dv"
-
--- glTexCoord4f ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4fv'.
-glTexCoord4f
-  :: MonadIO m
-  => GLfloat -- ^ @s@ of type @CoordF@.
-  -> GLfloat -- ^ @t@ of type @CoordF@.
-  -> GLfloat -- ^ @r@ of type @CoordF@.
-  -> GLfloat -- ^ @q@ of type @CoordF@.
-  -> m ()
-glTexCoord4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glTexCoord4f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4f #-}
-ptr_glTexCoord4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord4f = unsafePerformIO $ getCommand "glTexCoord4f"
-
--- glTexCoord4fColor4fNormal3fVertex4fSUN --------------------------------------
-
-glTexCoord4fColor4fNormal3fVertex4fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @p@.
-  -> GLfloat -- ^ @q@.
-  -> GLfloat -- ^ @r@.
-  -> GLfloat -- ^ @g@.
-  -> GLfloat -- ^ @b@.
-  -> GLfloat -- ^ @a@.
-  -> GLfloat -- ^ @nx@.
-  -> GLfloat -- ^ @ny@.
-  -> GLfloat -- ^ @nz@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 = liftIO $ dyn724 ptr_glTexCoord4fColor4fNormal3fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15
-
-{-# NOINLINE ptr_glTexCoord4fColor4fNormal3fVertex4fSUN #-}
-ptr_glTexCoord4fColor4fNormal3fVertex4fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord4fColor4fNormal3fVertex4fSUN = unsafePerformIO $ getCommand "glTexCoord4fColor4fNormal3fVertex4fSUN"
-
--- glTexCoord4fColor4fNormal3fVertex4fvSUN -------------------------------------
-
-glTexCoord4fColor4fNormal3fVertex4fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @tc@ pointing to @4@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @c@ pointing to @4@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @n@ pointing to @3@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4 = liftIO $ dyn720 ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN #-}
-ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glTexCoord4fColor4fNormal3fVertex4fvSUN = unsafePerformIO $ getCommand "glTexCoord4fColor4fNormal3fVertex4fvSUN"
-
--- glTexCoord4fVertex4fSUN -----------------------------------------------------
-
-glTexCoord4fVertex4fSUN
-  :: MonadIO m
-  => GLfloat -- ^ @s@.
-  -> GLfloat -- ^ @t@.
-  -> GLfloat -- ^ @p@.
-  -> GLfloat -- ^ @q@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glTexCoord4fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn609 ptr_glTexCoord4fVertex4fSUN v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTexCoord4fVertex4fSUN #-}
-ptr_glTexCoord4fVertex4fSUN :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTexCoord4fVertex4fSUN = unsafePerformIO $ getCommand "glTexCoord4fVertex4fSUN"
-
--- glTexCoord4fVertex4fvSUN ----------------------------------------------------
-
-glTexCoord4fVertex4fvSUN
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @tc@ pointing to @4@ elements of type @GLfloat@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glTexCoord4fVertex4fvSUN v1 v2 = liftIO $ dyn96 ptr_glTexCoord4fVertex4fvSUN v1 v2
-
-{-# NOINLINE ptr_glTexCoord4fVertex4fvSUN #-}
-ptr_glTexCoord4fVertex4fvSUN :: FunPtr (Ptr GLfloat -> Ptr GLfloat -> IO ())
-ptr_glTexCoord4fVertex4fvSUN = unsafePerformIO $ getCommand "glTexCoord4fVertex4fvSUN"
-
--- glTexCoord4fv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord4fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
-  -> m ()
-glTexCoord4fv v1 = liftIO $ dyn41 ptr_glTexCoord4fv v1
-
-{-# NOINLINE ptr_glTexCoord4fv #-}
-ptr_glTexCoord4fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glTexCoord4fv = unsafePerformIO $ getCommand "glTexCoord4fv"
-
--- glTexCoord4hNV --------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTexCoord4hvNV'.
-glTexCoord4hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @s@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @t@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @r@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @q@ of type @Half16NV@.
-  -> m ()
-glTexCoord4hNV v1 v2 v3 v4 = liftIO $ dyn111 ptr_glTexCoord4hNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4hNV #-}
-ptr_glTexCoord4hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glTexCoord4hNV = unsafePerformIO $ getCommand "glTexCoord4hNV"
-
--- glTexCoord4hvNV -------------------------------------------------------------
-
-glTexCoord4hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
-  -> m ()
-glTexCoord4hvNV v1 = liftIO $ dyn98 ptr_glTexCoord4hvNV v1
-
-{-# NOINLINE ptr_glTexCoord4hvNV #-}
-ptr_glTexCoord4hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glTexCoord4hvNV = unsafePerformIO $ getCommand "glTexCoord4hvNV"
-
--- glTexCoord4i ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4iv'.
-glTexCoord4i
-  :: MonadIO m
-  => GLint -- ^ @s@ of type @CoordI@.
-  -> GLint -- ^ @t@ of type @CoordI@.
-  -> GLint -- ^ @r@ of type @CoordI@.
-  -> GLint -- ^ @q@ of type @CoordI@.
-  -> m ()
-glTexCoord4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glTexCoord4i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4i #-}
-ptr_glTexCoord4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glTexCoord4i = unsafePerformIO $ getCommand "glTexCoord4i"
-
--- glTexCoord4iv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord4iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
-  -> m ()
-glTexCoord4iv v1 = liftIO $ dyn43 ptr_glTexCoord4iv v1
-
-{-# NOINLINE ptr_glTexCoord4iv #-}
-ptr_glTexCoord4iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glTexCoord4iv = unsafePerformIO $ getCommand "glTexCoord4iv"
-
--- glTexCoord4s ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>. The vector equivalent of this command is 'glTexCoord4sv'.
-glTexCoord4s
-  :: MonadIO m
-  => GLshort -- ^ @s@ of type @CoordS@.
-  -> GLshort -- ^ @t@ of type @CoordS@.
-  -> GLshort -- ^ @r@ of type @CoordS@.
-  -> GLshort -- ^ @q@ of type @CoordS@.
-  -> m ()
-glTexCoord4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glTexCoord4s v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4s #-}
-ptr_glTexCoord4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glTexCoord4s = unsafePerformIO $ getCommand "glTexCoord4s"
-
--- glTexCoord4sv ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoord.xml OpenGL 2.x>.
-glTexCoord4sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glTexCoord4sv v1 = liftIO $ dyn45 ptr_glTexCoord4sv v1
-
-{-# NOINLINE ptr_glTexCoord4sv #-}
-ptr_glTexCoord4sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glTexCoord4sv = unsafePerformIO $ getCommand "glTexCoord4sv"
-
--- glTexCoord4xOES -------------------------------------------------------------
-
-glTexCoord4xOES
-  :: MonadIO m
-  => GLfixed -- ^ @s@.
-  -> GLfixed -- ^ @t@.
-  -> GLfixed -- ^ @r@.
-  -> GLfixed -- ^ @q@.
-  -> m ()
-glTexCoord4xOES v1 v2 v3 v4 = liftIO $ dyn50 ptr_glTexCoord4xOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoord4xOES #-}
-ptr_glTexCoord4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glTexCoord4xOES = unsafePerformIO $ getCommand "glTexCoord4xOES"
-
--- glTexCoord4xvOES ------------------------------------------------------------
-
-glTexCoord4xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glTexCoord4xvOES v1 = liftIO $ dyn106 ptr_glTexCoord4xvOES v1
-
-{-# NOINLINE ptr_glTexCoord4xvOES #-}
-ptr_glTexCoord4xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glTexCoord4xvOES = unsafePerformIO $ getCommand "glTexCoord4xvOES"
-
--- glTexCoordFormatNV ----------------------------------------------------------
-
-glTexCoordFormatNV
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glTexCoordFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glTexCoordFormatNV v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoordFormatNV #-}
-ptr_glTexCoordFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
-ptr_glTexCoordFormatNV = unsafePerformIO $ getCommand "glTexCoordFormatNV"
-
--- glTexCoordP1ui --------------------------------------------------------------
-
-glTexCoordP1ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glTexCoordP1ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP1ui v1 v2
-
-{-# NOINLINE ptr_glTexCoordP1ui #-}
-ptr_glTexCoordP1ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glTexCoordP1ui = unsafePerformIO $ getCommand "glTexCoordP1ui"
-
--- glTexCoordP1uiv -------------------------------------------------------------
-
-glTexCoordP1uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glTexCoordP1uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP1uiv v1 v2
-
-{-# NOINLINE ptr_glTexCoordP1uiv #-}
-ptr_glTexCoordP1uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glTexCoordP1uiv = unsafePerformIO $ getCommand "glTexCoordP1uiv"
-
--- glTexCoordP2ui --------------------------------------------------------------
-
-glTexCoordP2ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glTexCoordP2ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP2ui v1 v2
-
-{-# NOINLINE ptr_glTexCoordP2ui #-}
-ptr_glTexCoordP2ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glTexCoordP2ui = unsafePerformIO $ getCommand "glTexCoordP2ui"
-
--- glTexCoordP2uiv -------------------------------------------------------------
-
-glTexCoordP2uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glTexCoordP2uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP2uiv v1 v2
-
-{-# NOINLINE ptr_glTexCoordP2uiv #-}
-ptr_glTexCoordP2uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glTexCoordP2uiv = unsafePerformIO $ getCommand "glTexCoordP2uiv"
-
--- glTexCoordP3ui --------------------------------------------------------------
-
-glTexCoordP3ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glTexCoordP3ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP3ui v1 v2
-
-{-# NOINLINE ptr_glTexCoordP3ui #-}
-ptr_glTexCoordP3ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glTexCoordP3ui = unsafePerformIO $ getCommand "glTexCoordP3ui"
-
--- glTexCoordP3uiv -------------------------------------------------------------
-
-glTexCoordP3uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glTexCoordP3uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP3uiv v1 v2
-
-{-# NOINLINE ptr_glTexCoordP3uiv #-}
-ptr_glTexCoordP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glTexCoordP3uiv = unsafePerformIO $ getCommand "glTexCoordP3uiv"
-
--- glTexCoordP4ui --------------------------------------------------------------
-
-glTexCoordP4ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @coords@.
-  -> m ()
-glTexCoordP4ui v1 v2 = liftIO $ dyn16 ptr_glTexCoordP4ui v1 v2
-
-{-# NOINLINE ptr_glTexCoordP4ui #-}
-ptr_glTexCoordP4ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glTexCoordP4ui = unsafePerformIO $ getCommand "glTexCoordP4ui"
-
--- glTexCoordP4uiv -------------------------------------------------------------
-
-glTexCoordP4uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @coords@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glTexCoordP4uiv v1 v2 = liftIO $ dyn124 ptr_glTexCoordP4uiv v1 v2
-
-{-# NOINLINE ptr_glTexCoordP4uiv #-}
-ptr_glTexCoordP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glTexCoordP4uiv = unsafePerformIO $ getCommand "glTexCoordP4uiv"
-
--- glTexCoordPointer -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexCoordPointer.xml OpenGL 2.x>.
-glTexCoordPointer
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#TexCoordPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glTexCoordPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glTexCoordPointer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexCoordPointer #-}
-ptr_glTexCoordPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glTexCoordPointer = unsafePerformIO $ getCommand "glTexCoordPointer"
-
--- glTexCoordPointerEXT --------------------------------------------------------
-
-glTexCoordPointerEXT
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#TexCoordPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
-  -> m ()
-glTexCoordPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn126 ptr_glTexCoordPointerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexCoordPointerEXT #-}
-ptr_glTexCoordPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-ptr_glTexCoordPointerEXT = unsafePerformIO $ getCommand "glTexCoordPointerEXT"
-
--- glTexCoordPointerListIBM ----------------------------------------------------
-
-glTexCoordPointerListIBM
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#TexCoordPointerType).
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glTexCoordPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glTexCoordPointerListIBM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexCoordPointerListIBM #-}
-ptr_glTexCoordPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glTexCoordPointerListIBM = unsafePerformIO $ getCommand "glTexCoordPointerListIBM"
-
--- glTexCoordPointervINTEL -----------------------------------------------------
-
-glTexCoordPointervINTEL
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#VertexPointerType).
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
-  -> m ()
-glTexCoordPointervINTEL v1 v2 v3 = liftIO $ dyn128 ptr_glTexCoordPointervINTEL v1 v2 v3
-
-{-# NOINLINE ptr_glTexCoordPointervINTEL #-}
-ptr_glTexCoordPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glTexCoordPointervINTEL = unsafePerformIO $ getCommand "glTexCoordPointervINTEL"
-
--- glTexEnvf -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
-glTexEnvf
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glTexEnvf v1 v2 v3 = liftIO $ dyn160 ptr_glTexEnvf v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnvf #-}
-ptr_glTexEnvf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glTexEnvf = unsafePerformIO $ getCommand "glTexEnvf"
-
--- glTexEnvfv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
-glTexEnvfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glTexEnvfv v1 v2 v3 = liftIO $ dyn131 ptr_glTexEnvfv v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnvfv #-}
-ptr_glTexEnvfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexEnvfv = unsafePerformIO $ getCommand "glTexEnvfv"
-
--- glTexEnvi -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
-glTexEnvi
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glTexEnvi v1 v2 v3 = liftIO $ dyn62 ptr_glTexEnvi v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnvi #-}
-ptr_glTexEnvi :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glTexEnvi = unsafePerformIO $ getCommand "glTexEnvi"
-
--- glTexEnviv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexEnv.xml OpenGL 2.x>.
-glTexEnviv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureEnvTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvTarget).
-  -> GLenum -- ^ @pname@ of type [TextureEnvParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureEnvParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glTexEnviv v1 v2 v3 = liftIO $ dyn132 ptr_glTexEnviv v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnviv #-}
-ptr_glTexEnviv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexEnviv = unsafePerformIO $ getCommand "glTexEnviv"
-
--- glTexEnvx -------------------------------------------------------------------
-
-glTexEnvx
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glTexEnvx v1 v2 v3 = liftIO $ dyn161 ptr_glTexEnvx v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnvx #-}
-ptr_glTexEnvx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glTexEnvx = unsafePerformIO $ getCommand "glTexEnvx"
-
--- glTexEnvxOES ----------------------------------------------------------------
-
-glTexEnvxOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glTexEnvxOES v1 v2 v3 = liftIO $ dyn161 ptr_glTexEnvxOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnvxOES #-}
-ptr_glTexEnvxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glTexEnvxOES = unsafePerformIO $ getCommand "glTexEnvxOES"
-
--- glTexEnvxv ------------------------------------------------------------------
-
-glTexEnvxv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glTexEnvxv v1 v2 v3 = liftIO $ dyn162 ptr_glTexEnvxv v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnvxv #-}
-ptr_glTexEnvxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glTexEnvxv = unsafePerformIO $ getCommand "glTexEnvxv"
-
--- glTexEnvxvOES ---------------------------------------------------------------
-
-glTexEnvxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glTexEnvxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glTexEnvxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexEnvxvOES #-}
-ptr_glTexEnvxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glTexEnvxvOES = unsafePerformIO $ getCommand "glTexEnvxvOES"
-
--- glTexFilterFuncSGIS ---------------------------------------------------------
-
-glTexFilterFuncSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @filter@ of type @TextureFilterSGIS@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLfloat -- ^ @weights@ pointing to @n@ elements of type @GLfloat@.
-  -> m ()
-glTexFilterFuncSGIS v1 v2 v3 v4 = liftIO $ dyn446 ptr_glTexFilterFuncSGIS v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexFilterFuncSGIS #-}
-ptr_glTexFilterFuncSGIS :: FunPtr (GLenum -> GLenum -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glTexFilterFuncSGIS = unsafePerformIO $ getCommand "glTexFilterFuncSGIS"
-
--- glTexGend -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGend
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> GLdouble -- ^ @param@.
-  -> m ()
-glTexGend v1 v2 v3 = liftIO $ dyn725 ptr_glTexGend v1 v2 v3
-
-{-# NOINLINE ptr_glTexGend #-}
-ptr_glTexGend :: FunPtr (GLenum -> GLenum -> GLdouble -> IO ())
-ptr_glTexGend = unsafePerformIO $ getCommand "glTexGend"
-
--- glTexGendv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGendv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glTexGendv v1 v2 v3 = liftIO $ dyn349 ptr_glTexGendv v1 v2 v3
-
-{-# NOINLINE ptr_glTexGendv #-}
-ptr_glTexGendv :: FunPtr (GLenum -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glTexGendv = unsafePerformIO $ getCommand "glTexGendv"
-
--- glTexGenf -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGenf
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glTexGenf v1 v2 v3 = liftIO $ dyn160 ptr_glTexGenf v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenf #-}
-ptr_glTexGenf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glTexGenf = unsafePerformIO $ getCommand "glTexGenf"
-
--- glTexGenfOES ----------------------------------------------------------------
-
-glTexGenfOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glTexGenfOES v1 v2 v3 = liftIO $ dyn160 ptr_glTexGenfOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenfOES #-}
-ptr_glTexGenfOES :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glTexGenfOES = unsafePerformIO $ getCommand "glTexGenfOES"
-
--- glTexGenfv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGenfv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glTexGenfv v1 v2 v3 = liftIO $ dyn131 ptr_glTexGenfv v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenfv #-}
-ptr_glTexGenfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexGenfv = unsafePerformIO $ getCommand "glTexGenfv"
-
--- glTexGenfvOES ---------------------------------------------------------------
-
-glTexGenfvOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glTexGenfvOES v1 v2 v3 = liftIO $ dyn131 ptr_glTexGenfvOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenfvOES #-}
-ptr_glTexGenfvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexGenfvOES = unsafePerformIO $ getCommand "glTexGenfvOES"
-
--- glTexGeni -------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGeni
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glTexGeni v1 v2 v3 = liftIO $ dyn62 ptr_glTexGeni v1 v2 v3
-
-{-# NOINLINE ptr_glTexGeni #-}
-ptr_glTexGeni :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glTexGeni = unsafePerformIO $ getCommand "glTexGeni"
-
--- glTexGeniOES ----------------------------------------------------------------
-
-glTexGeniOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glTexGeniOES v1 v2 v3 = liftIO $ dyn62 ptr_glTexGeniOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGeniOES #-}
-ptr_glTexGeniOES :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glTexGeniOES = unsafePerformIO $ getCommand "glTexGeniOES"
-
--- glTexGeniv ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexGen.xml OpenGL 2.x>.
-glTexGeniv
-  :: MonadIO m
-  => GLenum -- ^ @coord@ of type [TextureCoordName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureCoordName).
-  -> GLenum -- ^ @pname@ of type [TextureGenParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureGenParameter).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glTexGeniv v1 v2 v3 = liftIO $ dyn132 ptr_glTexGeniv v1 v2 v3
-
-{-# NOINLINE ptr_glTexGeniv #-}
-ptr_glTexGeniv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexGeniv = unsafePerformIO $ getCommand "glTexGeniv"
-
--- glTexGenivOES ---------------------------------------------------------------
-
-glTexGenivOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glTexGenivOES v1 v2 v3 = liftIO $ dyn132 ptr_glTexGenivOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenivOES #-}
-ptr_glTexGenivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexGenivOES = unsafePerformIO $ getCommand "glTexGenivOES"
-
--- glTexGenxOES ----------------------------------------------------------------
-
-glTexGenxOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glTexGenxOES v1 v2 v3 = liftIO $ dyn161 ptr_glTexGenxOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenxOES #-}
-ptr_glTexGenxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glTexGenxOES = unsafePerformIO $ getCommand "glTexGenxOES"
-
--- glTexGenxvOES ---------------------------------------------------------------
-
-glTexGenxvOES
-  :: MonadIO m
-  => GLenum -- ^ @coord@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glTexGenxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glTexGenxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexGenxvOES #-}
-ptr_glTexGenxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glTexGenxvOES = unsafePerformIO $ getCommand "glTexGenxvOES"
-
--- glTexImage1D ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage1D.xhtml OpenGL 4.x>.
-glTexImage1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn726 ptr_glTexImage1D v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTexImage1D #-}
-ptr_glTexImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexImage1D = unsafePerformIO $ getCommand "glTexImage1D"
-
--- glTexImage2D ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage2D.xhtml OpenGL 4.x>.
-glTexImage2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn727 ptr_glTexImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTexImage2D #-}
-ptr_glTexImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexImage2D = unsafePerformIO $ getCommand "glTexImage2D"
-
--- glTexImage2DMultisample -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage2DMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage2DMultisample.xhtml OpenGL 4.x>.
-glTexImage2DMultisample
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTexImage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn728 ptr_glTexImage2DMultisample v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTexImage2DMultisample #-}
-ptr_glTexImage2DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexImage2DMultisample = unsafePerformIO $ getCommand "glTexImage2DMultisample"
-
--- glTexImage2DMultisampleCoverageNV -------------------------------------------
-
-glTexImage2DMultisampleCoverageNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @coverageSamples@.
-  -> GLsizei -- ^ @colorSamples@.
-  -> GLint -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn729 ptr_glTexImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTexImage2DMultisampleCoverageNV #-}
-ptr_glTexImage2DMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexImage2DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTexImage2DMultisampleCoverageNV"
-
--- glTexImage3D ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage3D.xhtml OpenGL 4.x>.
-glTexImage3D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn730 ptr_glTexImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glTexImage3D #-}
-ptr_glTexImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexImage3D = unsafePerformIO $ getCommand "glTexImage3D"
-
--- glTexImage3DEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glTexImage3D'.
-glTexImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn731 ptr_glTexImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glTexImage3DEXT #-}
-ptr_glTexImage3DEXT :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexImage3DEXT = unsafePerformIO $ getCommand "glTexImage3DEXT"
-
--- glTexImage3DMultisample -----------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3DMultisample.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexImage3DMultisample.xhtml OpenGL 4.x>.
-glTexImage3DMultisample
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn732 ptr_glTexImage3DMultisample v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTexImage3DMultisample #-}
-ptr_glTexImage3DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexImage3DMultisample = unsafePerformIO $ getCommand "glTexImage3DMultisample"
-
--- glTexImage3DMultisampleCoverageNV -------------------------------------------
-
-glTexImage3DMultisampleCoverageNV
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @coverageSamples@.
-  -> GLsizei -- ^ @colorSamples@.
-  -> GLint -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn733 ptr_glTexImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTexImage3DMultisampleCoverageNV #-}
-ptr_glTexImage3DMultisampleCoverageNV :: FunPtr (GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexImage3DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTexImage3DMultisampleCoverageNV"
-
--- glTexImage3DOES -------------------------------------------------------------
-
--- | This command is an alias for 'glTexImage3D'.
-glTexImage3DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn731 ptr_glTexImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glTexImage3DOES #-}
-ptr_glTexImage3DOES :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexImage3DOES = unsafePerformIO $ getCommand "glTexImage3DOES"
-
--- glTexImage4DSGIS ------------------------------------------------------------
-
-glTexImage4DSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLenum -- ^ @internalformat@ of type [InternalFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#InternalFormat).
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLsizei -- ^ @size4d@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth,size4d)@ elements of type @a@.
-  -> m ()
-glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn734 ptr_glTexImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glTexImage4DSGIS #-}
-ptr_glTexImage4DSGIS :: FunPtr (GLenum -> GLint -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexImage4DSGIS = unsafePerformIO $ getCommand "glTexImage4DSGIS"
-
--- glTexPageCommitmentARB ------------------------------------------------------
-
-glTexPageCommitmentARB
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @commit@.
-  -> m ()
-glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn735 ptr_glTexPageCommitmentARB v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTexPageCommitmentARB #-}
-ptr_glTexPageCommitmentARB :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexPageCommitmentARB = unsafePerformIO $ getCommand "glTexPageCommitmentARB"
-
--- glTexPageCommitmentEXT ------------------------------------------------------
-
--- | This command is an alias for 'glTexPageCommitmentARB'.
-glTexPageCommitmentEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @commit@.
-  -> m ()
-glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn735 ptr_glTexPageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTexPageCommitmentEXT #-}
-ptr_glTexPageCommitmentEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexPageCommitmentEXT = unsafePerformIO $ getCommand "glTexPageCommitmentEXT"
-
--- glTexParameterIiv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTexParameterIiv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glTexParameterIiv v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameterIiv v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterIiv #-}
-ptr_glTexParameterIiv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexParameterIiv = unsafePerformIO $ getCommand "glTexParameterIiv"
-
--- glTexParameterIivEXT --------------------------------------------------------
-
--- | This command is an alias for 'glTexParameterIiv'.
-glTexParameterIivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glTexParameterIivEXT v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameterIivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterIivEXT #-}
-ptr_glTexParameterIivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexParameterIivEXT = unsafePerformIO $ getCommand "glTexParameterIivEXT"
-
--- glTexParameterIivOES --------------------------------------------------------
-
--- | This command is an alias for 'glTexParameterIiv'.
-glTexParameterIivOES
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glTexParameterIivOES v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameterIivOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterIivOES #-}
-ptr_glTexParameterIivOES :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexParameterIivOES = unsafePerformIO $ getCommand "glTexParameterIivOES"
-
--- glTexParameterIuiv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTexParameterIuiv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glTexParameterIuiv v1 v2 v3 = liftIO $ dyn409 ptr_glTexParameterIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterIuiv #-}
-ptr_glTexParameterIuiv :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glTexParameterIuiv = unsafePerformIO $ getCommand "glTexParameterIuiv"
-
--- glTexParameterIuivEXT -------------------------------------------------------
-
--- | This command is an alias for 'glTexParameterIuiv'.
-glTexParameterIuivEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glTexParameterIuivEXT v1 v2 v3 = liftIO $ dyn409 ptr_glTexParameterIuivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterIuivEXT #-}
-ptr_glTexParameterIuivEXT :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glTexParameterIuivEXT = unsafePerformIO $ getCommand "glTexParameterIuivEXT"
-
--- glTexParameterIuivOES -------------------------------------------------------
-
--- | This command is an alias for 'glTexParameterIuiv'.
-glTexParameterIuivOES
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glTexParameterIuivOES v1 v2 v3 = liftIO $ dyn409 ptr_glTexParameterIuivOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterIuivOES #-}
-ptr_glTexParameterIuivOES :: FunPtr (GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glTexParameterIuivOES = unsafePerformIO $ getCommand "glTexParameterIuivOES"
-
--- glTexParameterf -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTexParameterf
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glTexParameterf v1 v2 v3 = liftIO $ dyn160 ptr_glTexParameterf v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterf #-}
-ptr_glTexParameterf :: FunPtr (GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glTexParameterf = unsafePerformIO $ getCommand "glTexParameterf"
-
--- glTexParameterfv ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTexParameterfv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glTexParameterfv v1 v2 v3 = liftIO $ dyn131 ptr_glTexParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterfv #-}
-ptr_glTexParameterfv :: FunPtr (GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTexParameterfv = unsafePerformIO $ getCommand "glTexParameterfv"
-
--- glTexParameteri -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTexParameteri
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glTexParameteri v1 v2 v3 = liftIO $ dyn62 ptr_glTexParameteri v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameteri #-}
-ptr_glTexParameteri :: FunPtr (GLenum -> GLenum -> GLint -> IO ())
-ptr_glTexParameteri = unsafePerformIO $ getCommand "glTexParameteri"
-
--- glTexParameteriv ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexParameter.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexParameter.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTexParameteriv
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glTexParameteriv v1 v2 v3 = liftIO $ dyn132 ptr_glTexParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameteriv #-}
-ptr_glTexParameteriv :: FunPtr (GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTexParameteriv = unsafePerformIO $ getCommand "glTexParameteriv"
-
--- glTexParameterx -------------------------------------------------------------
-
-glTexParameterx
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glTexParameterx v1 v2 v3 = liftIO $ dyn161 ptr_glTexParameterx v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterx #-}
-ptr_glTexParameterx :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glTexParameterx = unsafePerformIO $ getCommand "glTexParameterx"
-
--- glTexParameterxOES ----------------------------------------------------------
-
-glTexParameterxOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> GLfixed -- ^ @param@.
-  -> m ()
-glTexParameterxOES v1 v2 v3 = liftIO $ dyn161 ptr_glTexParameterxOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterxOES #-}
-ptr_glTexParameterxOES :: FunPtr (GLenum -> GLenum -> GLfixed -> IO ())
-ptr_glTexParameterxOES = unsafePerformIO $ getCommand "glTexParameterxOES"
-
--- glTexParameterxv ------------------------------------------------------------
-
-glTexParameterxv
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glTexParameterxv v1 v2 v3 = liftIO $ dyn162 ptr_glTexParameterxv v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterxv #-}
-ptr_glTexParameterxv :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glTexParameterxv = unsafePerformIO $ getCommand "glTexParameterxv"
-
--- glTexParameterxvOES ---------------------------------------------------------
-
-glTexParameterxvOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfixed -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfixed@.
-  -> m ()
-glTexParameterxvOES v1 v2 v3 = liftIO $ dyn162 ptr_glTexParameterxvOES v1 v2 v3
-
-{-# NOINLINE ptr_glTexParameterxvOES #-}
-ptr_glTexParameterxvOES :: FunPtr (GLenum -> GLenum -> Ptr GLfixed -> IO ())
-ptr_glTexParameterxvOES = unsafePerformIO $ getCommand "glTexParameterxvOES"
-
--- glTexRenderbufferNV ---------------------------------------------------------
-
-glTexRenderbufferNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glTexRenderbufferNV v1 v2 = liftIO $ dyn16 ptr_glTexRenderbufferNV v1 v2
-
-{-# NOINLINE ptr_glTexRenderbufferNV #-}
-ptr_glTexRenderbufferNV :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glTexRenderbufferNV = unsafePerformIO $ getCommand "glTexRenderbufferNV"
-
--- glTexStorage1D --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage1D.xhtml OpenGL 4.x>.
-glTexStorage1D
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glTexStorage1D v1 v2 v3 v4 = liftIO $ dyn736 ptr_glTexStorage1D v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexStorage1D #-}
-ptr_glTexStorage1D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-ptr_glTexStorage1D = unsafePerformIO $ getCommand "glTexStorage1D"
-
--- glTexStorage1DEXT -----------------------------------------------------------
-
--- | This command is an alias for 'glTexStorage1D'.
-glTexStorage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glTexStorage1DEXT v1 v2 v3 v4 = liftIO $ dyn736 ptr_glTexStorage1DEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTexStorage1DEXT #-}
-ptr_glTexStorage1DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-ptr_glTexStorage1DEXT = unsafePerformIO $ getCommand "glTexStorage1DEXT"
-
--- glTexStorage2D --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2D.xhtml OpenGL 4.x>.
-glTexStorage2D
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glTexStorage2D v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glTexStorage2D v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexStorage2D #-}
-ptr_glTexStorage2D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glTexStorage2D = unsafePerformIO $ getCommand "glTexStorage2D"
-
--- glTexStorage2DEXT -----------------------------------------------------------
-
--- | This command is an alias for 'glTexStorage2D'.
-glTexStorage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glTexStorage2DEXT v1 v2 v3 v4 v5 = liftIO $ dyn675 ptr_glTexStorage2DEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTexStorage2DEXT #-}
-ptr_glTexStorage2DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glTexStorage2DEXT = unsafePerformIO $ getCommand "glTexStorage2DEXT"
-
--- glTexStorage2DMultisample ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2DMultisample.xhtml OpenGL 4.x>.
-glTexStorage2DMultisample
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTexStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn728 ptr_glTexStorage2DMultisample v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTexStorage2DMultisample #-}
-ptr_glTexStorage2DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexStorage2DMultisample = unsafePerformIO $ getCommand "glTexStorage2DMultisample"
-
--- glTexStorage3D --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3D.xhtml OpenGL 4.x>.
-glTexStorage3D
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> m ()
-glTexStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn737 ptr_glTexStorage3D v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTexStorage3D #-}
-ptr_glTexStorage3D :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glTexStorage3D = unsafePerformIO $ getCommand "glTexStorage3D"
-
--- glTexStorage3DEXT -----------------------------------------------------------
-
--- | This command is an alias for 'glTexStorage3D'.
-glTexStorage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> m ()
-glTexStorage3DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn737 ptr_glTexStorage3DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTexStorage3DEXT #-}
-ptr_glTexStorage3DEXT :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glTexStorage3DEXT = unsafePerformIO $ getCommand "glTexStorage3DEXT"
-
--- glTexStorage3DMultisample ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
-glTexStorage3DMultisample
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn732 ptr_glTexStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTexStorage3DMultisample #-}
-ptr_glTexStorage3DMultisample :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexStorage3DMultisample = unsafePerformIO $ getCommand "glTexStorage3DMultisample"
-
--- glTexStorage3DMultisampleOES ------------------------------------------------
-
--- | This command is an alias for 'glTexStorage3DMultisample'.
-glTexStorage3DMultisampleOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn732 ptr_glTexStorage3DMultisampleOES v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTexStorage3DMultisampleOES #-}
-ptr_glTexStorage3DMultisampleOES :: FunPtr (GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexStorage3DMultisampleOES = unsafePerformIO $ getCommand "glTexStorage3DMultisampleOES"
-
--- glTexStorageSparseAMD -------------------------------------------------------
-
-glTexStorageSparseAMD
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLsizei -- ^ @layers@.
-  -> GLbitfield -- ^ @flags@.
-  -> m ()
-glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn738 ptr_glTexStorageSparseAMD v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTexStorageSparseAMD #-}
-ptr_glTexStorageSparseAMD :: FunPtr (GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
-ptr_glTexStorageSparseAMD = unsafePerformIO $ getCommand "glTexStorageSparseAMD"
-
--- glTexSubImage1D -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexSubImage1D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage1D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml OpenGL 4.x>.
-glTexSubImage1D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glTexSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn739 ptr_glTexSubImage1D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTexSubImage1D #-}
-ptr_glTexSubImage1D :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage1D = unsafePerformIO $ getCommand "glTexSubImage1D"
-
--- glTexSubImage1DEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glTexSubImage1D'.
-glTexSubImage1DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn739 ptr_glTexSubImage1DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTexSubImage1DEXT #-}
-ptr_glTexSubImage1DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage1DEXT = unsafePerformIO $ getCommand "glTexSubImage1DEXT"
-
--- glTexSubImage2D -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexSubImage2D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage2D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage2D.xhtml OpenGL 4.x>.
-glTexSubImage2D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn740 ptr_glTexSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTexSubImage2D #-}
-ptr_glTexSubImage2D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage2D = unsafePerformIO $ getCommand "glTexSubImage2D"
-
--- glTexSubImage2DEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glTexSubImage2D'.
-glTexSubImage2DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn740 ptr_glTexSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTexSubImage2DEXT #-}
-ptr_glTexSubImage2DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage2DEXT = unsafePerformIO $ getCommand "glTexSubImage2DEXT"
-
--- glTexSubImage3D -------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glTexSubImage3D.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glTexSubImage3D.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage3D.xhtml OpenGL 4.x>.
-glTexSubImage3D
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glTexSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glTexSubImage3D #-}
-ptr_glTexSubImage3D :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage3D = unsafePerformIO $ getCommand "glTexSubImage3D"
-
--- glTexSubImage3DEXT ----------------------------------------------------------
-
--- | This command is an alias for 'glTexSubImage3D'.
-glTexSubImage3DEXT
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glTexSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glTexSubImage3DEXT #-}
-ptr_glTexSubImage3DEXT :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage3DEXT = unsafePerformIO $ getCommand "glTexSubImage3DEXT"
-
--- glTexSubImage3DOES ----------------------------------------------------------
-
--- | This command is an alias for 'glTexSubImage3D'.
-glTexSubImage3DOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn271 ptr_glTexSubImage3DOES v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glTexSubImage3DOES #-}
-ptr_glTexSubImage3DOES :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage3DOES = unsafePerformIO $ getCommand "glTexSubImage3DOES"
-
--- glTexSubImage4DSGIS ---------------------------------------------------------
-
-glTexSubImage4DSGIS
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @woffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLsizei -- ^ @size4d@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth,size4d)@ elements of type @a@.
-  -> m ()
-glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 = liftIO $ dyn741 ptr_glTexSubImage4DSGIS v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13
-
-{-# NOINLINE ptr_glTexSubImage4DSGIS #-}
-ptr_glTexSubImage4DSGIS :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTexSubImage4DSGIS = unsafePerformIO $ getCommand "glTexSubImage4DSGIS"
-
--- glTextureBarrier ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTextureBarrier.xhtml OpenGL 4.x>.
-glTextureBarrier
-  :: MonadIO m
-  => m ()
-glTextureBarrier = liftIO $ dyn10 ptr_glTextureBarrier
-
-{-# NOINLINE ptr_glTextureBarrier #-}
-ptr_glTextureBarrier :: FunPtr (IO ())
-ptr_glTextureBarrier = unsafePerformIO $ getCommand "glTextureBarrier"
-
--- glTextureBarrierNV ----------------------------------------------------------
-
-glTextureBarrierNV
-  :: MonadIO m
-  => m ()
-glTextureBarrierNV = liftIO $ dyn10 ptr_glTextureBarrierNV
-
-{-# NOINLINE ptr_glTextureBarrierNV #-}
-ptr_glTextureBarrierNV :: FunPtr (IO ())
-ptr_glTextureBarrierNV = unsafePerformIO $ getCommand "glTextureBarrierNV"
-
--- glTextureBuffer -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBuffer.xhtml OpenGL 4.x>.
-glTextureBuffer
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTextureBuffer v1 v2 v3 = liftIO $ dyn708 ptr_glTextureBuffer v1 v2 v3
-
-{-# NOINLINE ptr_glTextureBuffer #-}
-ptr_glTextureBuffer :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
-ptr_glTextureBuffer = unsafePerformIO $ getCommand "glTextureBuffer"
-
--- glTextureBufferEXT ----------------------------------------------------------
-
-glTextureBufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTextureBufferEXT v1 v2 v3 v4 = liftIO $ dyn570 ptr_glTextureBufferEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureBufferEXT #-}
-ptr_glTextureBufferEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> IO ())
-ptr_glTextureBufferEXT = unsafePerformIO $ getCommand "glTextureBufferEXT"
-
--- glTextureBufferRange --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexBufferRange.xhtml OpenGL 4.x>.
-glTextureBufferRange
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTextureBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn742 ptr_glTextureBufferRange v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTextureBufferRange #-}
-ptr_glTextureBufferRange :: FunPtr (GLuint -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTextureBufferRange = unsafePerformIO $ getCommand "glTextureBufferRange"
-
--- glTextureBufferRangeEXT -----------------------------------------------------
-
-glTextureBufferRangeEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn743 ptr_glTextureBufferRangeEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTextureBufferRangeEXT #-}
-ptr_glTextureBufferRangeEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTextureBufferRangeEXT = unsafePerformIO $ getCommand "glTextureBufferRangeEXT"
-
--- glTextureColorMaskSGIS ------------------------------------------------------
-
-glTextureColorMaskSGIS
-  :: MonadIO m
-  => GLboolean -- ^ @red@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @green@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @blue@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLboolean -- ^ @alpha@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTextureColorMaskSGIS v1 v2 v3 v4 = liftIO $ dyn122 ptr_glTextureColorMaskSGIS v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureColorMaskSGIS #-}
-ptr_glTextureColorMaskSGIS :: FunPtr (GLboolean -> GLboolean -> GLboolean -> GLboolean -> IO ())
-ptr_glTextureColorMaskSGIS = unsafePerformIO $ getCommand "glTextureColorMaskSGIS"
-
--- glTextureImage1DEXT ---------------------------------------------------------
-
-glTextureImage1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn744 ptr_glTextureImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTextureImage1DEXT #-}
-ptr_glTextureImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureImage1DEXT = unsafePerformIO $ getCommand "glTextureImage1DEXT"
-
--- glTextureImage2DEXT ---------------------------------------------------------
-
-glTextureImage2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn745 ptr_glTextureImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glTextureImage2DEXT #-}
-ptr_glTextureImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureImage2DEXT = unsafePerformIO $ getCommand "glTextureImage2DEXT"
-
--- glTextureImage2DMultisampleCoverageNV ---------------------------------------
-
-glTextureImage2DMultisampleCoverageNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @coverageSamples@.
-  -> GLsizei -- ^ @colorSamples@.
-  -> GLint -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn746 ptr_glTextureImage2DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureImage2DMultisampleCoverageNV #-}
-ptr_glTextureImage2DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureImage2DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTextureImage2DMultisampleCoverageNV"
-
--- glTextureImage2DMultisampleNV -----------------------------------------------
-
-glTextureImage2DMultisampleNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLint -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn747 ptr_glTextureImage2DMultisampleNV v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureImage2DMultisampleNV #-}
-ptr_glTextureImage2DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureImage2DMultisampleNV = unsafePerformIO $ getCommand "glTextureImage2DMultisampleNV"
-
--- glTextureImage3DEXT ---------------------------------------------------------
-
-glTextureImage3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @internalformat@ of type @TextureComponentCount@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLint -- ^ @border@ of type @CheckedInt32@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn748 ptr_glTextureImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glTextureImage3DEXT #-}
-ptr_glTextureImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLint -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureImage3DEXT = unsafePerformIO $ getCommand "glTextureImage3DEXT"
-
--- glTextureImage3DMultisampleCoverageNV ---------------------------------------
-
-glTextureImage3DMultisampleCoverageNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @coverageSamples@.
-  -> GLsizei -- ^ @colorSamples@.
-  -> GLint -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn749 ptr_glTextureImage3DMultisampleCoverageNV v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTextureImage3DMultisampleCoverageNV #-}
-ptr_glTextureImage3DMultisampleCoverageNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureImage3DMultisampleCoverageNV = unsafePerformIO $ getCommand "glTextureImage3DMultisampleCoverageNV"
-
--- glTextureImage3DMultisampleNV -----------------------------------------------
-
-glTextureImage3DMultisampleNV
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLint -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedSampleLocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn750 ptr_glTextureImage3DMultisampleNV v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureImage3DMultisampleNV #-}
-ptr_glTextureImage3DMultisampleNV :: FunPtr (GLuint -> GLenum -> GLsizei -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureImage3DMultisampleNV = unsafePerformIO $ getCommand "glTextureImage3DMultisampleNV"
-
--- glTextureLightEXT -----------------------------------------------------------
-
-glTextureLightEXT
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @LightTexturePNameEXT@.
-  -> m ()
-glTextureLightEXT v1 = liftIO $ dyn4 ptr_glTextureLightEXT v1
-
-{-# NOINLINE ptr_glTextureLightEXT #-}
-ptr_glTextureLightEXT :: FunPtr (GLenum -> IO ())
-ptr_glTextureLightEXT = unsafePerformIO $ getCommand "glTextureLightEXT"
-
--- glTextureMaterialEXT --------------------------------------------------------
-
-glTextureMaterialEXT
-  :: MonadIO m
-  => GLenum -- ^ @face@ of type [MaterialFace](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialFace).
-  -> GLenum -- ^ @mode@ of type [MaterialParameter](Graphics-Rendering-OpenGL-Raw-Groups.html#MaterialParameter).
-  -> m ()
-glTextureMaterialEXT v1 v2 = liftIO $ dyn51 ptr_glTextureMaterialEXT v1 v2
-
-{-# NOINLINE ptr_glTextureMaterialEXT #-}
-ptr_glTextureMaterialEXT :: FunPtr (GLenum -> GLenum -> IO ())
-ptr_glTextureMaterialEXT = unsafePerformIO $ getCommand "glTextureMaterialEXT"
-
--- glTextureNormalEXT ----------------------------------------------------------
-
-glTextureNormalEXT
-  :: MonadIO m
-  => GLenum -- ^ @mode@ of type @TextureNormalModeEXT@.
-  -> m ()
-glTextureNormalEXT v1 = liftIO $ dyn4 ptr_glTextureNormalEXT v1
-
-{-# NOINLINE ptr_glTextureNormalEXT #-}
-ptr_glTextureNormalEXT :: FunPtr (GLenum -> IO ())
-ptr_glTextureNormalEXT = unsafePerformIO $ getCommand "glTextureNormalEXT"
-
--- glTexturePageCommitmentEXT --------------------------------------------------
-
-glTexturePageCommitmentEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @commit@.
-  -> m ()
-glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn751 ptr_glTexturePageCommitmentEXT v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTexturePageCommitmentEXT #-}
-ptr_glTexturePageCommitmentEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTexturePageCommitmentEXT = unsafePerformIO $ getCommand "glTexturePageCommitmentEXT"
-
--- glTextureParameterIiv -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTextureParameterIiv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@.
-  -> m ()
-glTextureParameterIiv v1 v2 v3 = liftIO $ dyn331 ptr_glTextureParameterIiv v1 v2 v3
-
-{-# NOINLINE ptr_glTextureParameterIiv #-}
-ptr_glTextureParameterIiv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glTextureParameterIiv = unsafePerformIO $ getCommand "glTextureParameterIiv"
-
--- glTextureParameterIivEXT ----------------------------------------------------
-
-glTextureParameterIivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glTextureParameterIivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glTextureParameterIivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureParameterIivEXT #-}
-ptr_glTextureParameterIivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTextureParameterIivEXT = unsafePerformIO $ getCommand "glTextureParameterIivEXT"
-
--- glTextureParameterIuiv ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTextureParameterIuiv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLuint -- ^ @params@.
-  -> m ()
-glTextureParameterIuiv v1 v2 v3 = liftIO $ dyn371 ptr_glTextureParameterIuiv v1 v2 v3
-
-{-# NOINLINE ptr_glTextureParameterIuiv #-}
-ptr_glTextureParameterIuiv :: FunPtr (GLuint -> GLenum -> Ptr GLuint -> IO ())
-ptr_glTextureParameterIuiv = unsafePerformIO $ getCommand "glTextureParameterIuiv"
-
--- glTextureParameterIuivEXT ---------------------------------------------------
-
-glTextureParameterIuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLuint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLuint@.
-  -> m ()
-glTextureParameterIuivEXT v1 v2 v3 v4 = liftIO $ dyn416 ptr_glTextureParameterIuivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureParameterIuivEXT #-}
-ptr_glTextureParameterIuivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLuint -> IO ())
-ptr_glTextureParameterIuivEXT = unsafePerformIO $ getCommand "glTextureParameterIuivEXT"
-
--- glTextureParameterf ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTextureParameterf
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glTextureParameterf v1 v2 v3 = liftIO $ dyn483 ptr_glTextureParameterf v1 v2 v3
-
-{-# NOINLINE ptr_glTextureParameterf #-}
-ptr_glTextureParameterf :: FunPtr (GLuint -> GLenum -> GLfloat -> IO ())
-ptr_glTextureParameterf = unsafePerformIO $ getCommand "glTextureParameterf"
-
--- glTextureParameterfEXT ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTextureParameterfvEXT'.
-glTextureParameterfEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> GLfloat -- ^ @param@ of type @CheckedFloat32@.
-  -> m ()
-glTextureParameterfEXT v1 v2 v3 v4 = liftIO $ dyn752 ptr_glTextureParameterfEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureParameterfEXT #-}
-ptr_glTextureParameterfEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLfloat -> IO ())
-ptr_glTextureParameterfEXT = unsafePerformIO $ getCommand "glTextureParameterfEXT"
-
--- glTextureParameterfv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTextureParameterfv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @param@.
-  -> m ()
-glTextureParameterfv v1 v2 v3 = liftIO $ dyn345 ptr_glTextureParameterfv v1 v2 v3
-
-{-# NOINLINE ptr_glTextureParameterfv #-}
-ptr_glTextureParameterfv :: FunPtr (GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTextureParameterfv = unsafePerformIO $ getCommand "glTextureParameterfv"
-
--- glTextureParameterfvEXT -----------------------------------------------------
-
-glTextureParameterfvEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedFloat32@.
-  -> m ()
-glTextureParameterfvEXT v1 v2 v3 v4 = liftIO $ dyn417 ptr_glTextureParameterfvEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureParameterfvEXT #-}
-ptr_glTextureParameterfvEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTextureParameterfvEXT = unsafePerformIO $ getCommand "glTextureParameterfvEXT"
-
--- glTextureParameteri ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTextureParameteri
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glTextureParameteri v1 v2 v3 = liftIO $ dyn484 ptr_glTextureParameteri v1 v2 v3
-
-{-# NOINLINE ptr_glTextureParameteri #-}
-ptr_glTextureParameteri :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glTextureParameteri = unsafePerformIO $ getCommand "glTextureParameteri"
-
--- glTextureParameteriEXT ------------------------------------------------------
-
--- | The vector equivalent of this command is 'glTextureParameterivEXT'.
-glTextureParameteriEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> GLint -- ^ @param@ of type @CheckedInt32@.
-  -> m ()
-glTextureParameteriEXT v1 v2 v3 v4 = liftIO $ dyn753 ptr_glTextureParameteriEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureParameteriEXT #-}
-ptr_glTextureParameteriEXT :: FunPtr (GLuint -> GLenum -> GLenum -> GLint -> IO ())
-ptr_glTextureParameteriEXT = unsafePerformIO $ getCommand "glTextureParameteriEXT"
-
--- glTextureParameteriv --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexParameter.xhtml OpenGL 4.x>.
-glTextureParameteriv
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @param@.
-  -> m ()
-glTextureParameteriv v1 v2 v3 = liftIO $ dyn331 ptr_glTextureParameteriv v1 v2 v3
-
-{-# NOINLINE ptr_glTextureParameteriv #-}
-ptr_glTextureParameteriv :: FunPtr (GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glTextureParameteriv = unsafePerformIO $ getCommand "glTextureParameteriv"
-
--- glTextureParameterivEXT -----------------------------------------------------
-
-glTextureParameterivEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLenum -- ^ @pname@ of type [TextureParameterName](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureParameterName).
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @CheckedInt32@.
-  -> m ()
-glTextureParameterivEXT v1 v2 v3 v4 = liftIO $ dyn359 ptr_glTextureParameterivEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureParameterivEXT #-}
-ptr_glTextureParameterivEXT :: FunPtr (GLuint -> GLenum -> GLenum -> Ptr GLint -> IO ())
-ptr_glTextureParameterivEXT = unsafePerformIO $ getCommand "glTextureParameterivEXT"
-
--- glTextureRangeAPPLE ---------------------------------------------------------
-
-glTextureRangeAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
-  -> m ()
-glTextureRangeAPPLE v1 v2 v3 = liftIO $ dyn46 ptr_glTextureRangeAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glTextureRangeAPPLE #-}
-ptr_glTextureRangeAPPLE :: FunPtr (GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glTextureRangeAPPLE = unsafePerformIO $ getCommand "glTextureRangeAPPLE"
-
--- glTextureRenderbufferEXT ----------------------------------------------------
-
-glTextureRenderbufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLuint -- ^ @renderbuffer@.
-  -> m ()
-glTextureRenderbufferEXT v1 v2 v3 = liftIO $ dyn708 ptr_glTextureRenderbufferEXT v1 v2 v3
-
-{-# NOINLINE ptr_glTextureRenderbufferEXT #-}
-ptr_glTextureRenderbufferEXT :: FunPtr (GLuint -> GLenum -> GLuint -> IO ())
-ptr_glTextureRenderbufferEXT = unsafePerformIO $ getCommand "glTextureRenderbufferEXT"
-
--- glTextureStorage1D ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage1D.xhtml OpenGL 4.x>.
-glTextureStorage1D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glTextureStorage1D v1 v2 v3 v4 = liftIO $ dyn754 ptr_glTextureStorage1D v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTextureStorage1D #-}
-ptr_glTextureStorage1D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> IO ())
-ptr_glTextureStorage1D = unsafePerformIO $ getCommand "glTextureStorage1D"
-
--- glTextureStorage1DEXT -------------------------------------------------------
-
-glTextureStorage1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> m ()
-glTextureStorage1DEXT v1 v2 v3 v4 v5 = liftIO $ dyn755 ptr_glTextureStorage1DEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTextureStorage1DEXT #-}
-ptr_glTextureStorage1DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> IO ())
-ptr_glTextureStorage1DEXT = unsafePerformIO $ getCommand "glTextureStorage1DEXT"
-
--- glTextureStorage2D ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2D.xhtml OpenGL 4.x>.
-glTextureStorage2D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glTextureStorage2D v1 v2 v3 v4 v5 = liftIO $ dyn586 ptr_glTextureStorage2D v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTextureStorage2D #-}
-ptr_glTextureStorage2D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glTextureStorage2D = unsafePerformIO $ getCommand "glTextureStorage2D"
-
--- glTextureStorage2DEXT -------------------------------------------------------
-
-glTextureStorage2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glTextureStorage2DEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn756 ptr_glTextureStorage2DEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTextureStorage2DEXT #-}
-ptr_glTextureStorage2DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> IO ())
-ptr_glTextureStorage2DEXT = unsafePerformIO $ getCommand "glTextureStorage2DEXT"
-
--- glTextureStorage2DMultisample -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage2DMultisample.xhtml OpenGL 4.x>.
-glTextureStorage2DMultisample
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedsamplelocations@.
-  -> m ()
-glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6 = liftIO $ dyn757 ptr_glTextureStorage2DMultisample v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTextureStorage2DMultisample #-}
-ptr_glTextureStorage2DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureStorage2DMultisample = unsafePerformIO $ getCommand "glTextureStorage2DMultisample"
-
--- glTextureStorage2DMultisampleEXT --------------------------------------------
-
-glTextureStorage2DMultisampleEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@ of type @TextureInternalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn758 ptr_glTextureStorage2DMultisampleEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureStorage2DMultisampleEXT #-}
-ptr_glTextureStorage2DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureStorage2DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorage2DMultisampleEXT"
-
--- glTextureStorage3D ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3D.xhtml OpenGL 4.x>.
-glTextureStorage3D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> m ()
-glTextureStorage3D v1 v2 v3 v4 v5 v6 = liftIO $ dyn759 ptr_glTextureStorage3D v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glTextureStorage3D #-}
-ptr_glTextureStorage3D :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glTextureStorage3D = unsafePerformIO $ getCommand "glTextureStorage3D"
-
--- glTextureStorage3DEXT -------------------------------------------------------
-
-glTextureStorage3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @levels@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> m ()
-glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn760 ptr_glTextureStorage3DEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureStorage3DEXT #-}
-ptr_glTextureStorage3DEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> IO ())
-ptr_glTextureStorage3DEXT = unsafePerformIO $ getCommand "glTextureStorage3DEXT"
-
--- glTextureStorage3DMultisample -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexStorage3DMultisample.xhtml OpenGL 4.x>.
-glTextureStorage3DMultisample
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedsamplelocations@.
-  -> m ()
-glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn761 ptr_glTextureStorage3DMultisample v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureStorage3DMultisample #-}
-ptr_glTextureStorage3DMultisample :: FunPtr (GLuint -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureStorage3DMultisample = unsafePerformIO $ getCommand "glTextureStorage3DMultisample"
-
--- glTextureStorage3DMultisampleEXT --------------------------------------------
-
-glTextureStorage3DMultisampleEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @samples@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLboolean -- ^ @fixedsamplelocations@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> m ()
-glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn762 ptr_glTextureStorage3DMultisampleEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureStorage3DMultisampleEXT #-}
-ptr_glTextureStorage3DMultisampleEXT :: FunPtr (GLuint -> GLenum -> GLsizei -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLboolean -> IO ())
-ptr_glTextureStorage3DMultisampleEXT = unsafePerformIO $ getCommand "glTextureStorage3DMultisampleEXT"
-
--- glTextureStorageSparseAMD ---------------------------------------------------
-
-glTextureStorageSparseAMD
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLenum -- ^ @internalFormat@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLsizei -- ^ @layers@.
-  -> GLbitfield -- ^ @flags@.
-  -> m ()
-glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn763 ptr_glTextureStorageSparseAMD v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureStorageSparseAMD #-}
-ptr_glTextureStorageSparseAMD :: FunPtr (GLuint -> GLenum -> GLenum -> GLsizei -> GLsizei -> GLsizei -> GLsizei -> GLbitfield -> IO ())
-ptr_glTextureStorageSparseAMD = unsafePerformIO $ getCommand "glTextureStorageSparseAMD"
-
--- glTextureSubImage1D ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage1D.xhtml OpenGL 4.x>.
-glTextureSubImage1D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn764 ptr_glTextureSubImage1D v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glTextureSubImage1D #-}
-ptr_glTextureSubImage1D :: FunPtr (GLuint -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureSubImage1D = unsafePerformIO $ getCommand "glTextureSubImage1D"
-
--- glTextureSubImage1DEXT ------------------------------------------------------
-
-glTextureSubImage1DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width)@ elements of type @a@.
-  -> m ()
-glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn765 ptr_glTextureSubImage1DEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureSubImage1DEXT #-}
-ptr_glTextureSubImage1DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureSubImage1DEXT = unsafePerformIO $ getCommand "glTextureSubImage1DEXT"
-
--- glTextureSubImage2D ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage2D.xhtml OpenGL 4.x>.
-glTextureSubImage2D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9 = liftIO $ dyn766 ptr_glTextureSubImage2D v1 v2 v3 v4 v5 v6 v7 v8 v9
-
-{-# NOINLINE ptr_glTextureSubImage2D #-}
-ptr_glTextureSubImage2D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureSubImage2D = unsafePerformIO $ getCommand "glTextureSubImage2D"
-
--- glTextureSubImage2DEXT ------------------------------------------------------
-
-glTextureSubImage2DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height)@ elements of type @a@.
-  -> m ()
-glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 = liftIO $ dyn767 ptr_glTextureSubImage2DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10
-
-{-# NOINLINE ptr_glTextureSubImage2DEXT #-}
-ptr_glTextureSubImage2DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureSubImage2DEXT = unsafePerformIO $ getCommand "glTextureSubImage2DEXT"
-
--- glTextureSubImage3D ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTexSubImage3D.xhtml OpenGL 4.x>.
-glTextureSubImage3D
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> GLint -- ^ @xoffset@.
-  -> GLint -- ^ @yoffset@.
-  -> GLint -- ^ @zoffset@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@.
-  -> GLenum -- ^ @type@.
-  -> Ptr a -- ^ @pixels@.
-  -> m ()
-glTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 = liftIO $ dyn90 ptr_glTextureSubImage3D v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11
-
-{-# NOINLINE ptr_glTextureSubImage3D #-}
-ptr_glTextureSubImage3D :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureSubImage3D = unsafePerformIO $ getCommand "glTextureSubImage3D"
-
--- glTextureSubImage3DEXT ------------------------------------------------------
-
-glTextureSubImage3DEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@ of type @Texture@.
-  -> GLenum -- ^ @target@ of type [TextureTarget](Graphics-Rendering-OpenGL-Raw-Groups.html#TextureTarget).
-  -> GLint -- ^ @level@ of type @CheckedInt32@.
-  -> GLint -- ^ @xoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @yoffset@ of type @CheckedInt32@.
-  -> GLint -- ^ @zoffset@ of type @CheckedInt32@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> GLsizei -- ^ @depth@.
-  -> GLenum -- ^ @format@ of type [PixelFormat](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelFormat).
-  -> GLenum -- ^ @type@ of type [PixelType](Graphics-Rendering-OpenGL-Raw-Groups.html#PixelType).
-  -> Ptr a -- ^ @pixels@ pointing to @COMPSIZE(format,type,width,height,depth)@ elements of type @a@.
-  -> m ()
-glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 = liftIO $ dyn768 ptr_glTextureSubImage3DEXT v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12
-
-{-# NOINLINE ptr_glTextureSubImage3DEXT #-}
-ptr_glTextureSubImage3DEXT :: FunPtr (GLuint -> GLenum -> GLint -> GLint -> GLint -> GLint -> GLsizei -> GLsizei -> GLsizei -> GLenum -> GLenum -> Ptr a -> IO ())
-ptr_glTextureSubImage3DEXT = unsafePerformIO $ getCommand "glTextureSubImage3DEXT"
-
--- glTextureView ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTextureView.xhtml OpenGL 4.x>.
-glTextureView
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLuint -- ^ @origtexture@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @minlevel@.
-  -> GLuint -- ^ @numlevels@.
-  -> GLuint -- ^ @minlayer@.
-  -> GLuint -- ^ @numlayers@.
-  -> m ()
-glTextureView v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn769 ptr_glTextureView v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureView #-}
-ptr_glTextureView :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glTextureView = unsafePerformIO $ getCommand "glTextureView"
-
--- glTextureViewEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glTextureView'.
-glTextureViewEXT
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLuint -- ^ @origtexture@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @minlevel@.
-  -> GLuint -- ^ @numlevels@.
-  -> GLuint -- ^ @minlayer@.
-  -> GLuint -- ^ @numlayers@.
-  -> m ()
-glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn769 ptr_glTextureViewEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureViewEXT #-}
-ptr_glTextureViewEXT :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glTextureViewEXT = unsafePerformIO $ getCommand "glTextureViewEXT"
-
--- glTextureViewOES ------------------------------------------------------------
-
--- | This command is an alias for 'glTextureView'.
-glTextureViewOES
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLenum -- ^ @target@.
-  -> GLuint -- ^ @origtexture@.
-  -> GLenum -- ^ @internalformat@.
-  -> GLuint -- ^ @minlevel@.
-  -> GLuint -- ^ @numlevels@.
-  -> GLuint -- ^ @minlayer@.
-  -> GLuint -- ^ @numlayers@.
-  -> m ()
-glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn769 ptr_glTextureViewOES v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glTextureViewOES #-}
-ptr_glTextureViewOES :: FunPtr (GLuint -> GLenum -> GLuint -> GLenum -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glTextureViewOES = unsafePerformIO $ getCommand "glTextureViewOES"
-
--- glTrackMatrixNV -------------------------------------------------------------
-
-glTrackMatrixNV
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @VertexAttribEnumNV@.
-  -> GLuint -- ^ @address@.
-  -> GLenum -- ^ @matrix@ of type @VertexAttribEnumNV@.
-  -> GLenum -- ^ @transform@ of type @VertexAttribEnumNV@.
-  -> m ()
-glTrackMatrixNV v1 v2 v3 v4 = liftIO $ dyn770 ptr_glTrackMatrixNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTrackMatrixNV #-}
-ptr_glTrackMatrixNV :: FunPtr (GLenum -> GLuint -> GLenum -> GLenum -> IO ())
-ptr_glTrackMatrixNV = unsafePerformIO $ getCommand "glTrackMatrixNV"
-
--- glTransformFeedbackAttribsNV ------------------------------------------------
-
-glTransformFeedbackAttribsNV
-  :: MonadIO m
-  => GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @attribs@ pointing to @COMPSIZE(count)@ elements of type @GLint@.
-  -> GLenum -- ^ @bufferMode@.
-  -> m ()
-glTransformFeedbackAttribsNV v1 v2 v3 = liftIO $ dyn771 ptr_glTransformFeedbackAttribsNV v1 v2 v3
-
-{-# NOINLINE ptr_glTransformFeedbackAttribsNV #-}
-ptr_glTransformFeedbackAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLenum -> IO ())
-ptr_glTransformFeedbackAttribsNV = unsafePerformIO $ getCommand "glTransformFeedbackAttribsNV"
-
--- glTransformFeedbackBufferBase -----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackBufferBase.xhtml OpenGL 4.x>.
-glTransformFeedbackBufferBase
-  :: MonadIO m
-  => GLuint -- ^ @xfb@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glTransformFeedbackBufferBase v1 v2 v3 = liftIO $ dyn101 ptr_glTransformFeedbackBufferBase v1 v2 v3
-
-{-# NOINLINE ptr_glTransformFeedbackBufferBase #-}
-ptr_glTransformFeedbackBufferBase :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glTransformFeedbackBufferBase = unsafePerformIO $ getCommand "glTransformFeedbackBufferBase"
-
--- glTransformFeedbackBufferRange ----------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackBufferRange.xhtml OpenGL 4.x>.
-glTransformFeedbackBufferRange
-  :: MonadIO m
-  => GLuint -- ^ @xfb@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizeiptr -- ^ @size@ of type @BufferSize@.
-  -> m ()
-glTransformFeedbackBufferRange v1 v2 v3 v4 v5 = liftIO $ dyn772 ptr_glTransformFeedbackBufferRange v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTransformFeedbackBufferRange #-}
-ptr_glTransformFeedbackBufferRange :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizeiptr -> IO ())
-ptr_glTransformFeedbackBufferRange = unsafePerformIO $ getCommand "glTransformFeedbackBufferRange"
-
--- glTransformFeedbackStreamAttribsNV ------------------------------------------
-
-glTransformFeedbackStreamAttribsNV
-  :: MonadIO m
-  => GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @attribs@ pointing to @count@ elements of type @GLint@.
-  -> GLsizei -- ^ @nbuffers@.
-  -> Ptr GLint -- ^ @bufstreams@ pointing to @nbuffers@ elements of type @GLint@.
-  -> GLenum -- ^ @bufferMode@.
-  -> m ()
-glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5 = liftIO $ dyn773 ptr_glTransformFeedbackStreamAttribsNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glTransformFeedbackStreamAttribsNV #-}
-ptr_glTransformFeedbackStreamAttribsNV :: FunPtr (GLsizei -> Ptr GLint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
-ptr_glTransformFeedbackStreamAttribsNV = unsafePerformIO $ getCommand "glTransformFeedbackStreamAttribsNV"
-
--- glTransformFeedbackVaryings -------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glTransformFeedbackVaryings.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glTransformFeedbackVaryings.xhtml OpenGL 4.x>.
-glTransformFeedbackVaryings
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
-  -> GLenum -- ^ @bufferMode@.
-  -> m ()
-glTransformFeedbackVaryings v1 v2 v3 v4 = liftIO $ dyn774 ptr_glTransformFeedbackVaryings v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTransformFeedbackVaryings #-}
-ptr_glTransformFeedbackVaryings :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-ptr_glTransformFeedbackVaryings = unsafePerformIO $ getCommand "glTransformFeedbackVaryings"
-
--- glTransformFeedbackVaryingsEXT ----------------------------------------------
-
--- | This command is an alias for 'glTransformFeedbackVaryings'.
-glTransformFeedbackVaryingsEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr (Ptr GLchar) -- ^ @varyings@ pointing to @count@ elements of type @Ptr GLchar@.
-  -> GLenum -- ^ @bufferMode@.
-  -> m ()
-glTransformFeedbackVaryingsEXT v1 v2 v3 v4 = liftIO $ dyn774 ptr_glTransformFeedbackVaryingsEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTransformFeedbackVaryingsEXT #-}
-ptr_glTransformFeedbackVaryingsEXT :: FunPtr (GLuint -> GLsizei -> Ptr (Ptr GLchar) -> GLenum -> IO ())
-ptr_glTransformFeedbackVaryingsEXT = unsafePerformIO $ getCommand "glTransformFeedbackVaryingsEXT"
-
--- glTransformFeedbackVaryingsNV -----------------------------------------------
-
-glTransformFeedbackVaryingsNV
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @locations@ pointing to @count@ elements of type @GLint@.
-  -> GLenum -- ^ @bufferMode@.
-  -> m ()
-glTransformFeedbackVaryingsNV v1 v2 v3 v4 = liftIO $ dyn775 ptr_glTransformFeedbackVaryingsNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTransformFeedbackVaryingsNV #-}
-ptr_glTransformFeedbackVaryingsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLint -> GLenum -> IO ())
-ptr_glTransformFeedbackVaryingsNV = unsafePerformIO $ getCommand "glTransformFeedbackVaryingsNV"
-
--- glTransformPathNV -----------------------------------------------------------
-
-glTransformPathNV
-  :: MonadIO m
-  => GLuint -- ^ @resultPath@ of type @Path@.
-  -> GLuint -- ^ @srcPath@ of type @Path@.
-  -> GLenum -- ^ @transformType@ of type @PathTransformType@.
-  -> Ptr GLfloat -- ^ @transformValues@ pointing to @COMPSIZE(transformType)@ elements of type @GLfloat@.
-  -> m ()
-glTransformPathNV v1 v2 v3 v4 = liftIO $ dyn441 ptr_glTransformPathNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glTransformPathNV #-}
-ptr_glTransformPathNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glTransformPathNV = unsafePerformIO $ getCommand "glTransformPathNV"
-
--- glTranslated ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTranslate.xml OpenGL 2.x>.
-glTranslated
-  :: MonadIO m
-  => GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glTranslated v1 v2 v3 = liftIO $ dyn38 ptr_glTranslated v1 v2 v3
-
-{-# NOINLINE ptr_glTranslated #-}
-ptr_glTranslated :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glTranslated = unsafePerformIO $ getCommand "glTranslated"
-
--- glTranslatef ----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glTranslate.xml OpenGL 2.x>.
-glTranslatef
-  :: MonadIO m
-  => GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glTranslatef v1 v2 v3 = liftIO $ dyn40 ptr_glTranslatef v1 v2 v3
-
-{-# NOINLINE ptr_glTranslatef #-}
-ptr_glTranslatef :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glTranslatef = unsafePerformIO $ getCommand "glTranslatef"
-
--- glTranslatex ----------------------------------------------------------------
-
-glTranslatex
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glTranslatex v1 v2 v3 = liftIO $ dyn105 ptr_glTranslatex v1 v2 v3
-
-{-# NOINLINE ptr_glTranslatex #-}
-ptr_glTranslatex :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glTranslatex = unsafePerformIO $ getCommand "glTranslatex"
-
--- glTranslatexOES -------------------------------------------------------------
-
-glTranslatexOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glTranslatexOES v1 v2 v3 = liftIO $ dyn105 ptr_glTranslatexOES v1 v2 v3
-
-{-# NOINLINE ptr_glTranslatexOES #-}
-ptr_glTranslatexOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glTranslatexOES = unsafePerformIO $ getCommand "glTranslatexOES"
-
--- glUniform1d -----------------------------------------------------------------
-
-glUniform1d
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glUniform1d v1 v2 = liftIO $ dyn776 ptr_glUniform1d v1 v2
-
-{-# NOINLINE ptr_glUniform1d #-}
-ptr_glUniform1d :: FunPtr (GLint -> GLdouble -> IO ())
-ptr_glUniform1d = unsafePerformIO $ getCommand "glUniform1d"
-
--- glUniform1dv ----------------------------------------------------------------
-
-glUniform1dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*1@ elements of type @GLdouble@.
-  -> m ()
-glUniform1dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform1dv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1dv #-}
-ptr_glUniform1dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glUniform1dv = unsafePerformIO $ getCommand "glUniform1dv"
-
--- glUniform1f -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform1f
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> m ()
-glUniform1f v1 v2 = liftIO $ dyn778 ptr_glUniform1f v1 v2
-
-{-# NOINLINE ptr_glUniform1f #-}
-ptr_glUniform1f :: FunPtr (GLint -> GLfloat -> IO ())
-ptr_glUniform1f = unsafePerformIO $ getCommand "glUniform1f"
-
--- glUniform1fARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform1f'.
-glUniform1fARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> m ()
-glUniform1fARB v1 v2 = liftIO $ dyn778 ptr_glUniform1fARB v1 v2
-
-{-# NOINLINE ptr_glUniform1fARB #-}
-ptr_glUniform1fARB :: FunPtr (GLint -> GLfloat -> IO ())
-ptr_glUniform1fARB = unsafePerformIO $ getCommand "glUniform1fARB"
-
--- glUniform1fv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform1fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
-  -> m ()
-glUniform1fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform1fv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1fv #-}
-ptr_glUniform1fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform1fv = unsafePerformIO $ getCommand "glUniform1fv"
-
--- glUniform1fvARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform1fv'.
-glUniform1fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*1@ elements of type @GLfloat@.
-  -> m ()
-glUniform1fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform1fvARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1fvARB #-}
-ptr_glUniform1fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform1fvARB = unsafePerformIO $ getCommand "glUniform1fvARB"
-
--- glUniform1i -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform1i
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> m ()
-glUniform1i v1 v2 = liftIO $ dyn265 ptr_glUniform1i v1 v2
-
-{-# NOINLINE ptr_glUniform1i #-}
-ptr_glUniform1i :: FunPtr (GLint -> GLint -> IO ())
-ptr_glUniform1i = unsafePerformIO $ getCommand "glUniform1i"
-
--- glUniform1i64ARB ------------------------------------------------------------
-
-glUniform1i64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> m ()
-glUniform1i64ARB v1 v2 = liftIO $ dyn780 ptr_glUniform1i64ARB v1 v2
-
-{-# NOINLINE ptr_glUniform1i64ARB #-}
-ptr_glUniform1i64ARB :: FunPtr (GLint -> GLint64 -> IO ())
-ptr_glUniform1i64ARB = unsafePerformIO $ getCommand "glUniform1i64ARB"
-
--- glUniform1i64NV -------------------------------------------------------------
-
-glUniform1i64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> m ()
-glUniform1i64NV v1 v2 = liftIO $ dyn781 ptr_glUniform1i64NV v1 v2
-
-{-# NOINLINE ptr_glUniform1i64NV #-}
-ptr_glUniform1i64NV :: FunPtr (GLint -> GLint64EXT -> IO ())
-ptr_glUniform1i64NV = unsafePerformIO $ getCommand "glUniform1i64NV"
-
--- glUniform1i64vARB -----------------------------------------------------------
-
-glUniform1i64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*1@ elements of type @GLint64@.
-  -> m ()
-glUniform1i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform1i64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1i64vARB #-}
-ptr_glUniform1i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glUniform1i64vARB = unsafePerformIO $ getCommand "glUniform1i64vARB"
-
--- glUniform1i64vNV ------------------------------------------------------------
-
-glUniform1i64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLint64EXT@.
-  -> m ()
-glUniform1i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform1i64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1i64vNV #-}
-ptr_glUniform1i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glUniform1i64vNV = unsafePerformIO $ getCommand "glUniform1i64vNV"
-
--- glUniform1iARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform1i'.
-glUniform1iARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> m ()
-glUniform1iARB v1 v2 = liftIO $ dyn265 ptr_glUniform1iARB v1 v2
-
-{-# NOINLINE ptr_glUniform1iARB #-}
-ptr_glUniform1iARB :: FunPtr (GLint -> GLint -> IO ())
-ptr_glUniform1iARB = unsafePerformIO $ getCommand "glUniform1iARB"
-
--- glUniform1iv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform1iv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
-  -> m ()
-glUniform1iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform1iv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1iv #-}
-ptr_glUniform1iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform1iv = unsafePerformIO $ getCommand "glUniform1iv"
-
--- glUniform1ivARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform1iv'.
-glUniform1ivARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*1@ elements of type @GLint@.
-  -> m ()
-glUniform1ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform1ivARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1ivARB #-}
-ptr_glUniform1ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform1ivARB = unsafePerformIO $ getCommand "glUniform1ivARB"
-
--- glUniform1ui ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform1ui
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> m ()
-glUniform1ui v1 v2 = liftIO $ dyn785 ptr_glUniform1ui v1 v2
-
-{-# NOINLINE ptr_glUniform1ui #-}
-ptr_glUniform1ui :: FunPtr (GLint -> GLuint -> IO ())
-ptr_glUniform1ui = unsafePerformIO $ getCommand "glUniform1ui"
-
--- glUniform1ui64ARB -----------------------------------------------------------
-
-glUniform1ui64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> m ()
-glUniform1ui64ARB v1 v2 = liftIO $ dyn786 ptr_glUniform1ui64ARB v1 v2
-
-{-# NOINLINE ptr_glUniform1ui64ARB #-}
-ptr_glUniform1ui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
-ptr_glUniform1ui64ARB = unsafePerformIO $ getCommand "glUniform1ui64ARB"
-
--- glUniform1ui64NV ------------------------------------------------------------
-
-glUniform1ui64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> m ()
-glUniform1ui64NV v1 v2 = liftIO $ dyn787 ptr_glUniform1ui64NV v1 v2
-
-{-# NOINLINE ptr_glUniform1ui64NV #-}
-ptr_glUniform1ui64NV :: FunPtr (GLint -> GLuint64EXT -> IO ())
-ptr_glUniform1ui64NV = unsafePerformIO $ getCommand "glUniform1ui64NV"
-
--- glUniform1ui64vARB ----------------------------------------------------------
-
-glUniform1ui64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count*1@ elements of type @GLuint64@.
-  -> m ()
-glUniform1ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform1ui64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1ui64vARB #-}
-ptr_glUniform1ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glUniform1ui64vARB = unsafePerformIO $ getCommand "glUniform1ui64vARB"
-
--- glUniform1ui64vNV -----------------------------------------------------------
-
-glUniform1ui64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLuint64EXT@.
-  -> m ()
-glUniform1ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform1ui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1ui64vNV #-}
-ptr_glUniform1ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glUniform1ui64vNV = unsafePerformIO $ getCommand "glUniform1ui64vNV"
-
--- glUniform1uiEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform1ui'.
-glUniform1uiEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> m ()
-glUniform1uiEXT v1 v2 = liftIO $ dyn785 ptr_glUniform1uiEXT v1 v2
-
-{-# NOINLINE ptr_glUniform1uiEXT #-}
-ptr_glUniform1uiEXT :: FunPtr (GLint -> GLuint -> IO ())
-ptr_glUniform1uiEXT = unsafePerformIO $ getCommand "glUniform1uiEXT"
-
--- glUniform1uiv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform1uiv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
-  -> m ()
-glUniform1uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform1uiv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1uiv #-}
-ptr_glUniform1uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform1uiv = unsafePerformIO $ getCommand "glUniform1uiv"
-
--- glUniform1uivEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glUniform1uiv'.
-glUniform1uivEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*1@ elements of type @GLuint@.
-  -> m ()
-glUniform1uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform1uivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glUniform1uivEXT #-}
-ptr_glUniform1uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform1uivEXT = unsafePerformIO $ getCommand "glUniform1uivEXT"
-
--- glUniform2d -----------------------------------------------------------------
-
-glUniform2d
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glUniform2d v1 v2 v3 = liftIO $ dyn498 ptr_glUniform2d v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2d #-}
-ptr_glUniform2d :: FunPtr (GLint -> GLdouble -> GLdouble -> IO ())
-ptr_glUniform2d = unsafePerformIO $ getCommand "glUniform2d"
-
--- glUniform2dv ----------------------------------------------------------------
-
-glUniform2dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*2@ elements of type @GLdouble@.
-  -> m ()
-glUniform2dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform2dv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2dv #-}
-ptr_glUniform2dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glUniform2dv = unsafePerformIO $ getCommand "glUniform2dv"
-
--- glUniform2f -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform2f
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> m ()
-glUniform2f v1 v2 v3 = liftIO $ dyn499 ptr_glUniform2f v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2f #-}
-ptr_glUniform2f :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
-ptr_glUniform2f = unsafePerformIO $ getCommand "glUniform2f"
-
--- glUniform2fARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform2f'.
-glUniform2fARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> m ()
-glUniform2fARB v1 v2 v3 = liftIO $ dyn499 ptr_glUniform2fARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2fARB #-}
-ptr_glUniform2fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> IO ())
-ptr_glUniform2fARB = unsafePerformIO $ getCommand "glUniform2fARB"
-
--- glUniform2fv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform2fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
-  -> m ()
-glUniform2fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform2fv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2fv #-}
-ptr_glUniform2fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform2fv = unsafePerformIO $ getCommand "glUniform2fv"
-
--- glUniform2fvARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform2fv'.
-glUniform2fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*2@ elements of type @GLfloat@.
-  -> m ()
-glUniform2fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform2fvARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2fvARB #-}
-ptr_glUniform2fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform2fvARB = unsafePerformIO $ getCommand "glUniform2fvARB"
-
--- glUniform2i -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform2i
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> m ()
-glUniform2i v1 v2 v3 = liftIO $ dyn42 ptr_glUniform2i v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2i #-}
-ptr_glUniform2i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glUniform2i = unsafePerformIO $ getCommand "glUniform2i"
-
--- glUniform2i64ARB ------------------------------------------------------------
-
-glUniform2i64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> GLint64 -- ^ @y@.
-  -> m ()
-glUniform2i64ARB v1 v2 v3 = liftIO $ dyn791 ptr_glUniform2i64ARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2i64ARB #-}
-ptr_glUniform2i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> IO ())
-ptr_glUniform2i64ARB = unsafePerformIO $ getCommand "glUniform2i64ARB"
-
--- glUniform2i64NV -------------------------------------------------------------
-
-glUniform2i64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> m ()
-glUniform2i64NV v1 v2 v3 = liftIO $ dyn792 ptr_glUniform2i64NV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2i64NV #-}
-ptr_glUniform2i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glUniform2i64NV = unsafePerformIO $ getCommand "glUniform2i64NV"
-
--- glUniform2i64vARB -----------------------------------------------------------
-
-glUniform2i64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*2@ elements of type @GLint64@.
-  -> m ()
-glUniform2i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform2i64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2i64vARB #-}
-ptr_glUniform2i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glUniform2i64vARB = unsafePerformIO $ getCommand "glUniform2i64vARB"
-
--- glUniform2i64vNV ------------------------------------------------------------
-
-glUniform2i64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLint64EXT@.
-  -> m ()
-glUniform2i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform2i64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2i64vNV #-}
-ptr_glUniform2i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glUniform2i64vNV = unsafePerformIO $ getCommand "glUniform2i64vNV"
-
--- glUniform2iARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform2i'.
-glUniform2iARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> m ()
-glUniform2iARB v1 v2 v3 = liftIO $ dyn42 ptr_glUniform2iARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2iARB #-}
-ptr_glUniform2iARB :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glUniform2iARB = unsafePerformIO $ getCommand "glUniform2iARB"
-
--- glUniform2iv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform2iv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
-  -> m ()
-glUniform2iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform2iv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2iv #-}
-ptr_glUniform2iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform2iv = unsafePerformIO $ getCommand "glUniform2iv"
-
--- glUniform2ivARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform2iv'.
-glUniform2ivARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*2@ elements of type @GLint@.
-  -> m ()
-glUniform2ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform2ivARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2ivARB #-}
-ptr_glUniform2ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform2ivARB = unsafePerformIO $ getCommand "glUniform2ivARB"
-
--- glUniform2ui ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform2ui
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> m ()
-glUniform2ui v1 v2 v3 = liftIO $ dyn793 ptr_glUniform2ui v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2ui #-}
-ptr_glUniform2ui :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
-ptr_glUniform2ui = unsafePerformIO $ getCommand "glUniform2ui"
-
--- glUniform2ui64ARB -----------------------------------------------------------
-
-glUniform2ui64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> GLuint64 -- ^ @y@.
-  -> m ()
-glUniform2ui64ARB v1 v2 v3 = liftIO $ dyn794 ptr_glUniform2ui64ARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2ui64ARB #-}
-ptr_glUniform2ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> IO ())
-ptr_glUniform2ui64ARB = unsafePerformIO $ getCommand "glUniform2ui64ARB"
-
--- glUniform2ui64NV ------------------------------------------------------------
-
-glUniform2ui64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> m ()
-glUniform2ui64NV v1 v2 v3 = liftIO $ dyn795 ptr_glUniform2ui64NV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2ui64NV #-}
-ptr_glUniform2ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glUniform2ui64NV = unsafePerformIO $ getCommand "glUniform2ui64NV"
-
--- glUniform2ui64vARB ----------------------------------------------------------
-
-glUniform2ui64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count*2@ elements of type @GLuint64@.
-  -> m ()
-glUniform2ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform2ui64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2ui64vARB #-}
-ptr_glUniform2ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glUniform2ui64vARB = unsafePerformIO $ getCommand "glUniform2ui64vARB"
-
--- glUniform2ui64vNV -----------------------------------------------------------
-
-glUniform2ui64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*2@ elements of type @GLuint64EXT@.
-  -> m ()
-glUniform2ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform2ui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2ui64vNV #-}
-ptr_glUniform2ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glUniform2ui64vNV = unsafePerformIO $ getCommand "glUniform2ui64vNV"
-
--- glUniform2uiEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform2ui'.
-glUniform2uiEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> m ()
-glUniform2uiEXT v1 v2 v3 = liftIO $ dyn793 ptr_glUniform2uiEXT v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2uiEXT #-}
-ptr_glUniform2uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> IO ())
-ptr_glUniform2uiEXT = unsafePerformIO $ getCommand "glUniform2uiEXT"
-
--- glUniform2uiv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform2uiv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
-  -> m ()
-glUniform2uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform2uiv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2uiv #-}
-ptr_glUniform2uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform2uiv = unsafePerformIO $ getCommand "glUniform2uiv"
-
--- glUniform2uivEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glUniform2uiv'.
-glUniform2uivEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*2@ elements of type @GLuint@.
-  -> m ()
-glUniform2uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform2uivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glUniform2uivEXT #-}
-ptr_glUniform2uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform2uivEXT = unsafePerformIO $ getCommand "glUniform2uivEXT"
-
--- glUniform3d -----------------------------------------------------------------
-
-glUniform3d
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glUniform3d v1 v2 v3 v4 = liftIO $ dyn796 ptr_glUniform3d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3d #-}
-ptr_glUniform3d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glUniform3d = unsafePerformIO $ getCommand "glUniform3d"
-
--- glUniform3dv ----------------------------------------------------------------
-
-glUniform3dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*3@ elements of type @GLdouble@.
-  -> m ()
-glUniform3dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform3dv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3dv #-}
-ptr_glUniform3dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glUniform3dv = unsafePerformIO $ getCommand "glUniform3dv"
-
--- glUniform3f -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform3f
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> m ()
-glUniform3f v1 v2 v3 v4 = liftIO $ dyn797 ptr_glUniform3f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3f #-}
-ptr_glUniform3f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glUniform3f = unsafePerformIO $ getCommand "glUniform3f"
-
--- glUniform3fARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform3f'.
-glUniform3fARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> m ()
-glUniform3fARB v1 v2 v3 v4 = liftIO $ dyn797 ptr_glUniform3fARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3fARB #-}
-ptr_glUniform3fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glUniform3fARB = unsafePerformIO $ getCommand "glUniform3fARB"
-
--- glUniform3fv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform3fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
-  -> m ()
-glUniform3fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform3fv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3fv #-}
-ptr_glUniform3fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform3fv = unsafePerformIO $ getCommand "glUniform3fv"
-
--- glUniform3fvARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform3fv'.
-glUniform3fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*3@ elements of type @GLfloat@.
-  -> m ()
-glUniform3fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform3fvARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3fvARB #-}
-ptr_glUniform3fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform3fvARB = unsafePerformIO $ getCommand "glUniform3fvARB"
-
--- glUniform3i -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform3i
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> m ()
-glUniform3i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glUniform3i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3i #-}
-ptr_glUniform3i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glUniform3i = unsafePerformIO $ getCommand "glUniform3i"
-
--- glUniform3i64ARB ------------------------------------------------------------
-
-glUniform3i64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> GLint64 -- ^ @y@.
-  -> GLint64 -- ^ @z@.
-  -> m ()
-glUniform3i64ARB v1 v2 v3 v4 = liftIO $ dyn798 ptr_glUniform3i64ARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3i64ARB #-}
-ptr_glUniform3i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> IO ())
-ptr_glUniform3i64ARB = unsafePerformIO $ getCommand "glUniform3i64ARB"
-
--- glUniform3i64NV -------------------------------------------------------------
-
-glUniform3i64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> GLint64EXT -- ^ @z@.
-  -> m ()
-glUniform3i64NV v1 v2 v3 v4 = liftIO $ dyn799 ptr_glUniform3i64NV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3i64NV #-}
-ptr_glUniform3i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glUniform3i64NV = unsafePerformIO $ getCommand "glUniform3i64NV"
-
--- glUniform3i64vARB -----------------------------------------------------------
-
-glUniform3i64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*3@ elements of type @GLint64@.
-  -> m ()
-glUniform3i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform3i64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3i64vARB #-}
-ptr_glUniform3i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glUniform3i64vARB = unsafePerformIO $ getCommand "glUniform3i64vARB"
-
--- glUniform3i64vNV ------------------------------------------------------------
-
-glUniform3i64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLint64EXT@.
-  -> m ()
-glUniform3i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform3i64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3i64vNV #-}
-ptr_glUniform3i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glUniform3i64vNV = unsafePerformIO $ getCommand "glUniform3i64vNV"
-
--- glUniform3iARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform3i'.
-glUniform3iARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> m ()
-glUniform3iARB v1 v2 v3 v4 = liftIO $ dyn76 ptr_glUniform3iARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3iARB #-}
-ptr_glUniform3iARB :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glUniform3iARB = unsafePerformIO $ getCommand "glUniform3iARB"
-
--- glUniform3iv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform3iv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
-  -> m ()
-glUniform3iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform3iv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3iv #-}
-ptr_glUniform3iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform3iv = unsafePerformIO $ getCommand "glUniform3iv"
-
--- glUniform3ivARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform3iv'.
-glUniform3ivARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*3@ elements of type @GLint@.
-  -> m ()
-glUniform3ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform3ivARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3ivARB #-}
-ptr_glUniform3ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform3ivARB = unsafePerformIO $ getCommand "glUniform3ivARB"
-
--- glUniform3ui ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform3ui
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> m ()
-glUniform3ui v1 v2 v3 v4 = liftIO $ dyn800 ptr_glUniform3ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3ui #-}
-ptr_glUniform3ui :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glUniform3ui = unsafePerformIO $ getCommand "glUniform3ui"
-
--- glUniform3ui64ARB -----------------------------------------------------------
-
-glUniform3ui64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> GLuint64 -- ^ @y@.
-  -> GLuint64 -- ^ @z@.
-  -> m ()
-glUniform3ui64ARB v1 v2 v3 v4 = liftIO $ dyn801 ptr_glUniform3ui64ARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3ui64ARB #-}
-ptr_glUniform3ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-ptr_glUniform3ui64ARB = unsafePerformIO $ getCommand "glUniform3ui64ARB"
-
--- glUniform3ui64NV ------------------------------------------------------------
-
-glUniform3ui64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> GLuint64EXT -- ^ @z@.
-  -> m ()
-glUniform3ui64NV v1 v2 v3 v4 = liftIO $ dyn802 ptr_glUniform3ui64NV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3ui64NV #-}
-ptr_glUniform3ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glUniform3ui64NV = unsafePerformIO $ getCommand "glUniform3ui64NV"
-
--- glUniform3ui64vARB ----------------------------------------------------------
-
-glUniform3ui64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count*3@ elements of type @GLuint64@.
-  -> m ()
-glUniform3ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform3ui64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3ui64vARB #-}
-ptr_glUniform3ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glUniform3ui64vARB = unsafePerformIO $ getCommand "glUniform3ui64vARB"
-
--- glUniform3ui64vNV -----------------------------------------------------------
-
-glUniform3ui64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*3@ elements of type @GLuint64EXT@.
-  -> m ()
-glUniform3ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform3ui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3ui64vNV #-}
-ptr_glUniform3ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glUniform3ui64vNV = unsafePerformIO $ getCommand "glUniform3ui64vNV"
-
--- glUniform3uiEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform3ui'.
-glUniform3uiEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> m ()
-glUniform3uiEXT v1 v2 v3 v4 = liftIO $ dyn800 ptr_glUniform3uiEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniform3uiEXT #-}
-ptr_glUniform3uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glUniform3uiEXT = unsafePerformIO $ getCommand "glUniform3uiEXT"
-
--- glUniform3uiv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform3uiv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
-  -> m ()
-glUniform3uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform3uiv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3uiv #-}
-ptr_glUniform3uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform3uiv = unsafePerformIO $ getCommand "glUniform3uiv"
-
--- glUniform3uivEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glUniform3uiv'.
-glUniform3uivEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*3@ elements of type @GLuint@.
-  -> m ()
-glUniform3uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform3uivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glUniform3uivEXT #-}
-ptr_glUniform3uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform3uivEXT = unsafePerformIO $ getCommand "glUniform3uivEXT"
-
--- glUniform4d -----------------------------------------------------------------
-
-glUniform4d
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glUniform4d v1 v2 v3 v4 v5 = liftIO $ dyn803 ptr_glUniform4d v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4d #-}
-ptr_glUniform4d :: FunPtr (GLint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glUniform4d = unsafePerformIO $ getCommand "glUniform4d"
-
--- glUniform4dv ----------------------------------------------------------------
-
-glUniform4dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
-  -> m ()
-glUniform4dv v1 v2 v3 = liftIO $ dyn777 ptr_glUniform4dv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4dv #-}
-ptr_glUniform4dv :: FunPtr (GLint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glUniform4dv = unsafePerformIO $ getCommand "glUniform4dv"
-
--- glUniform4f -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4f
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> GLfloat -- ^ @v3@.
-  -> m ()
-glUniform4f v1 v2 v3 v4 v5 = liftIO $ dyn804 ptr_glUniform4f v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4f #-}
-ptr_glUniform4f :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glUniform4f = unsafePerformIO $ getCommand "glUniform4f"
-
--- glUniform4fARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4f'.
-glUniform4fARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLfloat -- ^ @v0@.
-  -> GLfloat -- ^ @v1@.
-  -> GLfloat -- ^ @v2@.
-  -> GLfloat -- ^ @v3@.
-  -> m ()
-glUniform4fARB v1 v2 v3 v4 v5 = liftIO $ dyn804 ptr_glUniform4fARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4fARB #-}
-ptr_glUniform4fARB :: FunPtr (GLint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glUniform4fARB = unsafePerformIO $ getCommand "glUniform4fARB"
-
--- glUniform4fv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glUniform4fv v1 v2 v3 = liftIO $ dyn779 ptr_glUniform4fv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4fv #-}
-ptr_glUniform4fv :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform4fv = unsafePerformIO $ getCommand "glUniform4fv"
-
--- glUniform4fvARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4fv'.
-glUniform4fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glUniform4fvARB v1 v2 v3 = liftIO $ dyn779 ptr_glUniform4fvARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4fvARB #-}
-ptr_glUniform4fvARB :: FunPtr (GLint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glUniform4fvARB = unsafePerformIO $ getCommand "glUniform4fvARB"
-
--- glUniform4i -----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4i
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> GLint -- ^ @v3@.
-  -> m ()
-glUniform4i v1 v2 v3 v4 v5 = liftIO $ dyn252 ptr_glUniform4i v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4i #-}
-ptr_glUniform4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glUniform4i = unsafePerformIO $ getCommand "glUniform4i"
-
--- glUniform4i64ARB ------------------------------------------------------------
-
-glUniform4i64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64 -- ^ @x@.
-  -> GLint64 -- ^ @y@.
-  -> GLint64 -- ^ @z@.
-  -> GLint64 -- ^ @w@.
-  -> m ()
-glUniform4i64ARB v1 v2 v3 v4 v5 = liftIO $ dyn805 ptr_glUniform4i64ARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4i64ARB #-}
-ptr_glUniform4i64ARB :: FunPtr (GLint -> GLint64 -> GLint64 -> GLint64 -> GLint64 -> IO ())
-ptr_glUniform4i64ARB = unsafePerformIO $ getCommand "glUniform4i64ARB"
-
--- glUniform4i64NV -------------------------------------------------------------
-
-glUniform4i64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> GLint64EXT -- ^ @z@.
-  -> GLint64EXT -- ^ @w@.
-  -> m ()
-glUniform4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn806 ptr_glUniform4i64NV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4i64NV #-}
-ptr_glUniform4i64NV :: FunPtr (GLint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glUniform4i64NV = unsafePerformIO $ getCommand "glUniform4i64NV"
-
--- glUniform4i64vARB -----------------------------------------------------------
-
-glUniform4i64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64 -- ^ @value@ pointing to @count*4@ elements of type @GLint64@.
-  -> m ()
-glUniform4i64vARB v1 v2 v3 = liftIO $ dyn782 ptr_glUniform4i64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4i64vARB #-}
-ptr_glUniform4i64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLint64 -> IO ())
-ptr_glUniform4i64vARB = unsafePerformIO $ getCommand "glUniform4i64vARB"
-
--- glUniform4i64vNV ------------------------------------------------------------
-
-glUniform4i64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLint64EXT@.
-  -> m ()
-glUniform4i64vNV v1 v2 v3 = liftIO $ dyn783 ptr_glUniform4i64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4i64vNV #-}
-ptr_glUniform4i64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLint64EXT -> IO ())
-ptr_glUniform4i64vNV = unsafePerformIO $ getCommand "glUniform4i64vNV"
-
--- glUniform4iARB --------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4i'.
-glUniform4iARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLint -- ^ @v0@.
-  -> GLint -- ^ @v1@.
-  -> GLint -- ^ @v2@.
-  -> GLint -- ^ @v3@.
-  -> m ()
-glUniform4iARB v1 v2 v3 v4 v5 = liftIO $ dyn252 ptr_glUniform4iARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4iARB #-}
-ptr_glUniform4iARB :: FunPtr (GLint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glUniform4iARB = unsafePerformIO $ getCommand "glUniform4iARB"
-
--- glUniform4iv ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4iv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
-  -> m ()
-glUniform4iv v1 v2 v3 = liftIO $ dyn784 ptr_glUniform4iv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4iv #-}
-ptr_glUniform4iv :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform4iv = unsafePerformIO $ getCommand "glUniform4iv"
-
--- glUniform4ivARB -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4iv'.
-glUniform4ivARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLint -- ^ @value@ pointing to @count*4@ elements of type @GLint@.
-  -> m ()
-glUniform4ivARB v1 v2 v3 = liftIO $ dyn784 ptr_glUniform4ivARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4ivARB #-}
-ptr_glUniform4ivARB :: FunPtr (GLint -> GLsizei -> Ptr GLint -> IO ())
-ptr_glUniform4ivARB = unsafePerformIO $ getCommand "glUniform4ivARB"
-
--- glUniform4ui ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4ui
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> GLuint -- ^ @v3@.
-  -> m ()
-glUniform4ui v1 v2 v3 v4 v5 = liftIO $ dyn807 ptr_glUniform4ui v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4ui #-}
-ptr_glUniform4ui :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glUniform4ui = unsafePerformIO $ getCommand "glUniform4ui"
-
--- glUniform4ui64ARB -----------------------------------------------------------
-
-glUniform4ui64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64 -- ^ @x@.
-  -> GLuint64 -- ^ @y@.
-  -> GLuint64 -- ^ @z@.
-  -> GLuint64 -- ^ @w@.
-  -> m ()
-glUniform4ui64ARB v1 v2 v3 v4 v5 = liftIO $ dyn808 ptr_glUniform4ui64ARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4ui64ARB #-}
-ptr_glUniform4ui64ARB :: FunPtr (GLint -> GLuint64 -> GLuint64 -> GLuint64 -> GLuint64 -> IO ())
-ptr_glUniform4ui64ARB = unsafePerformIO $ getCommand "glUniform4ui64ARB"
-
--- glUniform4ui64NV ------------------------------------------------------------
-
-glUniform4ui64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> GLuint64EXT -- ^ @z@.
-  -> GLuint64EXT -- ^ @w@.
-  -> m ()
-glUniform4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn809 ptr_glUniform4ui64NV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4ui64NV #-}
-ptr_glUniform4ui64NV :: FunPtr (GLint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glUniform4ui64NV = unsafePerformIO $ getCommand "glUniform4ui64NV"
-
--- glUniform4ui64vARB ----------------------------------------------------------
-
-glUniform4ui64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count*4@ elements of type @GLuint64@.
-  -> m ()
-glUniform4ui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniform4ui64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4ui64vARB #-}
-ptr_glUniform4ui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glUniform4ui64vARB = unsafePerformIO $ getCommand "glUniform4ui64vARB"
-
--- glUniform4ui64vNV -----------------------------------------------------------
-
-glUniform4ui64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*4@ elements of type @GLuint64EXT@.
-  -> m ()
-glUniform4ui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniform4ui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4ui64vNV #-}
-ptr_glUniform4ui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glUniform4ui64vNV = unsafePerformIO $ getCommand "glUniform4ui64vNV"
-
--- glUniform4uiEXT -------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4ui'.
-glUniform4uiEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint -- ^ @v0@.
-  -> GLuint -- ^ @v1@.
-  -> GLuint -- ^ @v2@.
-  -> GLuint -- ^ @v3@.
-  -> m ()
-glUniform4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn807 ptr_glUniform4uiEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUniform4uiEXT #-}
-ptr_glUniform4uiEXT :: FunPtr (GLint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glUniform4uiEXT = unsafePerformIO $ getCommand "glUniform4uiEXT"
-
--- glUniform4uiv ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniform4uiv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
-  -> m ()
-glUniform4uiv v1 v2 v3 = liftIO $ dyn790 ptr_glUniform4uiv v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4uiv #-}
-ptr_glUniform4uiv :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform4uiv = unsafePerformIO $ getCommand "glUniform4uiv"
-
--- glUniform4uivEXT ------------------------------------------------------------
-
--- | This command is an alias for 'glUniform4uiv'.
-glUniform4uivEXT
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @value@ pointing to @count*4@ elements of type @GLuint@.
-  -> m ()
-glUniform4uivEXT v1 v2 v3 = liftIO $ dyn790 ptr_glUniform4uivEXT v1 v2 v3
-
-{-# NOINLINE ptr_glUniform4uivEXT #-}
-ptr_glUniform4uivEXT :: FunPtr (GLint -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniform4uivEXT = unsafePerformIO $ getCommand "glUniform4uivEXT"
-
--- glUniformBlockBinding -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glUniformBlockBinding.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniformBlockBinding.xhtml OpenGL 4.x>.
-glUniformBlockBinding
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLuint -- ^ @uniformBlockIndex@.
-  -> GLuint -- ^ @uniformBlockBinding@.
-  -> m ()
-glUniformBlockBinding v1 v2 v3 = liftIO $ dyn101 ptr_glUniformBlockBinding v1 v2 v3
-
-{-# NOINLINE ptr_glUniformBlockBinding #-}
-ptr_glUniformBlockBinding :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glUniformBlockBinding = unsafePerformIO $ getCommand "glUniformBlockBinding"
-
--- glUniformBufferEXT ----------------------------------------------------------
-
-glUniformBufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> GLint -- ^ @location@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glUniformBufferEXT v1 v2 v3 = liftIO $ dyn633 ptr_glUniformBufferEXT v1 v2 v3
-
-{-# NOINLINE ptr_glUniformBufferEXT #-}
-ptr_glUniformBufferEXT :: FunPtr (GLuint -> GLint -> GLuint -> IO ())
-ptr_glUniformBufferEXT = unsafePerformIO $ getCommand "glUniformBufferEXT"
-
--- glUniformHandleui64ARB ------------------------------------------------------
-
-glUniformHandleui64ARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64 -- ^ @value@.
-  -> m ()
-glUniformHandleui64ARB v1 v2 = liftIO $ dyn786 ptr_glUniformHandleui64ARB v1 v2
-
-{-# NOINLINE ptr_glUniformHandleui64ARB #-}
-ptr_glUniformHandleui64ARB :: FunPtr (GLint -> GLuint64 -> IO ())
-ptr_glUniformHandleui64ARB = unsafePerformIO $ getCommand "glUniformHandleui64ARB"
-
--- glUniformHandleui64NV -------------------------------------------------------
-
-glUniformHandleui64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64 -- ^ @value@.
-  -> m ()
-glUniformHandleui64NV v1 v2 = liftIO $ dyn786 ptr_glUniformHandleui64NV v1 v2
-
-{-# NOINLINE ptr_glUniformHandleui64NV #-}
-ptr_glUniformHandleui64NV :: FunPtr (GLint -> GLuint64 -> IO ())
-ptr_glUniformHandleui64NV = unsafePerformIO $ getCommand "glUniformHandleui64NV"
-
--- glUniformHandleui64vARB -----------------------------------------------------
-
-glUniformHandleui64vARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
-  -> m ()
-glUniformHandleui64vARB v1 v2 v3 = liftIO $ dyn788 ptr_glUniformHandleui64vARB v1 v2 v3
-
-{-# NOINLINE ptr_glUniformHandleui64vARB #-}
-ptr_glUniformHandleui64vARB :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glUniformHandleui64vARB = unsafePerformIO $ getCommand "glUniformHandleui64vARB"
-
--- glUniformHandleui64vNV ------------------------------------------------------
-
-glUniformHandleui64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64 -- ^ @value@ pointing to @count@ elements of type @GLuint64@.
-  -> m ()
-glUniformHandleui64vNV v1 v2 v3 = liftIO $ dyn788 ptr_glUniformHandleui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniformHandleui64vNV #-}
-ptr_glUniformHandleui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64 -> IO ())
-ptr_glUniformHandleui64vNV = unsafePerformIO $ getCommand "glUniformHandleui64vNV"
-
--- glUniformMatrix2dv ----------------------------------------------------------
-
-glUniformMatrix2dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*4@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix2dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix2dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2dv #-}
-ptr_glUniformMatrix2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix2dv = unsafePerformIO $ getCommand "glUniformMatrix2dv"
-
--- glUniformMatrix2fv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix2fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix2fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2fv #-}
-ptr_glUniformMatrix2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix2fv = unsafePerformIO $ getCommand "glUniformMatrix2fv"
-
--- glUniformMatrix2fvARB -------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix2fv'.
-glUniformMatrix2fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix2fvARB v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2fvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2fvARB #-}
-ptr_glUniformMatrix2fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix2fvARB = unsafePerformIO $ getCommand "glUniformMatrix2fvARB"
-
--- glUniformMatrix2x3dv --------------------------------------------------------
-
-glUniformMatrix2x3dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*6@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix2x3dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix2x3dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2x3dv #-}
-ptr_glUniformMatrix2x3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix2x3dv = unsafePerformIO $ getCommand "glUniformMatrix2x3dv"
-
--- glUniformMatrix2x3fv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix2x3fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix2x3fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x3fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2x3fv #-}
-ptr_glUniformMatrix2x3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix2x3fv = unsafePerformIO $ getCommand "glUniformMatrix2x3fv"
-
--- glUniformMatrix2x3fvNV ------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix2x3fv'.
-glUniformMatrix2x3fvNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix2x3fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x3fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2x3fvNV #-}
-ptr_glUniformMatrix2x3fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix2x3fvNV = unsafePerformIO $ getCommand "glUniformMatrix2x3fvNV"
-
--- glUniformMatrix2x4dv --------------------------------------------------------
-
-glUniformMatrix2x4dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix2x4dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix2x4dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2x4dv #-}
-ptr_glUniformMatrix2x4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix2x4dv = unsafePerformIO $ getCommand "glUniformMatrix2x4dv"
-
--- glUniformMatrix2x4fv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix2x4fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix2x4fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x4fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2x4fv #-}
-ptr_glUniformMatrix2x4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix2x4fv = unsafePerformIO $ getCommand "glUniformMatrix2x4fv"
-
--- glUniformMatrix2x4fvNV ------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix2x4fv'.
-glUniformMatrix2x4fvNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix2x4fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix2x4fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix2x4fvNV #-}
-ptr_glUniformMatrix2x4fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix2x4fvNV = unsafePerformIO $ getCommand "glUniformMatrix2x4fvNV"
-
--- glUniformMatrix3dv ----------------------------------------------------------
-
-glUniformMatrix3dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*9@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix3dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix3dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3dv #-}
-ptr_glUniformMatrix3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix3dv = unsafePerformIO $ getCommand "glUniformMatrix3dv"
-
--- glUniformMatrix3fv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix3fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix3fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3fv #-}
-ptr_glUniformMatrix3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix3fv = unsafePerformIO $ getCommand "glUniformMatrix3fv"
-
--- glUniformMatrix3fvARB -------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix3fv'.
-glUniformMatrix3fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*9@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix3fvARB v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3fvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3fvARB #-}
-ptr_glUniformMatrix3fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix3fvARB = unsafePerformIO $ getCommand "glUniformMatrix3fvARB"
-
--- glUniformMatrix3x2dv --------------------------------------------------------
-
-glUniformMatrix3x2dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*6@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix3x2dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix3x2dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3x2dv #-}
-ptr_glUniformMatrix3x2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix3x2dv = unsafePerformIO $ getCommand "glUniformMatrix3x2dv"
-
--- glUniformMatrix3x2fv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix3x2fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix3x2fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x2fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3x2fv #-}
-ptr_glUniformMatrix3x2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix3x2fv = unsafePerformIO $ getCommand "glUniformMatrix3x2fv"
-
--- glUniformMatrix3x2fvNV ------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix3x2fv'.
-glUniformMatrix3x2fvNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*6@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix3x2fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x2fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3x2fvNV #-}
-ptr_glUniformMatrix3x2fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix3x2fvNV = unsafePerformIO $ getCommand "glUniformMatrix3x2fvNV"
-
--- glUniformMatrix3x4dv --------------------------------------------------------
-
-glUniformMatrix3x4dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*12@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix3x4dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix3x4dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3x4dv #-}
-ptr_glUniformMatrix3x4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix3x4dv = unsafePerformIO $ getCommand "glUniformMatrix3x4dv"
-
--- glUniformMatrix3x4fv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix3x4fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix3x4fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x4fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3x4fv #-}
-ptr_glUniformMatrix3x4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix3x4fv = unsafePerformIO $ getCommand "glUniformMatrix3x4fv"
-
--- glUniformMatrix3x4fvNV ------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix3x4fv'.
-glUniformMatrix3x4fvNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix3x4fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix3x4fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix3x4fvNV #-}
-ptr_glUniformMatrix3x4fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix3x4fvNV = unsafePerformIO $ getCommand "glUniformMatrix3x4fvNV"
-
--- glUniformMatrix4dv ----------------------------------------------------------
-
-glUniformMatrix4dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*16@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix4dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix4dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4dv #-}
-ptr_glUniformMatrix4dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix4dv = unsafePerformIO $ getCommand "glUniformMatrix4dv"
-
--- glUniformMatrix4fv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix4fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix4fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4fv #-}
-ptr_glUniformMatrix4fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix4fv = unsafePerformIO $ getCommand "glUniformMatrix4fv"
-
--- glUniformMatrix4fvARB -------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix4fv'.
-glUniformMatrix4fvARB
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*16@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix4fvARB v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4fvARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4fvARB #-}
-ptr_glUniformMatrix4fvARB :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix4fvARB = unsafePerformIO $ getCommand "glUniformMatrix4fvARB"
-
--- glUniformMatrix4x2dv --------------------------------------------------------
-
-glUniformMatrix4x2dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*8@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix4x2dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix4x2dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4x2dv #-}
-ptr_glUniformMatrix4x2dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix4x2dv = unsafePerformIO $ getCommand "glUniformMatrix4x2dv"
-
--- glUniformMatrix4x2fv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix4x2fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix4x2fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x2fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4x2fv #-}
-ptr_glUniformMatrix4x2fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix4x2fv = unsafePerformIO $ getCommand "glUniformMatrix4x2fv"
-
--- glUniformMatrix4x2fvNV ------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix4x2fv'.
-glUniformMatrix4x2fvNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*8@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix4x2fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x2fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4x2fvNV #-}
-ptr_glUniformMatrix4x2fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix4x2fvNV = unsafePerformIO $ getCommand "glUniformMatrix4x2fvNV"
-
--- glUniformMatrix4x3dv --------------------------------------------------------
-
-glUniformMatrix4x3dv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLdouble -- ^ @value@ pointing to @count*12@ elements of type @GLdouble@.
-  -> m ()
-glUniformMatrix4x3dv v1 v2 v3 v4 = liftIO $ dyn810 ptr_glUniformMatrix4x3dv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4x3dv #-}
-ptr_glUniformMatrix4x3dv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLdouble -> IO ())
-ptr_glUniformMatrix4x3dv = unsafePerformIO $ getCommand "glUniformMatrix4x3dv"
-
--- glUniformMatrix4x3fv --------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUniform.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUniform.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUniform.xhtml OpenGL 4.x>.
-glUniformMatrix4x3fv
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix4x3fv v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x3fv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4x3fv #-}
-ptr_glUniformMatrix4x3fv :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix4x3fv = unsafePerformIO $ getCommand "glUniformMatrix4x3fv"
-
--- glUniformMatrix4x3fvNV ------------------------------------------------------
-
--- | This command is an alias for 'glUniformMatrix4x3fv'.
-glUniformMatrix4x3fvNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> GLboolean -- ^ @transpose@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLfloat -- ^ @value@ pointing to @count*12@ elements of type @GLfloat@.
-  -> m ()
-glUniformMatrix4x3fvNV v1 v2 v3 v4 = liftIO $ dyn811 ptr_glUniformMatrix4x3fvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glUniformMatrix4x3fvNV #-}
-ptr_glUniformMatrix4x3fvNV :: FunPtr (GLint -> GLsizei -> GLboolean -> Ptr GLfloat -> IO ())
-ptr_glUniformMatrix4x3fvNV = unsafePerformIO $ getCommand "glUniformMatrix4x3fvNV"
-
--- glUniformSubroutinesuiv -----------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glUniformSubroutines.xhtml OpenGL 4.x>.
-glUniformSubroutinesuiv
-  :: MonadIO m
-  => GLenum -- ^ @shadertype@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @indices@ pointing to @count@ elements of type @GLuint@.
-  -> m ()
-glUniformSubroutinesuiv v1 v2 v3 = liftIO $ dyn196 ptr_glUniformSubroutinesuiv v1 v2 v3
-
-{-# NOINLINE ptr_glUniformSubroutinesuiv #-}
-ptr_glUniformSubroutinesuiv :: FunPtr (GLenum -> GLsizei -> Ptr GLuint -> IO ())
-ptr_glUniformSubroutinesuiv = unsafePerformIO $ getCommand "glUniformSubroutinesuiv"
-
--- glUniformui64NV -------------------------------------------------------------
-
-glUniformui64NV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLuint64EXT -- ^ @value@.
-  -> m ()
-glUniformui64NV v1 v2 = liftIO $ dyn787 ptr_glUniformui64NV v1 v2
-
-{-# NOINLINE ptr_glUniformui64NV #-}
-ptr_glUniformui64NV :: FunPtr (GLint -> GLuint64EXT -> IO ())
-ptr_glUniformui64NV = unsafePerformIO $ getCommand "glUniformui64NV"
-
--- glUniformui64vNV ------------------------------------------------------------
-
-glUniformui64vNV
-  :: MonadIO m
-  => GLint -- ^ @location@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint64EXT -- ^ @value@ pointing to @count*1@ elements of type @GLuint64EXT@.
-  -> m ()
-glUniformui64vNV v1 v2 v3 = liftIO $ dyn789 ptr_glUniformui64vNV v1 v2 v3
-
-{-# NOINLINE ptr_glUniformui64vNV #-}
-ptr_glUniformui64vNV :: FunPtr (GLint -> GLsizei -> Ptr GLuint64EXT -> IO ())
-ptr_glUniformui64vNV = unsafePerformIO $ getCommand "glUniformui64vNV"
-
--- glUnlockArraysEXT -----------------------------------------------------------
-
-glUnlockArraysEXT
-  :: MonadIO m
-  => m ()
-glUnlockArraysEXT = liftIO $ dyn10 ptr_glUnlockArraysEXT
-
-{-# NOINLINE ptr_glUnlockArraysEXT #-}
-ptr_glUnlockArraysEXT :: FunPtr (IO ())
-ptr_glUnlockArraysEXT = unsafePerformIO $ getCommand "glUnlockArraysEXT"
-
--- glUnmapBuffer ---------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glMapBuffer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glMapBuffer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUnmapBuffer.xhtml OpenGL 4.x>.
-glUnmapBuffer
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glUnmapBuffer v1 = liftIO $ dyn472 ptr_glUnmapBuffer v1
-
-{-# NOINLINE ptr_glUnmapBuffer #-}
-ptr_glUnmapBuffer :: FunPtr (GLenum -> IO GLboolean)
-ptr_glUnmapBuffer = unsafePerformIO $ getCommand "glUnmapBuffer"
-
--- glUnmapBufferARB ------------------------------------------------------------
-
--- | This command is an alias for 'glUnmapBuffer'.
-glUnmapBufferARB
-  :: MonadIO m
-  => GLenum -- ^ @target@ of type @BufferTargetARB@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glUnmapBufferARB v1 = liftIO $ dyn472 ptr_glUnmapBufferARB v1
-
-{-# NOINLINE ptr_glUnmapBufferARB #-}
-ptr_glUnmapBufferARB :: FunPtr (GLenum -> IO GLboolean)
-ptr_glUnmapBufferARB = unsafePerformIO $ getCommand "glUnmapBufferARB"
-
--- glUnmapBufferOES ------------------------------------------------------------
-
--- | This command is an alias for 'glUnmapBuffer'.
-glUnmapBufferOES
-  :: MonadIO m
-  => GLenum -- ^ @target@.
-  -> m GLboolean
-glUnmapBufferOES v1 = liftIO $ dyn472 ptr_glUnmapBufferOES v1
-
-{-# NOINLINE ptr_glUnmapBufferOES #-}
-ptr_glUnmapBufferOES :: FunPtr (GLenum -> IO GLboolean)
-ptr_glUnmapBufferOES = unsafePerformIO $ getCommand "glUnmapBufferOES"
-
--- glUnmapNamedBuffer ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glUnmapBuffer.xhtml OpenGL 4.x>.
-glUnmapNamedBuffer
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m GLboolean
-glUnmapNamedBuffer v1 = liftIO $ dyn272 ptr_glUnmapNamedBuffer v1
-
-{-# NOINLINE ptr_glUnmapNamedBuffer #-}
-ptr_glUnmapNamedBuffer :: FunPtr (GLuint -> IO GLboolean)
-ptr_glUnmapNamedBuffer = unsafePerformIO $ getCommand "glUnmapNamedBuffer"
-
--- glUnmapNamedBufferEXT -------------------------------------------------------
-
-glUnmapNamedBufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m GLboolean -- ^ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-glUnmapNamedBufferEXT v1 = liftIO $ dyn272 ptr_glUnmapNamedBufferEXT v1
-
-{-# NOINLINE ptr_glUnmapNamedBufferEXT #-}
-ptr_glUnmapNamedBufferEXT :: FunPtr (GLuint -> IO GLboolean)
-ptr_glUnmapNamedBufferEXT = unsafePerformIO $ getCommand "glUnmapNamedBufferEXT"
-
--- glUnmapObjectBufferATI ------------------------------------------------------
-
-glUnmapObjectBufferATI
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> m ()
-glUnmapObjectBufferATI v1 = liftIO $ dyn2 ptr_glUnmapObjectBufferATI v1
-
-{-# NOINLINE ptr_glUnmapObjectBufferATI #-}
-ptr_glUnmapObjectBufferATI :: FunPtr (GLuint -> IO ())
-ptr_glUnmapObjectBufferATI = unsafePerformIO $ getCommand "glUnmapObjectBufferATI"
-
--- glUnmapTexture2DINTEL -------------------------------------------------------
-
-glUnmapTexture2DINTEL
-  :: MonadIO m
-  => GLuint -- ^ @texture@.
-  -> GLint -- ^ @level@.
-  -> m ()
-glUnmapTexture2DINTEL v1 v2 = liftIO $ dyn470 ptr_glUnmapTexture2DINTEL v1 v2
-
-{-# NOINLINE ptr_glUnmapTexture2DINTEL #-}
-ptr_glUnmapTexture2DINTEL :: FunPtr (GLuint -> GLint -> IO ())
-ptr_glUnmapTexture2DINTEL = unsafePerformIO $ getCommand "glUnmapTexture2DINTEL"
-
--- glUpdateObjectBufferATI -----------------------------------------------------
-
-glUpdateObjectBufferATI
-  :: MonadIO m
-  => GLuint -- ^ @buffer@.
-  -> GLuint -- ^ @offset@.
-  -> GLsizei -- ^ @size@.
-  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
-  -> GLenum -- ^ @preserve@ of type @PreserveModeATI@.
-  -> m ()
-glUpdateObjectBufferATI v1 v2 v3 v4 v5 = liftIO $ dyn812 ptr_glUpdateObjectBufferATI v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glUpdateObjectBufferATI #-}
-ptr_glUpdateObjectBufferATI :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr a -> GLenum -> IO ())
-ptr_glUpdateObjectBufferATI = unsafePerformIO $ getCommand "glUpdateObjectBufferATI"
-
--- glUseProgram ----------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glUseProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glUseProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glUseProgram.xhtml OpenGL 4.x>.
-glUseProgram
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m ()
-glUseProgram v1 = liftIO $ dyn2 ptr_glUseProgram v1
-
-{-# NOINLINE ptr_glUseProgram #-}
-ptr_glUseProgram :: FunPtr (GLuint -> IO ())
-ptr_glUseProgram = unsafePerformIO $ getCommand "glUseProgram"
-
--- glUseProgramObjectARB -------------------------------------------------------
-
--- | This command is an alias for 'glUseProgram'.
-glUseProgramObjectARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> m ()
-glUseProgramObjectARB v1 = liftIO $ dyn136 ptr_glUseProgramObjectARB v1
-
-{-# NOINLINE ptr_glUseProgramObjectARB #-}
-ptr_glUseProgramObjectARB :: FunPtr (GLhandleARB -> IO ())
-ptr_glUseProgramObjectARB = unsafePerformIO $ getCommand "glUseProgramObjectARB"
-
--- glUseProgramStages ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glUseProgramStages.xhtml OpenGL 4.x>.
-glUseProgramStages
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLbitfield -- ^ @stages@.
-  -> GLuint -- ^ @program@.
-  -> m ()
-glUseProgramStages v1 v2 v3 = liftIO $ dyn813 ptr_glUseProgramStages v1 v2 v3
-
-{-# NOINLINE ptr_glUseProgramStages #-}
-ptr_glUseProgramStages :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
-ptr_glUseProgramStages = unsafePerformIO $ getCommand "glUseProgramStages"
-
--- glUseProgramStagesEXT -------------------------------------------------------
-
-glUseProgramStagesEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> GLbitfield -- ^ @stages@.
-  -> GLuint -- ^ @program@.
-  -> m ()
-glUseProgramStagesEXT v1 v2 v3 = liftIO $ dyn813 ptr_glUseProgramStagesEXT v1 v2 v3
-
-{-# NOINLINE ptr_glUseProgramStagesEXT #-}
-ptr_glUseProgramStagesEXT :: FunPtr (GLuint -> GLbitfield -> GLuint -> IO ())
-ptr_glUseProgramStagesEXT = unsafePerformIO $ getCommand "glUseProgramStagesEXT"
-
--- glUseShaderProgramEXT -------------------------------------------------------
-
-glUseShaderProgramEXT
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @program@.
-  -> m ()
-glUseShaderProgramEXT v1 v2 = liftIO $ dyn16 ptr_glUseShaderProgramEXT v1 v2
-
-{-# NOINLINE ptr_glUseShaderProgramEXT #-}
-ptr_glUseShaderProgramEXT :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glUseShaderProgramEXT = unsafePerformIO $ getCommand "glUseShaderProgramEXT"
-
--- glVDPAUFiniNV ---------------------------------------------------------------
-
-glVDPAUFiniNV
-  :: MonadIO m
-  => m ()
-glVDPAUFiniNV = liftIO $ dyn10 ptr_glVDPAUFiniNV
-
-{-# NOINLINE ptr_glVDPAUFiniNV #-}
-ptr_glVDPAUFiniNV :: FunPtr (IO ())
-ptr_glVDPAUFiniNV = unsafePerformIO $ getCommand "glVDPAUFiniNV"
-
--- glVDPAUGetSurfaceivNV -------------------------------------------------------
-
-glVDPAUGetSurfaceivNV
-  :: MonadIO m
-  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
-  -> GLenum -- ^ @pname@.
-  -> GLsizei -- ^ @bufSize@.
-  -> Ptr GLsizei -- ^ @length@.
-  -> Ptr GLint -- ^ @values@ pointing to @bufSize@ elements of type @GLint@.
-  -> m ()
-glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5 = liftIO $ dyn814 ptr_glVDPAUGetSurfaceivNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVDPAUGetSurfaceivNV #-}
-ptr_glVDPAUGetSurfaceivNV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> GLsizei -> Ptr GLsizei -> Ptr GLint -> IO ())
-ptr_glVDPAUGetSurfaceivNV = unsafePerformIO $ getCommand "glVDPAUGetSurfaceivNV"
-
--- glVDPAUInitNV ---------------------------------------------------------------
-
-glVDPAUInitNV
-  :: MonadIO m
-  => Ptr a -- ^ @vdpDevice@.
-  -> Ptr b -- ^ @getProcAddress@.
-  -> m ()
-glVDPAUInitNV v1 v2 = liftIO $ dyn815 ptr_glVDPAUInitNV v1 v2
-
-{-# NOINLINE ptr_glVDPAUInitNV #-}
-ptr_glVDPAUInitNV :: FunPtr (Ptr a -> Ptr b -> IO ())
-ptr_glVDPAUInitNV = unsafePerformIO $ getCommand "glVDPAUInitNV"
-
--- glVDPAUIsSurfaceNV ----------------------------------------------------------
-
-glVDPAUIsSurfaceNV
-  :: MonadIO m
-  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
-  -> m GLboolean
-glVDPAUIsSurfaceNV v1 = liftIO $ dyn816 ptr_glVDPAUIsSurfaceNV v1
-
-{-# NOINLINE ptr_glVDPAUIsSurfaceNV #-}
-ptr_glVDPAUIsSurfaceNV :: FunPtr (GLvdpauSurfaceNV -> IO GLboolean)
-ptr_glVDPAUIsSurfaceNV = unsafePerformIO $ getCommand "glVDPAUIsSurfaceNV"
-
--- glVDPAUMapSurfacesNV --------------------------------------------------------
-
-glVDPAUMapSurfacesNV
-  :: MonadIO m
-  => GLsizei -- ^ @numSurfaces@.
-  -> Ptr GLvdpauSurfaceNV -- ^ @surfaces@ pointing to @numSurfaces@ elements of type @vdpauSurfaceNV@.
-  -> m ()
-glVDPAUMapSurfacesNV v1 v2 = liftIO $ dyn817 ptr_glVDPAUMapSurfacesNV v1 v2
-
-{-# NOINLINE ptr_glVDPAUMapSurfacesNV #-}
-ptr_glVDPAUMapSurfacesNV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
-ptr_glVDPAUMapSurfacesNV = unsafePerformIO $ getCommand "glVDPAUMapSurfacesNV"
-
--- glVDPAURegisterOutputSurfaceNV ----------------------------------------------
-
-glVDPAURegisterOutputSurfaceNV
-  :: MonadIO m
-  => Ptr a -- ^ @vdpSurface@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @numTextureNames@.
-  -> Ptr GLuint -- ^ @textureNames@ pointing to @numTextureNames@ elements of type @GLuint@.
-  -> m GLvdpauSurfaceNV -- ^ of type @vdpauSurfaceNV@.
-glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4 = liftIO $ dyn818 ptr_glVDPAURegisterOutputSurfaceNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVDPAURegisterOutputSurfaceNV #-}
-ptr_glVDPAURegisterOutputSurfaceNV :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
-ptr_glVDPAURegisterOutputSurfaceNV = unsafePerformIO $ getCommand "glVDPAURegisterOutputSurfaceNV"
-
--- glVDPAURegisterVideoSurfaceNV -----------------------------------------------
-
-glVDPAURegisterVideoSurfaceNV
-  :: MonadIO m
-  => Ptr a -- ^ @vdpSurface@.
-  -> GLenum -- ^ @target@.
-  -> GLsizei -- ^ @numTextureNames@.
-  -> Ptr GLuint -- ^ @textureNames@ pointing to @numTextureNames@ elements of type @GLuint@.
-  -> m GLvdpauSurfaceNV -- ^ of type @vdpauSurfaceNV@.
-glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4 = liftIO $ dyn818 ptr_glVDPAURegisterVideoSurfaceNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVDPAURegisterVideoSurfaceNV #-}
-ptr_glVDPAURegisterVideoSurfaceNV :: FunPtr (Ptr a -> GLenum -> GLsizei -> Ptr GLuint -> IO GLvdpauSurfaceNV)
-ptr_glVDPAURegisterVideoSurfaceNV = unsafePerformIO $ getCommand "glVDPAURegisterVideoSurfaceNV"
-
--- glVDPAUSurfaceAccessNV ------------------------------------------------------
-
-glVDPAUSurfaceAccessNV
-  :: MonadIO m
-  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
-  -> GLenum -- ^ @access@.
-  -> m ()
-glVDPAUSurfaceAccessNV v1 v2 = liftIO $ dyn819 ptr_glVDPAUSurfaceAccessNV v1 v2
-
-{-# NOINLINE ptr_glVDPAUSurfaceAccessNV #-}
-ptr_glVDPAUSurfaceAccessNV :: FunPtr (GLvdpauSurfaceNV -> GLenum -> IO ())
-ptr_glVDPAUSurfaceAccessNV = unsafePerformIO $ getCommand "glVDPAUSurfaceAccessNV"
-
--- glVDPAUUnmapSurfacesNV ------------------------------------------------------
-
-glVDPAUUnmapSurfacesNV
-  :: MonadIO m
-  => GLsizei -- ^ @numSurface@.
-  -> Ptr GLvdpauSurfaceNV -- ^ @surfaces@ pointing to @numSurface@ elements of type @vdpauSurfaceNV@.
-  -> m ()
-glVDPAUUnmapSurfacesNV v1 v2 = liftIO $ dyn817 ptr_glVDPAUUnmapSurfacesNV v1 v2
-
-{-# NOINLINE ptr_glVDPAUUnmapSurfacesNV #-}
-ptr_glVDPAUUnmapSurfacesNV :: FunPtr (GLsizei -> Ptr GLvdpauSurfaceNV -> IO ())
-ptr_glVDPAUUnmapSurfacesNV = unsafePerformIO $ getCommand "glVDPAUUnmapSurfacesNV"
-
--- glVDPAUUnregisterSurfaceNV --------------------------------------------------
-
-glVDPAUUnregisterSurfaceNV
-  :: MonadIO m
-  => GLvdpauSurfaceNV -- ^ @surface@ of type @vdpauSurfaceNV@.
-  -> m ()
-glVDPAUUnregisterSurfaceNV v1 = liftIO $ dyn820 ptr_glVDPAUUnregisterSurfaceNV v1
-
-{-# NOINLINE ptr_glVDPAUUnregisterSurfaceNV #-}
-ptr_glVDPAUUnregisterSurfaceNV :: FunPtr (GLvdpauSurfaceNV -> IO ())
-ptr_glVDPAUUnregisterSurfaceNV = unsafePerformIO $ getCommand "glVDPAUUnregisterSurfaceNV"
-
--- glValidateProgram -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glValidateProgram.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glValidateProgram.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glValidateProgram.xhtml OpenGL 4.x>.
-glValidateProgram
-  :: MonadIO m
-  => GLuint -- ^ @program@.
-  -> m ()
-glValidateProgram v1 = liftIO $ dyn2 ptr_glValidateProgram v1
-
-{-# NOINLINE ptr_glValidateProgram #-}
-ptr_glValidateProgram :: FunPtr (GLuint -> IO ())
-ptr_glValidateProgram = unsafePerformIO $ getCommand "glValidateProgram"
-
--- glValidateProgramARB --------------------------------------------------------
-
--- | This command is an alias for 'glValidateProgram'.
-glValidateProgramARB
-  :: MonadIO m
-  => GLhandleARB -- ^ @programObj@ of type @handleARB@.
-  -> m ()
-glValidateProgramARB v1 = liftIO $ dyn136 ptr_glValidateProgramARB v1
-
-{-# NOINLINE ptr_glValidateProgramARB #-}
-ptr_glValidateProgramARB :: FunPtr (GLhandleARB -> IO ())
-ptr_glValidateProgramARB = unsafePerformIO $ getCommand "glValidateProgramARB"
-
--- glValidateProgramPipeline ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glValidateProgramPipeline.xhtml OpenGL 4.x>.
-glValidateProgramPipeline
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> m ()
-glValidateProgramPipeline v1 = liftIO $ dyn2 ptr_glValidateProgramPipeline v1
-
-{-# NOINLINE ptr_glValidateProgramPipeline #-}
-ptr_glValidateProgramPipeline :: FunPtr (GLuint -> IO ())
-ptr_glValidateProgramPipeline = unsafePerformIO $ getCommand "glValidateProgramPipeline"
-
--- glValidateProgramPipelineEXT ------------------------------------------------
-
-glValidateProgramPipelineEXT
-  :: MonadIO m
-  => GLuint -- ^ @pipeline@.
-  -> m ()
-glValidateProgramPipelineEXT v1 = liftIO $ dyn2 ptr_glValidateProgramPipelineEXT v1
-
-{-# NOINLINE ptr_glValidateProgramPipelineEXT #-}
-ptr_glValidateProgramPipelineEXT :: FunPtr (GLuint -> IO ())
-ptr_glValidateProgramPipelineEXT = unsafePerformIO $ getCommand "glValidateProgramPipelineEXT"
-
--- glVariantArrayObjectATI -----------------------------------------------------
-
-glVariantArrayObjectATI
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @type@ of type @ScalarType@.
-  -> GLsizei -- ^ @stride@.
-  -> GLuint -- ^ @buffer@.
-  -> GLuint -- ^ @offset@.
-  -> m ()
-glVariantArrayObjectATI v1 v2 v3 v4 v5 = liftIO $ dyn821 ptr_glVariantArrayObjectATI v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVariantArrayObjectATI #-}
-ptr_glVariantArrayObjectATI :: FunPtr (GLuint -> GLenum -> GLsizei -> GLuint -> GLuint -> IO ())
-ptr_glVariantArrayObjectATI = unsafePerformIO $ getCommand "glVariantArrayObjectATI"
-
--- glVariantPointerEXT ---------------------------------------------------------
-
-glVariantPointerEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> GLenum -- ^ @type@ of type @ScalarType@.
-  -> GLuint -- ^ @stride@.
-  -> Ptr a -- ^ @addr@ pointing to @COMPSIZE(id,type,stride)@ elements of type @a@.
-  -> m ()
-glVariantPointerEXT v1 v2 v3 v4 = liftIO $ dyn822 ptr_glVariantPointerEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVariantPointerEXT #-}
-ptr_glVariantPointerEXT :: FunPtr (GLuint -> GLenum -> GLuint -> Ptr a -> IO ())
-ptr_glVariantPointerEXT = unsafePerformIO $ getCommand "glVariantPointerEXT"
-
--- glVariantbvEXT --------------------------------------------------------------
-
-glVariantbvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLbyte -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLbyte@.
-  -> m ()
-glVariantbvEXT v1 v2 = liftIO $ dyn823 ptr_glVariantbvEXT v1 v2
-
-{-# NOINLINE ptr_glVariantbvEXT #-}
-ptr_glVariantbvEXT :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVariantbvEXT = unsafePerformIO $ getCommand "glVariantbvEXT"
-
--- glVariantdvEXT --------------------------------------------------------------
-
-glVariantdvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLdouble -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLdouble@.
-  -> m ()
-glVariantdvEXT v1 v2 = liftIO $ dyn824 ptr_glVariantdvEXT v1 v2
-
-{-# NOINLINE ptr_glVariantdvEXT #-}
-ptr_glVariantdvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVariantdvEXT = unsafePerformIO $ getCommand "glVariantdvEXT"
-
--- glVariantfvEXT --------------------------------------------------------------
-
-glVariantfvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLfloat -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLfloat@.
-  -> m ()
-glVariantfvEXT v1 v2 = liftIO $ dyn373 ptr_glVariantfvEXT v1 v2
-
-{-# NOINLINE ptr_glVariantfvEXT #-}
-ptr_glVariantfvEXT :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVariantfvEXT = unsafePerformIO $ getCommand "glVariantfvEXT"
-
--- glVariantivEXT --------------------------------------------------------------
-
-glVariantivEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLint -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLint@.
-  -> m ()
-glVariantivEXT v1 v2 = liftIO $ dyn697 ptr_glVariantivEXT v1 v2
-
-{-# NOINLINE ptr_glVariantivEXT #-}
-ptr_glVariantivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVariantivEXT = unsafePerformIO $ getCommand "glVariantivEXT"
-
--- glVariantsvEXT --------------------------------------------------------------
-
-glVariantsvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLshort -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLshort@.
-  -> m ()
-glVariantsvEXT v1 v2 = liftIO $ dyn825 ptr_glVariantsvEXT v1 v2
-
-{-# NOINLINE ptr_glVariantsvEXT #-}
-ptr_glVariantsvEXT :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVariantsvEXT = unsafePerformIO $ getCommand "glVariantsvEXT"
-
--- glVariantubvEXT -------------------------------------------------------------
-
-glVariantubvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLubyte -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLubyte@.
-  -> m ()
-glVariantubvEXT v1 v2 = liftIO $ dyn372 ptr_glVariantubvEXT v1 v2
-
-{-# NOINLINE ptr_glVariantubvEXT #-}
-ptr_glVariantubvEXT :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVariantubvEXT = unsafePerformIO $ getCommand "glVariantubvEXT"
-
--- glVariantuivEXT -------------------------------------------------------------
-
-glVariantuivEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLuint -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLuint@.
-  -> m ()
-glVariantuivEXT v1 v2 = liftIO $ dyn193 ptr_glVariantuivEXT v1 v2
-
-{-# NOINLINE ptr_glVariantuivEXT #-}
-ptr_glVariantuivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVariantuivEXT = unsafePerformIO $ getCommand "glVariantuivEXT"
-
--- glVariantusvEXT -------------------------------------------------------------
-
-glVariantusvEXT
-  :: MonadIO m
-  => GLuint -- ^ @id@.
-  -> Ptr GLushort -- ^ @addr@ pointing to @COMPSIZE(id)@ elements of type @GLushort@.
-  -> m ()
-glVariantusvEXT v1 v2 = liftIO $ dyn826 ptr_glVariantusvEXT v1 v2
-
-{-# NOINLINE ptr_glVariantusvEXT #-}
-ptr_glVariantusvEXT :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-ptr_glVariantusvEXT = unsafePerformIO $ getCommand "glVariantusvEXT"
-
--- glVertex2bOES ---------------------------------------------------------------
-
-glVertex2bOES
-  :: MonadIO m
-  => GLbyte -- ^ @x@.
-  -> GLbyte -- ^ @y@.
-  -> m ()
-glVertex2bOES v1 v2 = liftIO $ dyn718 ptr_glVertex2bOES v1 v2
-
-{-# NOINLINE ptr_glVertex2bOES #-}
-ptr_glVertex2bOES :: FunPtr (GLbyte -> GLbyte -> IO ())
-ptr_glVertex2bOES = unsafePerformIO $ getCommand "glVertex2bOES"
-
--- glVertex2bvOES --------------------------------------------------------------
-
-glVertex2bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @2@ elements of type @GLbyte@.
-  -> m ()
-glVertex2bvOES v1 = liftIO $ dyn37 ptr_glVertex2bvOES v1
-
-{-# NOINLINE ptr_glVertex2bvOES #-}
-ptr_glVertex2bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glVertex2bvOES = unsafePerformIO $ getCommand "glVertex2bvOES"
-
--- glVertex2d ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2dv'.
-glVertex2d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> m ()
-glVertex2d v1 v2 = liftIO $ dyn216 ptr_glVertex2d v1 v2
-
-{-# NOINLINE ptr_glVertex2d #-}
-ptr_glVertex2d :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glVertex2d = unsafePerformIO $ getCommand "glVertex2d"
-
--- glVertex2dv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex2dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glVertex2dv v1 = liftIO $ dyn39 ptr_glVertex2dv v1
-
-{-# NOINLINE ptr_glVertex2dv #-}
-ptr_glVertex2dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glVertex2dv = unsafePerformIO $ getCommand "glVertex2dv"
-
--- glVertex2f ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2fv'.
-glVertex2f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> m ()
-glVertex2f v1 v2 = liftIO $ dyn221 ptr_glVertex2f v1 v2
-
-{-# NOINLINE ptr_glVertex2f #-}
-ptr_glVertex2f :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glVertex2f = unsafePerformIO $ getCommand "glVertex2f"
-
--- glVertex2fv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex2fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glVertex2fv v1 = liftIO $ dyn41 ptr_glVertex2fv v1
-
-{-# NOINLINE ptr_glVertex2fv #-}
-ptr_glVertex2fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glVertex2fv = unsafePerformIO $ getCommand "glVertex2fv"
-
--- glVertex2hNV ----------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertex2hvNV'.
-glVertex2hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
-  -> m ()
-glVertex2hNV v1 v2 = liftIO $ dyn723 ptr_glVertex2hNV v1 v2
-
-{-# NOINLINE ptr_glVertex2hNV #-}
-ptr_glVertex2hNV :: FunPtr (GLhalfNV -> GLhalfNV -> IO ())
-ptr_glVertex2hNV = unsafePerformIO $ getCommand "glVertex2hNV"
-
--- glVertex2hvNV ---------------------------------------------------------------
-
-glVertex2hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
-  -> m ()
-glVertex2hvNV v1 = liftIO $ dyn98 ptr_glVertex2hvNV v1
-
-{-# NOINLINE ptr_glVertex2hvNV #-}
-ptr_glVertex2hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glVertex2hvNV = unsafePerformIO $ getCommand "glVertex2hvNV"
-
--- glVertex2i ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2iv'.
-glVertex2i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> m ()
-glVertex2i v1 v2 = liftIO $ dyn265 ptr_glVertex2i v1 v2
-
-{-# NOINLINE ptr_glVertex2i #-}
-ptr_glVertex2i :: FunPtr (GLint -> GLint -> IO ())
-ptr_glVertex2i = unsafePerformIO $ getCommand "glVertex2i"
-
--- glVertex2iv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex2iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glVertex2iv v1 = liftIO $ dyn43 ptr_glVertex2iv v1
-
-{-# NOINLINE ptr_glVertex2iv #-}
-ptr_glVertex2iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glVertex2iv = unsafePerformIO $ getCommand "glVertex2iv"
-
--- glVertex2s ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex2sv'.
-glVertex2s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> m ()
-glVertex2s v1 v2 = liftIO $ dyn665 ptr_glVertex2s v1 v2
-
-{-# NOINLINE ptr_glVertex2s #-}
-ptr_glVertex2s :: FunPtr (GLshort -> GLshort -> IO ())
-ptr_glVertex2s = unsafePerformIO $ getCommand "glVertex2s"
-
--- glVertex2sv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex2sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glVertex2sv v1 = liftIO $ dyn45 ptr_glVertex2sv v1
-
-{-# NOINLINE ptr_glVertex2sv #-}
-ptr_glVertex2sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glVertex2sv = unsafePerformIO $ getCommand "glVertex2sv"
-
--- glVertex2xOES ---------------------------------------------------------------
-
-glVertex2xOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> m ()
-glVertex2xOES v1 = liftIO $ dyn81 ptr_glVertex2xOES v1
-
-{-# NOINLINE ptr_glVertex2xOES #-}
-ptr_glVertex2xOES :: FunPtr (GLfixed -> IO ())
-ptr_glVertex2xOES = unsafePerformIO $ getCommand "glVertex2xOES"
-
--- glVertex2xvOES --------------------------------------------------------------
-
-glVertex2xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @2@ elements of type @GLfixed@.
-  -> m ()
-glVertex2xvOES v1 = liftIO $ dyn106 ptr_glVertex2xvOES v1
-
-{-# NOINLINE ptr_glVertex2xvOES #-}
-ptr_glVertex2xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glVertex2xvOES = unsafePerformIO $ getCommand "glVertex2xvOES"
-
--- glVertex3bOES ---------------------------------------------------------------
-
-glVertex3bOES
-  :: MonadIO m
-  => GLbyte -- ^ @x@.
-  -> GLbyte -- ^ @y@.
-  -> GLbyte -- ^ @z@.
-  -> m ()
-glVertex3bOES v1 v2 v3 = liftIO $ dyn36 ptr_glVertex3bOES v1 v2 v3
-
-{-# NOINLINE ptr_glVertex3bOES #-}
-ptr_glVertex3bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glVertex3bOES = unsafePerformIO $ getCommand "glVertex3bOES"
-
--- glVertex3bvOES --------------------------------------------------------------
-
-glVertex3bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @3@ elements of type @GLbyte@.
-  -> m ()
-glVertex3bvOES v1 = liftIO $ dyn37 ptr_glVertex3bvOES v1
-
-{-# NOINLINE ptr_glVertex3bvOES #-}
-ptr_glVertex3bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glVertex3bvOES = unsafePerformIO $ getCommand "glVertex3bvOES"
-
--- glVertex3d ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3dv'.
-glVertex3d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glVertex3d v1 v2 v3 = liftIO $ dyn38 ptr_glVertex3d v1 v2 v3
-
-{-# NOINLINE ptr_glVertex3d #-}
-ptr_glVertex3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertex3d = unsafePerformIO $ getCommand "glVertex3d"
-
--- glVertex3dv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glVertex3dv v1 = liftIO $ dyn39 ptr_glVertex3dv v1
-
-{-# NOINLINE ptr_glVertex3dv #-}
-ptr_glVertex3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glVertex3dv = unsafePerformIO $ getCommand "glVertex3dv"
-
--- glVertex3f ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3fv'.
-glVertex3f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glVertex3f v1 v2 v3 = liftIO $ dyn40 ptr_glVertex3f v1 v2 v3
-
-{-# NOINLINE ptr_glVertex3f #-}
-ptr_glVertex3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertex3f = unsafePerformIO $ getCommand "glVertex3f"
-
--- glVertex3fv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glVertex3fv v1 = liftIO $ dyn41 ptr_glVertex3fv v1
-
-{-# NOINLINE ptr_glVertex3fv #-}
-ptr_glVertex3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glVertex3fv = unsafePerformIO $ getCommand "glVertex3fv"
-
--- glVertex3hNV ----------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertex3hvNV'.
-glVertex3hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
-  -> m ()
-glVertex3hNV v1 v2 v3 = liftIO $ dyn97 ptr_glVertex3hNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertex3hNV #-}
-ptr_glVertex3hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glVertex3hNV = unsafePerformIO $ getCommand "glVertex3hNV"
-
--- glVertex3hvNV ---------------------------------------------------------------
-
-glVertex3hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
-  -> m ()
-glVertex3hvNV v1 = liftIO $ dyn98 ptr_glVertex3hvNV v1
-
-{-# NOINLINE ptr_glVertex3hvNV #-}
-ptr_glVertex3hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glVertex3hvNV = unsafePerformIO $ getCommand "glVertex3hvNV"
-
--- glVertex3i ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3iv'.
-glVertex3i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> m ()
-glVertex3i v1 v2 v3 = liftIO $ dyn42 ptr_glVertex3i v1 v2 v3
-
-{-# NOINLINE ptr_glVertex3i #-}
-ptr_glVertex3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glVertex3i = unsafePerformIO $ getCommand "glVertex3i"
-
--- glVertex3iv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glVertex3iv v1 = liftIO $ dyn43 ptr_glVertex3iv v1
-
-{-# NOINLINE ptr_glVertex3iv #-}
-ptr_glVertex3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glVertex3iv = unsafePerformIO $ getCommand "glVertex3iv"
-
--- glVertex3s ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex3sv'.
-glVertex3s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> m ()
-glVertex3s v1 v2 v3 = liftIO $ dyn44 ptr_glVertex3s v1 v2 v3
-
-{-# NOINLINE ptr_glVertex3s #-}
-ptr_glVertex3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertex3s = unsafePerformIO $ getCommand "glVertex3s"
-
--- glVertex3sv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glVertex3sv v1 = liftIO $ dyn45 ptr_glVertex3sv v1
-
-{-# NOINLINE ptr_glVertex3sv #-}
-ptr_glVertex3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glVertex3sv = unsafePerformIO $ getCommand "glVertex3sv"
-
--- glVertex3xOES ---------------------------------------------------------------
-
-glVertex3xOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> m ()
-glVertex3xOES v1 v2 = liftIO $ dyn223 ptr_glVertex3xOES v1 v2
-
-{-# NOINLINE ptr_glVertex3xOES #-}
-ptr_glVertex3xOES :: FunPtr (GLfixed -> GLfixed -> IO ())
-ptr_glVertex3xOES = unsafePerformIO $ getCommand "glVertex3xOES"
-
--- glVertex3xvOES --------------------------------------------------------------
-
-glVertex3xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @3@ elements of type @GLfixed@.
-  -> m ()
-glVertex3xvOES v1 = liftIO $ dyn106 ptr_glVertex3xvOES v1
-
-{-# NOINLINE ptr_glVertex3xvOES #-}
-ptr_glVertex3xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glVertex3xvOES = unsafePerformIO $ getCommand "glVertex3xvOES"
-
--- glVertex4bOES ---------------------------------------------------------------
-
-glVertex4bOES
-  :: MonadIO m
-  => GLbyte -- ^ @x@.
-  -> GLbyte -- ^ @y@.
-  -> GLbyte -- ^ @z@.
-  -> GLbyte -- ^ @w@.
-  -> m ()
-glVertex4bOES v1 v2 v3 v4 = liftIO $ dyn107 ptr_glVertex4bOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertex4bOES #-}
-ptr_glVertex4bOES :: FunPtr (GLbyte -> GLbyte -> GLbyte -> GLbyte -> IO ())
-ptr_glVertex4bOES = unsafePerformIO $ getCommand "glVertex4bOES"
-
--- glVertex4bvOES --------------------------------------------------------------
-
-glVertex4bvOES
-  :: MonadIO m
-  => Ptr GLbyte -- ^ @coords@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertex4bvOES v1 = liftIO $ dyn37 ptr_glVertex4bvOES v1
-
-{-# NOINLINE ptr_glVertex4bvOES #-}
-ptr_glVertex4bvOES :: FunPtr (Ptr GLbyte -> IO ())
-ptr_glVertex4bvOES = unsafePerformIO $ getCommand "glVertex4bvOES"
-
--- glVertex4d ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4dv'.
-glVertex4d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> GLdouble -- ^ @w@ of type @CoordD@.
-  -> m ()
-glVertex4d v1 v2 v3 v4 = liftIO $ dyn108 ptr_glVertex4d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertex4d #-}
-ptr_glVertex4d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertex4d = unsafePerformIO $ getCommand "glVertex4d"
-
--- glVertex4dv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex4dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
-  -> m ()
-glVertex4dv v1 = liftIO $ dyn39 ptr_glVertex4dv v1
-
-{-# NOINLINE ptr_glVertex4dv #-}
-ptr_glVertex4dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glVertex4dv = unsafePerformIO $ getCommand "glVertex4dv"
-
--- glVertex4f ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4fv'.
-glVertex4f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> GLfloat -- ^ @w@ of type @CoordF@.
-  -> m ()
-glVertex4f v1 v2 v3 v4 = liftIO $ dyn49 ptr_glVertex4f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertex4f #-}
-ptr_glVertex4f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertex4f = unsafePerformIO $ getCommand "glVertex4f"
-
--- glVertex4fv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex4fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
-  -> m ()
-glVertex4fv v1 = liftIO $ dyn41 ptr_glVertex4fv v1
-
-{-# NOINLINE ptr_glVertex4fv #-}
-ptr_glVertex4fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glVertex4fv = unsafePerformIO $ getCommand "glVertex4fv"
-
--- glVertex4hNV ----------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertex4hvNV'.
-glVertex4hNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @w@ of type @Half16NV@.
-  -> m ()
-glVertex4hNV v1 v2 v3 v4 = liftIO $ dyn111 ptr_glVertex4hNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertex4hNV #-}
-ptr_glVertex4hNV :: FunPtr (GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glVertex4hNV = unsafePerformIO $ getCommand "glVertex4hNV"
-
--- glVertex4hvNV ---------------------------------------------------------------
-
-glVertex4hvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
-  -> m ()
-glVertex4hvNV v1 = liftIO $ dyn98 ptr_glVertex4hvNV v1
-
-{-# NOINLINE ptr_glVertex4hvNV #-}
-ptr_glVertex4hvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glVertex4hvNV = unsafePerformIO $ getCommand "glVertex4hvNV"
-
--- glVertex4i ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4iv'.
-glVertex4i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> GLint -- ^ @w@ of type @CoordI@.
-  -> m ()
-glVertex4i v1 v2 v3 v4 = liftIO $ dyn76 ptr_glVertex4i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertex4i #-}
-ptr_glVertex4i :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertex4i = unsafePerformIO $ getCommand "glVertex4i"
-
--- glVertex4iv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex4iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
-  -> m ()
-glVertex4iv v1 = liftIO $ dyn43 ptr_glVertex4iv v1
-
-{-# NOINLINE ptr_glVertex4iv #-}
-ptr_glVertex4iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glVertex4iv = unsafePerformIO $ getCommand "glVertex4iv"
-
--- glVertex4s ------------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>. The vector equivalent of this command is 'glVertex4sv'.
-glVertex4s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> GLshort -- ^ @w@ of type @CoordS@.
-  -> m ()
-glVertex4s v1 v2 v3 v4 = liftIO $ dyn112 ptr_glVertex4s v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertex4s #-}
-ptr_glVertex4s :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertex4s = unsafePerformIO $ getCommand "glVertex4s"
-
--- glVertex4sv -----------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertex.xml OpenGL 2.x>.
-glVertex4sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glVertex4sv v1 = liftIO $ dyn45 ptr_glVertex4sv v1
-
-{-# NOINLINE ptr_glVertex4sv #-}
-ptr_glVertex4sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glVertex4sv = unsafePerformIO $ getCommand "glVertex4sv"
-
--- glVertex4xOES ---------------------------------------------------------------
-
-glVertex4xOES
-  :: MonadIO m
-  => GLfixed -- ^ @x@.
-  -> GLfixed -- ^ @y@.
-  -> GLfixed -- ^ @z@.
-  -> m ()
-glVertex4xOES v1 v2 v3 = liftIO $ dyn105 ptr_glVertex4xOES v1 v2 v3
-
-{-# NOINLINE ptr_glVertex4xOES #-}
-ptr_glVertex4xOES :: FunPtr (GLfixed -> GLfixed -> GLfixed -> IO ())
-ptr_glVertex4xOES = unsafePerformIO $ getCommand "glVertex4xOES"
-
--- glVertex4xvOES --------------------------------------------------------------
-
-glVertex4xvOES
-  :: MonadIO m
-  => Ptr GLfixed -- ^ @coords@ pointing to @4@ elements of type @GLfixed@.
-  -> m ()
-glVertex4xvOES v1 = liftIO $ dyn106 ptr_glVertex4xvOES v1
-
-{-# NOINLINE ptr_glVertex4xvOES #-}
-ptr_glVertex4xvOES :: FunPtr (Ptr GLfixed -> IO ())
-ptr_glVertex4xvOES = unsafePerformIO $ getCommand "glVertex4xvOES"
-
--- glVertexArrayAttribBinding --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribBinding.xhtml OpenGL 4.x>.
-glVertexArrayAttribBinding
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLuint -- ^ @bindingindex@.
-  -> m ()
-glVertexArrayAttribBinding v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayAttribBinding v1 v2 v3
-
-{-# NOINLINE ptr_glVertexArrayAttribBinding #-}
-ptr_glVertexArrayAttribBinding :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexArrayAttribBinding = unsafePerformIO $ getCommand "glVertexArrayAttribBinding"
-
--- glVertexArrayAttribFormat ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
-glVertexArrayAttribFormat
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@.
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6 = liftIO $ dyn827 ptr_glVertexArrayAttribFormat v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexArrayAttribFormat #-}
-ptr_glVertexArrayAttribFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
-ptr_glVertexArrayAttribFormat = unsafePerformIO $ getCommand "glVertexArrayAttribFormat"
-
--- glVertexArrayAttribIFormat --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
-glVertexArrayAttribIFormat
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexArrayAttribIFormat v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayAttribIFormat v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayAttribIFormat #-}
-ptr_glVertexArrayAttribIFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
-ptr_glVertexArrayAttribIFormat = unsafePerformIO $ getCommand "glVertexArrayAttribIFormat"
-
--- glVertexArrayAttribLFormat --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
-glVertexArrayAttribLFormat
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexArrayAttribLFormat v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayAttribLFormat v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayAttribLFormat #-}
-ptr_glVertexArrayAttribLFormat :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
-ptr_glVertexArrayAttribLFormat = unsafePerformIO $ getCommand "glVertexArrayAttribLFormat"
-
--- glVertexArrayBindVertexBufferEXT --------------------------------------------
-
-glVertexArrayBindVertexBufferEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @bindingindex@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5 = liftIO $ dyn829 ptr_glVertexArrayBindVertexBufferEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayBindVertexBufferEXT #-}
-ptr_glVertexArrayBindVertexBufferEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
-ptr_glVertexArrayBindVertexBufferEXT = unsafePerformIO $ getCommand "glVertexArrayBindVertexBufferEXT"
-
--- glVertexArrayBindingDivisor -------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexBindingDivisor.xhtml OpenGL 4.x>.
-glVertexArrayBindingDivisor
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @bindingindex@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexArrayBindingDivisor v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayBindingDivisor v1 v2 v3
-
-{-# NOINLINE ptr_glVertexArrayBindingDivisor #-}
-ptr_glVertexArrayBindingDivisor :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexArrayBindingDivisor = unsafePerformIO $ getCommand "glVertexArrayBindingDivisor"
-
--- glVertexArrayColorOffsetEXT -------------------------------------------------
-
-glVertexArrayColorOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArrayColorOffsetEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexArrayColorOffsetEXT #-}
-ptr_glVertexArrayColorOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayColorOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayColorOffsetEXT"
-
--- glVertexArrayEdgeFlagOffsetEXT ----------------------------------------------
-
-glVertexArrayEdgeFlagOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4 = liftIO $ dyn831 ptr_glVertexArrayEdgeFlagOffsetEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexArrayEdgeFlagOffsetEXT #-}
-ptr_glVertexArrayEdgeFlagOffsetEXT :: FunPtr (GLuint -> GLuint -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayEdgeFlagOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayEdgeFlagOffsetEXT"
-
--- glVertexArrayElementBuffer --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexArrayElementBuffer.xhtml OpenGL 4.x>.
-glVertexArrayElementBuffer
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> m ()
-glVertexArrayElementBuffer v1 v2 = liftIO $ dyn3 ptr_glVertexArrayElementBuffer v1 v2
-
-{-# NOINLINE ptr_glVertexArrayElementBuffer #-}
-ptr_glVertexArrayElementBuffer :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexArrayElementBuffer = unsafePerformIO $ getCommand "glVertexArrayElementBuffer"
-
--- glVertexArrayFogCoordOffsetEXT ----------------------------------------------
-
-glVertexArrayFogCoordOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @type@ of type [FogCoordinatePointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#FogCoordinatePointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn832 ptr_glVertexArrayFogCoordOffsetEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayFogCoordOffsetEXT #-}
-ptr_glVertexArrayFogCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayFogCoordOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayFogCoordOffsetEXT"
-
--- glVertexArrayIndexOffsetEXT -------------------------------------------------
-
-glVertexArrayIndexOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @type@ of type [IndexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#IndexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn832 ptr_glVertexArrayIndexOffsetEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayIndexOffsetEXT #-}
-ptr_glVertexArrayIndexOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayIndexOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayIndexOffsetEXT"
-
--- glVertexArrayMultiTexCoordOffsetEXT -----------------------------------------
-
-glVertexArrayMultiTexCoordOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @texunit@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#TexCoordPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn833 ptr_glVertexArrayMultiTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glVertexArrayMultiTexCoordOffsetEXT #-}
-ptr_glVertexArrayMultiTexCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayMultiTexCoordOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayMultiTexCoordOffsetEXT"
-
--- glVertexArrayNormalOffsetEXT ------------------------------------------------
-
-glVertexArrayNormalOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLenum -- ^ @type@ of type [NormalPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#NormalPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5 = liftIO $ dyn832 ptr_glVertexArrayNormalOffsetEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayNormalOffsetEXT #-}
-ptr_glVertexArrayNormalOffsetEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayNormalOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayNormalOffsetEXT"
-
--- glVertexArrayParameteriAPPLE ------------------------------------------------
-
-glVertexArrayParameteriAPPLE
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @VertexArrayPNameAPPLE@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glVertexArrayParameteriAPPLE v1 v2 = liftIO $ dyn55 ptr_glVertexArrayParameteriAPPLE v1 v2
-
-{-# NOINLINE ptr_glVertexArrayParameteriAPPLE #-}
-ptr_glVertexArrayParameteriAPPLE :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glVertexArrayParameteriAPPLE = unsafePerformIO $ getCommand "glVertexArrayParameteriAPPLE"
-
--- glVertexArrayRangeAPPLE -----------------------------------------------------
-
-glVertexArrayRangeAPPLE
-  :: MonadIO m
-  => GLsizei -- ^ @length@.
-  -> Ptr a -- ^ @pointer@ pointing to @length@ elements of type @a@.
-  -> m ()
-glVertexArrayRangeAPPLE v1 v2 = liftIO $ dyn259 ptr_glVertexArrayRangeAPPLE v1 v2
-
-{-# NOINLINE ptr_glVertexArrayRangeAPPLE #-}
-ptr_glVertexArrayRangeAPPLE :: FunPtr (GLsizei -> Ptr a -> IO ())
-ptr_glVertexArrayRangeAPPLE = unsafePerformIO $ getCommand "glVertexArrayRangeAPPLE"
-
--- glVertexArrayRangeNV --------------------------------------------------------
-
-glVertexArrayRangeNV
-  :: MonadIO m
-  => GLsizei -- ^ @length@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(length)@ elements of type @a@.
-  -> m ()
-glVertexArrayRangeNV v1 v2 = liftIO $ dyn259 ptr_glVertexArrayRangeNV v1 v2
-
-{-# NOINLINE ptr_glVertexArrayRangeNV #-}
-ptr_glVertexArrayRangeNV :: FunPtr (GLsizei -> Ptr a -> IO ())
-ptr_glVertexArrayRangeNV = unsafePerformIO $ getCommand "glVertexArrayRangeNV"
-
--- glVertexArraySecondaryColorOffsetEXT ----------------------------------------
-
-glVertexArraySecondaryColorOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [ColorPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#ColorPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArraySecondaryColorOffsetEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexArraySecondaryColorOffsetEXT #-}
-ptr_glVertexArraySecondaryColorOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArraySecondaryColorOffsetEXT = unsafePerformIO $ getCommand "glVertexArraySecondaryColorOffsetEXT"
-
--- glVertexArrayTexCoordOffsetEXT ----------------------------------------------
-
-glVertexArrayTexCoordOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [TexCoordPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#TexCoordPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArrayTexCoordOffsetEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexArrayTexCoordOffsetEXT #-}
-ptr_glVertexArrayTexCoordOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayTexCoordOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayTexCoordOffsetEXT"
-
--- glVertexArrayVertexAttribBindingEXT -----------------------------------------
-
-glVertexArrayVertexAttribBindingEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLuint -- ^ @bindingindex@.
-  -> m ()
-glVertexArrayVertexAttribBindingEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayVertexAttribBindingEXT v1 v2 v3
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribBindingEXT #-}
-ptr_glVertexArrayVertexAttribBindingEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexArrayVertexAttribBindingEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribBindingEXT"
-
--- glVertexArrayVertexAttribDivisorEXT -----------------------------------------
-
-glVertexArrayVertexAttribDivisorEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @index@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexArrayVertexAttribDivisorEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayVertexAttribDivisorEXT v1 v2 v3
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribDivisorEXT #-}
-ptr_glVertexArrayVertexAttribDivisorEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexArrayVertexAttribDivisorEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribDivisorEXT"
-
--- glVertexArrayVertexAttribFormatEXT ------------------------------------------
-
-glVertexArrayVertexAttribFormatEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn827 ptr_glVertexArrayVertexAttribFormatEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribFormatEXT #-}
-ptr_glVertexArrayVertexAttribFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
-ptr_glVertexArrayVertexAttribFormatEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribFormatEXT"
-
--- glVertexArrayVertexAttribIFormatEXT -----------------------------------------
-
-glVertexArrayVertexAttribIFormatEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayVertexAttribIFormatEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribIFormatEXT #-}
-ptr_glVertexArrayVertexAttribIFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
-ptr_glVertexArrayVertexAttribIFormatEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribIFormatEXT"
-
--- glVertexArrayVertexAttribIOffsetEXT -----------------------------------------
-
-glVertexArrayVertexAttribIOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn834 ptr_glVertexArrayVertexAttribIOffsetEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribIOffsetEXT #-}
-ptr_glVertexArrayVertexAttribIOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayVertexAttribIOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribIOffsetEXT"
-
--- glVertexArrayVertexAttribLFormatEXT -----------------------------------------
-
-glVertexArrayVertexAttribLFormatEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5 = liftIO $ dyn828 ptr_glVertexArrayVertexAttribLFormatEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribLFormatEXT #-}
-ptr_glVertexArrayVertexAttribLFormatEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLuint -> IO ())
-ptr_glVertexArrayVertexAttribLFormatEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribLFormatEXT"
-
--- glVertexArrayVertexAttribLOffsetEXT -----------------------------------------
-
-glVertexArrayVertexAttribLOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@ of type @BufferOffset@.
-  -> m ()
-glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn834 ptr_glVertexArrayVertexAttribLOffsetEXT v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribLOffsetEXT #-}
-ptr_glVertexArrayVertexAttribLOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayVertexAttribLOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribLOffsetEXT"
-
--- glVertexArrayVertexAttribOffsetEXT ------------------------------------------
-
-glVertexArrayVertexAttribOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
-  -> GLboolean -- ^ @normalized@.
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8 = liftIO $ dyn835 ptr_glVertexArrayVertexAttribOffsetEXT v1 v2 v3 v4 v5 v6 v7 v8
-
-{-# NOINLINE ptr_glVertexArrayVertexAttribOffsetEXT #-}
-ptr_glVertexArrayVertexAttribOffsetEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayVertexAttribOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexAttribOffsetEXT"
-
--- glVertexArrayVertexBindingDivisorEXT ----------------------------------------
-
-glVertexArrayVertexBindingDivisorEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @bindingindex@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexArrayVertexBindingDivisorEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexArrayVertexBindingDivisorEXT v1 v2 v3
-
-{-# NOINLINE ptr_glVertexArrayVertexBindingDivisorEXT #-}
-ptr_glVertexArrayVertexBindingDivisorEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexArrayVertexBindingDivisorEXT = unsafePerformIO $ getCommand "glVertexArrayVertexBindingDivisorEXT"
-
--- glVertexArrayVertexBuffer ---------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffer.xhtml OpenGL 4.x>.
-glVertexArrayVertexBuffer
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @bindingindex@.
-  -> GLuint -- ^ @buffer@.
-  -> GLintptr -- ^ @offset@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glVertexArrayVertexBuffer v1 v2 v3 v4 v5 = liftIO $ dyn829 ptr_glVertexArrayVertexBuffer v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexArrayVertexBuffer #-}
-ptr_glVertexArrayVertexBuffer :: FunPtr (GLuint -> GLuint -> GLuint -> GLintptr -> GLsizei -> IO ())
-ptr_glVertexArrayVertexBuffer = unsafePerformIO $ getCommand "glVertexArrayVertexBuffer"
-
--- glVertexArrayVertexBuffers --------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glBindVertexBuffers.xhtml OpenGL 4.x>.
-glVertexArrayVertexBuffers
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLuint -- ^ @buffers@.
-  -> Ptr GLintptr -- ^ @offsets@.
-  -> Ptr GLsizei -- ^ @strides@.
-  -> m ()
-glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6 = liftIO $ dyn836 ptr_glVertexArrayVertexBuffers v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexArrayVertexBuffers #-}
-ptr_glVertexArrayVertexBuffers :: FunPtr (GLuint -> GLuint -> GLsizei -> Ptr GLuint -> Ptr GLintptr -> Ptr GLsizei -> IO ())
-ptr_glVertexArrayVertexBuffers = unsafePerformIO $ getCommand "glVertexArrayVertexBuffers"
-
--- glVertexArrayVertexOffsetEXT ------------------------------------------------
-
-glVertexArrayVertexOffsetEXT
-  :: MonadIO m
-  => GLuint -- ^ @vaobj@.
-  -> GLuint -- ^ @buffer@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#VertexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLintptr -- ^ @offset@.
-  -> m ()
-glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn830 ptr_glVertexArrayVertexOffsetEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexArrayVertexOffsetEXT #-}
-ptr_glVertexArrayVertexOffsetEXT :: FunPtr (GLuint -> GLuint -> GLint -> GLenum -> GLsizei -> GLintptr -> IO ())
-ptr_glVertexArrayVertexOffsetEXT = unsafePerformIO $ getCommand "glVertexArrayVertexOffsetEXT"
-
--- glVertexAttrib1d ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib1dv'.
-glVertexAttrib1d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glVertexAttrib1d v1 v2 = liftIO $ dyn837 ptr_glVertexAttrib1d v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1d #-}
-ptr_glVertexAttrib1d :: FunPtr (GLuint -> GLdouble -> IO ())
-ptr_glVertexAttrib1d = unsafePerformIO $ getCommand "glVertexAttrib1d"
-
--- glVertexAttrib1dARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib1dvARB'. This command is an alias for 'glVertexAttrib1d'.
-glVertexAttrib1dARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glVertexAttrib1dARB v1 v2 = liftIO $ dyn837 ptr_glVertexAttrib1dARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1dARB #-}
-ptr_glVertexAttrib1dARB :: FunPtr (GLuint -> GLdouble -> IO ())
-ptr_glVertexAttrib1dARB = unsafePerformIO $ getCommand "glVertexAttrib1dARB"
-
--- glVertexAttrib1dNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib1dvNV'. This command is an alias for 'glVertexAttrib1d'.
-glVertexAttrib1dNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glVertexAttrib1dNV v1 v2 = liftIO $ dyn837 ptr_glVertexAttrib1dNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1dNV #-}
-ptr_glVertexAttrib1dNV :: FunPtr (GLuint -> GLdouble -> IO ())
-ptr_glVertexAttrib1dNV = unsafePerformIO $ getCommand "glVertexAttrib1dNV"
-
--- glVertexAttrib1dv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib1dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glVertexAttrib1dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib1dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1dv #-}
-ptr_glVertexAttrib1dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib1dv = unsafePerformIO $ getCommand "glVertexAttrib1dv"
-
--- glVertexAttrib1dvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib1dv'.
-glVertexAttrib1dvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glVertexAttrib1dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib1dvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1dvARB #-}
-ptr_glVertexAttrib1dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib1dvARB = unsafePerformIO $ getCommand "glVertexAttrib1dvARB"
-
--- glVertexAttrib1dvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib1dv'.
-glVertexAttrib1dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glVertexAttrib1dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib1dvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1dvNV #-}
-ptr_glVertexAttrib1dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib1dvNV = unsafePerformIO $ getCommand "glVertexAttrib1dvNV"
-
--- glVertexAttrib1f ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib1fv'.
-glVertexAttrib1f
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> m ()
-glVertexAttrib1f v1 v2 = liftIO $ dyn838 ptr_glVertexAttrib1f v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1f #-}
-ptr_glVertexAttrib1f :: FunPtr (GLuint -> GLfloat -> IO ())
-ptr_glVertexAttrib1f = unsafePerformIO $ getCommand "glVertexAttrib1f"
-
--- glVertexAttrib1fARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib1fvARB'. This command is an alias for 'glVertexAttrib1f'.
-glVertexAttrib1fARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> m ()
-glVertexAttrib1fARB v1 v2 = liftIO $ dyn838 ptr_glVertexAttrib1fARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1fARB #-}
-ptr_glVertexAttrib1fARB :: FunPtr (GLuint -> GLfloat -> IO ())
-ptr_glVertexAttrib1fARB = unsafePerformIO $ getCommand "glVertexAttrib1fARB"
-
--- glVertexAttrib1fNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib1fvNV'. This command is an alias for 'glVertexAttrib1f'.
-glVertexAttrib1fNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> m ()
-glVertexAttrib1fNV v1 v2 = liftIO $ dyn838 ptr_glVertexAttrib1fNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1fNV #-}
-ptr_glVertexAttrib1fNV :: FunPtr (GLuint -> GLfloat -> IO ())
-ptr_glVertexAttrib1fNV = unsafePerformIO $ getCommand "glVertexAttrib1fNV"
-
--- glVertexAttrib1fv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib1fv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glVertexAttrib1fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib1fv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1fv #-}
-ptr_glVertexAttrib1fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib1fv = unsafePerformIO $ getCommand "glVertexAttrib1fv"
-
--- glVertexAttrib1fvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib1fv'.
-glVertexAttrib1fvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glVertexAttrib1fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib1fvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1fvARB #-}
-ptr_glVertexAttrib1fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib1fvARB = unsafePerformIO $ getCommand "glVertexAttrib1fvARB"
-
--- glVertexAttrib1fvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib1fv'.
-glVertexAttrib1fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glVertexAttrib1fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib1fvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1fvNV #-}
-ptr_glVertexAttrib1fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib1fvNV = unsafePerformIO $ getCommand "glVertexAttrib1fvNV"
-
--- glVertexAttrib1hNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib1hvNV'.
-glVertexAttrib1hNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> m ()
-glVertexAttrib1hNV v1 v2 = liftIO $ dyn839 ptr_glVertexAttrib1hNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1hNV #-}
-ptr_glVertexAttrib1hNV :: FunPtr (GLuint -> GLhalfNV -> IO ())
-ptr_glVertexAttrib1hNV = unsafePerformIO $ getCommand "glVertexAttrib1hNV"
-
--- glVertexAttrib1hvNV ---------------------------------------------------------
-
-glVertexAttrib1hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @1@ element of type @Half16NV@.
-  -> m ()
-glVertexAttrib1hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib1hvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1hvNV #-}
-ptr_glVertexAttrib1hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttrib1hvNV = unsafePerformIO $ getCommand "glVertexAttrib1hvNV"
-
--- glVertexAttrib1s ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib1sv'.
-glVertexAttrib1s
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> m ()
-glVertexAttrib1s v1 v2 = liftIO $ dyn841 ptr_glVertexAttrib1s v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1s #-}
-ptr_glVertexAttrib1s :: FunPtr (GLuint -> GLshort -> IO ())
-ptr_glVertexAttrib1s = unsafePerformIO $ getCommand "glVertexAttrib1s"
-
--- glVertexAttrib1sARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib1svARB'. This command is an alias for 'glVertexAttrib1s'.
-glVertexAttrib1sARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> m ()
-glVertexAttrib1sARB v1 v2 = liftIO $ dyn841 ptr_glVertexAttrib1sARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1sARB #-}
-ptr_glVertexAttrib1sARB :: FunPtr (GLuint -> GLshort -> IO ())
-ptr_glVertexAttrib1sARB = unsafePerformIO $ getCommand "glVertexAttrib1sARB"
-
--- glVertexAttrib1sNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib1svNV'. This command is an alias for 'glVertexAttrib1s'.
-glVertexAttrib1sNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> m ()
-glVertexAttrib1sNV v1 v2 = liftIO $ dyn841 ptr_glVertexAttrib1sNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1sNV #-}
-ptr_glVertexAttrib1sNV :: FunPtr (GLuint -> GLshort -> IO ())
-ptr_glVertexAttrib1sNV = unsafePerformIO $ getCommand "glVertexAttrib1sNV"
-
--- glVertexAttrib1sv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib1sv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
-  -> m ()
-glVertexAttrib1sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib1sv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1sv #-}
-ptr_glVertexAttrib1sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib1sv = unsafePerformIO $ getCommand "glVertexAttrib1sv"
-
--- glVertexAttrib1svARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib1sv'.
-glVertexAttrib1svARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
-  -> m ()
-glVertexAttrib1svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib1svARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1svARB #-}
-ptr_glVertexAttrib1svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib1svARB = unsafePerformIO $ getCommand "glVertexAttrib1svARB"
-
--- glVertexAttrib1svNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib1sv'.
-glVertexAttrib1svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @1@ element of type @GLshort@.
-  -> m ()
-glVertexAttrib1svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib1svNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib1svNV #-}
-ptr_glVertexAttrib1svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib1svNV = unsafePerformIO $ getCommand "glVertexAttrib1svNV"
-
--- glVertexAttrib2d ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2dv'.
-glVertexAttrib2d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glVertexAttrib2d v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttrib2d v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2d #-}
-ptr_glVertexAttrib2d :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib2d = unsafePerformIO $ getCommand "glVertexAttrib2d"
-
--- glVertexAttrib2dARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2dvARB'. This command is an alias for 'glVertexAttrib2d'.
-glVertexAttrib2dARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glVertexAttrib2dARB v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttrib2dARB v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2dARB #-}
-ptr_glVertexAttrib2dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib2dARB = unsafePerformIO $ getCommand "glVertexAttrib2dARB"
-
--- glVertexAttrib2dNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2dvNV'. This command is an alias for 'glVertexAttrib2d'.
-glVertexAttrib2dNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glVertexAttrib2dNV v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttrib2dNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2dNV #-}
-ptr_glVertexAttrib2dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib2dNV = unsafePerformIO $ getCommand "glVertexAttrib2dNV"
-
--- glVertexAttrib2dv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib2dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib2dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib2dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2dv #-}
-ptr_glVertexAttrib2dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib2dv = unsafePerformIO $ getCommand "glVertexAttrib2dv"
-
--- glVertexAttrib2dvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2dv'.
-glVertexAttrib2dvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib2dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib2dvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2dvARB #-}
-ptr_glVertexAttrib2dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib2dvARB = unsafePerformIO $ getCommand "glVertexAttrib2dvARB"
-
--- glVertexAttrib2dvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2dv'.
-glVertexAttrib2dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib2dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib2dvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2dvNV #-}
-ptr_glVertexAttrib2dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib2dvNV = unsafePerformIO $ getCommand "glVertexAttrib2dvNV"
-
--- glVertexAttrib2f ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2fv'.
-glVertexAttrib2f
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> m ()
-glVertexAttrib2f v1 v2 v3 = liftIO $ dyn220 ptr_glVertexAttrib2f v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2f #-}
-ptr_glVertexAttrib2f :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib2f = unsafePerformIO $ getCommand "glVertexAttrib2f"
-
--- glVertexAttrib2fARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2fvARB'. This command is an alias for 'glVertexAttrib2f'.
-glVertexAttrib2fARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> m ()
-glVertexAttrib2fARB v1 v2 v3 = liftIO $ dyn220 ptr_glVertexAttrib2fARB v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2fARB #-}
-ptr_glVertexAttrib2fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib2fARB = unsafePerformIO $ getCommand "glVertexAttrib2fARB"
-
--- glVertexAttrib2fNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2fvNV'. This command is an alias for 'glVertexAttrib2f'.
-glVertexAttrib2fNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> m ()
-glVertexAttrib2fNV v1 v2 v3 = liftIO $ dyn220 ptr_glVertexAttrib2fNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2fNV #-}
-ptr_glVertexAttrib2fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib2fNV = unsafePerformIO $ getCommand "glVertexAttrib2fNV"
-
--- glVertexAttrib2fv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib2fv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib2fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib2fv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2fv #-}
-ptr_glVertexAttrib2fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib2fv = unsafePerformIO $ getCommand "glVertexAttrib2fv"
-
--- glVertexAttrib2fvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2fv'.
-glVertexAttrib2fvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib2fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib2fvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2fvARB #-}
-ptr_glVertexAttrib2fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib2fvARB = unsafePerformIO $ getCommand "glVertexAttrib2fvARB"
-
--- glVertexAttrib2fvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2fv'.
-glVertexAttrib2fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib2fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib2fvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2fvNV #-}
-ptr_glVertexAttrib2fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib2fvNV = unsafePerformIO $ getCommand "glVertexAttrib2fvNV"
-
--- glVertexAttrib2hNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2hvNV'.
-glVertexAttrib2hNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
-  -> m ()
-glVertexAttrib2hNV v1 v2 v3 = liftIO $ dyn842 ptr_glVertexAttrib2hNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2hNV #-}
-ptr_glVertexAttrib2hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glVertexAttrib2hNV = unsafePerformIO $ getCommand "glVertexAttrib2hNV"
-
--- glVertexAttrib2hvNV ---------------------------------------------------------
-
-glVertexAttrib2hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @2@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttrib2hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib2hvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2hvNV #-}
-ptr_glVertexAttrib2hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttrib2hvNV = unsafePerformIO $ getCommand "glVertexAttrib2hvNV"
-
--- glVertexAttrib2s ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib2sv'.
-glVertexAttrib2s
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> m ()
-glVertexAttrib2s v1 v2 v3 = liftIO $ dyn843 ptr_glVertexAttrib2s v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2s #-}
-ptr_glVertexAttrib2s :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib2s = unsafePerformIO $ getCommand "glVertexAttrib2s"
-
--- glVertexAttrib2sARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2svARB'. This command is an alias for 'glVertexAttrib2s'.
-glVertexAttrib2sARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> m ()
-glVertexAttrib2sARB v1 v2 v3 = liftIO $ dyn843 ptr_glVertexAttrib2sARB v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2sARB #-}
-ptr_glVertexAttrib2sARB :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib2sARB = unsafePerformIO $ getCommand "glVertexAttrib2sARB"
-
--- glVertexAttrib2sNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib2svNV'. This command is an alias for 'glVertexAttrib2s'.
-glVertexAttrib2sNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> m ()
-glVertexAttrib2sNV v1 v2 v3 = liftIO $ dyn843 ptr_glVertexAttrib2sNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttrib2sNV #-}
-ptr_glVertexAttrib2sNV :: FunPtr (GLuint -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib2sNV = unsafePerformIO $ getCommand "glVertexAttrib2sNV"
-
--- glVertexAttrib2sv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib2sv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib2sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib2sv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2sv #-}
-ptr_glVertexAttrib2sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib2sv = unsafePerformIO $ getCommand "glVertexAttrib2sv"
-
--- glVertexAttrib2svARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2sv'.
-glVertexAttrib2svARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib2svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib2svARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2svARB #-}
-ptr_glVertexAttrib2svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib2svARB = unsafePerformIO $ getCommand "glVertexAttrib2svARB"
-
--- glVertexAttrib2svNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib2sv'.
-glVertexAttrib2svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib2svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib2svNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib2svNV #-}
-ptr_glVertexAttrib2svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib2svNV = unsafePerformIO $ getCommand "glVertexAttrib2svNV"
-
--- glVertexAttrib3d ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3dv'.
-glVertexAttrib3d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttrib3d v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttrib3d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3d #-}
-ptr_glVertexAttrib3d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib3d = unsafePerformIO $ getCommand "glVertexAttrib3d"
-
--- glVertexAttrib3dARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3dvARB'. This command is an alias for 'glVertexAttrib3d'.
-glVertexAttrib3dARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttrib3dARB v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttrib3dARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3dARB #-}
-ptr_glVertexAttrib3dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib3dARB = unsafePerformIO $ getCommand "glVertexAttrib3dARB"
-
--- glVertexAttrib3dNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3dvNV'. This command is an alias for 'glVertexAttrib3d'.
-glVertexAttrib3dNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttrib3dNV v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttrib3dNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3dNV #-}
-ptr_glVertexAttrib3dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib3dNV = unsafePerformIO $ getCommand "glVertexAttrib3dNV"
-
--- glVertexAttrib3dv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib3dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib3dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib3dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3dv #-}
-ptr_glVertexAttrib3dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib3dv = unsafePerformIO $ getCommand "glVertexAttrib3dv"
-
--- glVertexAttrib3dvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib3dv'.
-glVertexAttrib3dvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib3dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib3dvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3dvARB #-}
-ptr_glVertexAttrib3dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib3dvARB = unsafePerformIO $ getCommand "glVertexAttrib3dvARB"
-
--- glVertexAttrib3dvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib3dv'.
-glVertexAttrib3dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib3dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib3dvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3dvNV #-}
-ptr_glVertexAttrib3dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib3dvNV = unsafePerformIO $ getCommand "glVertexAttrib3dvNV"
-
--- glVertexAttrib3f ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3fv'.
-glVertexAttrib3f
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glVertexAttrib3f v1 v2 v3 v4 = liftIO $ dyn688 ptr_glVertexAttrib3f v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3f #-}
-ptr_glVertexAttrib3f :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib3f = unsafePerformIO $ getCommand "glVertexAttrib3f"
-
--- glVertexAttrib3fARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3fvARB'. This command is an alias for 'glVertexAttrib3f'.
-glVertexAttrib3fARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glVertexAttrib3fARB v1 v2 v3 v4 = liftIO $ dyn688 ptr_glVertexAttrib3fARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3fARB #-}
-ptr_glVertexAttrib3fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib3fARB = unsafePerformIO $ getCommand "glVertexAttrib3fARB"
-
--- glVertexAttrib3fNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3fvNV'. This command is an alias for 'glVertexAttrib3f'.
-glVertexAttrib3fNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glVertexAttrib3fNV v1 v2 v3 v4 = liftIO $ dyn688 ptr_glVertexAttrib3fNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3fNV #-}
-ptr_glVertexAttrib3fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib3fNV = unsafePerformIO $ getCommand "glVertexAttrib3fNV"
-
--- glVertexAttrib3fv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib3fv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib3fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib3fv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3fv #-}
-ptr_glVertexAttrib3fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib3fv = unsafePerformIO $ getCommand "glVertexAttrib3fv"
-
--- glVertexAttrib3fvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib3fv'.
-glVertexAttrib3fvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib3fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib3fvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3fvARB #-}
-ptr_glVertexAttrib3fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib3fvARB = unsafePerformIO $ getCommand "glVertexAttrib3fvARB"
-
--- glVertexAttrib3fvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib3fv'.
-glVertexAttrib3fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib3fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib3fvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3fvNV #-}
-ptr_glVertexAttrib3fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib3fvNV = unsafePerformIO $ getCommand "glVertexAttrib3fvNV"
-
--- glVertexAttrib3hNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3hvNV'.
-glVertexAttrib3hNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
-  -> m ()
-glVertexAttrib3hNV v1 v2 v3 v4 = liftIO $ dyn845 ptr_glVertexAttrib3hNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3hNV #-}
-ptr_glVertexAttrib3hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glVertexAttrib3hNV = unsafePerformIO $ getCommand "glVertexAttrib3hNV"
-
--- glVertexAttrib3hvNV ---------------------------------------------------------
-
-glVertexAttrib3hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @3@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttrib3hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib3hvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3hvNV #-}
-ptr_glVertexAttrib3hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttrib3hvNV = unsafePerformIO $ getCommand "glVertexAttrib3hvNV"
-
--- glVertexAttrib3s ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib3sv'.
-glVertexAttrib3s
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> m ()
-glVertexAttrib3s v1 v2 v3 v4 = liftIO $ dyn846 ptr_glVertexAttrib3s v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3s #-}
-ptr_glVertexAttrib3s :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib3s = unsafePerformIO $ getCommand "glVertexAttrib3s"
-
--- glVertexAttrib3sARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3svARB'. This command is an alias for 'glVertexAttrib3s'.
-glVertexAttrib3sARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> m ()
-glVertexAttrib3sARB v1 v2 v3 v4 = liftIO $ dyn846 ptr_glVertexAttrib3sARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3sARB #-}
-ptr_glVertexAttrib3sARB :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib3sARB = unsafePerformIO $ getCommand "glVertexAttrib3sARB"
-
--- glVertexAttrib3sNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib3svNV'. This command is an alias for 'glVertexAttrib3s'.
-glVertexAttrib3sNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> m ()
-glVertexAttrib3sNV v1 v2 v3 v4 = liftIO $ dyn846 ptr_glVertexAttrib3sNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttrib3sNV #-}
-ptr_glVertexAttrib3sNV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib3sNV = unsafePerformIO $ getCommand "glVertexAttrib3sNV"
-
--- glVertexAttrib3sv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib3sv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib3sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib3sv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3sv #-}
-ptr_glVertexAttrib3sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib3sv = unsafePerformIO $ getCommand "glVertexAttrib3sv"
-
--- glVertexAttrib3svARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib3sv'.
-glVertexAttrib3svARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib3svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib3svARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3svARB #-}
-ptr_glVertexAttrib3svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib3svARB = unsafePerformIO $ getCommand "glVertexAttrib3svARB"
-
--- glVertexAttrib3svNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib3sv'.
-glVertexAttrib3svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib3svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib3svNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib3svNV #-}
-ptr_glVertexAttrib3svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib3svNV = unsafePerformIO $ getCommand "glVertexAttrib3svNV"
-
--- glVertexAttrib4Nbv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4Nbv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttrib4Nbv v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4Nbv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4Nbv #-}
-ptr_glVertexAttrib4Nbv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttrib4Nbv = unsafePerformIO $ getCommand "glVertexAttrib4Nbv"
-
--- glVertexAttrib4NbvARB -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Nbv'.
-glVertexAttrib4NbvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttrib4NbvARB v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4NbvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4NbvARB #-}
-ptr_glVertexAttrib4NbvARB :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttrib4NbvARB = unsafePerformIO $ getCommand "glVertexAttrib4NbvARB"
-
--- glVertexAttrib4Niv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4Niv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glVertexAttrib4Niv v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4Niv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4Niv #-}
-ptr_glVertexAttrib4Niv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttrib4Niv = unsafePerformIO $ getCommand "glVertexAttrib4Niv"
-
--- glVertexAttrib4NivARB -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Niv'.
-glVertexAttrib4NivARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glVertexAttrib4NivARB v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4NivARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4NivARB #-}
-ptr_glVertexAttrib4NivARB :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttrib4NivARB = unsafePerformIO $ getCommand "glVertexAttrib4NivARB"
-
--- glVertexAttrib4Nsv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4Nsv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib4Nsv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4Nsv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4Nsv #-}
-ptr_glVertexAttrib4Nsv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib4Nsv = unsafePerformIO $ getCommand "glVertexAttrib4Nsv"
-
--- glVertexAttrib4NsvARB -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Nsv'.
-glVertexAttrib4NsvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib4NsvARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4NsvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4NsvARB #-}
-ptr_glVertexAttrib4NsvARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib4NsvARB = unsafePerformIO $ getCommand "glVertexAttrib4NsvARB"
-
--- glVertexAttrib4Nub ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4Nub
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLubyte -- ^ @x@.
-  -> GLubyte -- ^ @y@.
-  -> GLubyte -- ^ @z@.
-  -> GLubyte -- ^ @w@.
-  -> m ()
-glVertexAttrib4Nub v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glVertexAttrib4Nub v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4Nub #-}
-ptr_glVertexAttrib4Nub :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glVertexAttrib4Nub = unsafePerformIO $ getCommand "glVertexAttrib4Nub"
-
--- glVertexAttrib4NubARB -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Nub'.
-glVertexAttrib4NubARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLubyte -- ^ @x@.
-  -> GLubyte -- ^ @y@.
-  -> GLubyte -- ^ @z@.
-  -> GLubyte -- ^ @w@.
-  -> m ()
-glVertexAttrib4NubARB v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glVertexAttrib4NubARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4NubARB #-}
-ptr_glVertexAttrib4NubARB :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glVertexAttrib4NubARB = unsafePerformIO $ getCommand "glVertexAttrib4NubARB"
-
--- glVertexAttrib4Nubv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4Nubv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
-  -> m ()
-glVertexAttrib4Nubv v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4Nubv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4Nubv #-}
-ptr_glVertexAttrib4Nubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVertexAttrib4Nubv = unsafePerformIO $ getCommand "glVertexAttrib4Nubv"
-
--- glVertexAttrib4NubvARB ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Nubv'.
-glVertexAttrib4NubvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
-  -> m ()
-glVertexAttrib4NubvARB v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4NubvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4NubvARB #-}
-ptr_glVertexAttrib4NubvARB :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVertexAttrib4NubvARB = unsafePerformIO $ getCommand "glVertexAttrib4NubvARB"
-
--- glVertexAttrib4Nuiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4Nuiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glVertexAttrib4Nuiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4Nuiv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4Nuiv #-}
-ptr_glVertexAttrib4Nuiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttrib4Nuiv = unsafePerformIO $ getCommand "glVertexAttrib4Nuiv"
-
--- glVertexAttrib4NuivARB ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Nuiv'.
-glVertexAttrib4NuivARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glVertexAttrib4NuivARB v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4NuivARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4NuivARB #-}
-ptr_glVertexAttrib4NuivARB :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttrib4NuivARB = unsafePerformIO $ getCommand "glVertexAttrib4NuivARB"
-
--- glVertexAttrib4Nusv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4Nusv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
-  -> m ()
-glVertexAttrib4Nusv v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4Nusv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4Nusv #-}
-ptr_glVertexAttrib4Nusv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-ptr_glVertexAttrib4Nusv = unsafePerformIO $ getCommand "glVertexAttrib4Nusv"
-
--- glVertexAttrib4NusvARB ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Nusv'.
-glVertexAttrib4NusvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
-  -> m ()
-glVertexAttrib4NusvARB v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4NusvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4NusvARB #-}
-ptr_glVertexAttrib4NusvARB :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-ptr_glVertexAttrib4NusvARB = unsafePerformIO $ getCommand "glVertexAttrib4NusvARB"
-
--- glVertexAttrib4bv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4bv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttrib4bv v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4bv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4bv #-}
-ptr_glVertexAttrib4bv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttrib4bv = unsafePerformIO $ getCommand "glVertexAttrib4bv"
-
--- glVertexAttrib4bvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4bv'.
-glVertexAttrib4bvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttrib4bvARB v1 v2 = liftIO $ dyn823 ptr_glVertexAttrib4bvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4bvARB #-}
-ptr_glVertexAttrib4bvARB :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttrib4bvARB = unsafePerformIO $ getCommand "glVertexAttrib4bvARB"
-
--- glVertexAttrib4d ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib4dv'.
-glVertexAttrib4d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glVertexAttrib4d v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttrib4d v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4d #-}
-ptr_glVertexAttrib4d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib4d = unsafePerformIO $ getCommand "glVertexAttrib4d"
-
--- glVertexAttrib4dARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4dvARB'. This command is an alias for 'glVertexAttrib4d'.
-glVertexAttrib4dARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glVertexAttrib4dARB v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttrib4dARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4dARB #-}
-ptr_glVertexAttrib4dARB :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib4dARB = unsafePerformIO $ getCommand "glVertexAttrib4dARB"
-
--- glVertexAttrib4dNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4dvNV'. This command is an alias for 'glVertexAttrib4d'.
-glVertexAttrib4dNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glVertexAttrib4dNV v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttrib4dNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4dNV #-}
-ptr_glVertexAttrib4dNV :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttrib4dNV = unsafePerformIO $ getCommand "glVertexAttrib4dNV"
-
--- glVertexAttrib4dv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib4dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib4dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4dv #-}
-ptr_glVertexAttrib4dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib4dv = unsafePerformIO $ getCommand "glVertexAttrib4dv"
-
--- glVertexAttrib4dvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4dv'.
-glVertexAttrib4dvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib4dvARB v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib4dvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4dvARB #-}
-ptr_glVertexAttrib4dvARB :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib4dvARB = unsafePerformIO $ getCommand "glVertexAttrib4dvARB"
-
--- glVertexAttrib4dvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4dv'.
-glVertexAttrib4dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttrib4dvNV v1 v2 = liftIO $ dyn824 ptr_glVertexAttrib4dvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4dvNV #-}
-ptr_glVertexAttrib4dvNV :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttrib4dvNV = unsafePerformIO $ getCommand "glVertexAttrib4dvNV"
-
--- glVertexAttrib4f ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib4fv'.
-glVertexAttrib4f
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glVertexAttrib4f v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glVertexAttrib4f v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4f #-}
-ptr_glVertexAttrib4f :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib4f = unsafePerformIO $ getCommand "glVertexAttrib4f"
-
--- glVertexAttrib4fARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4fvARB'. This command is an alias for 'glVertexAttrib4f'.
-glVertexAttrib4fARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glVertexAttrib4fARB v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glVertexAttrib4fARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4fARB #-}
-ptr_glVertexAttrib4fARB :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib4fARB = unsafePerformIO $ getCommand "glVertexAttrib4fARB"
-
--- glVertexAttrib4fNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4fvNV'. This command is an alias for 'glVertexAttrib4f'.
-glVertexAttrib4fNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glVertexAttrib4fNV v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glVertexAttrib4fNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4fNV #-}
-ptr_glVertexAttrib4fNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexAttrib4fNV = unsafePerformIO $ getCommand "glVertexAttrib4fNV"
-
--- glVertexAttrib4fv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4fv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib4fv v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib4fv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4fv #-}
-ptr_glVertexAttrib4fv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib4fv = unsafePerformIO $ getCommand "glVertexAttrib4fv"
-
--- glVertexAttrib4fvARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4fv'.
-glVertexAttrib4fvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib4fvARB v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib4fvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4fvARB #-}
-ptr_glVertexAttrib4fvARB :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib4fvARB = unsafePerformIO $ getCommand "glVertexAttrib4fvARB"
-
--- glVertexAttrib4fvNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4fv'.
-glVertexAttrib4fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttrib4fvNV v1 v2 = liftIO $ dyn373 ptr_glVertexAttrib4fvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4fvNV #-}
-ptr_glVertexAttrib4fvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glVertexAttrib4fvNV = unsafePerformIO $ getCommand "glVertexAttrib4fvNV"
-
--- glVertexAttrib4hNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4hvNV'.
-glVertexAttrib4hNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLhalfNV -- ^ @x@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @y@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @z@ of type @Half16NV@.
-  -> GLhalfNV -- ^ @w@ of type @Half16NV@.
-  -> m ()
-glVertexAttrib4hNV v1 v2 v3 v4 v5 = liftIO $ dyn850 ptr_glVertexAttrib4hNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4hNV #-}
-ptr_glVertexAttrib4hNV :: FunPtr (GLuint -> GLhalfNV -> GLhalfNV -> GLhalfNV -> GLhalfNV -> IO ())
-ptr_glVertexAttrib4hNV = unsafePerformIO $ getCommand "glVertexAttrib4hNV"
-
--- glVertexAttrib4hvNV ---------------------------------------------------------
-
-glVertexAttrib4hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @4@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttrib4hvNV v1 v2 = liftIO $ dyn840 ptr_glVertexAttrib4hvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4hvNV #-}
-ptr_glVertexAttrib4hvNV :: FunPtr (GLuint -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttrib4hvNV = unsafePerformIO $ getCommand "glVertexAttrib4hvNV"
-
--- glVertexAttrib4iv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4iv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glVertexAttrib4iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4iv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4iv #-}
-ptr_glVertexAttrib4iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttrib4iv = unsafePerformIO $ getCommand "glVertexAttrib4iv"
-
--- glVertexAttrib4ivARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4iv'.
-glVertexAttrib4ivARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glVertexAttrib4ivARB v1 v2 = liftIO $ dyn697 ptr_glVertexAttrib4ivARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4ivARB #-}
-ptr_glVertexAttrib4ivARB :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttrib4ivARB = unsafePerformIO $ getCommand "glVertexAttrib4ivARB"
-
--- glVertexAttrib4s ------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttrib4sv'.
-glVertexAttrib4s
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> GLshort -- ^ @w@.
-  -> m ()
-glVertexAttrib4s v1 v2 v3 v4 v5 = liftIO $ dyn851 ptr_glVertexAttrib4s v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4s #-}
-ptr_glVertexAttrib4s :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib4s = unsafePerformIO $ getCommand "glVertexAttrib4s"
-
--- glVertexAttrib4sARB ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4svARB'. This command is an alias for 'glVertexAttrib4s'.
-glVertexAttrib4sARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> GLshort -- ^ @w@.
-  -> m ()
-glVertexAttrib4sARB v1 v2 v3 v4 v5 = liftIO $ dyn851 ptr_glVertexAttrib4sARB v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4sARB #-}
-ptr_glVertexAttrib4sARB :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib4sARB = unsafePerformIO $ getCommand "glVertexAttrib4sARB"
-
--- glVertexAttrib4sNV ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4svNV'. This command is an alias for 'glVertexAttrib4s'.
-glVertexAttrib4sNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> GLshort -- ^ @w@.
-  -> m ()
-glVertexAttrib4sNV v1 v2 v3 v4 v5 = liftIO $ dyn851 ptr_glVertexAttrib4sNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4sNV #-}
-ptr_glVertexAttrib4sNV :: FunPtr (GLuint -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexAttrib4sNV = unsafePerformIO $ getCommand "glVertexAttrib4sNV"
-
--- glVertexAttrib4sv -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4sv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib4sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4sv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4sv #-}
-ptr_glVertexAttrib4sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib4sv = unsafePerformIO $ getCommand "glVertexAttrib4sv"
-
--- glVertexAttrib4svARB --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4sv'.
-glVertexAttrib4svARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib4svARB v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4svARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4svARB #-}
-ptr_glVertexAttrib4svARB :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib4svARB = unsafePerformIO $ getCommand "glVertexAttrib4svARB"
-
--- glVertexAttrib4svNV ---------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4sv'.
-glVertexAttrib4svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttrib4svNV v1 v2 = liftIO $ dyn825 ptr_glVertexAttrib4svNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4svNV #-}
-ptr_glVertexAttrib4svNV :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttrib4svNV = unsafePerformIO $ getCommand "glVertexAttrib4svNV"
-
--- glVertexAttrib4ubNV ---------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttrib4ubvNV'. This command is an alias for 'glVertexAttrib4Nub'.
-glVertexAttrib4ubNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLubyte -- ^ @x@ of type @ColorUB@.
-  -> GLubyte -- ^ @y@ of type @ColorUB@.
-  -> GLubyte -- ^ @z@ of type @ColorUB@.
-  -> GLubyte -- ^ @w@ of type @ColorUB@.
-  -> m ()
-glVertexAttrib4ubNV v1 v2 v3 v4 v5 = liftIO $ dyn847 ptr_glVertexAttrib4ubNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttrib4ubNV #-}
-ptr_glVertexAttrib4ubNV :: FunPtr (GLuint -> GLubyte -> GLubyte -> GLubyte -> GLubyte -> IO ())
-ptr_glVertexAttrib4ubNV = unsafePerformIO $ getCommand "glVertexAttrib4ubNV"
-
--- glVertexAttrib4ubv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4ubv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
-  -> m ()
-glVertexAttrib4ubv v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4ubv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4ubv #-}
-ptr_glVertexAttrib4ubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVertexAttrib4ubv = unsafePerformIO $ getCommand "glVertexAttrib4ubv"
-
--- glVertexAttrib4ubvARB -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4ubv'.
-glVertexAttrib4ubvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
-  -> m ()
-glVertexAttrib4ubvARB v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4ubvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4ubvARB #-}
-ptr_glVertexAttrib4ubvARB :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVertexAttrib4ubvARB = unsafePerformIO $ getCommand "glVertexAttrib4ubvARB"
-
--- glVertexAttrib4ubvNV --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4Nubv'.
-glVertexAttrib4ubvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @ColorUB@.
-  -> m ()
-glVertexAttrib4ubvNV v1 v2 = liftIO $ dyn372 ptr_glVertexAttrib4ubvNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4ubvNV #-}
-ptr_glVertexAttrib4ubvNV :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVertexAttrib4ubvNV = unsafePerformIO $ getCommand "glVertexAttrib4ubvNV"
-
--- glVertexAttrib4uiv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glVertexAttrib4uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4uiv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4uiv #-}
-ptr_glVertexAttrib4uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttrib4uiv = unsafePerformIO $ getCommand "glVertexAttrib4uiv"
-
--- glVertexAttrib4uivARB -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4uiv'.
-glVertexAttrib4uivARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glVertexAttrib4uivARB v1 v2 = liftIO $ dyn193 ptr_glVertexAttrib4uivARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4uivARB #-}
-ptr_glVertexAttrib4uivARB :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttrib4uivARB = unsafePerformIO $ getCommand "glVertexAttrib4uivARB"
-
--- glVertexAttrib4usv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttrib.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttrib4usv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
-  -> m ()
-glVertexAttrib4usv v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4usv v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4usv #-}
-ptr_glVertexAttrib4usv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-ptr_glVertexAttrib4usv = unsafePerformIO $ getCommand "glVertexAttrib4usv"
-
--- glVertexAttrib4usvARB -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttrib4usv'.
-glVertexAttrib4usvARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
-  -> m ()
-glVertexAttrib4usvARB v1 v2 = liftIO $ dyn826 ptr_glVertexAttrib4usvARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttrib4usvARB #-}
-ptr_glVertexAttrib4usvARB :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-ptr_glVertexAttrib4usvARB = unsafePerformIO $ getCommand "glVertexAttrib4usvARB"
-
--- glVertexAttribArrayObjectATI ------------------------------------------------
-
-glVertexAttribArrayObjectATI
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLsizei -- ^ @stride@.
-  -> GLuint -- ^ @buffer@.
-  -> GLuint -- ^ @offset@.
-  -> m ()
-glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7 = liftIO $ dyn852 ptr_glVertexAttribArrayObjectATI v1 v2 v3 v4 v5 v6 v7
-
-{-# NOINLINE ptr_glVertexAttribArrayObjectATI #-}
-ptr_glVertexAttribArrayObjectATI :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribArrayObjectATI = unsafePerformIO $ getCommand "glVertexAttribArrayObjectATI"
-
--- glVertexAttribBinding -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribBinding.xhtml OpenGL 4.x>.
-glVertexAttribBinding
-  :: MonadIO m
-  => GLuint -- ^ @attribindex@.
-  -> GLuint -- ^ @bindingindex@.
-  -> m ()
-glVertexAttribBinding v1 v2 = liftIO $ dyn3 ptr_glVertexAttribBinding v1 v2
-
-{-# NOINLINE ptr_glVertexAttribBinding #-}
-ptr_glVertexAttribBinding :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribBinding = unsafePerformIO $ getCommand "glVertexAttribBinding"
-
--- glVertexAttribDivisor -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribDivisor.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribDivisor.xhtml OpenGL 4.x>.
-glVertexAttribDivisor
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexAttribDivisor v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisor v1 v2
-
-{-# NOINLINE ptr_glVertexAttribDivisor #-}
-ptr_glVertexAttribDivisor :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribDivisor = unsafePerformIO $ getCommand "glVertexAttribDivisor"
-
--- glVertexAttribDivisorANGLE --------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribDivisor'.
-glVertexAttribDivisorANGLE
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexAttribDivisorANGLE v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorANGLE v1 v2
-
-{-# NOINLINE ptr_glVertexAttribDivisorANGLE #-}
-ptr_glVertexAttribDivisorANGLE :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribDivisorANGLE = unsafePerformIO $ getCommand "glVertexAttribDivisorANGLE"
-
--- glVertexAttribDivisorARB ----------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribDivisor'.
-glVertexAttribDivisorARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexAttribDivisorARB v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttribDivisorARB #-}
-ptr_glVertexAttribDivisorARB :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribDivisorARB = unsafePerformIO $ getCommand "glVertexAttribDivisorARB"
-
--- glVertexAttribDivisorEXT ----------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribDivisor'.
-glVertexAttribDivisorEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexAttribDivisorEXT v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribDivisorEXT #-}
-ptr_glVertexAttribDivisorEXT :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribDivisorEXT = unsafePerformIO $ getCommand "glVertexAttribDivisorEXT"
-
--- glVertexAttribDivisorNV -----------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribDivisor'.
-glVertexAttribDivisorNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexAttribDivisorNV v1 v2 = liftIO $ dyn3 ptr_glVertexAttribDivisorNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribDivisorNV #-}
-ptr_glVertexAttribDivisorNV :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribDivisorNV = unsafePerformIO $ getCommand "glVertexAttribDivisorNV"
-
--- glVertexAttribFormat --------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
-glVertexAttribFormat
-  :: MonadIO m
-  => GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexAttribFormat v1 v2 v3 v4 v5 = liftIO $ dyn853 ptr_glVertexAttribFormat v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribFormat #-}
-ptr_glVertexAttribFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLuint -> IO ())
-ptr_glVertexAttribFormat = unsafePerformIO $ getCommand "glVertexAttribFormat"
-
--- glVertexAttribFormatNV ------------------------------------------------------
-
-glVertexAttribFormatNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glVertexAttribFormatNV v1 v2 v3 v4 v5 = liftIO $ dyn854 ptr_glVertexAttribFormatNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribFormatNV #-}
-ptr_glVertexAttribFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> IO ())
-ptr_glVertexAttribFormatNV = unsafePerformIO $ getCommand "glVertexAttribFormatNV"
-
--- glVertexAttribI1i -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI1iv'.
-glVertexAttribI1i
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> m ()
-glVertexAttribI1i v1 v2 = liftIO $ dyn470 ptr_glVertexAttribI1i v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1i #-}
-ptr_glVertexAttribI1i :: FunPtr (GLuint -> GLint -> IO ())
-ptr_glVertexAttribI1i = unsafePerformIO $ getCommand "glVertexAttribI1i"
-
--- glVertexAttribI1iEXT --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI1ivEXT'. This command is an alias for 'glVertexAttribI1i'.
-glVertexAttribI1iEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> m ()
-glVertexAttribI1iEXT v1 v2 = liftIO $ dyn470 ptr_glVertexAttribI1iEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1iEXT #-}
-ptr_glVertexAttribI1iEXT :: FunPtr (GLuint -> GLint -> IO ())
-ptr_glVertexAttribI1iEXT = unsafePerformIO $ getCommand "glVertexAttribI1iEXT"
-
--- glVertexAttribI1iv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI1iv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glVertexAttribI1iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI1iv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1iv #-}
-ptr_glVertexAttribI1iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI1iv = unsafePerformIO $ getCommand "glVertexAttribI1iv"
-
--- glVertexAttribI1ivEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI1iv'.
-glVertexAttribI1ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glVertexAttribI1ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI1ivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1ivEXT #-}
-ptr_glVertexAttribI1ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI1ivEXT = unsafePerformIO $ getCommand "glVertexAttribI1ivEXT"
-
--- glVertexAttribI1ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI1uiv'.
-glVertexAttribI1ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> m ()
-glVertexAttribI1ui v1 v2 = liftIO $ dyn3 ptr_glVertexAttribI1ui v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1ui #-}
-ptr_glVertexAttribI1ui :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI1ui = unsafePerformIO $ getCommand "glVertexAttribI1ui"
-
--- glVertexAttribI1uiEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI1uivEXT'. This command is an alias for 'glVertexAttribI1ui'.
-glVertexAttribI1uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> m ()
-glVertexAttribI1uiEXT v1 v2 = liftIO $ dyn3 ptr_glVertexAttribI1uiEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1uiEXT #-}
-ptr_glVertexAttribI1uiEXT :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI1uiEXT = unsafePerformIO $ getCommand "glVertexAttribI1uiEXT"
-
--- glVertexAttribI1uiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI1uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexAttribI1uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI1uiv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1uiv #-}
-ptr_glVertexAttribI1uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI1uiv = unsafePerformIO $ getCommand "glVertexAttribI1uiv"
-
--- glVertexAttribI1uivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI1uiv'.
-glVertexAttribI1uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexAttribI1uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI1uivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI1uivEXT #-}
-ptr_glVertexAttribI1uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI1uivEXT = unsafePerformIO $ getCommand "glVertexAttribI1uivEXT"
-
--- glVertexAttribI2i -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI2iv'.
-glVertexAttribI2i
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> m ()
-glVertexAttribI2i v1 v2 v3 = liftIO $ dyn629 ptr_glVertexAttribI2i v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribI2i #-}
-ptr_glVertexAttribI2i :: FunPtr (GLuint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI2i = unsafePerformIO $ getCommand "glVertexAttribI2i"
-
--- glVertexAttribI2iEXT --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI2ivEXT'. This command is an alias for 'glVertexAttribI2i'.
-glVertexAttribI2iEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> m ()
-glVertexAttribI2iEXT v1 v2 v3 = liftIO $ dyn629 ptr_glVertexAttribI2iEXT v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribI2iEXT #-}
-ptr_glVertexAttribI2iEXT :: FunPtr (GLuint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI2iEXT = unsafePerformIO $ getCommand "glVertexAttribI2iEXT"
-
--- glVertexAttribI2iv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI2iv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI2iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI2iv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI2iv #-}
-ptr_glVertexAttribI2iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI2iv = unsafePerformIO $ getCommand "glVertexAttribI2iv"
-
--- glVertexAttribI2ivEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI2iv'.
-glVertexAttribI2ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @2@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI2ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI2ivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI2ivEXT #-}
-ptr_glVertexAttribI2ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI2ivEXT = unsafePerformIO $ getCommand "glVertexAttribI2ivEXT"
-
--- glVertexAttribI2ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI2uiv'.
-glVertexAttribI2ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> m ()
-glVertexAttribI2ui v1 v2 v3 = liftIO $ dyn101 ptr_glVertexAttribI2ui v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribI2ui #-}
-ptr_glVertexAttribI2ui :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI2ui = unsafePerformIO $ getCommand "glVertexAttribI2ui"
-
--- glVertexAttribI2uiEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI2uivEXT'. This command is an alias for 'glVertexAttribI2ui'.
-glVertexAttribI2uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> m ()
-glVertexAttribI2uiEXT v1 v2 v3 = liftIO $ dyn101 ptr_glVertexAttribI2uiEXT v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribI2uiEXT #-}
-ptr_glVertexAttribI2uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI2uiEXT = unsafePerformIO $ getCommand "glVertexAttribI2uiEXT"
-
--- glVertexAttribI2uiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI2uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @2@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI2uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI2uiv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI2uiv #-}
-ptr_glVertexAttribI2uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI2uiv = unsafePerformIO $ getCommand "glVertexAttribI2uiv"
-
--- glVertexAttribI2uivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI2uiv'.
-glVertexAttribI2uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @2@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI2uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI2uivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI2uivEXT #-}
-ptr_glVertexAttribI2uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI2uivEXT = unsafePerformIO $ getCommand "glVertexAttribI2uivEXT"
-
--- glVertexAttribI3i -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI3iv'.
-glVertexAttribI3i
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> m ()
-glVertexAttribI3i v1 v2 v3 v4 = liftIO $ dyn639 ptr_glVertexAttribI3i v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribI3i #-}
-ptr_glVertexAttribI3i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI3i = unsafePerformIO $ getCommand "glVertexAttribI3i"
-
--- glVertexAttribI3iEXT --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI3ivEXT'. This command is an alias for 'glVertexAttribI3i'.
-glVertexAttribI3iEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> m ()
-glVertexAttribI3iEXT v1 v2 v3 v4 = liftIO $ dyn639 ptr_glVertexAttribI3iEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribI3iEXT #-}
-ptr_glVertexAttribI3iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI3iEXT = unsafePerformIO $ getCommand "glVertexAttribI3iEXT"
-
--- glVertexAttribI3iv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI3iv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI3iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI3iv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3iv #-}
-ptr_glVertexAttribI3iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI3iv = unsafePerformIO $ getCommand "glVertexAttribI3iv"
-
--- glVertexAttribI3ivEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI3iv'.
-glVertexAttribI3ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI3ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI3ivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3ivEXT #-}
-ptr_glVertexAttribI3ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI3ivEXT = unsafePerformIO $ getCommand "glVertexAttribI3ivEXT"
-
--- glVertexAttribI3ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI3uiv'.
-glVertexAttribI3ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> m ()
-glVertexAttribI3ui v1 v2 v3 v4 = liftIO $ dyn77 ptr_glVertexAttribI3ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribI3ui #-}
-ptr_glVertexAttribI3ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI3ui = unsafePerformIO $ getCommand "glVertexAttribI3ui"
-
--- glVertexAttribI3uiEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI3uivEXT'. This command is an alias for 'glVertexAttribI3ui'.
-glVertexAttribI3uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> m ()
-glVertexAttribI3uiEXT v1 v2 v3 v4 = liftIO $ dyn77 ptr_glVertexAttribI3uiEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribI3uiEXT #-}
-ptr_glVertexAttribI3uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI3uiEXT = unsafePerformIO $ getCommand "glVertexAttribI3uiEXT"
-
--- glVertexAttribI3uiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI3uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI3uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI3uiv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3uiv #-}
-ptr_glVertexAttribI3uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI3uiv = unsafePerformIO $ getCommand "glVertexAttribI3uiv"
-
--- glVertexAttribI3uivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI3uiv'.
-glVertexAttribI3uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @3@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI3uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI3uivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI3uivEXT #-}
-ptr_glVertexAttribI3uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI3uivEXT = unsafePerformIO $ getCommand "glVertexAttribI3uivEXT"
-
--- glVertexAttribI4bv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI4bv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttribI4bv v1 v2 = liftIO $ dyn823 ptr_glVertexAttribI4bv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4bv #-}
-ptr_glVertexAttribI4bv :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttribI4bv = unsafePerformIO $ getCommand "glVertexAttribI4bv"
-
--- glVertexAttribI4bvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI4bv'.
-glVertexAttribI4bvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLbyte -- ^ @v@ pointing to @4@ elements of type @GLbyte@.
-  -> m ()
-glVertexAttribI4bvEXT v1 v2 = liftIO $ dyn823 ptr_glVertexAttribI4bvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4bvEXT #-}
-ptr_glVertexAttribI4bvEXT :: FunPtr (GLuint -> Ptr GLbyte -> IO ())
-ptr_glVertexAttribI4bvEXT = unsafePerformIO $ getCommand "glVertexAttribI4bvEXT"
-
--- glVertexAttribI4i -----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI4iv'.
-glVertexAttribI4i
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glVertexAttribI4i v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glVertexAttribI4i v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribI4i #-}
-ptr_glVertexAttribI4i :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI4i = unsafePerformIO $ getCommand "glVertexAttribI4i"
-
--- glVertexAttribI4iEXT --------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI4ivEXT'. This command is an alias for 'glVertexAttribI4i'.
-glVertexAttribI4iEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glVertexAttribI4iEXT v1 v2 v3 v4 v5 = liftIO $ dyn647 ptr_glVertexAttribI4iEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribI4iEXT #-}
-ptr_glVertexAttribI4iEXT :: FunPtr (GLuint -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexAttribI4iEXT = unsafePerformIO $ getCommand "glVertexAttribI4iEXT"
-
--- glVertexAttribI4iv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI4iv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI4iv v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI4iv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4iv #-}
-ptr_glVertexAttribI4iv :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI4iv = unsafePerformIO $ getCommand "glVertexAttribI4iv"
-
--- glVertexAttribI4ivEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI4iv'.
-glVertexAttribI4ivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint -- ^ @v@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glVertexAttribI4ivEXT v1 v2 = liftIO $ dyn697 ptr_glVertexAttribI4ivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4ivEXT #-}
-ptr_glVertexAttribI4ivEXT :: FunPtr (GLuint -> Ptr GLint -> IO ())
-ptr_glVertexAttribI4ivEXT = unsafePerformIO $ getCommand "glVertexAttribI4ivEXT"
-
--- glVertexAttribI4sv ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI4sv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttribI4sv v1 v2 = liftIO $ dyn825 ptr_glVertexAttribI4sv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4sv #-}
-ptr_glVertexAttribI4sv :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttribI4sv = unsafePerformIO $ getCommand "glVertexAttribI4sv"
-
--- glVertexAttribI4svEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI4sv'.
-glVertexAttribI4svEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttribI4svEXT v1 v2 = liftIO $ dyn825 ptr_glVertexAttribI4svEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4svEXT #-}
-ptr_glVertexAttribI4svEXT :: FunPtr (GLuint -> Ptr GLshort -> IO ())
-ptr_glVertexAttribI4svEXT = unsafePerformIO $ getCommand "glVertexAttribI4svEXT"
-
--- glVertexAttribI4ubv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI4ubv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
-  -> m ()
-glVertexAttribI4ubv v1 v2 = liftIO $ dyn372 ptr_glVertexAttribI4ubv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4ubv #-}
-ptr_glVertexAttribI4ubv :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVertexAttribI4ubv = unsafePerformIO $ getCommand "glVertexAttribI4ubv"
-
--- glVertexAttribI4ubvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI4ubv'.
-glVertexAttribI4ubvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @4@ elements of type @GLubyte@.
-  -> m ()
-glVertexAttribI4ubvEXT v1 v2 = liftIO $ dyn372 ptr_glVertexAttribI4ubvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4ubvEXT #-}
-ptr_glVertexAttribI4ubvEXT :: FunPtr (GLuint -> Ptr GLubyte -> IO ())
-ptr_glVertexAttribI4ubvEXT = unsafePerformIO $ getCommand "glVertexAttribI4ubvEXT"
-
--- glVertexAttribI4ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>. The vector equivalent of this command is 'glVertexAttribI4uiv'.
-glVertexAttribI4ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> GLuint -- ^ @w@.
-  -> m ()
-glVertexAttribI4ui v1 v2 v3 v4 v5 = liftIO $ dyn855 ptr_glVertexAttribI4ui v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribI4ui #-}
-ptr_glVertexAttribI4ui :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI4ui = unsafePerformIO $ getCommand "glVertexAttribI4ui"
-
--- glVertexAttribI4uiEXT -------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexAttribI4uivEXT'. This command is an alias for 'glVertexAttribI4ui'.
-glVertexAttribI4uiEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint -- ^ @x@.
-  -> GLuint -- ^ @y@.
-  -> GLuint -- ^ @z@.
-  -> GLuint -- ^ @w@.
-  -> m ()
-glVertexAttribI4uiEXT v1 v2 v3 v4 v5 = liftIO $ dyn855 ptr_glVertexAttribI4uiEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribI4uiEXT #-}
-ptr_glVertexAttribI4uiEXT :: FunPtr (GLuint -> GLuint -> GLuint -> GLuint -> GLuint -> IO ())
-ptr_glVertexAttribI4uiEXT = unsafePerformIO $ getCommand "glVertexAttribI4uiEXT"
-
--- glVertexAttribI4uiv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI4uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI4uiv v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI4uiv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4uiv #-}
-ptr_glVertexAttribI4uiv :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI4uiv = unsafePerformIO $ getCommand "glVertexAttribI4uiv"
-
--- glVertexAttribI4uivEXT ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI4uiv'.
-glVertexAttribI4uivEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint -- ^ @v@ pointing to @4@ elements of type @GLuint@.
-  -> m ()
-glVertexAttribI4uivEXT v1 v2 = liftIO $ dyn193 ptr_glVertexAttribI4uivEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4uivEXT #-}
-ptr_glVertexAttribI4uivEXT :: FunPtr (GLuint -> Ptr GLuint -> IO ())
-ptr_glVertexAttribI4uivEXT = unsafePerformIO $ getCommand "glVertexAttribI4uivEXT"
-
--- glVertexAttribI4usv ---------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribI4usv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
-  -> m ()
-glVertexAttribI4usv v1 v2 = liftIO $ dyn826 ptr_glVertexAttribI4usv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4usv #-}
-ptr_glVertexAttribI4usv :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-ptr_glVertexAttribI4usv = unsafePerformIO $ getCommand "glVertexAttribI4usv"
-
--- glVertexAttribI4usvEXT ------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribI4usv'.
-glVertexAttribI4usvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLushort -- ^ @v@ pointing to @4@ elements of type @GLushort@.
-  -> m ()
-glVertexAttribI4usvEXT v1 v2 = liftIO $ dyn826 ptr_glVertexAttribI4usvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribI4usvEXT #-}
-ptr_glVertexAttribI4usvEXT :: FunPtr (GLuint -> Ptr GLushort -> IO ())
-ptr_glVertexAttribI4usvEXT = unsafePerformIO $ getCommand "glVertexAttribI4usvEXT"
-
--- glVertexAttribIFormat -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
-glVertexAttribIFormat
-  :: MonadIO m
-  => GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexAttribIFormat v1 v2 v3 v4 = liftIO $ dyn856 ptr_glVertexAttribIFormat v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribIFormat #-}
-ptr_glVertexAttribIFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
-ptr_glVertexAttribIFormat = unsafePerformIO $ getCommand "glVertexAttribIFormat"
-
--- glVertexAttribIFormatNV -----------------------------------------------------
-
-glVertexAttribIFormatNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glVertexAttribIFormatNV v1 v2 v3 v4 = liftIO $ dyn857 ptr_glVertexAttribIFormatNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribIFormatNV #-}
-ptr_glVertexAttribIFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
-ptr_glVertexAttribIFormatNV = unsafePerformIO $ getCommand "glVertexAttribIFormatNV"
-
--- glVertexAttribIPointer ------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml OpenGL 4.x>.
-glVertexAttribIPointer
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glVertexAttribIPointer v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribIPointer v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribIPointer #-}
-ptr_glVertexAttribIPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexAttribIPointer = unsafePerformIO $ getCommand "glVertexAttribIPointer"
-
--- glVertexAttribIPointerEXT ---------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribIPointer'.
-glVertexAttribIPointerEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribEnum@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glVertexAttribIPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribIPointerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribIPointerEXT #-}
-ptr_glVertexAttribIPointerEXT :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexAttribIPointerEXT = unsafePerformIO $ getCommand "glVertexAttribIPointerEXT"
-
--- glVertexAttribL1d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL1d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glVertexAttribL1d v1 v2 = liftIO $ dyn837 ptr_glVertexAttribL1d v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1d #-}
-ptr_glVertexAttribL1d :: FunPtr (GLuint -> GLdouble -> IO ())
-ptr_glVertexAttribL1d = unsafePerformIO $ getCommand "glVertexAttribL1d"
-
--- glVertexAttribL1dEXT --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL1d'.
-glVertexAttribL1dEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glVertexAttribL1dEXT v1 v2 = liftIO $ dyn837 ptr_glVertexAttribL1dEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1dEXT #-}
-ptr_glVertexAttribL1dEXT :: FunPtr (GLuint -> GLdouble -> IO ())
-ptr_glVertexAttribL1dEXT = unsafePerformIO $ getCommand "glVertexAttribL1dEXT"
-
--- glVertexAttribL1dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL1dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glVertexAttribL1dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL1dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1dv #-}
-ptr_glVertexAttribL1dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL1dv = unsafePerformIO $ getCommand "glVertexAttribL1dv"
-
--- glVertexAttribL1dvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL1dv'.
-glVertexAttribL1dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glVertexAttribL1dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL1dvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1dvEXT #-}
-ptr_glVertexAttribL1dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL1dvEXT = unsafePerformIO $ getCommand "glVertexAttribL1dvEXT"
-
--- glVertexAttribL1i64NV -------------------------------------------------------
-
-glVertexAttribL1i64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint64EXT -- ^ @x@.
-  -> m ()
-glVertexAttribL1i64NV v1 v2 = liftIO $ dyn859 ptr_glVertexAttribL1i64NV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1i64NV #-}
-ptr_glVertexAttribL1i64NV :: FunPtr (GLuint -> GLint64EXT -> IO ())
-ptr_glVertexAttribL1i64NV = unsafePerformIO $ getCommand "glVertexAttribL1i64NV"
-
--- glVertexAttribL1i64vNV ------------------------------------------------------
-
-glVertexAttribL1i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint64EXT -- ^ @v@ pointing to @1@ element of type @GLint64EXT@.
-  -> m ()
-glVertexAttribL1i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL1i64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1i64vNV #-}
-ptr_glVertexAttribL1i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
-ptr_glVertexAttribL1i64vNV = unsafePerformIO $ getCommand "glVertexAttribL1i64vNV"
-
--- glVertexAttribL1ui64ARB -----------------------------------------------------
-
-glVertexAttribL1ui64ARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint64EXT -- ^ @x@.
-  -> m ()
-glVertexAttribL1ui64ARB v1 v2 = liftIO $ dyn861 ptr_glVertexAttribL1ui64ARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1ui64ARB #-}
-ptr_glVertexAttribL1ui64ARB :: FunPtr (GLuint -> GLuint64EXT -> IO ())
-ptr_glVertexAttribL1ui64ARB = unsafePerformIO $ getCommand "glVertexAttribL1ui64ARB"
-
--- glVertexAttribL1ui64NV ------------------------------------------------------
-
-glVertexAttribL1ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint64EXT -- ^ @x@.
-  -> m ()
-glVertexAttribL1ui64NV v1 v2 = liftIO $ dyn861 ptr_glVertexAttribL1ui64NV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1ui64NV #-}
-ptr_glVertexAttribL1ui64NV :: FunPtr (GLuint -> GLuint64EXT -> IO ())
-ptr_glVertexAttribL1ui64NV = unsafePerformIO $ getCommand "glVertexAttribL1ui64NV"
-
--- glVertexAttribL1ui64vARB ----------------------------------------------------
-
-glVertexAttribL1ui64vARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint64EXT -- ^ @v@.
-  -> m ()
-glVertexAttribL1ui64vARB v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL1ui64vARB v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1ui64vARB #-}
-ptr_glVertexAttribL1ui64vARB :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
-ptr_glVertexAttribL1ui64vARB = unsafePerformIO $ getCommand "glVertexAttribL1ui64vARB"
-
--- glVertexAttribL1ui64vNV -----------------------------------------------------
-
-glVertexAttribL1ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint64EXT -- ^ @v@ pointing to @1@ element of type @GLuint64EXT@.
-  -> m ()
-glVertexAttribL1ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL1ui64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL1ui64vNV #-}
-ptr_glVertexAttribL1ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
-ptr_glVertexAttribL1ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL1ui64vNV"
-
--- glVertexAttribL2d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL2d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glVertexAttribL2d v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttribL2d v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribL2d #-}
-ptr_glVertexAttribL2d :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttribL2d = unsafePerformIO $ getCommand "glVertexAttribL2d"
-
--- glVertexAttribL2dEXT --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL2d'.
-glVertexAttribL2dEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glVertexAttribL2dEXT v1 v2 v3 = liftIO $ dyn219 ptr_glVertexAttribL2dEXT v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribL2dEXT #-}
-ptr_glVertexAttribL2dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttribL2dEXT = unsafePerformIO $ getCommand "glVertexAttribL2dEXT"
-
--- glVertexAttribL2dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL2dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribL2dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL2dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL2dv #-}
-ptr_glVertexAttribL2dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL2dv = unsafePerformIO $ getCommand "glVertexAttribL2dv"
-
--- glVertexAttribL2dvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL2dv'.
-glVertexAttribL2dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribL2dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL2dvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL2dvEXT #-}
-ptr_glVertexAttribL2dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL2dvEXT = unsafePerformIO $ getCommand "glVertexAttribL2dvEXT"
-
--- glVertexAttribL2i64NV -------------------------------------------------------
-
-glVertexAttribL2i64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> m ()
-glVertexAttribL2i64NV v1 v2 v3 = liftIO $ dyn863 ptr_glVertexAttribL2i64NV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribL2i64NV #-}
-ptr_glVertexAttribL2i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glVertexAttribL2i64NV = unsafePerformIO $ getCommand "glVertexAttribL2i64NV"
-
--- glVertexAttribL2i64vNV ------------------------------------------------------
-
-glVertexAttribL2i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint64EXT -- ^ @v@ pointing to @2@ elements of type @GLint64EXT@.
-  -> m ()
-glVertexAttribL2i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL2i64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL2i64vNV #-}
-ptr_glVertexAttribL2i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
-ptr_glVertexAttribL2i64vNV = unsafePerformIO $ getCommand "glVertexAttribL2i64vNV"
-
--- glVertexAttribL2ui64NV ------------------------------------------------------
-
-glVertexAttribL2ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> m ()
-glVertexAttribL2ui64NV v1 v2 v3 = liftIO $ dyn864 ptr_glVertexAttribL2ui64NV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribL2ui64NV #-}
-ptr_glVertexAttribL2ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glVertexAttribL2ui64NV = unsafePerformIO $ getCommand "glVertexAttribL2ui64NV"
-
--- glVertexAttribL2ui64vNV -----------------------------------------------------
-
-glVertexAttribL2ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint64EXT -- ^ @v@ pointing to @2@ elements of type @GLuint64EXT@.
-  -> m ()
-glVertexAttribL2ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL2ui64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL2ui64vNV #-}
-ptr_glVertexAttribL2ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
-ptr_glVertexAttribL2ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL2ui64vNV"
-
--- glVertexAttribL3d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL3d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttribL3d v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttribL3d v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribL3d #-}
-ptr_glVertexAttribL3d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttribL3d = unsafePerformIO $ getCommand "glVertexAttribL3d"
-
--- glVertexAttribL3dEXT --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL3d'.
-glVertexAttribL3dEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexAttribL3dEXT v1 v2 v3 v4 = liftIO $ dyn844 ptr_glVertexAttribL3dEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribL3dEXT #-}
-ptr_glVertexAttribL3dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttribL3dEXT = unsafePerformIO $ getCommand "glVertexAttribL3dEXT"
-
--- glVertexAttribL3dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL3dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribL3dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL3dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL3dv #-}
-ptr_glVertexAttribL3dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL3dv = unsafePerformIO $ getCommand "glVertexAttribL3dv"
-
--- glVertexAttribL3dvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL3dv'.
-glVertexAttribL3dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribL3dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL3dvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL3dvEXT #-}
-ptr_glVertexAttribL3dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL3dvEXT = unsafePerformIO $ getCommand "glVertexAttribL3dvEXT"
-
--- glVertexAttribL3i64NV -------------------------------------------------------
-
-glVertexAttribL3i64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> GLint64EXT -- ^ @z@.
-  -> m ()
-glVertexAttribL3i64NV v1 v2 v3 v4 = liftIO $ dyn865 ptr_glVertexAttribL3i64NV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribL3i64NV #-}
-ptr_glVertexAttribL3i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glVertexAttribL3i64NV = unsafePerformIO $ getCommand "glVertexAttribL3i64NV"
-
--- glVertexAttribL3i64vNV ------------------------------------------------------
-
-glVertexAttribL3i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint64EXT -- ^ @v@ pointing to @3@ elements of type @GLint64EXT@.
-  -> m ()
-glVertexAttribL3i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL3i64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL3i64vNV #-}
-ptr_glVertexAttribL3i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
-ptr_glVertexAttribL3i64vNV = unsafePerformIO $ getCommand "glVertexAttribL3i64vNV"
-
--- glVertexAttribL3ui64NV ------------------------------------------------------
-
-glVertexAttribL3ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> GLuint64EXT -- ^ @z@.
-  -> m ()
-glVertexAttribL3ui64NV v1 v2 v3 v4 = liftIO $ dyn866 ptr_glVertexAttribL3ui64NV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribL3ui64NV #-}
-ptr_glVertexAttribL3ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glVertexAttribL3ui64NV = unsafePerformIO $ getCommand "glVertexAttribL3ui64NV"
-
--- glVertexAttribL3ui64vNV -----------------------------------------------------
-
-glVertexAttribL3ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint64EXT -- ^ @v@ pointing to @3@ elements of type @GLuint64EXT@.
-  -> m ()
-glVertexAttribL3ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL3ui64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL3ui64vNV #-}
-ptr_glVertexAttribL3ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
-ptr_glVertexAttribL3ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL3ui64vNV"
-
--- glVertexAttribL4d -----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL4d
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glVertexAttribL4d v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttribL4d v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribL4d #-}
-ptr_glVertexAttribL4d :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttribL4d = unsafePerformIO $ getCommand "glVertexAttribL4d"
-
--- glVertexAttribL4dEXT --------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL4d'.
-glVertexAttribL4dEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glVertexAttribL4dEXT v1 v2 v3 v4 v5 = liftIO $ dyn848 ptr_glVertexAttribL4dEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribL4dEXT #-}
-ptr_glVertexAttribL4dEXT :: FunPtr (GLuint -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexAttribL4dEXT = unsafePerformIO $ getCommand "glVertexAttribL4dEXT"
-
--- glVertexAttribL4dv ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribL4dv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribL4dv v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL4dv v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL4dv #-}
-ptr_glVertexAttribL4dv :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL4dv = unsafePerformIO $ getCommand "glVertexAttribL4dv"
-
--- glVertexAttribL4dvEXT -------------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribL4dv'.
-glVertexAttribL4dvEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribL4dvEXT v1 v2 = liftIO $ dyn824 ptr_glVertexAttribL4dvEXT v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL4dvEXT #-}
-ptr_glVertexAttribL4dvEXT :: FunPtr (GLuint -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribL4dvEXT = unsafePerformIO $ getCommand "glVertexAttribL4dvEXT"
-
--- glVertexAttribL4i64NV -------------------------------------------------------
-
-glVertexAttribL4i64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint64EXT -- ^ @x@.
-  -> GLint64EXT -- ^ @y@.
-  -> GLint64EXT -- ^ @z@.
-  -> GLint64EXT -- ^ @w@.
-  -> m ()
-glVertexAttribL4i64NV v1 v2 v3 v4 v5 = liftIO $ dyn867 ptr_glVertexAttribL4i64NV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribL4i64NV #-}
-ptr_glVertexAttribL4i64NV :: FunPtr (GLuint -> GLint64EXT -> GLint64EXT -> GLint64EXT -> GLint64EXT -> IO ())
-ptr_glVertexAttribL4i64NV = unsafePerformIO $ getCommand "glVertexAttribL4i64NV"
-
--- glVertexAttribL4i64vNV ------------------------------------------------------
-
-glVertexAttribL4i64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLint64EXT -- ^ @v@ pointing to @4@ elements of type @GLint64EXT@.
-  -> m ()
-glVertexAttribL4i64vNV v1 v2 = liftIO $ dyn860 ptr_glVertexAttribL4i64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL4i64vNV #-}
-ptr_glVertexAttribL4i64vNV :: FunPtr (GLuint -> Ptr GLint64EXT -> IO ())
-ptr_glVertexAttribL4i64vNV = unsafePerformIO $ getCommand "glVertexAttribL4i64vNV"
-
--- glVertexAttribL4ui64NV ------------------------------------------------------
-
-glVertexAttribL4ui64NV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLuint64EXT -- ^ @x@.
-  -> GLuint64EXT -- ^ @y@.
-  -> GLuint64EXT -- ^ @z@.
-  -> GLuint64EXT -- ^ @w@.
-  -> m ()
-glVertexAttribL4ui64NV v1 v2 v3 v4 v5 = liftIO $ dyn868 ptr_glVertexAttribL4ui64NV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribL4ui64NV #-}
-ptr_glVertexAttribL4ui64NV :: FunPtr (GLuint -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> GLuint64EXT -> IO ())
-ptr_glVertexAttribL4ui64NV = unsafePerformIO $ getCommand "glVertexAttribL4ui64NV"
-
--- glVertexAttribL4ui64vNV -----------------------------------------------------
-
-glVertexAttribL4ui64vNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLuint64EXT -- ^ @v@ pointing to @4@ elements of type @GLuint64EXT@.
-  -> m ()
-glVertexAttribL4ui64vNV v1 v2 = liftIO $ dyn862 ptr_glVertexAttribL4ui64vNV v1 v2
-
-{-# NOINLINE ptr_glVertexAttribL4ui64vNV #-}
-ptr_glVertexAttribL4ui64vNV :: FunPtr (GLuint -> Ptr GLuint64EXT -> IO ())
-ptr_glVertexAttribL4ui64vNV = unsafePerformIO $ getCommand "glVertexAttribL4ui64vNV"
-
--- glVertexAttribLFormat -------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribFormat.xhtml OpenGL 4.x>.
-glVertexAttribLFormat
-  :: MonadIO m
-  => GLuint -- ^ @attribindex@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @relativeoffset@.
-  -> m ()
-glVertexAttribLFormat v1 v2 v3 v4 = liftIO $ dyn856 ptr_glVertexAttribLFormat v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribLFormat #-}
-ptr_glVertexAttribLFormat :: FunPtr (GLuint -> GLint -> GLenum -> GLuint -> IO ())
-ptr_glVertexAttribLFormat = unsafePerformIO $ getCommand "glVertexAttribLFormat"
-
--- glVertexAttribLFormatNV -----------------------------------------------------
-
-glVertexAttribLFormatNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glVertexAttribLFormatNV v1 v2 v3 v4 = liftIO $ dyn857 ptr_glVertexAttribLFormatNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribLFormatNV #-}
-ptr_glVertexAttribLFormatNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> IO ())
-ptr_glVertexAttribLFormatNV = unsafePerformIO $ getCommand "glVertexAttribLFormatNV"
-
--- glVertexAttribLPointer ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml OpenGL 4.x>.
-glVertexAttribLPointer
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
-  -> m ()
-glVertexAttribLPointer v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribLPointer v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribLPointer #-}
-ptr_glVertexAttribLPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexAttribLPointer = unsafePerformIO $ getCommand "glVertexAttribLPointer"
-
--- glVertexAttribLPointerEXT ---------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribLPointer'.
-glVertexAttribLPointerEXT
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @size@ elements of type @a@.
-  -> m ()
-glVertexAttribLPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribLPointerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribLPointerEXT #-}
-ptr_glVertexAttribLPointerEXT :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexAttribLPointerEXT = unsafePerformIO $ getCommand "glVertexAttribLPointerEXT"
-
--- glVertexAttribP1ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribP1ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexAttribP1ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP1ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP1ui #-}
-ptr_glVertexAttribP1ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-ptr_glVertexAttribP1ui = unsafePerformIO $ getCommand "glVertexAttribP1ui"
-
--- glVertexAttribP1uiv ---------------------------------------------------------
-
-glVertexAttribP1uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexAttribP1uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP1uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP1uiv #-}
-ptr_glVertexAttribP1uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-ptr_glVertexAttribP1uiv = unsafePerformIO $ getCommand "glVertexAttribP1uiv"
-
--- glVertexAttribP2ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribP2ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexAttribP2ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP2ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP2ui #-}
-ptr_glVertexAttribP2ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-ptr_glVertexAttribP2ui = unsafePerformIO $ getCommand "glVertexAttribP2ui"
-
--- glVertexAttribP2uiv ---------------------------------------------------------
-
-glVertexAttribP2uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexAttribP2uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP2uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP2uiv #-}
-ptr_glVertexAttribP2uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-ptr_glVertexAttribP2uiv = unsafePerformIO $ getCommand "glVertexAttribP2uiv"
-
--- glVertexAttribP3ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribP3ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexAttribP3ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP3ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP3ui #-}
-ptr_glVertexAttribP3ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-ptr_glVertexAttribP3ui = unsafePerformIO $ getCommand "glVertexAttribP3ui"
-
--- glVertexAttribP3uiv ---------------------------------------------------------
-
-glVertexAttribP3uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexAttribP3uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP3uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP3uiv #-}
-ptr_glVertexAttribP3uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-ptr_glVertexAttribP3uiv = unsafePerformIO $ getCommand "glVertexAttribP3uiv"
-
--- glVertexAttribP4ui ----------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttrib.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttrib.xhtml OpenGL 4.x>.
-glVertexAttribP4ui
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexAttribP4ui v1 v2 v3 v4 = liftIO $ dyn869 ptr_glVertexAttribP4ui v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP4ui #-}
-ptr_glVertexAttribP4ui :: FunPtr (GLuint -> GLenum -> GLboolean -> GLuint -> IO ())
-ptr_glVertexAttribP4ui = unsafePerformIO $ getCommand "glVertexAttribP4ui"
-
--- glVertexAttribP4uiv ---------------------------------------------------------
-
-glVertexAttribP4uiv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @type@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexAttribP4uiv v1 v2 v3 v4 = liftIO $ dyn870 ptr_glVertexAttribP4uiv v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexAttribP4uiv #-}
-ptr_glVertexAttribP4uiv :: FunPtr (GLuint -> GLenum -> GLboolean -> Ptr GLuint -> IO ())
-ptr_glVertexAttribP4uiv = unsafePerformIO $ getCommand "glVertexAttribP4uiv"
-
--- glVertexAttribParameteriAMD -------------------------------------------------
-
-glVertexAttribParameteriAMD
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLenum -- ^ @pname@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glVertexAttribParameteriAMD v1 v2 v3 = liftIO $ dyn484 ptr_glVertexAttribParameteriAMD v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribParameteriAMD #-}
-ptr_glVertexAttribParameteriAMD :: FunPtr (GLuint -> GLenum -> GLint -> IO ())
-ptr_glVertexAttribParameteriAMD = unsafePerformIO $ getCommand "glVertexAttribParameteriAMD"
-
--- glVertexAttribPointer -------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexAttribPointer.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glVertexAttribPointer.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glVertexAttribPointer.xhtml OpenGL 4.x>.
-glVertexAttribPointer
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glVertexAttribPointer v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexAttribPointer v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexAttribPointer #-}
-ptr_glVertexAttribPointer :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexAttribPointer = unsafePerformIO $ getCommand "glVertexAttribPointer"
-
--- glVertexAttribPointerARB ----------------------------------------------------
-
--- | This command is an alias for 'glVertexAttribPointer'.
-glVertexAttribPointerARB
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexAttribPointerType@.
-  -> GLboolean -- ^ @normalized@ of type [Boolean](Graphics-Rendering-OpenGL-Raw-Groups.html#Boolean).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glVertexAttribPointerARB v1 v2 v3 v4 v5 v6 = liftIO $ dyn871 ptr_glVertexAttribPointerARB v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glVertexAttribPointerARB #-}
-ptr_glVertexAttribPointerARB :: FunPtr (GLuint -> GLint -> GLenum -> GLboolean -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexAttribPointerARB = unsafePerformIO $ getCommand "glVertexAttribPointerARB"
-
--- glVertexAttribPointerNV -----------------------------------------------------
-
-glVertexAttribPointerNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLint -- ^ @fsize@.
-  -> GLenum -- ^ @type@ of type @VertexAttribEnumNV@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(fsize,type,stride)@ elements of type @a@.
-  -> m ()
-glVertexAttribPointerNV v1 v2 v3 v4 v5 = liftIO $ dyn858 ptr_glVertexAttribPointerNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexAttribPointerNV #-}
-ptr_glVertexAttribPointerNV :: FunPtr (GLuint -> GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexAttribPointerNV = unsafePerformIO $ getCommand "glVertexAttribPointerNV"
-
--- glVertexAttribs1dvNV --------------------------------------------------------
-
-glVertexAttribs1dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @count@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribs1dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs1dvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs1dvNV #-}
-ptr_glVertexAttribs1dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribs1dvNV = unsafePerformIO $ getCommand "glVertexAttribs1dvNV"
-
--- glVertexAttribs1fvNV --------------------------------------------------------
-
-glVertexAttribs1fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @count@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttribs1fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs1fvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs1fvNV #-}
-ptr_glVertexAttribs1fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glVertexAttribs1fvNV = unsafePerformIO $ getCommand "glVertexAttribs1fvNV"
-
--- glVertexAttribs1hvNV --------------------------------------------------------
-
-glVertexAttribs1hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttribs1hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs1hvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs1hvNV #-}
-ptr_glVertexAttribs1hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttribs1hvNV = unsafePerformIO $ getCommand "glVertexAttribs1hvNV"
-
--- glVertexAttribs1svNV --------------------------------------------------------
-
-glVertexAttribs1svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLshort -- ^ @v@ pointing to @count@ elements of type @GLshort@.
-  -> m ()
-glVertexAttribs1svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs1svNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs1svNV #-}
-ptr_glVertexAttribs1svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-ptr_glVertexAttribs1svNV = unsafePerformIO $ getCommand "glVertexAttribs1svNV"
-
--- glVertexAttribs2dvNV --------------------------------------------------------
-
-glVertexAttribs2dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @count*2@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribs2dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs2dvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs2dvNV #-}
-ptr_glVertexAttribs2dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribs2dvNV = unsafePerformIO $ getCommand "glVertexAttribs2dvNV"
-
--- glVertexAttribs2fvNV --------------------------------------------------------
-
-glVertexAttribs2fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @count*2@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttribs2fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs2fvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs2fvNV #-}
-ptr_glVertexAttribs2fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glVertexAttribs2fvNV = unsafePerformIO $ getCommand "glVertexAttribs2fvNV"
-
--- glVertexAttribs2hvNV --------------------------------------------------------
-
-glVertexAttribs2hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttribs2hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs2hvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs2hvNV #-}
-ptr_glVertexAttribs2hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttribs2hvNV = unsafePerformIO $ getCommand "glVertexAttribs2hvNV"
-
--- glVertexAttribs2svNV --------------------------------------------------------
-
-glVertexAttribs2svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLshort -- ^ @v@ pointing to @count*2@ elements of type @GLshort@.
-  -> m ()
-glVertexAttribs2svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs2svNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs2svNV #-}
-ptr_glVertexAttribs2svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-ptr_glVertexAttribs2svNV = unsafePerformIO $ getCommand "glVertexAttribs2svNV"
-
--- glVertexAttribs3dvNV --------------------------------------------------------
-
-glVertexAttribs3dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @count*3@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribs3dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs3dvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs3dvNV #-}
-ptr_glVertexAttribs3dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribs3dvNV = unsafePerformIO $ getCommand "glVertexAttribs3dvNV"
-
--- glVertexAttribs3fvNV --------------------------------------------------------
-
-glVertexAttribs3fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @count*3@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttribs3fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs3fvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs3fvNV #-}
-ptr_glVertexAttribs3fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glVertexAttribs3fvNV = unsafePerformIO $ getCommand "glVertexAttribs3fvNV"
-
--- glVertexAttribs3hvNV --------------------------------------------------------
-
-glVertexAttribs3hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttribs3hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs3hvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs3hvNV #-}
-ptr_glVertexAttribs3hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttribs3hvNV = unsafePerformIO $ getCommand "glVertexAttribs3hvNV"
-
--- glVertexAttribs3svNV --------------------------------------------------------
-
-glVertexAttribs3svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLshort -- ^ @v@ pointing to @count*3@ elements of type @GLshort@.
-  -> m ()
-glVertexAttribs3svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs3svNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs3svNV #-}
-ptr_glVertexAttribs3svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-ptr_glVertexAttribs3svNV = unsafePerformIO $ getCommand "glVertexAttribs3svNV"
-
--- glVertexAttribs4dvNV --------------------------------------------------------
-
-glVertexAttribs4dvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLdouble -- ^ @v@ pointing to @count*4@ elements of type @GLdouble@.
-  -> m ()
-glVertexAttribs4dvNV v1 v2 v3 = liftIO $ dyn218 ptr_glVertexAttribs4dvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs4dvNV #-}
-ptr_glVertexAttribs4dvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLdouble -> IO ())
-ptr_glVertexAttribs4dvNV = unsafePerformIO $ getCommand "glVertexAttribs4dvNV"
-
--- glVertexAttribs4fvNV --------------------------------------------------------
-
-glVertexAttribs4fvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @count*4@ elements of type @GLfloat@.
-  -> m ()
-glVertexAttribs4fvNV v1 v2 v3 = liftIO $ dyn217 ptr_glVertexAttribs4fvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs4fvNV #-}
-ptr_glVertexAttribs4fvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glVertexAttribs4fvNV = unsafePerformIO $ getCommand "glVertexAttribs4fvNV"
-
--- glVertexAttribs4hvNV --------------------------------------------------------
-
-glVertexAttribs4hvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @n@.
-  -> Ptr GLhalfNV -- ^ @v@ pointing to @n@ elements of type @Half16NV@.
-  -> m ()
-glVertexAttribs4hvNV v1 v2 v3 = liftIO $ dyn872 ptr_glVertexAttribs4hvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs4hvNV #-}
-ptr_glVertexAttribs4hvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLhalfNV -> IO ())
-ptr_glVertexAttribs4hvNV = unsafePerformIO $ getCommand "glVertexAttribs4hvNV"
-
--- glVertexAttribs4svNV --------------------------------------------------------
-
-glVertexAttribs4svNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLshort -- ^ @v@ pointing to @count*4@ elements of type @GLshort@.
-  -> m ()
-glVertexAttribs4svNV v1 v2 v3 = liftIO $ dyn873 ptr_glVertexAttribs4svNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs4svNV #-}
-ptr_glVertexAttribs4svNV :: FunPtr (GLuint -> GLsizei -> Ptr GLshort -> IO ())
-ptr_glVertexAttribs4svNV = unsafePerformIO $ getCommand "glVertexAttribs4svNV"
-
--- glVertexAttribs4ubvNV -------------------------------------------------------
-
-glVertexAttribs4ubvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLubyte -- ^ @v@ pointing to @count*4@ elements of type @ColorUB@.
-  -> m ()
-glVertexAttribs4ubvNV v1 v2 v3 = liftIO $ dyn874 ptr_glVertexAttribs4ubvNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexAttribs4ubvNV #-}
-ptr_glVertexAttribs4ubvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLubyte -> IO ())
-ptr_glVertexAttribs4ubvNV = unsafePerformIO $ getCommand "glVertexAttribs4ubvNV"
-
--- glVertexBindingDivisor ------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glVertexBindingDivisor.xhtml OpenGL 4.x>.
-glVertexBindingDivisor
-  :: MonadIO m
-  => GLuint -- ^ @bindingindex@.
-  -> GLuint -- ^ @divisor@.
-  -> m ()
-glVertexBindingDivisor v1 v2 = liftIO $ dyn3 ptr_glVertexBindingDivisor v1 v2
-
-{-# NOINLINE ptr_glVertexBindingDivisor #-}
-ptr_glVertexBindingDivisor :: FunPtr (GLuint -> GLuint -> IO ())
-ptr_glVertexBindingDivisor = unsafePerformIO $ getCommand "glVertexBindingDivisor"
-
--- glVertexBlendARB ------------------------------------------------------------
-
-glVertexBlendARB
-  :: MonadIO m
-  => GLint -- ^ @count@.
-  -> m ()
-glVertexBlendARB v1 = liftIO $ dyn12 ptr_glVertexBlendARB v1
-
-{-# NOINLINE ptr_glVertexBlendARB #-}
-ptr_glVertexBlendARB :: FunPtr (GLint -> IO ())
-ptr_glVertexBlendARB = unsafePerformIO $ getCommand "glVertexBlendARB"
-
--- glVertexBlendEnvfATI --------------------------------------------------------
-
-glVertexBlendEnvfATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @VertexStreamATI@.
-  -> GLfloat -- ^ @param@.
-  -> m ()
-glVertexBlendEnvfATI v1 v2 = liftIO $ dyn0 ptr_glVertexBlendEnvfATI v1 v2
-
-{-# NOINLINE ptr_glVertexBlendEnvfATI #-}
-ptr_glVertexBlendEnvfATI :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glVertexBlendEnvfATI = unsafePerformIO $ getCommand "glVertexBlendEnvfATI"
-
--- glVertexBlendEnviATI --------------------------------------------------------
-
-glVertexBlendEnviATI
-  :: MonadIO m
-  => GLenum -- ^ @pname@ of type @VertexStreamATI@.
-  -> GLint -- ^ @param@.
-  -> m ()
-glVertexBlendEnviATI v1 v2 = liftIO $ dyn55 ptr_glVertexBlendEnviATI v1 v2
-
-{-# NOINLINE ptr_glVertexBlendEnviATI #-}
-ptr_glVertexBlendEnviATI :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glVertexBlendEnviATI = unsafePerformIO $ getCommand "glVertexBlendEnviATI"
-
--- glVertexFormatNV ------------------------------------------------------------
-
-glVertexFormatNV
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> m ()
-glVertexFormatNV v1 v2 v3 = liftIO $ dyn118 ptr_glVertexFormatNV v1 v2 v3
-
-{-# NOINLINE ptr_glVertexFormatNV #-}
-ptr_glVertexFormatNV :: FunPtr (GLint -> GLenum -> GLsizei -> IO ())
-ptr_glVertexFormatNV = unsafePerformIO $ getCommand "glVertexFormatNV"
-
--- glVertexP2ui ----------------------------------------------------------------
-
-glVertexP2ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexP2ui v1 v2 = liftIO $ dyn16 ptr_glVertexP2ui v1 v2
-
-{-# NOINLINE ptr_glVertexP2ui #-}
-ptr_glVertexP2ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glVertexP2ui = unsafePerformIO $ getCommand "glVertexP2ui"
-
--- glVertexP2uiv ---------------------------------------------------------------
-
-glVertexP2uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexP2uiv v1 v2 = liftIO $ dyn124 ptr_glVertexP2uiv v1 v2
-
-{-# NOINLINE ptr_glVertexP2uiv #-}
-ptr_glVertexP2uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glVertexP2uiv = unsafePerformIO $ getCommand "glVertexP2uiv"
-
--- glVertexP3ui ----------------------------------------------------------------
-
-glVertexP3ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexP3ui v1 v2 = liftIO $ dyn16 ptr_glVertexP3ui v1 v2
-
-{-# NOINLINE ptr_glVertexP3ui #-}
-ptr_glVertexP3ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glVertexP3ui = unsafePerformIO $ getCommand "glVertexP3ui"
-
--- glVertexP3uiv ---------------------------------------------------------------
-
-glVertexP3uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexP3uiv v1 v2 = liftIO $ dyn124 ptr_glVertexP3uiv v1 v2
-
-{-# NOINLINE ptr_glVertexP3uiv #-}
-ptr_glVertexP3uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glVertexP3uiv = unsafePerformIO $ getCommand "glVertexP3uiv"
-
--- glVertexP4ui ----------------------------------------------------------------
-
-glVertexP4ui
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> GLuint -- ^ @value@.
-  -> m ()
-glVertexP4ui v1 v2 = liftIO $ dyn16 ptr_glVertexP4ui v1 v2
-
-{-# NOINLINE ptr_glVertexP4ui #-}
-ptr_glVertexP4ui :: FunPtr (GLenum -> GLuint -> IO ())
-ptr_glVertexP4ui = unsafePerformIO $ getCommand "glVertexP4ui"
-
--- glVertexP4uiv ---------------------------------------------------------------
-
-glVertexP4uiv
-  :: MonadIO m
-  => GLenum -- ^ @type@.
-  -> Ptr GLuint -- ^ @value@ pointing to @1@ element of type @GLuint@.
-  -> m ()
-glVertexP4uiv v1 v2 = liftIO $ dyn124 ptr_glVertexP4uiv v1 v2
-
-{-# NOINLINE ptr_glVertexP4uiv #-}
-ptr_glVertexP4uiv :: FunPtr (GLenum -> Ptr GLuint -> IO ())
-ptr_glVertexP4uiv = unsafePerformIO $ getCommand "glVertexP4uiv"
-
--- glVertexPointer -------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glVertexPointer.xml OpenGL 2.x>.
-glVertexPointer
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#VertexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @a@.
-  -> m ()
-glVertexPointer v1 v2 v3 v4 = liftIO $ dyn125 ptr_glVertexPointer v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexPointer #-}
-ptr_glVertexPointer :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexPointer = unsafePerformIO $ getCommand "glVertexPointer"
-
--- glVertexPointerEXT ----------------------------------------------------------
-
-glVertexPointerEXT
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#VertexPointerType).
-  -> GLsizei -- ^ @stride@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride,count)@ elements of type @a@.
-  -> m ()
-glVertexPointerEXT v1 v2 v3 v4 v5 = liftIO $ dyn126 ptr_glVertexPointerEXT v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexPointerEXT #-}
-ptr_glVertexPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexPointerEXT = unsafePerformIO $ getCommand "glVertexPointerEXT"
-
--- glVertexPointerListIBM ------------------------------------------------------
-
-glVertexPointerListIBM
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#VertexPointerType).
-  -> GLint -- ^ @stride@.
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @COMPSIZE(size,type,stride)@ elements of type @Ptr a@.
-  -> GLint -- ^ @ptrstride@.
-  -> m ()
-glVertexPointerListIBM v1 v2 v3 v4 v5 = liftIO $ dyn127 ptr_glVertexPointerListIBM v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexPointerListIBM #-}
-ptr_glVertexPointerListIBM :: FunPtr (GLint -> GLenum -> GLint -> Ptr (Ptr a) -> GLint -> IO ())
-ptr_glVertexPointerListIBM = unsafePerformIO $ getCommand "glVertexPointerListIBM"
-
--- glVertexPointervINTEL -------------------------------------------------------
-
-glVertexPointervINTEL
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type [VertexPointerType](Graphics-Rendering-OpenGL-Raw-Groups.html#VertexPointerType).
-  -> Ptr (Ptr a) -- ^ @pointer@ pointing to @4@ elements of type @Ptr a@.
-  -> m ()
-glVertexPointervINTEL v1 v2 v3 = liftIO $ dyn128 ptr_glVertexPointervINTEL v1 v2 v3
-
-{-# NOINLINE ptr_glVertexPointervINTEL #-}
-ptr_glVertexPointervINTEL :: FunPtr (GLint -> GLenum -> Ptr (Ptr a) -> IO ())
-ptr_glVertexPointervINTEL = unsafePerformIO $ getCommand "glVertexPointervINTEL"
-
--- glVertexStream1dATI ---------------------------------------------------------
-
-glVertexStream1dATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLdouble -- ^ @x@.
-  -> m ()
-glVertexStream1dATI v1 v2 = liftIO $ dyn537 ptr_glVertexStream1dATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1dATI #-}
-ptr_glVertexStream1dATI :: FunPtr (GLenum -> GLdouble -> IO ())
-ptr_glVertexStream1dATI = unsafePerformIO $ getCommand "glVertexStream1dATI"
-
--- glVertexStream1dvATI --------------------------------------------------------
-
-glVertexStream1dvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLdouble -- ^ @coords@ pointing to @1@ element of type @GLdouble@.
-  -> m ()
-glVertexStream1dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream1dvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1dvATI #-}
-ptr_glVertexStream1dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glVertexStream1dvATI = unsafePerformIO $ getCommand "glVertexStream1dvATI"
-
--- glVertexStream1fATI ---------------------------------------------------------
-
-glVertexStream1fATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLfloat -- ^ @x@.
-  -> m ()
-glVertexStream1fATI v1 v2 = liftIO $ dyn0 ptr_glVertexStream1fATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1fATI #-}
-ptr_glVertexStream1fATI :: FunPtr (GLenum -> GLfloat -> IO ())
-ptr_glVertexStream1fATI = unsafePerformIO $ getCommand "glVertexStream1fATI"
-
--- glVertexStream1fvATI --------------------------------------------------------
-
-glVertexStream1fvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLfloat -- ^ @coords@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glVertexStream1fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream1fvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1fvATI #-}
-ptr_glVertexStream1fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glVertexStream1fvATI = unsafePerformIO $ getCommand "glVertexStream1fvATI"
-
--- glVertexStream1iATI ---------------------------------------------------------
-
-glVertexStream1iATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLint -- ^ @x@.
-  -> m ()
-glVertexStream1iATI v1 v2 = liftIO $ dyn55 ptr_glVertexStream1iATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1iATI #-}
-ptr_glVertexStream1iATI :: FunPtr (GLenum -> GLint -> IO ())
-ptr_glVertexStream1iATI = unsafePerformIO $ getCommand "glVertexStream1iATI"
-
--- glVertexStream1ivATI --------------------------------------------------------
-
-glVertexStream1ivATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLint -- ^ @coords@ pointing to @1@ element of type @GLint@.
-  -> m ()
-glVertexStream1ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream1ivATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1ivATI #-}
-ptr_glVertexStream1ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glVertexStream1ivATI = unsafePerformIO $ getCommand "glVertexStream1ivATI"
-
--- glVertexStream1sATI ---------------------------------------------------------
-
-glVertexStream1sATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLshort -- ^ @x@.
-  -> m ()
-glVertexStream1sATI v1 v2 = liftIO $ dyn540 ptr_glVertexStream1sATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1sATI #-}
-ptr_glVertexStream1sATI :: FunPtr (GLenum -> GLshort -> IO ())
-ptr_glVertexStream1sATI = unsafePerformIO $ getCommand "glVertexStream1sATI"
-
--- glVertexStream1svATI --------------------------------------------------------
-
-glVertexStream1svATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLshort -- ^ @coords@ pointing to @1@ element of type @GLshort@.
-  -> m ()
-glVertexStream1svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream1svATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream1svATI #-}
-ptr_glVertexStream1svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glVertexStream1svATI = unsafePerformIO $ getCommand "glVertexStream1svATI"
-
--- glVertexStream2dATI ---------------------------------------------------------
-
-glVertexStream2dATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> m ()
-glVertexStream2dATI v1 v2 v3 = liftIO $ dyn543 ptr_glVertexStream2dATI v1 v2 v3
-
-{-# NOINLINE ptr_glVertexStream2dATI #-}
-ptr_glVertexStream2dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexStream2dATI = unsafePerformIO $ getCommand "glVertexStream2dATI"
-
--- glVertexStream2dvATI --------------------------------------------------------
-
-glVertexStream2dvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLdouble -- ^ @coords@ pointing to @2@ elements of type @GLdouble@.
-  -> m ()
-glVertexStream2dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream2dvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream2dvATI #-}
-ptr_glVertexStream2dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glVertexStream2dvATI = unsafePerformIO $ getCommand "glVertexStream2dvATI"
-
--- glVertexStream2fATI ---------------------------------------------------------
-
-glVertexStream2fATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> m ()
-glVertexStream2fATI v1 v2 v3 = liftIO $ dyn544 ptr_glVertexStream2fATI v1 v2 v3
-
-{-# NOINLINE ptr_glVertexStream2fATI #-}
-ptr_glVertexStream2fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexStream2fATI = unsafePerformIO $ getCommand "glVertexStream2fATI"
-
--- glVertexStream2fvATI --------------------------------------------------------
-
-glVertexStream2fvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLfloat -- ^ @coords@ pointing to @2@ elements of type @GLfloat@.
-  -> m ()
-glVertexStream2fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream2fvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream2fvATI #-}
-ptr_glVertexStream2fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glVertexStream2fvATI = unsafePerformIO $ getCommand "glVertexStream2fvATI"
-
--- glVertexStream2iATI ---------------------------------------------------------
-
-glVertexStream2iATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> m ()
-glVertexStream2iATI v1 v2 v3 = liftIO $ dyn263 ptr_glVertexStream2iATI v1 v2 v3
-
-{-# NOINLINE ptr_glVertexStream2iATI #-}
-ptr_glVertexStream2iATI :: FunPtr (GLenum -> GLint -> GLint -> IO ())
-ptr_glVertexStream2iATI = unsafePerformIO $ getCommand "glVertexStream2iATI"
-
--- glVertexStream2ivATI --------------------------------------------------------
-
-glVertexStream2ivATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLint -- ^ @coords@ pointing to @2@ elements of type @GLint@.
-  -> m ()
-glVertexStream2ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream2ivATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream2ivATI #-}
-ptr_glVertexStream2ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glVertexStream2ivATI = unsafePerformIO $ getCommand "glVertexStream2ivATI"
-
--- glVertexStream2sATI ---------------------------------------------------------
-
-glVertexStream2sATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> m ()
-glVertexStream2sATI v1 v2 v3 = liftIO $ dyn546 ptr_glVertexStream2sATI v1 v2 v3
-
-{-# NOINLINE ptr_glVertexStream2sATI #-}
-ptr_glVertexStream2sATI :: FunPtr (GLenum -> GLshort -> GLshort -> IO ())
-ptr_glVertexStream2sATI = unsafePerformIO $ getCommand "glVertexStream2sATI"
-
--- glVertexStream2svATI --------------------------------------------------------
-
-glVertexStream2svATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLshort -- ^ @coords@ pointing to @2@ elements of type @GLshort@.
-  -> m ()
-glVertexStream2svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream2svATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream2svATI #-}
-ptr_glVertexStream2svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glVertexStream2svATI = unsafePerformIO $ getCommand "glVertexStream2svATI"
-
--- glVertexStream3dATI ---------------------------------------------------------
-
-glVertexStream3dATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> m ()
-glVertexStream3dATI v1 v2 v3 v4 = liftIO $ dyn518 ptr_glVertexStream3dATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexStream3dATI #-}
-ptr_glVertexStream3dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexStream3dATI = unsafePerformIO $ getCommand "glVertexStream3dATI"
-
--- glVertexStream3dvATI --------------------------------------------------------
-
-glVertexStream3dvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLdouble -- ^ @coords@ pointing to @3@ elements of type @GLdouble@.
-  -> m ()
-glVertexStream3dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream3dvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream3dvATI #-}
-ptr_glVertexStream3dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glVertexStream3dvATI = unsafePerformIO $ getCommand "glVertexStream3dvATI"
-
--- glVertexStream3fATI ---------------------------------------------------------
-
-glVertexStream3fATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> m ()
-glVertexStream3fATI v1 v2 v3 v4 = liftIO $ dyn519 ptr_glVertexStream3fATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexStream3fATI #-}
-ptr_glVertexStream3fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexStream3fATI = unsafePerformIO $ getCommand "glVertexStream3fATI"
-
--- glVertexStream3fvATI --------------------------------------------------------
-
-glVertexStream3fvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLfloat -- ^ @coords@ pointing to @3@ elements of type @GLfloat@.
-  -> m ()
-glVertexStream3fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream3fvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream3fvATI #-}
-ptr_glVertexStream3fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glVertexStream3fvATI = unsafePerformIO $ getCommand "glVertexStream3fvATI"
-
--- glVertexStream3iATI ---------------------------------------------------------
-
-glVertexStream3iATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> m ()
-glVertexStream3iATI v1 v2 v3 v4 = liftIO $ dyn550 ptr_glVertexStream3iATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexStream3iATI #-}
-ptr_glVertexStream3iATI :: FunPtr (GLenum -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexStream3iATI = unsafePerformIO $ getCommand "glVertexStream3iATI"
-
--- glVertexStream3ivATI --------------------------------------------------------
-
-glVertexStream3ivATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLint -- ^ @coords@ pointing to @3@ elements of type @GLint@.
-  -> m ()
-glVertexStream3ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream3ivATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream3ivATI #-}
-ptr_glVertexStream3ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glVertexStream3ivATI = unsafePerformIO $ getCommand "glVertexStream3ivATI"
-
--- glVertexStream3sATI ---------------------------------------------------------
-
-glVertexStream3sATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> m ()
-glVertexStream3sATI v1 v2 v3 v4 = liftIO $ dyn551 ptr_glVertexStream3sATI v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexStream3sATI #-}
-ptr_glVertexStream3sATI :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexStream3sATI = unsafePerformIO $ getCommand "glVertexStream3sATI"
-
--- glVertexStream3svATI --------------------------------------------------------
-
-glVertexStream3svATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLshort -- ^ @coords@ pointing to @3@ elements of type @GLshort@.
-  -> m ()
-glVertexStream3svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream3svATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream3svATI #-}
-ptr_glVertexStream3svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glVertexStream3svATI = unsafePerformIO $ getCommand "glVertexStream3svATI"
-
--- glVertexStream4dATI ---------------------------------------------------------
-
-glVertexStream4dATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLdouble -- ^ @x@.
-  -> GLdouble -- ^ @y@.
-  -> GLdouble -- ^ @z@.
-  -> GLdouble -- ^ @w@.
-  -> m ()
-glVertexStream4dATI v1 v2 v3 v4 v5 = liftIO $ dyn516 ptr_glVertexStream4dATI v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexStream4dATI #-}
-ptr_glVertexStream4dATI :: FunPtr (GLenum -> GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glVertexStream4dATI = unsafePerformIO $ getCommand "glVertexStream4dATI"
-
--- glVertexStream4dvATI --------------------------------------------------------
-
-glVertexStream4dvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLdouble -- ^ @coords@ pointing to @4@ elements of type @GLdouble@.
-  -> m ()
-glVertexStream4dvATI v1 v2 = liftIO $ dyn92 ptr_glVertexStream4dvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream4dvATI #-}
-ptr_glVertexStream4dvATI :: FunPtr (GLenum -> Ptr GLdouble -> IO ())
-ptr_glVertexStream4dvATI = unsafePerformIO $ getCommand "glVertexStream4dvATI"
-
--- glVertexStream4fATI ---------------------------------------------------------
-
-glVertexStream4fATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @z@.
-  -> GLfloat -- ^ @w@.
-  -> m ()
-glVertexStream4fATI v1 v2 v3 v4 v5 = liftIO $ dyn517 ptr_glVertexStream4fATI v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexStream4fATI #-}
-ptr_glVertexStream4fATI :: FunPtr (GLenum -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glVertexStream4fATI = unsafePerformIO $ getCommand "glVertexStream4fATI"
-
--- glVertexStream4fvATI --------------------------------------------------------
-
-glVertexStream4fvATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLfloat -- ^ @coords@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glVertexStream4fvATI v1 v2 = liftIO $ dyn93 ptr_glVertexStream4fvATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream4fvATI #-}
-ptr_glVertexStream4fvATI :: FunPtr (GLenum -> Ptr GLfloat -> IO ())
-ptr_glVertexStream4fvATI = unsafePerformIO $ getCommand "glVertexStream4fvATI"
-
--- glVertexStream4iATI ---------------------------------------------------------
-
-glVertexStream4iATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLint -- ^ @x@.
-  -> GLint -- ^ @y@.
-  -> GLint -- ^ @z@.
-  -> GLint -- ^ @w@.
-  -> m ()
-glVertexStream4iATI v1 v2 v3 v4 v5 = liftIO $ dyn264 ptr_glVertexStream4iATI v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexStream4iATI #-}
-ptr_glVertexStream4iATI :: FunPtr (GLenum -> GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glVertexStream4iATI = unsafePerformIO $ getCommand "glVertexStream4iATI"
-
--- glVertexStream4ivATI --------------------------------------------------------
-
-glVertexStream4ivATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLint -- ^ @coords@ pointing to @4@ elements of type @GLint@.
-  -> m ()
-glVertexStream4ivATI v1 v2 = liftIO $ dyn135 ptr_glVertexStream4ivATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream4ivATI #-}
-ptr_glVertexStream4ivATI :: FunPtr (GLenum -> Ptr GLint -> IO ())
-ptr_glVertexStream4ivATI = unsafePerformIO $ getCommand "glVertexStream4ivATI"
-
--- glVertexStream4sATI ---------------------------------------------------------
-
-glVertexStream4sATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> GLshort -- ^ @x@.
-  -> GLshort -- ^ @y@.
-  -> GLshort -- ^ @z@.
-  -> GLshort -- ^ @w@.
-  -> m ()
-glVertexStream4sATI v1 v2 v3 v4 v5 = liftIO $ dyn555 ptr_glVertexStream4sATI v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glVertexStream4sATI #-}
-ptr_glVertexStream4sATI :: FunPtr (GLenum -> GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glVertexStream4sATI = unsafePerformIO $ getCommand "glVertexStream4sATI"
-
--- glVertexStream4svATI --------------------------------------------------------
-
-glVertexStream4svATI
-  :: MonadIO m
-  => GLenum -- ^ @stream@ of type @VertexStreamATI@.
-  -> Ptr GLshort -- ^ @coords@ pointing to @4@ elements of type @GLshort@.
-  -> m ()
-glVertexStream4svATI v1 v2 = liftIO $ dyn541 ptr_glVertexStream4svATI v1 v2
-
-{-# NOINLINE ptr_glVertexStream4svATI #-}
-ptr_glVertexStream4svATI :: FunPtr (GLenum -> Ptr GLshort -> IO ())
-ptr_glVertexStream4svATI = unsafePerformIO $ getCommand "glVertexStream4svATI"
-
--- glVertexWeightPointerEXT ----------------------------------------------------
-
-glVertexWeightPointerEXT
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @VertexWeightPointerTypeEXT@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glVertexWeightPointerEXT v1 v2 v3 v4 = liftIO $ dyn125 ptr_glVertexWeightPointerEXT v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVertexWeightPointerEXT #-}
-ptr_glVertexWeightPointerEXT :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glVertexWeightPointerEXT = unsafePerformIO $ getCommand "glVertexWeightPointerEXT"
-
--- glVertexWeightfEXT ----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexWeightfvEXT'.
-glVertexWeightfEXT
-  :: MonadIO m
-  => GLfloat -- ^ @weight@.
-  -> m ()
-glVertexWeightfEXT v1 = liftIO $ dyn79 ptr_glVertexWeightfEXT v1
-
-{-# NOINLINE ptr_glVertexWeightfEXT #-}
-ptr_glVertexWeightfEXT :: FunPtr (GLfloat -> IO ())
-ptr_glVertexWeightfEXT = unsafePerformIO $ getCommand "glVertexWeightfEXT"
-
--- glVertexWeightfvEXT ---------------------------------------------------------
-
-glVertexWeightfvEXT
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @weight@ pointing to @1@ element of type @GLfloat@.
-  -> m ()
-glVertexWeightfvEXT v1 = liftIO $ dyn41 ptr_glVertexWeightfvEXT v1
-
-{-# NOINLINE ptr_glVertexWeightfvEXT #-}
-ptr_glVertexWeightfvEXT :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glVertexWeightfvEXT = unsafePerformIO $ getCommand "glVertexWeightfvEXT"
-
--- glVertexWeighthNV -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glVertexWeighthvNV'.
-glVertexWeighthNV
-  :: MonadIO m
-  => GLhalfNV -- ^ @weight@ of type @Half16NV@.
-  -> m ()
-glVertexWeighthNV v1 = liftIO $ dyn280 ptr_glVertexWeighthNV v1
-
-{-# NOINLINE ptr_glVertexWeighthNV #-}
-ptr_glVertexWeighthNV :: FunPtr (GLhalfNV -> IO ())
-ptr_glVertexWeighthNV = unsafePerformIO $ getCommand "glVertexWeighthNV"
-
--- glVertexWeighthvNV ----------------------------------------------------------
-
-glVertexWeighthvNV
-  :: MonadIO m
-  => Ptr GLhalfNV -- ^ @weight@ pointing to @1@ element of type @Half16NV@.
-  -> m ()
-glVertexWeighthvNV v1 = liftIO $ dyn98 ptr_glVertexWeighthvNV v1
-
-{-# NOINLINE ptr_glVertexWeighthvNV #-}
-ptr_glVertexWeighthvNV :: FunPtr (Ptr GLhalfNV -> IO ())
-ptr_glVertexWeighthvNV = unsafePerformIO $ getCommand "glVertexWeighthvNV"
-
--- glVideoCaptureNV ------------------------------------------------------------
-
-glVideoCaptureNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> Ptr GLuint -- ^ @sequence_num@.
-  -> Ptr GLuint64EXT -- ^ @capture_time@.
-  -> m GLenum
-glVideoCaptureNV v1 v2 v3 = liftIO $ dyn875 ptr_glVideoCaptureNV v1 v2 v3
-
-{-# NOINLINE ptr_glVideoCaptureNV #-}
-ptr_glVideoCaptureNV :: FunPtr (GLuint -> Ptr GLuint -> Ptr GLuint64EXT -> IO GLenum)
-ptr_glVideoCaptureNV = unsafePerformIO $ getCommand "glVideoCaptureNV"
-
--- glVideoCaptureStreamParameterdvNV -------------------------------------------
-
-glVideoCaptureStreamParameterdvNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLdouble -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLdouble@.
-  -> m ()
-glVideoCaptureStreamParameterdvNV v1 v2 v3 v4 = liftIO $ dyn440 ptr_glVideoCaptureStreamParameterdvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVideoCaptureStreamParameterdvNV #-}
-ptr_glVideoCaptureStreamParameterdvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLdouble -> IO ())
-ptr_glVideoCaptureStreamParameterdvNV = unsafePerformIO $ getCommand "glVideoCaptureStreamParameterdvNV"
-
--- glVideoCaptureStreamParameterfvNV -------------------------------------------
-
-glVideoCaptureStreamParameterfvNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLfloat -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLfloat@.
-  -> m ()
-glVideoCaptureStreamParameterfvNV v1 v2 v3 v4 = liftIO $ dyn441 ptr_glVideoCaptureStreamParameterfvNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVideoCaptureStreamParameterfvNV #-}
-ptr_glVideoCaptureStreamParameterfvNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLfloat -> IO ())
-ptr_glVideoCaptureStreamParameterfvNV = unsafePerformIO $ getCommand "glVideoCaptureStreamParameterfvNV"
-
--- glVideoCaptureStreamParameterivNV -------------------------------------------
-
-glVideoCaptureStreamParameterivNV
-  :: MonadIO m
-  => GLuint -- ^ @video_capture_slot@.
-  -> GLuint -- ^ @stream@.
-  -> GLenum -- ^ @pname@.
-  -> Ptr GLint -- ^ @params@ pointing to @COMPSIZE(pname)@ elements of type @GLint@.
-  -> m ()
-glVideoCaptureStreamParameterivNV v1 v2 v3 v4 = liftIO $ dyn297 ptr_glVideoCaptureStreamParameterivNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glVideoCaptureStreamParameterivNV #-}
-ptr_glVideoCaptureStreamParameterivNV :: FunPtr (GLuint -> GLuint -> GLenum -> Ptr GLint -> IO ())
-ptr_glVideoCaptureStreamParameterivNV = unsafePerformIO $ getCommand "glVideoCaptureStreamParameterivNV"
-
--- glViewport ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man2/xhtml/glViewport.xml OpenGL 2.x> or <https://www.opengl.org/sdk/docs/man3/xhtml/glViewport.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glViewport.xhtml OpenGL 4.x>.
-glViewport
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @WinCoord@.
-  -> GLint -- ^ @y@ of type @WinCoord@.
-  -> GLsizei -- ^ @width@.
-  -> GLsizei -- ^ @height@.
-  -> m ()
-glViewport v1 v2 v3 v4 = liftIO $ dyn694 ptr_glViewport v1 v2 v3 v4
-
-{-# NOINLINE ptr_glViewport #-}
-ptr_glViewport :: FunPtr (GLint -> GLint -> GLsizei -> GLsizei -> IO ())
-ptr_glViewport = unsafePerformIO $ getCommand "glViewport"
-
--- glViewportArrayv ------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glViewportArray.xhtml OpenGL 4.x>.
-glViewportArrayv
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
-  -> m ()
-glViewportArrayv v1 v2 v3 = liftIO $ dyn217 ptr_glViewportArrayv v1 v2 v3
-
-{-# NOINLINE ptr_glViewportArrayv #-}
-ptr_glViewportArrayv :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glViewportArrayv = unsafePerformIO $ getCommand "glViewportArrayv"
-
--- glViewportArrayvNV ----------------------------------------------------------
-
--- | This command is an alias for 'glViewportArrayv'.
-glViewportArrayvNV
-  :: MonadIO m
-  => GLuint -- ^ @first@.
-  -> GLsizei -- ^ @count@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @COMPSIZE(count)@ elements of type @GLfloat@.
-  -> m ()
-glViewportArrayvNV v1 v2 v3 = liftIO $ dyn217 ptr_glViewportArrayvNV v1 v2 v3
-
-{-# NOINLINE ptr_glViewportArrayvNV #-}
-ptr_glViewportArrayvNV :: FunPtr (GLuint -> GLsizei -> Ptr GLfloat -> IO ())
-ptr_glViewportArrayvNV = unsafePerformIO $ getCommand "glViewportArrayvNV"
-
--- glViewportIndexedf ----------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glViewportIndexed.xhtml OpenGL 4.x>.
-glViewportIndexedf
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @w@.
-  -> GLfloat -- ^ @h@.
-  -> m ()
-glViewportIndexedf v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glViewportIndexedf v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glViewportIndexedf #-}
-ptr_glViewportIndexedf :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glViewportIndexedf = unsafePerformIO $ getCommand "glViewportIndexedf"
-
--- glViewportIndexedfNV --------------------------------------------------------
-
--- | This command is an alias for 'glViewportIndexedf'.
-glViewportIndexedfNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> GLfloat -- ^ @x@.
-  -> GLfloat -- ^ @y@.
-  -> GLfloat -- ^ @w@.
-  -> GLfloat -- ^ @h@.
-  -> m ()
-glViewportIndexedfNV v1 v2 v3 v4 v5 = liftIO $ dyn849 ptr_glViewportIndexedfNV v1 v2 v3 v4 v5
-
-{-# NOINLINE ptr_glViewportIndexedfNV #-}
-ptr_glViewportIndexedfNV :: FunPtr (GLuint -> GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glViewportIndexedfNV = unsafePerformIO $ getCommand "glViewportIndexedfNV"
-
--- glViewportIndexedfv ---------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man4/html/glViewportIndexed.xhtml OpenGL 4.x>.
-glViewportIndexedfv
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glViewportIndexedfv v1 v2 = liftIO $ dyn373 ptr_glViewportIndexedfv v1 v2
-
-{-# NOINLINE ptr_glViewportIndexedfv #-}
-ptr_glViewportIndexedfv :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glViewportIndexedfv = unsafePerformIO $ getCommand "glViewportIndexedfv"
-
--- glViewportIndexedfvNV -------------------------------------------------------
-
--- | This command is an alias for 'glViewportIndexedfv'.
-glViewportIndexedfvNV
-  :: MonadIO m
-  => GLuint -- ^ @index@.
-  -> Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @GLfloat@.
-  -> m ()
-glViewportIndexedfvNV v1 v2 = liftIO $ dyn373 ptr_glViewportIndexedfvNV v1 v2
-
-{-# NOINLINE ptr_glViewportIndexedfvNV #-}
-ptr_glViewportIndexedfvNV :: FunPtr (GLuint -> Ptr GLfloat -> IO ())
-ptr_glViewportIndexedfvNV = unsafePerformIO $ getCommand "glViewportIndexedfvNV"
-
--- glWaitSync ------------------------------------------------------------------
-
--- | Manual pages for <https://www.opengl.org/sdk/docs/man3/xhtml/glWaitSync.xml OpenGL 3.x> or <https://www.opengl.org/sdk/docs/man4/html/glWaitSync.xhtml OpenGL 4.x>.
-glWaitSync
-  :: MonadIO m
-  => GLsync -- ^ @sync@ of type @sync@.
-  -> GLbitfield -- ^ @flags@.
-  -> GLuint64 -- ^ @timeout@.
-  -> m ()
-glWaitSync v1 v2 v3 = liftIO $ dyn876 ptr_glWaitSync v1 v2 v3
-
-{-# NOINLINE ptr_glWaitSync #-}
-ptr_glWaitSync :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
-ptr_glWaitSync = unsafePerformIO $ getCommand "glWaitSync"
-
--- glWaitSyncAPPLE -------------------------------------------------------------
-
--- | This command is an alias for 'glWaitSync'.
-glWaitSyncAPPLE
-  :: MonadIO m
-  => GLsync -- ^ @sync@.
-  -> GLbitfield -- ^ @flags@.
-  -> GLuint64 -- ^ @timeout@.
-  -> m ()
-glWaitSyncAPPLE v1 v2 v3 = liftIO $ dyn876 ptr_glWaitSyncAPPLE v1 v2 v3
-
-{-# NOINLINE ptr_glWaitSyncAPPLE #-}
-ptr_glWaitSyncAPPLE :: FunPtr (GLsync -> GLbitfield -> GLuint64 -> IO ())
-ptr_glWaitSyncAPPLE = unsafePerformIO $ getCommand "glWaitSyncAPPLE"
-
--- glWeightPathsNV -------------------------------------------------------------
-
-glWeightPathsNV
-  :: MonadIO m
-  => GLuint -- ^ @resultPath@ of type @Path@.
-  -> GLsizei -- ^ @numPaths@.
-  -> Ptr GLuint -- ^ @paths@ pointing to @numPaths@ elements of type @Path@.
-  -> Ptr GLfloat -- ^ @weights@ pointing to @numPaths@ elements of type @GLfloat@.
-  -> m ()
-glWeightPathsNV v1 v2 v3 v4 = liftIO $ dyn877 ptr_glWeightPathsNV v1 v2 v3 v4
-
-{-# NOINLINE ptr_glWeightPathsNV #-}
-ptr_glWeightPathsNV :: FunPtr (GLuint -> GLsizei -> Ptr GLuint -> Ptr GLfloat -> IO ())
-ptr_glWeightPathsNV = unsafePerformIO $ getCommand "glWeightPathsNV"
-
--- glWeightPointerARB ----------------------------------------------------------
-
-glWeightPointerARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@ of type @WeightPointerTypeARB@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glWeightPointerARB v1 v2 v3 v4 = liftIO $ dyn125 ptr_glWeightPointerARB v1 v2 v3 v4
-
-{-# NOINLINE ptr_glWeightPointerARB #-}
-ptr_glWeightPointerARB :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glWeightPointerARB = unsafePerformIO $ getCommand "glWeightPointerARB"
-
--- glWeightPointerOES ----------------------------------------------------------
-
-glWeightPointerOES
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> GLenum -- ^ @type@.
-  -> GLsizei -- ^ @stride@.
-  -> Ptr a -- ^ @pointer@ pointing to @COMPSIZE(type,stride)@ elements of type @a@.
-  -> m ()
-glWeightPointerOES v1 v2 v3 v4 = liftIO $ dyn125 ptr_glWeightPointerOES v1 v2 v3 v4
-
-{-# NOINLINE ptr_glWeightPointerOES #-}
-ptr_glWeightPointerOES :: FunPtr (GLint -> GLenum -> GLsizei -> Ptr a -> IO ())
-ptr_glWeightPointerOES = unsafePerformIO $ getCommand "glWeightPointerOES"
-
--- glWeightbvARB ---------------------------------------------------------------
-
-glWeightbvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLbyte -- ^ @weights@ pointing to @size@ elements of type @GLbyte@.
-  -> m ()
-glWeightbvARB v1 v2 = liftIO $ dyn878 ptr_glWeightbvARB v1 v2
-
-{-# NOINLINE ptr_glWeightbvARB #-}
-ptr_glWeightbvARB :: FunPtr (GLint -> Ptr GLbyte -> IO ())
-ptr_glWeightbvARB = unsafePerformIO $ getCommand "glWeightbvARB"
-
--- glWeightdvARB ---------------------------------------------------------------
-
-glWeightdvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLdouble -- ^ @weights@ pointing to @size@ elements of type @GLdouble@.
-  -> m ()
-glWeightdvARB v1 v2 = liftIO $ dyn879 ptr_glWeightdvARB v1 v2
-
-{-# NOINLINE ptr_glWeightdvARB #-}
-ptr_glWeightdvARB :: FunPtr (GLint -> Ptr GLdouble -> IO ())
-ptr_glWeightdvARB = unsafePerformIO $ getCommand "glWeightdvARB"
-
--- glWeightfvARB ---------------------------------------------------------------
-
-glWeightfvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLfloat -- ^ @weights@ pointing to @size@ elements of type @GLfloat@.
-  -> m ()
-glWeightfvARB v1 v2 = liftIO $ dyn880 ptr_glWeightfvARB v1 v2
-
-{-# NOINLINE ptr_glWeightfvARB #-}
-ptr_glWeightfvARB :: FunPtr (GLint -> Ptr GLfloat -> IO ())
-ptr_glWeightfvARB = unsafePerformIO $ getCommand "glWeightfvARB"
-
--- glWeightivARB ---------------------------------------------------------------
-
-glWeightivARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLint -- ^ @weights@ pointing to @size@ elements of type @GLint@.
-  -> m ()
-glWeightivARB v1 v2 = liftIO $ dyn881 ptr_glWeightivARB v1 v2
-
-{-# NOINLINE ptr_glWeightivARB #-}
-ptr_glWeightivARB :: FunPtr (GLint -> Ptr GLint -> IO ())
-ptr_glWeightivARB = unsafePerformIO $ getCommand "glWeightivARB"
-
--- glWeightsvARB ---------------------------------------------------------------
-
-glWeightsvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLshort -- ^ @weights@ pointing to @size@ elements of type @GLshort@.
-  -> m ()
-glWeightsvARB v1 v2 = liftIO $ dyn882 ptr_glWeightsvARB v1 v2
-
-{-# NOINLINE ptr_glWeightsvARB #-}
-ptr_glWeightsvARB :: FunPtr (GLint -> Ptr GLshort -> IO ())
-ptr_glWeightsvARB = unsafePerformIO $ getCommand "glWeightsvARB"
-
--- glWeightubvARB --------------------------------------------------------------
-
-glWeightubvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLubyte -- ^ @weights@ pointing to @size@ elements of type @GLubyte@.
-  -> m ()
-glWeightubvARB v1 v2 = liftIO $ dyn513 ptr_glWeightubvARB v1 v2
-
-{-# NOINLINE ptr_glWeightubvARB #-}
-ptr_glWeightubvARB :: FunPtr (GLint -> Ptr GLubyte -> IO ())
-ptr_glWeightubvARB = unsafePerformIO $ getCommand "glWeightubvARB"
-
--- glWeightuivARB --------------------------------------------------------------
-
-glWeightuivARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLuint -- ^ @weights@ pointing to @size@ elements of type @GLuint@.
-  -> m ()
-glWeightuivARB v1 v2 = liftIO $ dyn514 ptr_glWeightuivARB v1 v2
-
-{-# NOINLINE ptr_glWeightuivARB #-}
-ptr_glWeightuivARB :: FunPtr (GLint -> Ptr GLuint -> IO ())
-ptr_glWeightuivARB = unsafePerformIO $ getCommand "glWeightuivARB"
-
--- glWeightusvARB --------------------------------------------------------------
-
-glWeightusvARB
-  :: MonadIO m
-  => GLint -- ^ @size@.
-  -> Ptr GLushort -- ^ @weights@ pointing to @size@ elements of type @GLushort@.
-  -> m ()
-glWeightusvARB v1 v2 = liftIO $ dyn515 ptr_glWeightusvARB v1 v2
-
-{-# NOINLINE ptr_glWeightusvARB #-}
-ptr_glWeightusvARB :: FunPtr (GLint -> Ptr GLushort -> IO ())
-ptr_glWeightusvARB = unsafePerformIO $ getCommand "glWeightusvARB"
-
--- glWindowPos2d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2dv'.
-glWindowPos2d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> m ()
-glWindowPos2d v1 v2 = liftIO $ dyn216 ptr_glWindowPos2d v1 v2
-
-{-# NOINLINE ptr_glWindowPos2d #-}
-ptr_glWindowPos2d :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos2d = unsafePerformIO $ getCommand "glWindowPos2d"
-
--- glWindowPos2dARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2dvARB'. This command is an alias for 'glWindowPos2d'.
-glWindowPos2dARB
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> m ()
-glWindowPos2dARB v1 v2 = liftIO $ dyn216 ptr_glWindowPos2dARB v1 v2
-
-{-# NOINLINE ptr_glWindowPos2dARB #-}
-ptr_glWindowPos2dARB :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos2dARB = unsafePerformIO $ getCommand "glWindowPos2dARB"
-
--- glWindowPos2dMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2dvMESA'. This command is an alias for 'glWindowPos2d'.
-glWindowPos2dMESA
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> m ()
-glWindowPos2dMESA v1 v2 = liftIO $ dyn216 ptr_glWindowPos2dMESA v1 v2
-
-{-# NOINLINE ptr_glWindowPos2dMESA #-}
-ptr_glWindowPos2dMESA :: FunPtr (GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos2dMESA = unsafePerformIO $ getCommand "glWindowPos2dMESA"
-
--- glWindowPos2dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos2dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glWindowPos2dv v1 = liftIO $ dyn39 ptr_glWindowPos2dv v1
-
-{-# NOINLINE ptr_glWindowPos2dv #-}
-ptr_glWindowPos2dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos2dv = unsafePerformIO $ getCommand "glWindowPos2dv"
-
--- glWindowPos2dvARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2dv'.
-glWindowPos2dvARB
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glWindowPos2dvARB v1 = liftIO $ dyn39 ptr_glWindowPos2dvARB v1
-
-{-# NOINLINE ptr_glWindowPos2dvARB #-}
-ptr_glWindowPos2dvARB :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos2dvARB = unsafePerformIO $ getCommand "glWindowPos2dvARB"
-
--- glWindowPos2dvMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2dv'.
-glWindowPos2dvMESA
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @2@ elements of type @CoordD@.
-  -> m ()
-glWindowPos2dvMESA v1 = liftIO $ dyn39 ptr_glWindowPos2dvMESA v1
-
-{-# NOINLINE ptr_glWindowPos2dvMESA #-}
-ptr_glWindowPos2dvMESA :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos2dvMESA = unsafePerformIO $ getCommand "glWindowPos2dvMESA"
-
--- glWindowPos2f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2fv'.
-glWindowPos2f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> m ()
-glWindowPos2f v1 v2 = liftIO $ dyn221 ptr_glWindowPos2f v1 v2
-
-{-# NOINLINE ptr_glWindowPos2f #-}
-ptr_glWindowPos2f :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos2f = unsafePerformIO $ getCommand "glWindowPos2f"
-
--- glWindowPos2fARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2fvARB'. This command is an alias for 'glWindowPos2f'.
-glWindowPos2fARB
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> m ()
-glWindowPos2fARB v1 v2 = liftIO $ dyn221 ptr_glWindowPos2fARB v1 v2
-
-{-# NOINLINE ptr_glWindowPos2fARB #-}
-ptr_glWindowPos2fARB :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos2fARB = unsafePerformIO $ getCommand "glWindowPos2fARB"
-
--- glWindowPos2fMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2fvMESA'. This command is an alias for 'glWindowPos2f'.
-glWindowPos2fMESA
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> m ()
-glWindowPos2fMESA v1 v2 = liftIO $ dyn221 ptr_glWindowPos2fMESA v1 v2
-
-{-# NOINLINE ptr_glWindowPos2fMESA #-}
-ptr_glWindowPos2fMESA :: FunPtr (GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos2fMESA = unsafePerformIO $ getCommand "glWindowPos2fMESA"
-
--- glWindowPos2fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos2fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glWindowPos2fv v1 = liftIO $ dyn41 ptr_glWindowPos2fv v1
-
-{-# NOINLINE ptr_glWindowPos2fv #-}
-ptr_glWindowPos2fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos2fv = unsafePerformIO $ getCommand "glWindowPos2fv"
-
--- glWindowPos2fvARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2fv'.
-glWindowPos2fvARB
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glWindowPos2fvARB v1 = liftIO $ dyn41 ptr_glWindowPos2fvARB v1
-
-{-# NOINLINE ptr_glWindowPos2fvARB #-}
-ptr_glWindowPos2fvARB :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos2fvARB = unsafePerformIO $ getCommand "glWindowPos2fvARB"
-
--- glWindowPos2fvMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2fv'.
-glWindowPos2fvMESA
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @2@ elements of type @CoordF@.
-  -> m ()
-glWindowPos2fvMESA v1 = liftIO $ dyn41 ptr_glWindowPos2fvMESA v1
-
-{-# NOINLINE ptr_glWindowPos2fvMESA #-}
-ptr_glWindowPos2fvMESA :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos2fvMESA = unsafePerformIO $ getCommand "glWindowPos2fvMESA"
-
--- glWindowPos2i ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2iv'.
-glWindowPos2i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> m ()
-glWindowPos2i v1 v2 = liftIO $ dyn265 ptr_glWindowPos2i v1 v2
-
-{-# NOINLINE ptr_glWindowPos2i #-}
-ptr_glWindowPos2i :: FunPtr (GLint -> GLint -> IO ())
-ptr_glWindowPos2i = unsafePerformIO $ getCommand "glWindowPos2i"
-
--- glWindowPos2iARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2ivARB'. This command is an alias for 'glWindowPos2i'.
-glWindowPos2iARB
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> m ()
-glWindowPos2iARB v1 v2 = liftIO $ dyn265 ptr_glWindowPos2iARB v1 v2
-
-{-# NOINLINE ptr_glWindowPos2iARB #-}
-ptr_glWindowPos2iARB :: FunPtr (GLint -> GLint -> IO ())
-ptr_glWindowPos2iARB = unsafePerformIO $ getCommand "glWindowPos2iARB"
-
--- glWindowPos2iMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2ivMESA'. This command is an alias for 'glWindowPos2i'.
-glWindowPos2iMESA
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> m ()
-glWindowPos2iMESA v1 v2 = liftIO $ dyn265 ptr_glWindowPos2iMESA v1 v2
-
-{-# NOINLINE ptr_glWindowPos2iMESA #-}
-ptr_glWindowPos2iMESA :: FunPtr (GLint -> GLint -> IO ())
-ptr_glWindowPos2iMESA = unsafePerformIO $ getCommand "glWindowPos2iMESA"
-
--- glWindowPos2iv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos2iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glWindowPos2iv v1 = liftIO $ dyn43 ptr_glWindowPos2iv v1
-
-{-# NOINLINE ptr_glWindowPos2iv #-}
-ptr_glWindowPos2iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glWindowPos2iv = unsafePerformIO $ getCommand "glWindowPos2iv"
-
--- glWindowPos2ivARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2iv'.
-glWindowPos2ivARB
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glWindowPos2ivARB v1 = liftIO $ dyn43 ptr_glWindowPos2ivARB v1
-
-{-# NOINLINE ptr_glWindowPos2ivARB #-}
-ptr_glWindowPos2ivARB :: FunPtr (Ptr GLint -> IO ())
-ptr_glWindowPos2ivARB = unsafePerformIO $ getCommand "glWindowPos2ivARB"
-
--- glWindowPos2ivMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2iv'.
-glWindowPos2ivMESA
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @2@ elements of type @CoordI@.
-  -> m ()
-glWindowPos2ivMESA v1 = liftIO $ dyn43 ptr_glWindowPos2ivMESA v1
-
-{-# NOINLINE ptr_glWindowPos2ivMESA #-}
-ptr_glWindowPos2ivMESA :: FunPtr (Ptr GLint -> IO ())
-ptr_glWindowPos2ivMESA = unsafePerformIO $ getCommand "glWindowPos2ivMESA"
-
--- glWindowPos2s ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos2sv'.
-glWindowPos2s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> m ()
-glWindowPos2s v1 v2 = liftIO $ dyn665 ptr_glWindowPos2s v1 v2
-
-{-# NOINLINE ptr_glWindowPos2s #-}
-ptr_glWindowPos2s :: FunPtr (GLshort -> GLshort -> IO ())
-ptr_glWindowPos2s = unsafePerformIO $ getCommand "glWindowPos2s"
-
--- glWindowPos2sARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2svARB'. This command is an alias for 'glWindowPos2s'.
-glWindowPos2sARB
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> m ()
-glWindowPos2sARB v1 v2 = liftIO $ dyn665 ptr_glWindowPos2sARB v1 v2
-
-{-# NOINLINE ptr_glWindowPos2sARB #-}
-ptr_glWindowPos2sARB :: FunPtr (GLshort -> GLshort -> IO ())
-ptr_glWindowPos2sARB = unsafePerformIO $ getCommand "glWindowPos2sARB"
-
--- glWindowPos2sMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos2svMESA'. This command is an alias for 'glWindowPos2s'.
-glWindowPos2sMESA
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> m ()
-glWindowPos2sMESA v1 v2 = liftIO $ dyn665 ptr_glWindowPos2sMESA v1 v2
-
-{-# NOINLINE ptr_glWindowPos2sMESA #-}
-ptr_glWindowPos2sMESA :: FunPtr (GLshort -> GLshort -> IO ())
-ptr_glWindowPos2sMESA = unsafePerformIO $ getCommand "glWindowPos2sMESA"
-
--- glWindowPos2sv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos2sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glWindowPos2sv v1 = liftIO $ dyn45 ptr_glWindowPos2sv v1
-
-{-# NOINLINE ptr_glWindowPos2sv #-}
-ptr_glWindowPos2sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glWindowPos2sv = unsafePerformIO $ getCommand "glWindowPos2sv"
-
--- glWindowPos2svARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2sv'.
-glWindowPos2svARB
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glWindowPos2svARB v1 = liftIO $ dyn45 ptr_glWindowPos2svARB v1
-
-{-# NOINLINE ptr_glWindowPos2svARB #-}
-ptr_glWindowPos2svARB :: FunPtr (Ptr GLshort -> IO ())
-ptr_glWindowPos2svARB = unsafePerformIO $ getCommand "glWindowPos2svARB"
-
--- glWindowPos2svMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos2sv'.
-glWindowPos2svMESA
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @2@ elements of type @CoordS@.
-  -> m ()
-glWindowPos2svMESA v1 = liftIO $ dyn45 ptr_glWindowPos2svMESA v1
-
-{-# NOINLINE ptr_glWindowPos2svMESA #-}
-ptr_glWindowPos2svMESA :: FunPtr (Ptr GLshort -> IO ())
-ptr_glWindowPos2svMESA = unsafePerformIO $ getCommand "glWindowPos2svMESA"
-
--- glWindowPos3d ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3dv'.
-glWindowPos3d
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glWindowPos3d v1 v2 v3 = liftIO $ dyn38 ptr_glWindowPos3d v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3d #-}
-ptr_glWindowPos3d :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos3d = unsafePerformIO $ getCommand "glWindowPos3d"
-
--- glWindowPos3dARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3dvARB'. This command is an alias for 'glWindowPos3d'.
-glWindowPos3dARB
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glWindowPos3dARB v1 v2 v3 = liftIO $ dyn38 ptr_glWindowPos3dARB v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3dARB #-}
-ptr_glWindowPos3dARB :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos3dARB = unsafePerformIO $ getCommand "glWindowPos3dARB"
-
--- glWindowPos3dMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3dvMESA'. This command is an alias for 'glWindowPos3d'.
-glWindowPos3dMESA
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> m ()
-glWindowPos3dMESA v1 v2 v3 = liftIO $ dyn38 ptr_glWindowPos3dMESA v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3dMESA #-}
-ptr_glWindowPos3dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos3dMESA = unsafePerformIO $ getCommand "glWindowPos3dMESA"
-
--- glWindowPos3dv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos3dv
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glWindowPos3dv v1 = liftIO $ dyn39 ptr_glWindowPos3dv v1
-
-{-# NOINLINE ptr_glWindowPos3dv #-}
-ptr_glWindowPos3dv :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos3dv = unsafePerformIO $ getCommand "glWindowPos3dv"
-
--- glWindowPos3dvARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3dv'.
-glWindowPos3dvARB
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glWindowPos3dvARB v1 = liftIO $ dyn39 ptr_glWindowPos3dvARB v1
-
-{-# NOINLINE ptr_glWindowPos3dvARB #-}
-ptr_glWindowPos3dvARB :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos3dvARB = unsafePerformIO $ getCommand "glWindowPos3dvARB"
-
--- glWindowPos3dvMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3dv'.
-glWindowPos3dvMESA
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @3@ elements of type @CoordD@.
-  -> m ()
-glWindowPos3dvMESA v1 = liftIO $ dyn39 ptr_glWindowPos3dvMESA v1
-
-{-# NOINLINE ptr_glWindowPos3dvMESA #-}
-ptr_glWindowPos3dvMESA :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos3dvMESA = unsafePerformIO $ getCommand "glWindowPos3dvMESA"
-
--- glWindowPos3f ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3fv'.
-glWindowPos3f
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glWindowPos3f v1 v2 v3 = liftIO $ dyn40 ptr_glWindowPos3f v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3f #-}
-ptr_glWindowPos3f :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos3f = unsafePerformIO $ getCommand "glWindowPos3f"
-
--- glWindowPos3fARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3fvARB'. This command is an alias for 'glWindowPos3f'.
-glWindowPos3fARB
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glWindowPos3fARB v1 v2 v3 = liftIO $ dyn40 ptr_glWindowPos3fARB v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3fARB #-}
-ptr_glWindowPos3fARB :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos3fARB = unsafePerformIO $ getCommand "glWindowPos3fARB"
-
--- glWindowPos3fMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3fvMESA'. This command is an alias for 'glWindowPos3f'.
-glWindowPos3fMESA
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> m ()
-glWindowPos3fMESA v1 v2 v3 = liftIO $ dyn40 ptr_glWindowPos3fMESA v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3fMESA #-}
-ptr_glWindowPos3fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos3fMESA = unsafePerformIO $ getCommand "glWindowPos3fMESA"
-
--- glWindowPos3fv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos3fv
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glWindowPos3fv v1 = liftIO $ dyn41 ptr_glWindowPos3fv v1
-
-{-# NOINLINE ptr_glWindowPos3fv #-}
-ptr_glWindowPos3fv :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos3fv = unsafePerformIO $ getCommand "glWindowPos3fv"
-
--- glWindowPos3fvARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3fv'.
-glWindowPos3fvARB
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glWindowPos3fvARB v1 = liftIO $ dyn41 ptr_glWindowPos3fvARB v1
-
-{-# NOINLINE ptr_glWindowPos3fvARB #-}
-ptr_glWindowPos3fvARB :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos3fvARB = unsafePerformIO $ getCommand "glWindowPos3fvARB"
-
--- glWindowPos3fvMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3fv'.
-glWindowPos3fvMESA
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @3@ elements of type @CoordF@.
-  -> m ()
-glWindowPos3fvMESA v1 = liftIO $ dyn41 ptr_glWindowPos3fvMESA v1
-
-{-# NOINLINE ptr_glWindowPos3fvMESA #-}
-ptr_glWindowPos3fvMESA :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos3fvMESA = unsafePerformIO $ getCommand "glWindowPos3fvMESA"
-
--- glWindowPos3i ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3iv'.
-glWindowPos3i
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> m ()
-glWindowPos3i v1 v2 v3 = liftIO $ dyn42 ptr_glWindowPos3i v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3i #-}
-ptr_glWindowPos3i :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glWindowPos3i = unsafePerformIO $ getCommand "glWindowPos3i"
-
--- glWindowPos3iARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3ivARB'. This command is an alias for 'glWindowPos3i'.
-glWindowPos3iARB
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> m ()
-glWindowPos3iARB v1 v2 v3 = liftIO $ dyn42 ptr_glWindowPos3iARB v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3iARB #-}
-ptr_glWindowPos3iARB :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glWindowPos3iARB = unsafePerformIO $ getCommand "glWindowPos3iARB"
-
--- glWindowPos3iMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3ivMESA'. This command is an alias for 'glWindowPos3i'.
-glWindowPos3iMESA
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> m ()
-glWindowPos3iMESA v1 v2 v3 = liftIO $ dyn42 ptr_glWindowPos3iMESA v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3iMESA #-}
-ptr_glWindowPos3iMESA :: FunPtr (GLint -> GLint -> GLint -> IO ())
-ptr_glWindowPos3iMESA = unsafePerformIO $ getCommand "glWindowPos3iMESA"
-
--- glWindowPos3iv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos3iv
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glWindowPos3iv v1 = liftIO $ dyn43 ptr_glWindowPos3iv v1
-
-{-# NOINLINE ptr_glWindowPos3iv #-}
-ptr_glWindowPos3iv :: FunPtr (Ptr GLint -> IO ())
-ptr_glWindowPos3iv = unsafePerformIO $ getCommand "glWindowPos3iv"
-
--- glWindowPos3ivARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3iv'.
-glWindowPos3ivARB
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glWindowPos3ivARB v1 = liftIO $ dyn43 ptr_glWindowPos3ivARB v1
-
-{-# NOINLINE ptr_glWindowPos3ivARB #-}
-ptr_glWindowPos3ivARB :: FunPtr (Ptr GLint -> IO ())
-ptr_glWindowPos3ivARB = unsafePerformIO $ getCommand "glWindowPos3ivARB"
-
--- glWindowPos3ivMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3iv'.
-glWindowPos3ivMESA
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @3@ elements of type @CoordI@.
-  -> m ()
-glWindowPos3ivMESA v1 = liftIO $ dyn43 ptr_glWindowPos3ivMESA v1
-
-{-# NOINLINE ptr_glWindowPos3ivMESA #-}
-ptr_glWindowPos3ivMESA :: FunPtr (Ptr GLint -> IO ())
-ptr_glWindowPos3ivMESA = unsafePerformIO $ getCommand "glWindowPos3ivMESA"
-
--- glWindowPos3s ---------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>. The vector equivalent of this command is 'glWindowPos3sv'.
-glWindowPos3s
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> m ()
-glWindowPos3s v1 v2 v3 = liftIO $ dyn44 ptr_glWindowPos3s v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3s #-}
-ptr_glWindowPos3s :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glWindowPos3s = unsafePerformIO $ getCommand "glWindowPos3s"
-
--- glWindowPos3sARB ------------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3svARB'. This command is an alias for 'glWindowPos3s'.
-glWindowPos3sARB
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> m ()
-glWindowPos3sARB v1 v2 v3 = liftIO $ dyn44 ptr_glWindowPos3sARB v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3sARB #-}
-ptr_glWindowPos3sARB :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glWindowPos3sARB = unsafePerformIO $ getCommand "glWindowPos3sARB"
-
--- glWindowPos3sMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos3svMESA'. This command is an alias for 'glWindowPos3s'.
-glWindowPos3sMESA
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> m ()
-glWindowPos3sMESA v1 v2 v3 = liftIO $ dyn44 ptr_glWindowPos3sMESA v1 v2 v3
-
-{-# NOINLINE ptr_glWindowPos3sMESA #-}
-ptr_glWindowPos3sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> IO ())
-ptr_glWindowPos3sMESA = unsafePerformIO $ getCommand "glWindowPos3sMESA"
-
--- glWindowPos3sv --------------------------------------------------------------
-
--- | Manual page for <https://www.opengl.org/sdk/docs/man2/xhtml/glWindowPos.xml OpenGL 2.x>.
-glWindowPos3sv
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glWindowPos3sv v1 = liftIO $ dyn45 ptr_glWindowPos3sv v1
-
-{-# NOINLINE ptr_glWindowPos3sv #-}
-ptr_glWindowPos3sv :: FunPtr (Ptr GLshort -> IO ())
-ptr_glWindowPos3sv = unsafePerformIO $ getCommand "glWindowPos3sv"
-
--- glWindowPos3svARB -----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3sv'.
-glWindowPos3svARB
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glWindowPos3svARB v1 = liftIO $ dyn45 ptr_glWindowPos3svARB v1
-
-{-# NOINLINE ptr_glWindowPos3svARB #-}
-ptr_glWindowPos3svARB :: FunPtr (Ptr GLshort -> IO ())
-ptr_glWindowPos3svARB = unsafePerformIO $ getCommand "glWindowPos3svARB"
-
--- glWindowPos3svMESA ----------------------------------------------------------
-
--- | This command is an alias for 'glWindowPos3sv'.
-glWindowPos3svMESA
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @3@ elements of type @CoordS@.
-  -> m ()
-glWindowPos3svMESA v1 = liftIO $ dyn45 ptr_glWindowPos3svMESA v1
-
-{-# NOINLINE ptr_glWindowPos3svMESA #-}
-ptr_glWindowPos3svMESA :: FunPtr (Ptr GLshort -> IO ())
-ptr_glWindowPos3svMESA = unsafePerformIO $ getCommand "glWindowPos3svMESA"
-
--- glWindowPos4dMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos4dvMESA'.
-glWindowPos4dMESA
-  :: MonadIO m
-  => GLdouble -- ^ @x@ of type @CoordD@.
-  -> GLdouble -- ^ @y@ of type @CoordD@.
-  -> GLdouble -- ^ @z@ of type @CoordD@.
-  -> GLdouble -- ^ @w@ of type @CoordD@.
-  -> m ()
-glWindowPos4dMESA v1 v2 v3 v4 = liftIO $ dyn108 ptr_glWindowPos4dMESA v1 v2 v3 v4
-
-{-# NOINLINE ptr_glWindowPos4dMESA #-}
-ptr_glWindowPos4dMESA :: FunPtr (GLdouble -> GLdouble -> GLdouble -> GLdouble -> IO ())
-ptr_glWindowPos4dMESA = unsafePerformIO $ getCommand "glWindowPos4dMESA"
-
--- glWindowPos4dvMESA ----------------------------------------------------------
-
-glWindowPos4dvMESA
-  :: MonadIO m
-  => Ptr GLdouble -- ^ @v@ pointing to @4@ elements of type @CoordD@.
-  -> m ()
-glWindowPos4dvMESA v1 = liftIO $ dyn39 ptr_glWindowPos4dvMESA v1
-
-{-# NOINLINE ptr_glWindowPos4dvMESA #-}
-ptr_glWindowPos4dvMESA :: FunPtr (Ptr GLdouble -> IO ())
-ptr_glWindowPos4dvMESA = unsafePerformIO $ getCommand "glWindowPos4dvMESA"
-
--- glWindowPos4fMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos4fvMESA'.
-glWindowPos4fMESA
-  :: MonadIO m
-  => GLfloat -- ^ @x@ of type @CoordF@.
-  -> GLfloat -- ^ @y@ of type @CoordF@.
-  -> GLfloat -- ^ @z@ of type @CoordF@.
-  -> GLfloat -- ^ @w@ of type @CoordF@.
-  -> m ()
-glWindowPos4fMESA v1 v2 v3 v4 = liftIO $ dyn49 ptr_glWindowPos4fMESA v1 v2 v3 v4
-
-{-# NOINLINE ptr_glWindowPos4fMESA #-}
-ptr_glWindowPos4fMESA :: FunPtr (GLfloat -> GLfloat -> GLfloat -> GLfloat -> IO ())
-ptr_glWindowPos4fMESA = unsafePerformIO $ getCommand "glWindowPos4fMESA"
-
--- glWindowPos4fvMESA ----------------------------------------------------------
-
-glWindowPos4fvMESA
-  :: MonadIO m
-  => Ptr GLfloat -- ^ @v@ pointing to @4@ elements of type @CoordF@.
-  -> m ()
-glWindowPos4fvMESA v1 = liftIO $ dyn41 ptr_glWindowPos4fvMESA v1
-
-{-# NOINLINE ptr_glWindowPos4fvMESA #-}
-ptr_glWindowPos4fvMESA :: FunPtr (Ptr GLfloat -> IO ())
-ptr_glWindowPos4fvMESA = unsafePerformIO $ getCommand "glWindowPos4fvMESA"
-
--- glWindowPos4iMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos4ivMESA'.
-glWindowPos4iMESA
-  :: MonadIO m
-  => GLint -- ^ @x@ of type @CoordI@.
-  -> GLint -- ^ @y@ of type @CoordI@.
-  -> GLint -- ^ @z@ of type @CoordI@.
-  -> GLint -- ^ @w@ of type @CoordI@.
-  -> m ()
-glWindowPos4iMESA v1 v2 v3 v4 = liftIO $ dyn76 ptr_glWindowPos4iMESA v1 v2 v3 v4
-
-{-# NOINLINE ptr_glWindowPos4iMESA #-}
-ptr_glWindowPos4iMESA :: FunPtr (GLint -> GLint -> GLint -> GLint -> IO ())
-ptr_glWindowPos4iMESA = unsafePerformIO $ getCommand "glWindowPos4iMESA"
-
--- glWindowPos4ivMESA ----------------------------------------------------------
-
-glWindowPos4ivMESA
-  :: MonadIO m
-  => Ptr GLint -- ^ @v@ pointing to @4@ elements of type @CoordI@.
-  -> m ()
-glWindowPos4ivMESA v1 = liftIO $ dyn43 ptr_glWindowPos4ivMESA v1
-
-{-# NOINLINE ptr_glWindowPos4ivMESA #-}
-ptr_glWindowPos4ivMESA :: FunPtr (Ptr GLint -> IO ())
-ptr_glWindowPos4ivMESA = unsafePerformIO $ getCommand "glWindowPos4ivMESA"
-
--- glWindowPos4sMESA -----------------------------------------------------------
-
--- | The vector equivalent of this command is 'glWindowPos4svMESA'.
-glWindowPos4sMESA
-  :: MonadIO m
-  => GLshort -- ^ @x@ of type @CoordS@.
-  -> GLshort -- ^ @y@ of type @CoordS@.
-  -> GLshort -- ^ @z@ of type @CoordS@.
-  -> GLshort -- ^ @w@ of type @CoordS@.
-  -> m ()
-glWindowPos4sMESA v1 v2 v3 v4 = liftIO $ dyn112 ptr_glWindowPos4sMESA v1 v2 v3 v4
-
-{-# NOINLINE ptr_glWindowPos4sMESA #-}
-ptr_glWindowPos4sMESA :: FunPtr (GLshort -> GLshort -> GLshort -> GLshort -> IO ())
-ptr_glWindowPos4sMESA = unsafePerformIO $ getCommand "glWindowPos4sMESA"
-
--- glWindowPos4svMESA ----------------------------------------------------------
-
-glWindowPos4svMESA
-  :: MonadIO m
-  => Ptr GLshort -- ^ @v@ pointing to @4@ elements of type @CoordS@.
-  -> m ()
-glWindowPos4svMESA v1 = liftIO $ dyn45 ptr_glWindowPos4svMESA v1
-
-{-# NOINLINE ptr_glWindowPos4svMESA #-}
-ptr_glWindowPos4svMESA :: FunPtr (Ptr GLshort -> IO ())
-ptr_glWindowPos4svMESA = unsafePerformIO $ getCommand "glWindowPos4svMESA"
-
--- glWriteMaskEXT --------------------------------------------------------------
-
-glWriteMaskEXT
-  :: MonadIO m
-  => GLuint -- ^ @res@.
-  -> GLuint -- ^ @in@.
-  -> GLenum -- ^ @outX@ of type @VertexShaderWriteMaskEXT@.
-  -> GLenum -- ^ @outY@ of type @VertexShaderWriteMaskEXT@.
-  -> GLenum -- ^ @outZ@ of type @VertexShaderWriteMaskEXT@.
-  -> GLenum -- ^ @outW@ of type @VertexShaderWriteMaskEXT@.
-  -> m ()
-glWriteMaskEXT v1 v2 v3 v4 v5 v6 = liftIO $ dyn716 ptr_glWriteMaskEXT v1 v2 v3 v4 v5 v6
-
-{-# NOINLINE ptr_glWriteMaskEXT #-}
-ptr_glWriteMaskEXT :: FunPtr (GLuint -> GLuint -> GLenum -> GLenum -> GLenum -> GLenum -> IO ())
-ptr_glWriteMaskEXT = unsafePerformIO $ getCommand "glWriteMaskEXT"
-
diff --git a/src/Graphics/Rendering/OpenGL/Raw/GREMEDY.hs b/src/Graphics/Rendering/OpenGL/Raw/GREMEDY.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/GREMEDY.hs
+++ /dev/null
@@ -1,21 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.GREMEDY
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing GREMEDY extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.GREMEDY (
-  module Graphics.Rendering.OpenGL.Raw.GREMEDY.FrameTerminator,
-  module Graphics.Rendering.OpenGL.Raw.GREMEDY.StringMarker
-) where
-
-import Graphics.Rendering.OpenGL.Raw.GREMEDY.FrameTerminator
-import Graphics.Rendering.OpenGL.Raw.GREMEDY.StringMarker
diff --git a/src/Graphics/Rendering/OpenGL/Raw/GREMEDY/FrameTerminator.hs b/src/Graphics/Rendering/OpenGL/Raw/GREMEDY/FrameTerminator.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/GREMEDY/FrameTerminator.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.GREMEDY.FrameTerminator
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.GREMEDY.FrameTerminator (
-  -- * Extension Support
-  glGetGREMEDYFrameTerminator,
-  gl_GREMEDY_frame_terminator,
-  -- * Functions
-  glFrameTerminatorGREMEDY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/GREMEDY/StringMarker.hs b/src/Graphics/Rendering/OpenGL/Raw/GREMEDY/StringMarker.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/GREMEDY/StringMarker.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.GREMEDY.StringMarker
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.GREMEDY.StringMarker (
-  -- * Extension Support
-  glGetGREMEDYStringMarker,
-  gl_GREMEDY_string_marker,
-  -- * Functions
-  glStringMarkerGREMEDY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs b/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/GetProcAddress.hs
+++ /dev/null
@@ -1,240 +0,0 @@
-{-# LANGUAGE CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.GetProcAddress
--- 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 functions and extension
--- entries, providing a portability layer upon platform-specific mechanisms
--- like @glXGetProcAddress@, @wglGetProcAddress@ or @NSAddressOfSymbol@.
---
--- Note that /finding/ an OpenGL entry point doesn't mean that it's actually
--- /usable:/ On most platforms entry points are context-independent, so you have
--- to check the available extensions and\/or OpenGL version, too.
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.GetProcAddress (
-   -- * Unchecked retrieval
-   getProcAddress,
-   getProcAddressWithSuffixes,
-   getExtension,
-   -- * Checked retrieval
-   getProcAddressChecked,
-   getProcAddressWithSuffixesChecked,
-   getExtensionChecked,
-   -- * Version info and extensions
-   getVersion, version,
-   getExtensions, extensions
-) where
-
-#if !MIN_VERSION_base(4,8,0)
-import Data.Functor( (<$>), (<$) )
-#endif
-import Control.Monad ( forM )
-import Control.Monad.IO.Class ( MonadIO(..) )
-import Data.ByteString.Unsafe ( unsafePackCString, unsafeUseAsCString )
-import Data.Char ( isDigit )
-import Data.Set ( Set, fromList )
-import Data.Text ( pack, unpack )
-import Data.Text.Encoding ( encodeUtf8, decodeUtf8 )
-import Foreign.C.String ( CString )
-import Foreign.C.Types
-import Foreign.Marshal.Alloc ( alloca )
-import Foreign.Marshal.Error ( throwIf )
-import Foreign.Ptr ( Ptr, nullPtr, castPtr, FunPtr, nullFunPtr )
-import Foreign.Storable ( peek )
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Types
-import System.IO.Unsafe ( unsafePerformIO )
-import Text.ParserCombinators.ReadP
-
---------------------------------------------------------------------------------
-
--- | Retrieve an OpenGL function by name. Returns 'nullFunPtr' when no function
--- with the given name was found.
-getProcAddress :: MonadIO m => String -> m (FunPtr a)
-getProcAddress cmd = liftIO $ withUtf8String cmd hs_OpenGLRaw_getProcAddress
-
-foreign import ccall unsafe "hs_OpenGLRaw_getProcAddress"
-   hs_OpenGLRaw_getProcAddress :: CString -> IO (FunPtr a)
-
--- | Retrieve an OpenGL function by name. Throws an 'userError' when no function
--- with the given name was found.
-getProcAddressChecked :: MonadIO m => String -> m (FunPtr a)
-getProcAddressChecked cmd = liftIO $ 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 :: MonadIO m => String -> [String] -> m (FunPtr a)
-getProcAddressWithSuffixes _ [] = return nullFunPtr
-getProcAddressWithSuffixes cmd (x:xs) = do
-   p <- getProcAddress (cmd ++ x)
-   if p == nullFunPtr
-      then getProcAddressWithSuffixes cmd xs
-      else 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 :: MonadIO m
-                                  => String -> [String] -> m (FunPtr a)
-getProcAddressWithSuffixesChecked cmd suffixes =
-   liftIO $ 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 :: MonadIO m => String -> m (FunPtr a)
-getExtension cmd = liftIO $ getProcAddressWithSuffixes cmd 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 :: MonadIO m => String -> m (FunPtr a)
-getExtensionChecked cmd =
-  liftIO $ getProcAddressWithSuffixesChecked cmd 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" ]
-
---------------------------------------------------------------------------------
-
--- | Retrieve the set of all available OpenGL extensions.
-getExtensions :: MonadIO m => m (Set String)
-getExtensions = liftIO $ Data.Set.fromList <$> do
-  -- glGetStringi is only present from OpenGL 3.0 and OpenGL ES 3.0 onwards, but
-  -- we can't simply retrieve its entry point and check that against nullFunPtr:
-  -- Apart from WGL, entry points are context-independent, so even having an
-  -- entry point which looks valid doesn't guarantee that it is actually
-  -- supported. Therefore we need to check the OpenGL version number directly.
-  getString <- makeGetString
-  v <- getVersionWith getString
-  if v >= (3, 0)
-    then do getInteger <- makeGetInteger
-            getStringi <- makeGetStringi
-            numExtensions <- getInteger gl_NUM_EXTENSIONS
-            forM [ 0 .. fromIntegral numExtensions - 1 ] $
-              getStringi gl_EXTENSIONS
-    else words <$> getString gl_EXTENSIONS
-
---------------------------------------------------------------------------------
-
--- | Retrieve the OpenGL version, split into major and minor version numbers.
-getVersion :: MonadIO m => m (Int, Int)
-getVersion = liftIO $ makeGetString >>= getVersionWith
-
-getVersionWith :: (GLenum -> IO String) -> IO (Int, Int)
-getVersionWith getString =
-  runParser parseVersion (-1, -1) <$> getString gl_VERSION
-
-runParser :: ReadP a -> a -> String -> a
-runParser parser failed str =
-  case readP_to_S parser str of
-    [(v, "")] -> v
-    _ -> failed
-
--- This does quite a bit more than we need for "normal" OpenGL, but at least it
--- documents the convoluted format of the version string in detail.
-parseVersion :: ReadP (Int, Int)
-parseVersion = do
-  _prefix <-
-    -- Too lazy to define a type for the API...
-    ("CL" <$ string "OpenGL ES-CL ") <++  -- OpenGL ES 1.x Common-Lite
-    ("CM" <$ string "OpenGL ES-CM ") <++  -- OpenGL ES 1.x Common
-    ("ES" <$ string "OpenGL ES "   ) <++  -- OpenGL ES 2.x or 3.x
-    ("GL" <$ string ""             )      -- OpenGL
-  major <- read <$> munch1 isDigit
-  minor <- char '.' >> read <$> munch1 isDigit
-  _release <- (char '.' >> munch1 (/= ' ')) <++ return ""
-  _vendorStuff <- (char ' ' >> get `manyTill` eof) <++ ("" <$ eof)
-  return (major, minor)
-
---------------------------------------------------------------------------------
--- Graphics.Rendering.OpenGL.Raw.Foreign uses generated names, which are not
--- easily predictable, so we duplicate a few "foreign import"s below.
-
-makeGetString :: IO (GLenum -> IO String)
-makeGetString = do
-  glGetString_ <- dynGLenumIOPtrGLubyte <$> getProcAddress "glGetString"
-  return $ \name -> glGetString_ name >>= peekGLstring
-
-foreign import CALLCONV "dynamic" dynGLenumIOPtrGLubyte
-  :: FunPtr (GLenum -> IO (Ptr GLubyte))
-  ->         GLenum -> IO (Ptr GLubyte)
-
-makeGetStringi :: IO (GLenum -> GLuint -> IO String)
-makeGetStringi = do
-  glGetStringi_ <- dynGLenumGLuintIOPtrGLubyte <$> getProcAddress "glGetStringi"
-  return $ \name index -> glGetStringi_ name index >>= peekGLstring
-
-foreign import CALLCONV "dynamic" dynGLenumGLuintIOPtrGLubyte
-  :: FunPtr (GLenum -> GLuint -> IO (Ptr GLubyte))
-  ->         GLenum -> GLuint -> IO (Ptr GLubyte)
-
-makeGetInteger :: IO (GLenum -> IO GLint)
-makeGetInteger = do
-  glGetIntegerv_ <- dynGLenumPtrGLintIOVoid <$> getProcAddress "glGetIntegerv"
-  return $ \name -> alloca $ \p -> glGetIntegerv_ name p >> peek p
-
-foreign import CALLCONV "dynamic" dynGLenumPtrGLintIOVoid
-  :: FunPtr (GLenum -> Ptr GLint -> IO ())
-  ->         GLenum -> Ptr GLint -> IO ()
-
---------------------------------------------------------------------------------
-
--- Play safe, this is in line with OpenGL: Return something, but don't crash.
-peekGLstring :: Ptr GLubyte -> IO String
-peekGLstring = ptr (return "") (peekUtf8String . castPtr)
-
--- This should really be in Foreign.Ptr.
-ptr :: b -> (Ptr a -> b) -> Ptr a -> b
-ptr n f p | p == nullPtr = n
-          | otherwise    = f p
-
---------------------------------------------------------------------------------
-
-withUtf8String :: String -> (CString -> IO a) -> IO a
-withUtf8String = unsafeUseAsCString . encodeUtf8 . pack . (++ "\0")
-
-peekUtf8String :: CString -> IO String
-peekUtf8String p = unpack . decodeUtf8 <$> unsafePackCString p
-
---------------------------------------------------------------------------------
-
--- | The set of all available OpenGL extensions. Note that in the presence of
--- multiple contexts with different capabilities, this might be wrong. Use
--- 'getExtensions' in those cases instead.
-extensions :: Set String
-extensions = unsafePerformIO getExtensions
-{-# NOINLINE extensions #-}
-
--- | The OpenGL version, split into major and minor version numbers. Note that
--- in the presence of multiple contexts with different capabilities, this might
--- be wrong. Use 'getVersion' in those cases instead.
-version :: (Int, Int)
-version = unsafePerformIO getVersion
-{-# NOINLINE version #-}
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Groups.hs b/src/Graphics/Rendering/OpenGL/Raw/Groups.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Groups.hs
+++ /dev/null
@@ -1,1814 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Groups
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All enumeration groups from the
--- <http://www.opengl.org/registry/ OpenGL registry>.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.Groups (
-  -- $EnumerantGroups
-) where
-
--- $EnumerantGroups
--- Note that the actual set of valid values depend on the OpenGL version, the
--- chosen profile and the supported extensions. Therefore, the groups mentioned
--- here should only be considered a rough guideline, for details see the OpenGL
--- specification.
---
--- === #AccumOp# AccumOp
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LOAD'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RETURN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ADD'
---
--- === #AlphaFunction# AlphaFunction
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALWAYS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GEQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREATER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LEQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LESS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEVER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NOTEQUAL'
---
--- === #AttribMask# AttribMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM_BUFFER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALL_ATTRIB_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_BUFFER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_BUFFER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ENABLE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EVAL_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HINT_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHTING_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIST_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULTISAMPLE_BIT' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULTISAMPLE_BIT_3DFX', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULTISAMPLE_BIT_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULTISAMPLE_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MODE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_STIPPLE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SCISSOR_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_BUFFER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRANSFORM_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VIEWPORT_BIT'
---
--- === #BlendEquationModeEXT# BlendEquationModeEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_MAX_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_MIN_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FUNC_ADD_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FUNC_REVERSE_SUBTRACT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FUNC_SUBTRACT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LOGIC_OP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MIN_EXT'
---
--- === #BlendingFactorDest# BlendingFactorDest
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONSTANT_ALPHA_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONSTANT_COLOR_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DST_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_CONSTANT_ALPHA_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_CONSTANT_COLOR_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_DST_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_SRC_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_SRC_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SRC_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SRC_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ZERO'
---
--- === #BlendingFactorSrc# BlendingFactorSrc
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONSTANT_ALPHA_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONSTANT_COLOR_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DST_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DST_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_CONSTANT_ALPHA_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_CONSTANT_COLOR_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_DST_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_DST_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ONE_MINUS_SRC_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SRC_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SRC_ALPHA_SATURATE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ZERO'
---
--- === #Boolean# Boolean
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FALSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRUE'
---
--- === #ClearBufferMask# ClearBufferMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM_BUFFER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_BUFFER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COVERAGE_BUFFER_BIT_NV'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_BUFFER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_BUFFER_BIT'
---
--- === #ClientAttribMask# ClientAttribMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIENT_ALL_ATTRIB_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIENT_PIXEL_STORE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIENT_VERTEX_ARRAY_BIT'
---
--- === #ClipPlaneName# ClipPlaneName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE0' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE0')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE1' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE1')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE2' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE2')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE3' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE3')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE4' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE4')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE5' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE5')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE6'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_DISTANCE7'
---
--- === #ColorMaterialFace# ColorMaterialFace
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_AND_BACK'
---
--- === #ColorMaterialParameter# ColorMaterialParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AMBIENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AMBIENT_AND_DIFFUSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DIFFUSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EMISSION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPECULAR'
---
--- === #ColorPointerType# ColorPointerType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BYTE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHORT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_BYTE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT'
---
--- === #ColorTableParameterPNameSGI# ColorTableParameterPNameSGI
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_BIAS_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_SCALE_SGI')
---
--- === #ColorTableTargetSGI# ColorTableTargetSGI
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_COLOR_TABLE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_COLOR_TABLE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_COLOR_TABLE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_POST_CONVOLUTION_COLOR_TABLE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COLOR_TABLE_SGI'
---
--- === #ContextFlagMask# ContextFlagMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONTEXT_FLAG_DEBUG_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONTEXT_FLAG_DEBUG_BIT_KHR')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB'
---
--- === #ContextProfileMask# ContextProfileMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONTEXT_COMPATIBILITY_PROFILE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONTEXT_CORE_PROFILE_BIT'
---
--- === #ConvolutionBorderModeEXT# ConvolutionBorderModeEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REDUCE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REDUCE_EXT')
---
--- === #ConvolutionParameterEXT# ConvolutionParameterEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_BORDER_MODE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_BORDER_MODE_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_FILTER_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_FILTER_BIAS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_FILTER_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_FILTER_SCALE_EXT')
---
--- === #ConvolutionTargetEXT# ConvolutionTargetEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_1D' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_1D_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_2D' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_2D_EXT')
---
--- === #CullFaceMode# CullFaceMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_AND_BACK'
---
--- === #DataType# DataType
--- There are no values defined for this enumeration group.
---
---
--- === #DepthFunction# DepthFunction
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALWAYS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GEQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREATER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LEQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LESS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEVER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NOTEQUAL'
---
--- === #DrawBufferMode# DrawBufferMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX0'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK_LEFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK_RIGHT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_AND_BACK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_LEFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_RIGHT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LEFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NONE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NONE_OES')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RIGHT'
---
--- === #EnableCap# EnableCap
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_TEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_DRAW_PIXELS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_HISTOGRAM_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_READ_PIXELS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_TEX_IMAGE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUTO_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLEND'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CALLIGRAPHIC_FRAGMENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE0'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE5'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_LOGIC_OP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_MATERIAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_1D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_2D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CULL_FACE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_TEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DITHER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EDGE_FLAG_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_OFFSET_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_COLOR_MATERIAL_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT0_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT1_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT2_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT3_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT4_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT5_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT6_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT7_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHTING_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAMEZOOM_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_LOGIC_OP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INTERLACE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_IR_INSTRUMENT1_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT0'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT5'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT6'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT7'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHTING'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_SMOOTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STIPPLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_COLOR_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_VERTEX_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_VERTEX_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_COLOR_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_VERTEX_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_VERTEX_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULTISAMPLE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMALIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMAL_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEXTURE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SMOOTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_FILL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_LINE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_POINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_SMOOTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_STIPPLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REFERENCE_PLANE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RESCALE_NORMAL_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_ALPHA_TO_MASK_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_ALPHA_TO_ONE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_MASK_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SCISSOR_TEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SEPARABLE_2D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHARED_TEXTURE_PALETTE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPRITE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_TEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_1D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_2D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_3D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_4D_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_Q'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_R'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_S'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_T'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY'
---
--- === #ErrorCode# ErrorCode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVALID_ENUM'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVALID_FRAMEBUFFER_OPERATION' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVALID_FRAMEBUFFER_OPERATION_EXT', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVALID_FRAMEBUFFER_OPERATION_OES')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVALID_OPERATION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVALID_VALUE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NO_ERROR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OUT_OF_MEMORY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STACK_OVERFLOW'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STACK_UNDERFLOW'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TABLE_TOO_LARGE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TABLE_TOO_LARGE_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_TOO_LARGE_EXT'
---
--- === #FeedBackToken# FeedBackToken
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BITMAP_TOKEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COPY_PIXEL_TOKEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DRAW_PIXEL_TOKEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_RESET_TOKEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_TOKEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PASS_THROUGH_TOKEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_TOKEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_TOKEN'
---
--- === #FeedbackType# FeedbackType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_2D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_3D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_3D_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_3D_COLOR_TEXTURE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4D_COLOR_TEXTURE'
---
--- === #FfdMaskSGIX# FfdMaskSGIX
--- There are no values defined for this enumeration group.
---
---
--- === #FfdTargetSGIX# FfdTargetSGIX
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GEOMETRY_DEFORMATION_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_DEFORMATION_SGIX'
---
--- === #FogCoordinatePointerType# FogCoordinatePointerType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
---
--- === #FogMode# FogMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EXP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EXP2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_FUNC_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR'
---
--- === #FogParameter# FogParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_DENSITY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_END'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_OFFSET_VALUE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_START'
---
--- === #FogPointerTypeEXT# FogPointerTypeEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
---
--- === #FogPointerTypeIBM# FogPointerTypeIBM
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
---
--- === #FragmentLightModelParameterSGIX# FragmentLightModelParameterSGIX
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
---
--- === #FrontFaceDirection# FrontFaceDirection
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CCW'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CW'
---
--- === #GetColorTableParameterPNameSGI# GetColorTableParameterPNameSGI
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_ALPHA_SIZE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_BIAS_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_BLUE_SIZE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_FORMAT_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_GREEN_SIZE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_INTENSITY_SIZE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_LUMINANCE_SIZE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_RED_SIZE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_SCALE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_WIDTH_SGI'
---
--- === #GetConvolutionParameter# GetConvolutionParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_BORDER_MODE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_FILTER_BIAS_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_FILTER_SCALE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_FORMAT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_HEIGHT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_WIDTH_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_CONVOLUTION_HEIGHT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_CONVOLUTION_WIDTH_EXT'
---
--- === #GetHistogramParameterPNameEXT# GetHistogramParameterPNameEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_ALPHA_SIZE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_BLUE_SIZE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_FORMAT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_GREEN_SIZE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_LUMINANCE_SIZE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_RED_SIZE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_SINK_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_WIDTH_EXT'
---
--- === #GetMapQuery# GetMapQuery
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COEFF'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOMAIN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ORDER'
---
--- === #GetMinmaxParameterPNameEXT# GetMinmaxParameterPNameEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX_FORMAT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX_FORMAT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX_SINK' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX_SINK_EXT')
---
--- === #GetPName# GetPName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM_ALPHA_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM_BLUE_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM_CLEAR_VALUE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM_GREEN_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ACCUM_RED_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALIASED_LINE_WIDTH_RANGE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALIASED_POINT_SIZE_RANGE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_TEST' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_TEST_QCOM')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_TEST_FUNC' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_TEST_FUNC_QCOM')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_TEST_REF' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_TEST_REF_QCOM')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_DRAW_PIXELS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_HISTOGRAM_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_MARKER_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_READ_PIXELS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ASYNC_TEX_IMAGE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ATTRIB_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUTO_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX_BUFFERS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLEND'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLEND_COLOR_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLEND_DST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLEND_EQUATION_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLEND_SRC'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLUE_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLUE_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLUE_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CALLIGRAPHIC_FRAGMENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIENT_ATTRIB_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE0'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_PLANE5'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY_COUNT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY_STRIDE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY_TYPE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_CLEAR_VALUE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_LOGIC_OP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_MATERIAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_MATERIAL_FACE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_MATERIAL_PARAMETER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_MATRIX_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_MATRIX_STACK_DEPTH_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_WRITEMASK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_1D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_2D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_HINT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CULL_FACE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CULL_FACE_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_RASTER_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_RASTER_DISTANCE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_RASTER_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_RASTER_POSITION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_RASTER_POSITION_VALID'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_RASTER_TEXTURE_COORDS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CURRENT_TEXTURE_COORDS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEFORMATIONS_MASK_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_CLEAR_VALUE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_FUNC'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_RANGE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_TEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_WRITEMASK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DETAIL_TEXTURE_2D_BINDING_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DISTANCE_ATTENUATION_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DITHER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLEBUFFER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DRAW_BUFFER' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DRAW_BUFFER_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EDGE_FLAG'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EDGE_FLAG_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EDGE_FLAG_ARRAY_COUNT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EDGE_FLAG_ARRAY_STRIDE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FEEDBACK_BUFFER_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FEEDBACK_BUFFER_TYPE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_DENSITY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_END'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_FUNC_POINTS_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_OFFSET_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_OFFSET_VALUE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_START'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_COLOR_MATERIAL_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT0_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHTING_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAMEZOOM_FACTOR_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAMEZOOM_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_FACE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GENERATE_MIPMAP_HINT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREEN_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREEN_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREEN_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_ARRAY_COUNT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_ARRAY_STRIDE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_ARRAY_TYPE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_CLEAR_VALUE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_LOGIC_OP' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LOGIC_OP')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_OFFSET'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_SHIFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_WRITEMASK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INSTRUMENT_MEASUREMENTS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INTERLACE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_IR_INSTRUMENT1_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT0'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT5'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT6'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT7'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHTING'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_ENV_MODE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_AMBIENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_COLOR_CONTROL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_LOCAL_VIEWER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_TWO_SIDE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_SMOOTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_SMOOTH_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STIPPLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STIPPLE_PATTERN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STIPPLE_REPEAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_WIDTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_WIDTH_GRANULARITY' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SMOOTH_LINE_WIDTH_GRANULARITY')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_WIDTH_RANGE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SMOOTH_LINE_WIDTH_RANGE')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIST_BASE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIST_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIST_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LOGIC_OP_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_COLOR_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_GRID_DOMAIN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_GRID_SEGMENTS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_VERTEX_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_VERTEX_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_COLOR_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_GRID_DOMAIN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_GRID_SEGMENTS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_VERTEX_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_VERTEX_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_STENCIL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MATRIX_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_3D_TEXTURE_SIZE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_4D_TEXTURE_SIZE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_ACTIVE_LIGHTS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_ASYNC_DRAW_PIXELS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_ASYNC_HISTOGRAM_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_ASYNC_READ_PIXELS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_ASYNC_TEX_IMAGE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_ATTRIB_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_CLIENT_ATTRIB_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_CLIPMAP_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_CLIP_DISTANCES' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_CLIP_PLANES')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_EVAL_ORDER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_FOG_FUNC_POINTS_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_FRAGMENT_LIGHTS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_FRAMEZOOM_FACTOR_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_LIGHTS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_LIST_NESTING'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_MODELVIEW_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_NAME_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_PIXEL_MAP_TABLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_PROJECTION_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_TEXTURE_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_TEXTURE_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_VIEWPORT_DIMS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODELVIEW0_MATRIX_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODELVIEW_MATRIX')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODELVIEW0_STACK_DEPTH_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODELVIEW_STACK_DEPTH')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULTISAMPLE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NAME_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMALIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMAL_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMAL_ARRAY_COUNT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMAL_ARRAY_STRIDE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMAL_ARRAY_TYPE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_ALIGNMENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_CMYK_HINT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_IMAGE_HEIGHT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_LSB_FIRST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_RESAMPLE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_ROW_LENGTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_IMAGES_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_PIXELS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_ROWS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SWAP_BYTES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PERSPECTIVE_CORRECTION_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_A_TO_A_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_B_TO_B_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_G_TO_G_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_A_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_B_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_G_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_I_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_R_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_R_TO_R_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_S_TO_S_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEXTURE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_MODE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_CACHE_INCREMENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_CACHE_SIZE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_GRID_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_GRID_HEIGHT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_GRID_WIDTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_HEIGHT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_WIDTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_FADE_THRESHOLD_SIZE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_GRANULARITY' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SMOOTH_POINT_SIZE_GRANULARITY')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MAX_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MIN_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_RANGE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SMOOTH_POINT_SIZE_RANGE')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SMOOTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SMOOTH_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_BIAS_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_FACTOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_FILL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_LINE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_POINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_OFFSET_UNITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_SMOOTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_SMOOTH_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_STIPPLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_RED_BIAS_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_RED_SCALE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_ALPHA_BIAS_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_ALPHA_SCALE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_BLUE_BIAS_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_BLUE_SCALE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_GREEN_BIAS_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_GREEN_SCALE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_RED_BIAS_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_RED_SCALE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROJECTION_MATRIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROJECTION_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_READ_BUFFER' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_READ_BUFFER_EXT', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_READ_BUFFER_NV')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RED_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RED_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RED_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REFERENCE_PLANE_EQUATION_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REFERENCE_PLANE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RENDER_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RESCALE_NORMAL_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA_MODE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLES_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_ALPHA_TO_MASK_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_ALPHA_TO_ONE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_BUFFERS_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_MASK_INVERT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_MASK_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_MASK_VALUE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SAMPLE_PATTERN_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SCISSOR_BOX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SCISSOR_TEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SELECTION_BUFFER_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SEPARABLE_2D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHADE_MODEL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHARED_TEXTURE_PALETTE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPRITE_AXIS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPRITE_MODE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPRITE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPRITE_TRANSLATION_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_CLEAR_VALUE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_FAIL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_FUNC'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_PASS_DEPTH_FAIL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_PASS_DEPTH_PASS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_REF'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_TEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_VALUE_MASK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_WRITEMASK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STEREO'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SUBPIXEL_BITS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_1D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_2D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_3D_BINDING_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BINDING_3D')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_3D_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_4D_BINDING_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_4D_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BINDING_1D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BINDING_2D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COLOR_TABLE_SGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY_COUNT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY_STRIDE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY_TYPE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_Q'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_R'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_S'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_T'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MATRIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_STACK_DEPTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_ALIGNMENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_CMYK_HINT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_IMAGE_HEIGHT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_LSB_FIRST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_RESAMPLE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_ROW_LENGTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_IMAGES_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_PIXELS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_ROWS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SWAP_BYTES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY_COUNT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY_STRIDE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY_TYPE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_PRECLIP_HINT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_PRECLIP_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VIEWPORT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ZOOM_X'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ZOOM_Y'
---
--- === #GetPixelMap# GetPixelMap
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_A_TO_A'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_B_TO_B'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_G_TO_G'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_A'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_B'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_G'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_I'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_R'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_R_TO_R'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_S_TO_S'
---
--- === #GetPointervPName# GetPointervPName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY_POINTER' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_ARRAY_POINTER_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EDGE_FLAG_ARRAY_POINTER' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EDGE_FLAG_ARRAY_POINTER_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FEEDBACK_BUFFER_POINTER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_ARRAY_POINTER' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_ARRAY_POINTER_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INSTRUMENT_BUFFER_POINTER_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMAL_ARRAY_POINTER' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NORMAL_ARRAY_POINTER_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SELECTION_BUFFER_POINTER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY_POINTER' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COORD_ARRAY_POINTER_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY_POINTER' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY_POINTER_EXT')
---
--- === #GetTextureParameter# GetTextureParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DETAIL_TEXTURE_FUNC_POINTS_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DETAIL_TEXTURE_LEVEL_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DETAIL_TEXTURE_MODE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_TEXTURE_SELECT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GENERATE_MIPMAP_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_TEXTURE_FILTER_BIAS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_TEXTURE_FILTER_SCALE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_TEXTURE_SELECT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHADOW_AMBIENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_4DSIZE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_ALPHA_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BASE_LEVEL_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BLUE_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BORDER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BORDER_COLOR' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BORDER_COLOR_NV')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_CENTER_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_FRAME_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_OFFSET_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COMPARE_OPERATOR_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COMPARE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COMPONENTS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_INTERNAL_FORMAT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_DEPTH_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_FILTER4_SIZE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEQUAL_R_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GREEN_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_HEIGHT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_INTENSITY_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LEQUAL_R_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LOD_BIAS_R_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LOD_BIAS_S_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LOD_BIAS_T_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LUMINANCE_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAG_FILTER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_CLAMP_R_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_CLAMP_S_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_CLAMP_T_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_LEVEL_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_LOD_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MIN_FILTER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MIN_LOD_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_PRIORITY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_RED_SIZE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_RESIDENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WIDTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_Q_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_R_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_S'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_T'
---
--- === #HintMode# HintMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DONT_CARE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FASTEST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NICEST'
---
--- === #HintTarget# HintTarget
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALLOW_DRAW_FRG_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALLOW_DRAW_MEM_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALLOW_DRAW_OBJ_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALLOW_DRAW_WIN_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALWAYS_FAST_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALWAYS_SOFT_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK_NORMALS_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BINNING_CONTROL_HINT_QCOM'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_FAR_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_NEAR_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIP_VOLUME_CLIPPING_HINT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONSERVE_MEMORY_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONVOLUTION_HINT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FOG_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_SHADER_DERIVATIVE_HINT' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_SHADER_DERIVATIVE_HINT_OES')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FULL_STIPPLE_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GENERATE_MIPMAP_HINT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GENERATE_MIPMAP_HINT_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_QUALITY_HINT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_SMOOTH_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MATERIAL_SIDE_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAX_VERTEX_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MULTISAMPLE_FILTER_HINT_NV'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NATIVE_GRAPHICS_BEGIN_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NATIVE_GRAPHICS_END_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_CMYK_HINT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PERSPECTIVE_CORRECTION_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PHONG_HINT_WIN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SMOOTH_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON_SMOOTH_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PREFER_DOUBLEBUFFER_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROGRAM_BINARY_RETRIEVABLE_HINT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RECLAIM_MEMORY_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SCALEBIAS_HINT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STRICT_DEPTHFUNC_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STRICT_LIGHTING_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STRICT_SCISSOR_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COMPRESSION_HINT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COMPRESSION_HINT_ARB')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MULTI_BUFFER_HINT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_STORAGE_HINT_APPLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRANSFORM_HINT_APPLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_CMYK_HINT_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ARRAY_STORAGE_HINT_APPLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_CONSISTENT_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_DATA_HINT_PGI'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_PRECLIP_HINT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_PRECLIP_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_WIDE_LINE_HINT_PGI'
---
--- === #HistogramTargetEXT# HistogramTargetEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_HISTOGRAM_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_HISTOGRAM' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_HISTOGRAM_EXT')
---
--- === #IndexPointerType# IndexPointerType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHORT'
---
--- === #InterleavedArrayFormat# InterleavedArrayFormat
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_C3F_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_C4F_N3F_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_C4UB_V2F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_C4UB_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_N3F_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T2F_C3F_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T2F_C4F_N3F_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T2F_C4UB_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T2F_N3F_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T2F_V3F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T4F_C4F_N3F_V4F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T4F_V4F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_V2F'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_V3F'
---
--- === #InternalFormat# InternalFormat
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA12'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA16'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA8'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_COMPONENT16_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_COMPONENT24_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_COMPONENT32_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_ALPHA12_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_ALPHA16_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_ALPHA4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_ALPHA8_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_INTENSITY12_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_INTENSITY16_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_INTENSITY4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_INTENSITY8_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_LUMINANCE12_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_LUMINANCE16_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_LUMINANCE4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_LUMINANCE8_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_LUMINANCE_ALPHA4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_LUMINANCE_ALPHA8_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INTENSITY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INTENSITY12'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INTENSITY16'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INTENSITY4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INTENSITY8'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE12'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE12_ALPHA12'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE12_ALPHA4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE16'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE16_ALPHA16'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE4_ALPHA4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE6_ALPHA2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE8'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE8_ALPHA8'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_ALPHA4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_ALPHA8_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_INTENSITY4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_INTENSITY8_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_LUMINANCE4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_LUMINANCE8_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_R3_G3_B2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB10'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB10_A2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB12'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB16'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB2_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB5'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB5_A1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB8'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA12'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA16'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA8'
---
--- === #LightEnvModeSGIX# LightEnvModeSGIX
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ADD'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODULATE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REPLACE'
---
--- === #LightEnvParameterSGIX# LightEnvParameterSGIX
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_ENV_MODE_SGIX'
---
--- === #LightModelColorControl# LightModelColorControl
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SEPARATE_SPECULAR_COLOR' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SEPARATE_SPECULAR_COLOR_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SINGLE_COLOR' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SINGLE_COLOR_EXT')
---
--- === #LightModelParameter# LightModelParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_AMBIENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_COLOR_CONTROL' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_COLOR_CONTROL_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_LOCAL_VIEWER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT_MODEL_TWO_SIDE'
---
--- === #LightName# LightName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT0_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT1_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT2_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT3_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT4_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT5_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT6_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_LIGHT7_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT0'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT5'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT6'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIGHT7'
---
--- === #LightParameter# LightParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AMBIENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CONSTANT_ATTENUATION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DIFFUSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_ATTENUATION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POSITION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUADRATIC_ATTENUATION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPECULAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPOT_CUTOFF'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPOT_DIRECTION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPOT_EXPONENT'
---
--- === #ListMode# ListMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COMPILE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COMPILE_AND_EXECUTE'
---
--- === #ListNameType# ListNameType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_2_BYTES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_3_BYTES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4_BYTES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BYTE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHORT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_BYTE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT'
---
--- === #ListParameterName# ListParameterName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LIST_PRIORITY_SGIX'
---
--- === #LogicOp# LogicOp
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AND'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AND_INVERTED'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AND_REVERSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLEAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COPY'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COPY_INVERTED'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EQUIV'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVERT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NAND'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NOOP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OR_INVERTED'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OR_REVERSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SET'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_XOR'
---
--- === #MapBufferUsageMask# MapBufferUsageMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIENT_STORAGE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DYNAMIC_STORAGE_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_COHERENT_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_FLUSH_EXPLICIT_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_FLUSH_EXPLICIT_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_INVALIDATE_BUFFER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_INVALIDATE_BUFFER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_INVALIDATE_RANGE_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_INVALIDATE_RANGE_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_PERSISTENT_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_READ_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_READ_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_UNSYNCHRONIZED_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_UNSYNCHRONIZED_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_WRITE_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_WRITE_BIT_EXT')
---
--- === #MapTarget# MapTarget
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GEOMETRY_DEFORMATION_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_COLOR_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_TEXTURE_COORD_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_VERTEX_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP1_VERTEX_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_COLOR_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_NORMAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_TEXTURE_COORD_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_VERTEX_3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP2_VERTEX_4'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_DEFORMATION_SGIX'
---
--- === #MapTextureFormatINTEL# MapTextureFormatINTEL
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LAYOUT_DEFAULT_INTEL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LAYOUT_LINEAR_CPU_CACHED_INTEL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LAYOUT_LINEAR_INTEL'
---
--- === #MaterialFace# MaterialFace
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_AND_BACK'
---
--- === #MaterialParameter# MaterialParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AMBIENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AMBIENT_AND_DIFFUSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_INDEXES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DIFFUSE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EMISSION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHININESS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPECULAR'
---
--- === #MatrixMode# MatrixMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODELVIEW' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODELVIEW0_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROJECTION'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE'
---
--- === #MemoryBarrierMask# MemoryBarrierMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALL_BARRIER_BITS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALL_BARRIER_BITS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ATOMIC_COUNTER_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ATOMIC_COUNTER_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BUFFER_UPDATE_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BUFFER_UPDATE_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COMMAND_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COMMAND_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ELEMENT_ARRAY_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ELEMENT_ARRAY_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAMEBUFFER_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAMEBUFFER_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_BUFFER_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_BUFFER_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUERY_BUFFER_BARRIER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHADER_IMAGE_ACCESS_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHADER_IMAGE_ACCESS_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHADER_STORAGE_BARRIER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_FETCH_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_FETCH_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_UPDATE_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_UPDATE_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRANSFORM_FEEDBACK_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRANSFORM_FEEDBACK_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNIFORM_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNIFORM_BARRIER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_ATTRIB_ARRAY_BARRIER_BIT_EXT')
---
--- === #MeshMode1# MeshMode1
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT'
---
--- === #MeshMode2# MeshMode2
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FILL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT'
---
--- === #MinmaxTargetEXT# MinmaxTargetEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MINMAX_EXT')
---
--- === #NormalPointerType# NormalPointerType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BYTE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHORT'
---
--- === #OcclusionQueryEventMaskAMD# OcclusionQueryEventMaskAMD
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUERY_DEPTH_PASS_EVENT_BIT_AMD'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUERY_DEPTH_FAIL_EVENT_BIT_AMD'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUERY_STENCIL_FAIL_EVENT_BIT_AMD'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUERY_DEPTH_BOUNDS_FAIL_EVENT_BIT_AMD'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUERY_ALL_EVENT_BITS_AMD'
---
--- === #PixelCopyType# PixelCopyType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_EXT')
---
--- === #PixelFormat# PixelFormat
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ABGR_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLUE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CMYKA_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CMYK_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COLOR_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_COMPONENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREEN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RED' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RED_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_STENCIL_INDEX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_YCRCB_422_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_YCRCB_444_SGIX'
---
--- === #PixelMap# PixelMap
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_A_TO_A'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_B_TO_B'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_G_TO_G'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_A'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_B'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_G'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_I'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_I_TO_R'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_R_TO_R'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_MAP_S_TO_S'
---
--- === #PixelStoreParameter# PixelStoreParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_ALIGNMENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_IMAGE_HEIGHT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_IMAGE_HEIGHT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_LSB_FIRST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_RESAMPLE_OML'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_RESAMPLE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_ROW_LENGTH'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_IMAGES' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_IMAGES_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_PIXELS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_ROWS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PACK_SWAP_BYTES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_CACHE_SIZE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_GRID_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_GRID_HEIGHT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_GRID_WIDTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_HEIGHT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TILE_WIDTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_ALIGNMENT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_IMAGE_DEPTH_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_IMAGE_HEIGHT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_IMAGE_HEIGHT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_LSB_FIRST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_RESAMPLE_OML'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_RESAMPLE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_ROW_LENGTH' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_ROW_LENGTH_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_IMAGES' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_IMAGES_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_PIXELS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_PIXELS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_ROWS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_ROWS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SKIP_VOLUMES_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SUBSAMPLE_RATE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNPACK_SWAP_BYTES'
---
--- === #PixelStoreResampleMode# PixelStoreResampleMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RESAMPLE_DECIMATE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RESAMPLE_REPLICATE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RESAMPLE_ZERO_FILL_SGIX'
---
--- === #PixelStoreSubsampleRate# PixelStoreSubsampleRate
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_SUBSAMPLE_2424_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_SUBSAMPLE_4242_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_SUBSAMPLE_4444_SGIX'
---
--- === #PixelTexGenMode# PixelTexGenMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LUMINANCE_ALPHA'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NONE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_ALPHA_LS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_ALPHA_MS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGB'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RGBA'
---
--- === #PixelTexGenParameterNameSGIS# PixelTexGenParameterNameSGIS
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS'
---
--- === #PixelTransferParameter# PixelTransferParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALPHA_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLUE_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLUE_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DEPTH_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREEN_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREEN_SCALE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_OFFSET'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INDEX_SHIFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MAP_STENCIL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_ALPHA_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_ALPHA_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_BLUE_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_BLUE_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_GREEN_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_GREEN_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_RED_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_RED_BIAS_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_RED_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_COLOR_MATRIX_RED_SCALE_SGI')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_ALPHA_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_ALPHA_BIAS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_ALPHA_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_ALPHA_SCALE_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_BLUE_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_BLUE_BIAS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_BLUE_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_BLUE_SCALE_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_GREEN_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_GREEN_BIAS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_GREEN_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_GREEN_SCALE_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_RED_BIAS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_RED_BIAS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_RED_SCALE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_CONVOLUTION_RED_SCALE_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RED_BIAS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RED_SCALE'
---
--- === #PixelType# PixelType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BITMAP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BYTE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHORT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_BYTE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_BYTE_3_3_2' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_BYTE_3_3_2_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT_10_10_10_2' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT_10_10_10_2_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT_8_8_8_8' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_INT_8_8_8_8_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT_4_4_4_4' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT_4_4_4_4_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT_5_5_5_1' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_UNSIGNED_SHORT_5_5_5_1_EXT')
---
--- === #PointParameterNameSGIS# PointParameterNameSGIS
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DISTANCE_ATTENUATION_EXT' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DISTANCE_ATTENUATION_SGIS', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_DISTANCE_ATTENUATION', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_DISTANCE_ATTENUATION_ARB')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_FADE_THRESHOLD_SIZE' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_FADE_THRESHOLD_SIZE_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_FADE_THRESHOLD_SIZE_EXT', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_FADE_THRESHOLD_SIZE_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MAX' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MAX_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MAX_EXT', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MAX_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MIN' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MIN_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MIN_EXT', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT_SIZE_MIN_SGIS')
---
--- === #PolygonMode# PolygonMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FILL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINT'
---
--- === #PrimitiveType# PrimitiveType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINES_ADJACENCY' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINES_ADJACENCY_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINES_ADJACENCY_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_LOOP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STRIP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STRIP_ADJACENCY' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STRIP_ADJACENCY_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINE_STRIP_ADJACENCY_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PATCHES' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PATCHES_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POINTS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POLYGON'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUADS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUADS_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_STRIP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLES'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLES_ADJACENCY' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLES_ADJACENCY_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLES_ADJACENCY_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLE_FAN'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLE_STRIP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLE_STRIP_ADJACENCY' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLE_STRIP_ADJACENCY_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TRIANGLE_STRIP_ADJACENCY_EXT')
---
--- === #ReadBufferMode# ReadBufferMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX0'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX1'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX2'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_AUX3'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK_LEFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BACK_RIGHT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_LEFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRONT_RIGHT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LEFT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RIGHT'
---
--- === #RenderingMode# RenderingMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FEEDBACK'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RENDER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SELECT'
---
--- === #SamplePatternSGIS# SamplePatternSGIS
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_1PASS_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_1PASS_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_2PASS_0_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_2PASS_0_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_2PASS_1_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_2PASS_1_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_0_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_0_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_1_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_1_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_2_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_2_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_3_EXT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_4PASS_3_SGIS')
---
--- === #SeparableTargetEXT# SeparableTargetEXT
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SEPARABLE_2D' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SEPARABLE_2D_EXT')
---
--- === #ShadingModel# ShadingModel
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SMOOTH'
---
--- === #StencilFunction# StencilFunction
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALWAYS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GEQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GREATER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LEQUAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LESS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEVER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NOTEQUAL'
---
--- === #StencilOp# StencilOp
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DECR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INCR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INVERT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_KEEP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REPLACE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ZERO'
---
--- === #StringName# StringName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EXTENSIONS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_RENDERER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VENDOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERSION'
---
--- === #TexCoordPointerType# TexCoordPointerType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHORT'
---
--- === #TextureCoordName# TextureCoordName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_S'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_T'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_R'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_Q'
---
--- === #TextureEnvMode# TextureEnvMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ADD'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_BLEND'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DECAL'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_MODULATE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REPLACE_EXT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_ENV_BIAS_SGIX'
---
--- === #TextureEnvParameter# TextureEnvParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_ENV_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_ENV_MODE'
---
--- === #TextureEnvTarget# TextureEnvTarget
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_ENV'
---
--- === #TextureFilterFuncSGIS# TextureFilterFuncSGIS
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FILTER4_SGIS'
---
--- === #TextureGenMode# TextureGenMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EYE_DISTANCE_TO_LINE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EYE_DISTANCE_TO_POINT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EYE_LINEAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OBJECT_DISTANCE_TO_LINE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OBJECT_DISTANCE_TO_POINT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OBJECT_LINEAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SPHERE_MAP'
---
--- === #TextureGenParameter# TextureGenParameter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EYE_LINE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EYE_PLANE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_EYE_POINT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OBJECT_LINE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OBJECT_PLANE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_OBJECT_POINT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_GEN_MODE'
---
--- === #TextureMagFilter# TextureMagFilter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FILTER4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_DETAIL_ALPHA_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_DETAIL_COLOR_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_DETAIL_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_SHARPEN_ALPHA_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_SHARPEN_COLOR_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_SHARPEN_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEAREST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_Q_CEILING_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_Q_ROUND_SGIX'
---
--- === #TextureMinFilter# TextureMinFilter
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FILTER4_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_CLIPMAP_LINEAR_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_CLIPMAP_NEAREST_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_MIPMAP_LINEAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_LINEAR_MIPMAP_NEAREST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEAREST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEAREST_CLIPMAP_LINEAR_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEAREST_CLIPMAP_NEAREST_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEAREST_MIPMAP_LINEAR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_NEAREST_MIPMAP_NEAREST'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_Q_CEILING_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_Q_FLOOR_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PIXEL_TEX_GEN_Q_ROUND_SGIX'
---
--- === #TextureParameterName# TextureParameterName
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DETAIL_TEXTURE_LEVEL_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DETAIL_TEXTURE_MODE_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DUAL_TEXTURE_SELECT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GENERATE_MIPMAP' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GENERATE_MIPMAP_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_TEXTURE_FILTER_BIAS_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_POST_TEXTURE_FILTER_SCALE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_QUAD_TEXTURE_SELECT_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHADOW_AMBIENT_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BORDER_COLOR'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_CENTER_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_FRAME_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_OFFSET_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_COMPARE_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LOD_BIAS_R_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LOD_BIAS_S_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_LOD_BIAS_T_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAG_FILTER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_CLAMP_R_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_CLAMP_S_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_CLAMP_T_SGIX'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MIN_FILTER'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_PRIORITY' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_PRIORITY_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_Q_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_R' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_R_EXT', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_R_OES')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_S'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_WRAP_T'
---
--- === #TextureTarget# TextureTarget
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DETAIL_TEXTURE_2D_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_1D' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_1D_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_2D' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_2D_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_3D' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_3D_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_PROXY_TEXTURE_4D_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_1D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_2D'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_3D' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_3D_EXT', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_3D_OES')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_4D_SGIS'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BASE_LEVEL' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_BASE_LEVEL_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_LEVEL' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_LEVEL_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_LOD' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MAX_LOD_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MIN_LOD' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TEXTURE_MIN_LOD_SGIS')
---
--- === #TextureWrapMode# TextureWrapMode
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLAMP'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLAMP_TO_BORDER' (aliases: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLAMP_TO_BORDER_ARB', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLAMP_TO_BORDER_NV', 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLAMP_TO_BORDER_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLAMP_TO_EDGE' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_CLAMP_TO_EDGE_SGIS')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_REPEAT'
---
--- === #UseProgramStageMask# UseProgramStageMask
--- A bitwise combination of several of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_SHADER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_VERTEX_SHADER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_SHADER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FRAGMENT_SHADER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GEOMETRY_SHADER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_GEOMETRY_SHADER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TESS_CONTROL_SHADER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TESS_CONTROL_SHADER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TESS_EVALUATION_SHADER_BIT' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_TESS_EVALUATION_SHADER_BIT_EXT')
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_COMPUTE_SHADER_BIT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALL_SHADER_BITS' (alias: 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_ALL_SHADER_BITS_EXT')
---
--- === #VertexPointerType# VertexPointerType
--- One of the following values:
---
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_DOUBLE'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_FLOAT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_INT'
--- * 'Graphics.Rendering.OpenGL.Raw.Tokens.gl_SHORT'
diff --git a/src/Graphics/Rendering/OpenGL/Raw/HP.hs b/src/Graphics/Rendering/OpenGL/Raw/HP.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/HP.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.HP
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing HP extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.HP (
-  module Graphics.Rendering.OpenGL.Raw.HP.ConvolutionBorderModes,
-  module Graphics.Rendering.OpenGL.Raw.HP.ImageTransform,
-  module Graphics.Rendering.OpenGL.Raw.HP.OcclusionTest,
-  module Graphics.Rendering.OpenGL.Raw.HP.TextureLighting
-) where
-
-import Graphics.Rendering.OpenGL.Raw.HP.ConvolutionBorderModes
-import Graphics.Rendering.OpenGL.Raw.HP.ImageTransform
-import Graphics.Rendering.OpenGL.Raw.HP.OcclusionTest
-import Graphics.Rendering.OpenGL.Raw.HP.TextureLighting
diff --git a/src/Graphics/Rendering/OpenGL/Raw/HP/ConvolutionBorderModes.hs b/src/Graphics/Rendering/OpenGL/Raw/HP/ConvolutionBorderModes.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/HP/ConvolutionBorderModes.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.HP.ConvolutionBorderModes
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.HP.ConvolutionBorderModes (
-  -- * Extension Support
-  glGetHPConvolutionBorderModes,
-  gl_HP_convolution_border_modes,
-  -- * Enums
-  gl_CONSTANT_BORDER_HP,
-  gl_CONVOLUTION_BORDER_COLOR_HP,
-  gl_IGNORE_BORDER_HP,
-  gl_REPLICATE_BORDER_HP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/HP/ImageTransform.hs b/src/Graphics/Rendering/OpenGL/Raw/HP/ImageTransform.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/HP/ImageTransform.hs
+++ /dev/null
@@ -1,44 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.HP.ImageTransform
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.HP.ImageTransform (
-  -- * Extension Support
-  glGetHPImageTransform,
-  gl_HP_image_transform,
-  -- * Enums
-  gl_AVERAGE_HP,
-  gl_CUBIC_HP,
-  gl_IMAGE_CUBIC_WEIGHT_HP,
-  gl_IMAGE_MAG_FILTER_HP,
-  gl_IMAGE_MIN_FILTER_HP,
-  gl_IMAGE_ROTATE_ANGLE_HP,
-  gl_IMAGE_ROTATE_ORIGIN_X_HP,
-  gl_IMAGE_ROTATE_ORIGIN_Y_HP,
-  gl_IMAGE_SCALE_X_HP,
-  gl_IMAGE_SCALE_Y_HP,
-  gl_IMAGE_TRANSFORM_2D_HP,
-  gl_IMAGE_TRANSLATE_X_HP,
-  gl_IMAGE_TRANSLATE_Y_HP,
-  gl_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP,
-  gl_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP,
-  -- * Functions
-  glGetImageTransformParameterfvHP,
-  glGetImageTransformParameterivHP,
-  glImageTransformParameterfHP,
-  glImageTransformParameterfvHP,
-  glImageTransformParameteriHP,
-  glImageTransformParameterivHP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/HP/OcclusionTest.hs b/src/Graphics/Rendering/OpenGL/Raw/HP/OcclusionTest.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/HP/OcclusionTest.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.HP.OcclusionTest
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.HP.OcclusionTest (
-  -- * Extension Support
-  glGetHPOcclusionTest,
-  gl_HP_occlusion_test,
-  -- * Enums
-  gl_OCCLUSION_TEST_HP,
-  gl_OCCLUSION_TEST_RESULT_HP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/HP/TextureLighting.hs b/src/Graphics/Rendering/OpenGL/Raw/HP/TextureLighting.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/HP/TextureLighting.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.HP.TextureLighting
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.HP.TextureLighting (
-  -- * Extension Support
-  glGetHPTextureLighting,
-  gl_HP_texture_lighting,
-  -- * Enums
-  gl_TEXTURE_LIGHTING_MODE_HP,
-  gl_TEXTURE_POST_SPECULAR_HP,
-  gl_TEXTURE_PRE_SPECULAR_HP
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/IBM.hs b/src/Graphics/Rendering/OpenGL/Raw/IBM.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/IBM.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.IBM
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing IBM extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.IBM (
-  module Graphics.Rendering.OpenGL.Raw.IBM.CullVertex,
-  module Graphics.Rendering.OpenGL.Raw.IBM.MultimodeDrawArrays,
-  module Graphics.Rendering.OpenGL.Raw.IBM.RasterposClip,
-  module Graphics.Rendering.OpenGL.Raw.IBM.StaticData,
-  module Graphics.Rendering.OpenGL.Raw.IBM.TextureMirroredRepeat,
-  module Graphics.Rendering.OpenGL.Raw.IBM.VertexArrayLists
-) where
-
-import Graphics.Rendering.OpenGL.Raw.IBM.CullVertex
-import Graphics.Rendering.OpenGL.Raw.IBM.MultimodeDrawArrays
-import Graphics.Rendering.OpenGL.Raw.IBM.RasterposClip
-import Graphics.Rendering.OpenGL.Raw.IBM.StaticData
-import Graphics.Rendering.OpenGL.Raw.IBM.TextureMirroredRepeat
-import Graphics.Rendering.OpenGL.Raw.IBM.VertexArrayLists
diff --git a/src/Graphics/Rendering/OpenGL/Raw/IBM/CullVertex.hs b/src/Graphics/Rendering/OpenGL/Raw/IBM/CullVertex.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/IBM/CullVertex.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.IBM.CullVertex
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.IBM.CullVertex (
-  -- * Extension Support
-  glGetIBMCullVertex,
-  gl_IBM_cull_vertex,
-  -- * Enums
-  gl_CULL_VERTEX_IBM
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/IBM/MultimodeDrawArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/IBM/MultimodeDrawArrays.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/IBM/MultimodeDrawArrays.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.IBM.MultimodeDrawArrays
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.IBM.MultimodeDrawArrays (
-  -- * Extension Support
-  glGetIBMMultimodeDrawArrays,
-  gl_IBM_multimode_draw_arrays,
-  -- * Functions
-  glMultiModeDrawArraysIBM,
-  glMultiModeDrawElementsIBM
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/IBM/RasterposClip.hs b/src/Graphics/Rendering/OpenGL/Raw/IBM/RasterposClip.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/IBM/RasterposClip.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.IBM.RasterposClip
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.IBM.RasterposClip (
-  -- * Extension Support
-  glGetIBMRasterposClip,
-  gl_IBM_rasterpos_clip,
-  -- * Enums
-  gl_RASTER_POSITION_UNCLIPPED_IBM
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/IBM/StaticData.hs b/src/Graphics/Rendering/OpenGL/Raw/IBM/StaticData.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/IBM/StaticData.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.IBM.StaticData
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.IBM.StaticData (
-  -- * Extension Support
-  glGetIBMStaticData,
-  gl_IBM_static_data,
-  -- * Enums
-  gl_ALL_STATIC_DATA_IBM,
-  gl_STATIC_VERTEX_ARRAY_IBM,
-  -- * Functions
-  glFlushStaticDataIBM
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/IBM/TextureMirroredRepeat.hs b/src/Graphics/Rendering/OpenGL/Raw/IBM/TextureMirroredRepeat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/IBM/TextureMirroredRepeat.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.IBM.TextureMirroredRepeat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.IBM.TextureMirroredRepeat (
-  -- * Extension Support
-  glGetIBMTextureMirroredRepeat,
-  gl_IBM_texture_mirrored_repeat,
-  -- * Enums
-  gl_MIRRORED_REPEAT_IBM
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/IBM/VertexArrayLists.hs b/src/Graphics/Rendering/OpenGL/Raw/IBM/VertexArrayLists.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/IBM/VertexArrayLists.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.IBM.VertexArrayLists
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.IBM.VertexArrayLists (
-  -- * Extension Support
-  glGetIBMVertexArrayLists,
-  gl_IBM_vertex_array_lists,
-  -- * Enums
-  gl_COLOR_ARRAY_LIST_IBM,
-  gl_COLOR_ARRAY_LIST_STRIDE_IBM,
-  gl_EDGE_FLAG_ARRAY_LIST_IBM,
-  gl_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM,
-  gl_FOG_COORDINATE_ARRAY_LIST_IBM,
-  gl_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM,
-  gl_INDEX_ARRAY_LIST_IBM,
-  gl_INDEX_ARRAY_LIST_STRIDE_IBM,
-  gl_NORMAL_ARRAY_LIST_IBM,
-  gl_NORMAL_ARRAY_LIST_STRIDE_IBM,
-  gl_SECONDARY_COLOR_ARRAY_LIST_IBM,
-  gl_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM,
-  gl_TEXTURE_COORD_ARRAY_LIST_IBM,
-  gl_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM,
-  gl_VERTEX_ARRAY_LIST_IBM,
-  gl_VERTEX_ARRAY_LIST_STRIDE_IBM,
-  -- * Functions
-  glColorPointerListIBM,
-  glEdgeFlagPointerListIBM,
-  glFogCoordPointerListIBM,
-  glIndexPointerListIBM,
-  glNormalPointerListIBM,
-  glSecondaryColorPointerListIBM,
-  glTexCoordPointerListIBM,
-  glVertexPointerListIBM
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INGR.hs b/src/Graphics/Rendering/OpenGL/Raw/INGR.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INGR.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INGR
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing INGR extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INGR (
-  module Graphics.Rendering.OpenGL.Raw.INGR.BlendFuncSeparate,
-  module Graphics.Rendering.OpenGL.Raw.INGR.ColorClamp,
-  module Graphics.Rendering.OpenGL.Raw.INGR.InterlaceRead
-) where
-
-import Graphics.Rendering.OpenGL.Raw.INGR.BlendFuncSeparate
-import Graphics.Rendering.OpenGL.Raw.INGR.ColorClamp
-import Graphics.Rendering.OpenGL.Raw.INGR.InterlaceRead
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INGR/BlendFuncSeparate.hs b/src/Graphics/Rendering/OpenGL/Raw/INGR/BlendFuncSeparate.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INGR/BlendFuncSeparate.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INGR.BlendFuncSeparate
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INGR.BlendFuncSeparate (
-  -- * Extension Support
-  glGetINGRBlendFuncSeparate,
-  gl_INGR_blend_func_separate,
-  -- * Functions
-  glBlendFuncSeparateINGR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INGR/ColorClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/INGR/ColorClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INGR/ColorClamp.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INGR.ColorClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INGR.ColorClamp (
-  -- * Extension Support
-  glGetINGRColorClamp,
-  gl_INGR_color_clamp,
-  -- * Enums
-  gl_ALPHA_MAX_CLAMP_INGR,
-  gl_ALPHA_MIN_CLAMP_INGR,
-  gl_BLUE_MAX_CLAMP_INGR,
-  gl_BLUE_MIN_CLAMP_INGR,
-  gl_GREEN_MAX_CLAMP_INGR,
-  gl_GREEN_MIN_CLAMP_INGR,
-  gl_RED_MAX_CLAMP_INGR,
-  gl_RED_MIN_CLAMP_INGR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INGR/InterlaceRead.hs b/src/Graphics/Rendering/OpenGL/Raw/INGR/InterlaceRead.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INGR/InterlaceRead.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INGR.InterlaceRead
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INGR.InterlaceRead (
-  -- * Extension Support
-  glGetINGRInterlaceRead,
-  gl_INGR_interlace_read,
-  -- * Enums
-  gl_INTERLACE_READ_INGR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INTEL.hs b/src/Graphics/Rendering/OpenGL/Raw/INTEL.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INTEL.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INTEL
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing INTEL extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INTEL (
-  module Graphics.Rendering.OpenGL.Raw.INTEL.FramebufferCmaa,
-  module Graphics.Rendering.OpenGL.Raw.INTEL.MapTexture,
-  module Graphics.Rendering.OpenGL.Raw.INTEL.ParallelArrays,
-  module Graphics.Rendering.OpenGL.Raw.INTEL.PerformanceQuery
-) where
-
-import Graphics.Rendering.OpenGL.Raw.INTEL.FramebufferCmaa
-import Graphics.Rendering.OpenGL.Raw.INTEL.MapTexture
-import Graphics.Rendering.OpenGL.Raw.INTEL.ParallelArrays
-import Graphics.Rendering.OpenGL.Raw.INTEL.PerformanceQuery
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INTEL/FramebufferCmaa.hs b/src/Graphics/Rendering/OpenGL/Raw/INTEL/FramebufferCmaa.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INTEL/FramebufferCmaa.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INTEL.FramebufferCmaa
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INTEL.FramebufferCmaa (
-  -- * Extension Support
-  glGetINTELFramebufferCmaa,
-  gl_INTEL_framebuffer_CMAA,
-  -- * Functions
-  glApplyFramebufferAttachmentCMAAINTEL
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INTEL/MapTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/INTEL/MapTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INTEL/MapTexture.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INTEL.MapTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INTEL.MapTexture (
-  -- * Extension Support
-  glGetINTELMapTexture,
-  gl_INTEL_map_texture,
-  -- * Enums
-  gl_LAYOUT_DEFAULT_INTEL,
-  gl_LAYOUT_LINEAR_CPU_CACHED_INTEL,
-  gl_LAYOUT_LINEAR_INTEL,
-  gl_TEXTURE_MEMORY_LAYOUT_INTEL,
-  -- * Functions
-  glMapTexture2DINTEL,
-  glSyncTextureINTEL,
-  glUnmapTexture2DINTEL
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INTEL/ParallelArrays.hs b/src/Graphics/Rendering/OpenGL/Raw/INTEL/ParallelArrays.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INTEL/ParallelArrays.hs
+++ /dev/null
@@ -1,32 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INTEL.ParallelArrays
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INTEL.ParallelArrays (
-  -- * Extension Support
-  glGetINTELParallelArrays,
-  gl_INTEL_parallel_arrays,
-  -- * Enums
-  gl_COLOR_ARRAY_PARALLEL_POINTERS_INTEL,
-  gl_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL,
-  gl_PARALLEL_ARRAYS_INTEL,
-  gl_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL,
-  gl_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL,
-  -- * Functions
-  glColorPointervINTEL,
-  glNormalPointervINTEL,
-  glTexCoordPointervINTEL,
-  glVertexPointervINTEL
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/INTEL/PerformanceQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/INTEL/PerformanceQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/INTEL/PerformanceQuery.hs
+++ /dev/null
@@ -1,53 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.INTEL.PerformanceQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.INTEL.PerformanceQuery (
-  -- * Extension Support
-  glGetINTELPerformanceQuery,
-  gl_INTEL_performance_query,
-  -- * Enums
-  gl_PERFQUERY_COUNTER_DATA_BOOL32_INTEL,
-  gl_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL,
-  gl_PERFQUERY_COUNTER_DATA_FLOAT_INTEL,
-  gl_PERFQUERY_COUNTER_DATA_UINT32_INTEL,
-  gl_PERFQUERY_COUNTER_DATA_UINT64_INTEL,
-  gl_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL,
-  gl_PERFQUERY_COUNTER_DURATION_NORM_INTEL,
-  gl_PERFQUERY_COUNTER_DURATION_RAW_INTEL,
-  gl_PERFQUERY_COUNTER_EVENT_INTEL,
-  gl_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL,
-  gl_PERFQUERY_COUNTER_RAW_INTEL,
-  gl_PERFQUERY_COUNTER_THROUGHPUT_INTEL,
-  gl_PERFQUERY_COUNTER_TIMESTAMP_INTEL,
-  gl_PERFQUERY_DONOT_FLUSH_INTEL,
-  gl_PERFQUERY_FLUSH_INTEL,
-  gl_PERFQUERY_GLOBAL_CONTEXT_INTEL,
-  gl_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL,
-  gl_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL,
-  gl_PERFQUERY_SINGLE_CONTEXT_INTEL,
-  gl_PERFQUERY_WAIT_INTEL,
-  -- * Functions
-  glBeginPerfQueryINTEL,
-  glCreatePerfQueryINTEL,
-  glDeletePerfQueryINTEL,
-  glEndPerfQueryINTEL,
-  glGetFirstPerfQueryIdINTEL,
-  glGetNextPerfQueryIdINTEL,
-  glGetPerfCounterInfoINTEL,
-  glGetPerfQueryDataINTEL,
-  glGetPerfQueryIdByNameINTEL,
-  glGetPerfQueryInfoINTEL
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR.hs
+++ /dev/null
@@ -1,35 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing KHR extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR (
-  module Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvanced,
-  module Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvancedCoherent,
-  module Graphics.Rendering.OpenGL.Raw.KHR.ContextFlushControl,
-  module Graphics.Rendering.OpenGL.Raw.KHR.DebugCompatibility,
-  module Graphics.Rendering.OpenGL.Raw.KHR.DebugCore,
-  module Graphics.Rendering.OpenGL.Raw.KHR.NoError,
-  module Graphics.Rendering.OpenGL.Raw.KHR.Robustness,
-  module Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCHDR,
-  module Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCLDR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvanced
-import Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvancedCoherent
-import Graphics.Rendering.OpenGL.Raw.KHR.ContextFlushControl
-import Graphics.Rendering.OpenGL.Raw.KHR.DebugCompatibility
-import Graphics.Rendering.OpenGL.Raw.KHR.DebugCore
-import Graphics.Rendering.OpenGL.Raw.KHR.NoError
-import Graphics.Rendering.OpenGL.Raw.KHR.Robustness
-import Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCHDR
-import Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCLDR
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/BlendEquationAdvanced.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/BlendEquationAdvanced.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/BlendEquationAdvanced.hs
+++ /dev/null
@@ -1,39 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvanced
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvanced (
-  -- * Extension Support
-  glGetKHRBlendEquationAdvanced,
-  gl_KHR_blend_equation_advanced,
-  -- * Enums
-  gl_COLORBURN_KHR,
-  gl_COLORDODGE_KHR,
-  gl_DARKEN_KHR,
-  gl_DIFFERENCE_KHR,
-  gl_EXCLUSION_KHR,
-  gl_HARDLIGHT_KHR,
-  gl_HSL_COLOR_KHR,
-  gl_HSL_HUE_KHR,
-  gl_HSL_LUMINOSITY_KHR,
-  gl_HSL_SATURATION_KHR,
-  gl_LIGHTEN_KHR,
-  gl_MULTIPLY_KHR,
-  gl_OVERLAY_KHR,
-  gl_SCREEN_KHR,
-  gl_SOFTLIGHT_KHR,
-  -- * Functions
-  glBlendBarrierKHR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/BlendEquationAdvancedCoherent.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/BlendEquationAdvancedCoherent.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/BlendEquationAdvancedCoherent.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvancedCoherent
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.BlendEquationAdvancedCoherent (
-  -- * Extension Support
-  glGetKHRBlendEquationAdvancedCoherent,
-  gl_KHR_blend_equation_advanced_coherent,
-  -- * Enums
-  gl_BLEND_ADVANCED_COHERENT_KHR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/ContextFlushControl.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/ContextFlushControl.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/ContextFlushControl.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.ContextFlushControl
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.ContextFlushControl (
-  -- * Extension Support
-  glGetKHRContextFlushControl,
-  gl_KHR_context_flush_control,
-  -- * Enums
-  gl_CONTEXT_RELEASE_BEHAVIOR,
-  gl_CONTEXT_RELEASE_BEHAVIOR_FLUSH,
-  gl_NONE
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/DebugCompatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/DebugCompatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/DebugCompatibility.hs
+++ /dev/null
@@ -1,75 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.DebugCompatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.DebugCompatibility (
-  -- * Extension Support
-  glGetKHRDebug,
-  gl_KHR_debug,
-  -- * Enums
-  gl_BUFFER,
-  gl_CONTEXT_FLAG_DEBUG_BIT,
-  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_DISPLAY_LIST,
-  gl_MAX_DEBUG_GROUP_STACK_DEPTH,
-  gl_MAX_DEBUG_LOGGED_MESSAGES,
-  gl_MAX_DEBUG_MESSAGE_LENGTH,
-  gl_MAX_LABEL_LENGTH,
-  gl_PROGRAM,
-  gl_PROGRAM_PIPELINE,
-  gl_QUERY,
-  gl_SAMPLER,
-  gl_SHADER,
-  gl_STACK_OVERFLOW,
-  gl_STACK_UNDERFLOW,
-  gl_VERTEX_ARRAY,
-  -- * Functions
-  glDebugMessageCallback,
-  glDebugMessageControl,
-  glDebugMessageInsert,
-  glGetDebugMessageLog,
-  glGetObjectLabel,
-  glGetObjectPtrLabel,
-  glGetPointerv,
-  glObjectLabel,
-  glObjectPtrLabel,
-  glPopDebugGroup,
-  glPushDebugGroup
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/DebugCore.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/DebugCore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/DebugCore.hs
+++ /dev/null
@@ -1,74 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.DebugCore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.DebugCore (
-  -- * Extension Support
-  glGetKHRDebug,
-  gl_KHR_debug,
-  -- * Enums
-  gl_BUFFER,
-  gl_CONTEXT_FLAG_DEBUG_BIT,
-  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_MAX_DEBUG_GROUP_STACK_DEPTH,
-  gl_MAX_DEBUG_LOGGED_MESSAGES,
-  gl_MAX_DEBUG_MESSAGE_LENGTH,
-  gl_MAX_LABEL_LENGTH,
-  gl_PROGRAM,
-  gl_PROGRAM_PIPELINE,
-  gl_QUERY,
-  gl_SAMPLER,
-  gl_SHADER,
-  gl_STACK_OVERFLOW,
-  gl_STACK_UNDERFLOW,
-  gl_VERTEX_ARRAY,
-  -- * Functions
-  glDebugMessageCallback,
-  glDebugMessageControl,
-  glDebugMessageInsert,
-  glGetDebugMessageLog,
-  glGetObjectLabel,
-  glGetObjectPtrLabel,
-  glGetPointerv,
-  glObjectLabel,
-  glObjectPtrLabel,
-  glPopDebugGroup,
-  glPushDebugGroup
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/NoError.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/NoError.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/NoError.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.NoError
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.NoError (
-  -- * Extension Support
-  glGetKHRNoError,
-  gl_KHR_no_error,
-  -- * Enums
-  gl_CONTEXT_FLAG_NO_ERROR_BIT_KHR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/Robustness.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/Robustness.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/Robustness.hs
+++ /dev/null
@@ -1,37 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.Robustness
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.Robustness (
-  -- * Extension Support
-  glGetKHRRobustness,
-  gl_KHR_robustness,
-  -- * Enums
-  gl_CONTEXT_LOST,
-  gl_CONTEXT_ROBUST_ACCESS,
-  gl_GUILTY_CONTEXT_RESET,
-  gl_INNOCENT_CONTEXT_RESET,
-  gl_LOSE_CONTEXT_ON_RESET,
-  gl_NO_ERROR,
-  gl_NO_RESET_NOTIFICATION,
-  gl_RESET_NOTIFICATION_STRATEGY,
-  gl_UNKNOWN_CONTEXT_RESET,
-  -- * Functions
-  glGetGraphicsResetStatus,
-  glGetnUniformfv,
-  glGetnUniformiv,
-  glGetnUniformuiv,
-  glReadnPixels
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/TextureCompressionASTCHDR.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/TextureCompressionASTCHDR.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/TextureCompressionASTCHDR.hs
+++ /dev/null
@@ -1,49 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCHDR
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCHDR (
-  -- * Extension Support
-  glGetKHRTextureCompressionASTCHDR,
-  gl_KHR_texture_compression_astc_hdr,
-  -- * Enums
-  gl_COMPRESSED_RGBA_ASTC_10x10_KHR,
-  gl_COMPRESSED_RGBA_ASTC_10x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_10x6_KHR,
-  gl_COMPRESSED_RGBA_ASTC_10x8_KHR,
-  gl_COMPRESSED_RGBA_ASTC_12x10_KHR,
-  gl_COMPRESSED_RGBA_ASTC_12x12_KHR,
-  gl_COMPRESSED_RGBA_ASTC_4x4_KHR,
-  gl_COMPRESSED_RGBA_ASTC_5x4_KHR,
-  gl_COMPRESSED_RGBA_ASTC_5x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_6x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_6x6_KHR,
-  gl_COMPRESSED_RGBA_ASTC_8x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_8x6_KHR,
-  gl_COMPRESSED_RGBA_ASTC_8x8_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/KHR/TextureCompressionASTCLDR.hs b/src/Graphics/Rendering/OpenGL/Raw/KHR/TextureCompressionASTCLDR.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/KHR/TextureCompressionASTCLDR.hs
+++ /dev/null
@@ -1,49 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCLDR
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.KHR.TextureCompressionASTCLDR (
-  -- * Extension Support
-  glGetKHRTextureCompressionASTCLDR,
-  gl_KHR_texture_compression_astc_ldr,
-  -- * Enums
-  gl_COMPRESSED_RGBA_ASTC_10x10_KHR,
-  gl_COMPRESSED_RGBA_ASTC_10x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_10x6_KHR,
-  gl_COMPRESSED_RGBA_ASTC_10x8_KHR,
-  gl_COMPRESSED_RGBA_ASTC_12x10_KHR,
-  gl_COMPRESSED_RGBA_ASTC_12x12_KHR,
-  gl_COMPRESSED_RGBA_ASTC_4x4_KHR,
-  gl_COMPRESSED_RGBA_ASTC_5x4_KHR,
-  gl_COMPRESSED_RGBA_ASTC_5x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_6x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_6x6_KHR,
-  gl_COMPRESSED_RGBA_ASTC_8x5_KHR,
-  gl_COMPRESSED_RGBA_ASTC_8x6_KHR,
-  gl_COMPRESSED_RGBA_ASTC_8x8_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
-  gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/MESA.hs b/src/Graphics/Rendering/OpenGL/Raw/MESA.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/MESA.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.MESA
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing MESA extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.MESA (
-  module Graphics.Rendering.OpenGL.Raw.MESA.PackInvert,
-  module Graphics.Rendering.OpenGL.Raw.MESA.ResizeBuffers,
-  module Graphics.Rendering.OpenGL.Raw.MESA.WindowPos,
-  module Graphics.Rendering.OpenGL.Raw.MESA.YCbCrTexture
-) where
-
-import Graphics.Rendering.OpenGL.Raw.MESA.PackInvert
-import Graphics.Rendering.OpenGL.Raw.MESA.ResizeBuffers
-import Graphics.Rendering.OpenGL.Raw.MESA.WindowPos
-import Graphics.Rendering.OpenGL.Raw.MESA.YCbCrTexture
diff --git a/src/Graphics/Rendering/OpenGL/Raw/MESA/PackInvert.hs b/src/Graphics/Rendering/OpenGL/Raw/MESA/PackInvert.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/MESA/PackInvert.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.MESA.PackInvert
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.MESA.PackInvert (
-  -- * Extension Support
-  glGetMESAPackInvert,
-  gl_MESA_pack_invert,
-  -- * Enums
-  gl_PACK_INVERT_MESA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/MESA/ResizeBuffers.hs b/src/Graphics/Rendering/OpenGL/Raw/MESA/ResizeBuffers.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/MESA/ResizeBuffers.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.MESA.ResizeBuffers
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.MESA.ResizeBuffers (
-  -- * Extension Support
-  glGetMESAResizeBuffers,
-  gl_MESA_resize_buffers,
-  -- * Functions
-  glResizeBuffersMESA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/MESA/WindowPos.hs b/src/Graphics/Rendering/OpenGL/Raw/MESA/WindowPos.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/MESA/WindowPos.hs
+++ /dev/null
@@ -1,45 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.MESA.WindowPos
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.MESA.WindowPos (
-  -- * Extension Support
-  glGetMESAWindowPos,
-  gl_MESA_window_pos,
-  -- * Functions
-  glWindowPos2dMESA,
-  glWindowPos2dvMESA,
-  glWindowPos2fMESA,
-  glWindowPos2fvMESA,
-  glWindowPos2iMESA,
-  glWindowPos2ivMESA,
-  glWindowPos2sMESA,
-  glWindowPos2svMESA,
-  glWindowPos3dMESA,
-  glWindowPos3dvMESA,
-  glWindowPos3fMESA,
-  glWindowPos3fvMESA,
-  glWindowPos3iMESA,
-  glWindowPos3ivMESA,
-  glWindowPos3sMESA,
-  glWindowPos3svMESA,
-  glWindowPos4dMESA,
-  glWindowPos4dvMESA,
-  glWindowPos4fMESA,
-  glWindowPos4fvMESA,
-  glWindowPos4iMESA,
-  glWindowPos4ivMESA,
-  glWindowPos4sMESA,
-  glWindowPos4svMESA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/MESA/YCbCrTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/MESA/YCbCrTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/MESA/YCbCrTexture.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.MESA.YCbCrTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.MESA.YCbCrTexture (
-  -- * Extension Support
-  glGetMESAYCbCrTexture,
-  gl_MESA_ycbcr_texture,
-  -- * Enums
-  gl_UNSIGNED_SHORT_8_8_MESA,
-  gl_UNSIGNED_SHORT_8_8_REV_MESA,
-  gl_YCBCR_MESA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/MESAX.hs b/src/Graphics/Rendering/OpenGL/Raw/MESAX.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/MESAX.hs
+++ /dev/null
@@ -1,19 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.MESAX
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing MESAX extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.MESAX (
-  module Graphics.Rendering.OpenGL.Raw.MESAX.TextureStack
-) where
-
-import Graphics.Rendering.OpenGL.Raw.MESAX.TextureStack
diff --git a/src/Graphics/Rendering/OpenGL/Raw/MESAX/TextureStack.hs b/src/Graphics/Rendering/OpenGL/Raw/MESAX/TextureStack.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/MESAX/TextureStack.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.MESAX.TextureStack
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.MESAX.TextureStack (
-  -- * Extension Support
-  glGetMESAXTextureStack,
-  gl_MESAX_texture_stack,
-  -- * Enums
-  gl_PROXY_TEXTURE_1D_STACK_MESAX,
-  gl_PROXY_TEXTURE_2D_STACK_MESAX,
-  gl_TEXTURE_1D_STACK_BINDING_MESAX,
-  gl_TEXTURE_1D_STACK_MESAX,
-  gl_TEXTURE_2D_STACK_BINDING_MESAX,
-  gl_TEXTURE_2D_STACK_MESAX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV.hs b/src/Graphics/Rendering/OpenGL/Raw/NV.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV.hs
+++ /dev/null
@@ -1,169 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing NV extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV (
-  module Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirect,
-  module Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirectCount,
-  module Graphics.Rendering.OpenGL.Raw.NV.BindlessTexture,
-  module Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvanced,
-  module Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvancedCoherent,
-  module Graphics.Rendering.OpenGL.Raw.NV.CommandList,
-  module Graphics.Rendering.OpenGL.Raw.NV.ComputeProgram5,
-  module Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender,
-  module Graphics.Rendering.OpenGL.Raw.NV.ConservativeRaster,
-  module Graphics.Rendering.OpenGL.Raw.NV.ConservativeRasterDilate,
-  module Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor,
-  module Graphics.Rendering.OpenGL.Raw.NV.CopyImage,
-  module Graphics.Rendering.OpenGL.Raw.NV.DeepTexture3D,
-  module Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat,
-  module Graphics.Rendering.OpenGL.Raw.NV.DepthClamp,
-  module Graphics.Rendering.OpenGL.Raw.NV.DrawTexture,
-  module Graphics.Rendering.OpenGL.Raw.NV.Evaluators,
-  module Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample,
-  module Graphics.Rendering.OpenGL.Raw.NV.Fence,
-  module Graphics.Rendering.OpenGL.Raw.NV.FillRectangle,
-  module Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer,
-  module Graphics.Rendering.OpenGL.Raw.NV.FogDistance,
-  module Graphics.Rendering.OpenGL.Raw.NV.FragmentCoverageToColor,
-  module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram,
-  module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2,
-  module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMixedSamples,
-  module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage,
-  module Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4,
-  module Graphics.Rendering.OpenGL.Raw.NV.GPUProgram5,
-  module Graphics.Rendering.OpenGL.Raw.NV.GPUShader5,
-  module Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4,
-  module Graphics.Rendering.OpenGL.Raw.NV.HalfFloat,
-  module Graphics.Rendering.OpenGL.Raw.NV.InternalformatSampleQuery,
-  module Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent,
-  module Graphics.Rendering.OpenGL.Raw.NV.MultisampleCoverage,
-  module Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint,
-  module Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery,
-  module Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil,
-  module Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject,
-  module Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCompatibility,
-  module Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCore,
-  module Graphics.Rendering.OpenGL.Raw.NV.PathRenderingSharedEdge,
-  module Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange,
-  module Graphics.Rendering.OpenGL.Raw.NV.PointSprite,
-  module Graphics.Rendering.OpenGL.Raw.NV.PresentVideo,
-  module Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart,
-  module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners,
-  module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2,
-  module Graphics.Rendering.OpenGL.Raw.NV.SampleLocations,
-  module Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferLoad,
-  module Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferStore,
-  module Graphics.Rendering.OpenGL.Raw.NV.ShaderThreadGroup,
-  module Graphics.Rendering.OpenGL.Raw.NV.TessellationProgram5,
-  module Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss,
-  module Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureBarrier,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureMultisample,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureShader,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureShader2,
-  module Graphics.Rendering.OpenGL.Raw.NV.TextureShader3,
-  module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback,
-  module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2,
-  module Graphics.Rendering.OpenGL.Raw.NV.UniformBufferUnifiedMemory,
-  module Graphics.Rendering.OpenGL.Raw.NV.VDPAUInterop,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexAttribInteger64Bit,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexBufferUnifiedMemory,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3,
-  module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4,
-  module Graphics.Rendering.OpenGL.Raw.NV.VideoCapture
-) where
-
-import Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirect
-import Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirectCount
-import Graphics.Rendering.OpenGL.Raw.NV.BindlessTexture
-import Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvanced
-import Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvancedCoherent
-import Graphics.Rendering.OpenGL.Raw.NV.CommandList
-import Graphics.Rendering.OpenGL.Raw.NV.ComputeProgram5
-import Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
-import Graphics.Rendering.OpenGL.Raw.NV.ConservativeRaster
-import Graphics.Rendering.OpenGL.Raw.NV.ConservativeRasterDilate
-import Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
-import Graphics.Rendering.OpenGL.Raw.NV.CopyImage
-import Graphics.Rendering.OpenGL.Raw.NV.DeepTexture3D
-import Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
-import Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
-import Graphics.Rendering.OpenGL.Raw.NV.DrawTexture
-import Graphics.Rendering.OpenGL.Raw.NV.Evaluators
-import Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
-import Graphics.Rendering.OpenGL.Raw.NV.Fence
-import Graphics.Rendering.OpenGL.Raw.NV.FillRectangle
-import Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
-import Graphics.Rendering.OpenGL.Raw.NV.FogDistance
-import Graphics.Rendering.OpenGL.Raw.NV.FragmentCoverageToColor
-import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
-import Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
-import Graphics.Rendering.OpenGL.Raw.NV.FramebufferMixedSamples
-import Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
-import Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4
-import Graphics.Rendering.OpenGL.Raw.NV.GPUProgram5
-import Graphics.Rendering.OpenGL.Raw.NV.GPUShader5
-import Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
-import Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
-import Graphics.Rendering.OpenGL.Raw.NV.InternalformatSampleQuery
-import Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
-import Graphics.Rendering.OpenGL.Raw.NV.MultisampleCoverage
-import Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
-import Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
-import Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
-import Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
-import Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCompatibility
-import Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCore
-import Graphics.Rendering.OpenGL.Raw.NV.PathRenderingSharedEdge
-import Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
-import Graphics.Rendering.OpenGL.Raw.NV.PointSprite
-import Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
-import Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
-import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
-import Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
-import Graphics.Rendering.OpenGL.Raw.NV.SampleLocations
-import Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferLoad
-import Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferStore
-import Graphics.Rendering.OpenGL.Raw.NV.ShaderThreadGroup
-import Graphics.Rendering.OpenGL.Raw.NV.TessellationProgram5
-import Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
-import Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
-import Graphics.Rendering.OpenGL.Raw.NV.TextureBarrier
-import Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
-import Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
-import Graphics.Rendering.OpenGL.Raw.NV.TextureMultisample
-import Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle
-import Graphics.Rendering.OpenGL.Raw.NV.TextureShader
-import Graphics.Rendering.OpenGL.Raw.NV.TextureShader2
-import Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
-import Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
-import Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
-import Graphics.Rendering.OpenGL.Raw.NV.UniformBufferUnifiedMemory
-import Graphics.Rendering.OpenGL.Raw.NV.VDPAUInterop
-import Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
-import Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2
-import Graphics.Rendering.OpenGL.Raw.NV.VertexAttribInteger64Bit
-import Graphics.Rendering.OpenGL.Raw.NV.VertexBufferUnifiedMemory
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
-import Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
-import Graphics.Rendering.OpenGL.Raw.NV.VideoCapture
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessMultiDrawIndirect.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessMultiDrawIndirect.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessMultiDrawIndirect.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirect
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirect (
-  -- * Extension Support
-  glGetNVBindlessMultiDrawIndirect,
-  gl_NV_bindless_multi_draw_indirect,
-  -- * Functions
-  glMultiDrawArraysIndirectBindlessNV,
-  glMultiDrawElementsIndirectBindlessNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessMultiDrawIndirectCount.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessMultiDrawIndirectCount.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessMultiDrawIndirectCount.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirectCount
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.BindlessMultiDrawIndirectCount (
-  -- * Extension Support
-  glGetNVBindlessMultiDrawIndirectCount,
-  gl_NV_bindless_multi_draw_indirect_count,
-  -- * Functions
-  glMultiDrawArraysIndirectBindlessCountNV,
-  glMultiDrawElementsIndirectBindlessCountNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/BindlessTexture.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.BindlessTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.BindlessTexture (
-  -- * Extension Support
-  glGetNVBindlessTexture,
-  gl_NV_bindless_texture,
-  -- * Functions
-  glGetImageHandleNV,
-  glGetTextureHandleNV,
-  glGetTextureSamplerHandleNV,
-  glIsImageHandleResidentNV,
-  glIsTextureHandleResidentNV,
-  glMakeImageHandleNonResidentNV,
-  glMakeImageHandleResidentNV,
-  glMakeTextureHandleNonResidentNV,
-  glMakeTextureHandleResidentNV,
-  glProgramUniformHandleui64NV,
-  glProgramUniformHandleui64vNV,
-  glUniformHandleui64NV,
-  glUniformHandleui64vNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/BlendEquationAdvanced.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/BlendEquationAdvanced.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/BlendEquationAdvanced.hs
+++ /dev/null
@@ -1,76 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvanced
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvanced (
-  -- * Extension Support
-  glGetNVBlendEquationAdvanced,
-  gl_NV_blend_equation_advanced,
-  -- * Enums
-  gl_BLEND_OVERLAP_NV,
-  gl_BLEND_PREMULTIPLIED_SRC_NV,
-  gl_BLUE_NV,
-  gl_COLORBURN_NV,
-  gl_COLORDODGE_NV,
-  gl_CONJOINT_NV,
-  gl_CONTRAST_NV,
-  gl_DARKEN_NV,
-  gl_DIFFERENCE_NV,
-  gl_DISJOINT_NV,
-  gl_DST_ATOP_NV,
-  gl_DST_IN_NV,
-  gl_DST_NV,
-  gl_DST_OUT_NV,
-  gl_DST_OVER_NV,
-  gl_EXCLUSION_NV,
-  gl_GREEN_NV,
-  gl_HARDLIGHT_NV,
-  gl_HARDMIX_NV,
-  gl_HSL_COLOR_NV,
-  gl_HSL_HUE_NV,
-  gl_HSL_LUMINOSITY_NV,
-  gl_HSL_SATURATION_NV,
-  gl_INVERT,
-  gl_INVERT_OVG_NV,
-  gl_INVERT_RGB_NV,
-  gl_LIGHTEN_NV,
-  gl_LINEARBURN_NV,
-  gl_LINEARDODGE_NV,
-  gl_LINEARLIGHT_NV,
-  gl_MINUS_CLAMPED_NV,
-  gl_MINUS_NV,
-  gl_MULTIPLY_NV,
-  gl_OVERLAY_NV,
-  gl_PINLIGHT_NV,
-  gl_PLUS_CLAMPED_ALPHA_NV,
-  gl_PLUS_CLAMPED_NV,
-  gl_PLUS_DARKER_NV,
-  gl_PLUS_NV,
-  gl_RED_NV,
-  gl_SCREEN_NV,
-  gl_SOFTLIGHT_NV,
-  gl_SRC_ATOP_NV,
-  gl_SRC_IN_NV,
-  gl_SRC_NV,
-  gl_SRC_OUT_NV,
-  gl_SRC_OVER_NV,
-  gl_UNCORRELATED_NV,
-  gl_VIVIDLIGHT_NV,
-  gl_XOR_NV,
-  gl_ZERO,
-  -- * Functions
-  glBlendBarrierNV,
-  glBlendParameteriNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/BlendEquationAdvancedCoherent.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/BlendEquationAdvancedCoherent.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/BlendEquationAdvancedCoherent.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvancedCoherent
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.BlendEquationAdvancedCoherent (
-  -- * Extension Support
-  glGetNVBlendEquationAdvancedCoherent,
-  gl_NV_blend_equation_advanced_coherent,
-  -- * Enums
-  gl_BLEND_ADVANCED_COHERENT_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/CommandList.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/CommandList.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/CommandList.hs
+++ /dev/null
@@ -1,59 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.CommandList
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.CommandList (
-  -- * Extension Support
-  glGetNVCommandList,
-  gl_NV_command_list,
-  -- * Enums
-  gl_ALPHA_REF_COMMAND_NV,
-  gl_ATTRIBUTE_ADDRESS_COMMAND_NV,
-  gl_BLEND_COLOR_COMMAND_NV,
-  gl_DRAW_ARRAYS_COMMAND_NV,
-  gl_DRAW_ARRAYS_INSTANCED_COMMAND_NV,
-  gl_DRAW_ARRAYS_STRIP_COMMAND_NV,
-  gl_DRAW_ELEMENTS_COMMAND_NV,
-  gl_DRAW_ELEMENTS_INSTANCED_COMMAND_NV,
-  gl_DRAW_ELEMENTS_STRIP_COMMAND_NV,
-  gl_ELEMENT_ADDRESS_COMMAND_NV,
-  gl_FRONT_FACE_COMMAND_NV,
-  gl_LINE_WIDTH_COMMAND_NV,
-  gl_NOP_COMMAND_NV,
-  gl_POLYGON_OFFSET_COMMAND_NV,
-  gl_SCISSOR_COMMAND_NV,
-  gl_STENCIL_REF_COMMAND_NV,
-  gl_TERMINATE_SEQUENCE_COMMAND_NV,
-  gl_UNIFORM_ADDRESS_COMMAND_NV,
-  gl_VIEWPORT_COMMAND_NV,
-  -- * Functions
-  glCallCommandListNV,
-  glCommandListSegmentsNV,
-  glCompileCommandListNV,
-  glCreateCommandListsNV,
-  glCreateStatesNV,
-  glDeleteCommandListsNV,
-  glDeleteStatesNV,
-  glDrawCommandsAddressNV,
-  glDrawCommandsNV,
-  glDrawCommandsStatesAddressNV,
-  glDrawCommandsStatesNV,
-  glGetCommandHeaderNV,
-  glGetStageIndexNV,
-  glIsCommandListNV,
-  glIsStateNV,
-  glListDrawCommandsStatesClientNV,
-  glStateCaptureNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ComputeProgram5.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ComputeProgram5.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ComputeProgram5.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ComputeProgram5
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ComputeProgram5 (
-  -- * Extension Support
-  glGetNVComputeProgram5,
-  gl_NV_compute_program5,
-  -- * Enums
-  gl_COMPUTE_PROGRAM_NV,
-  gl_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ConditionalRender.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ConditionalRender.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ConditionalRender.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ConditionalRender (
-  -- * Extension Support
-  glGetNVConditionalRender,
-  gl_NV_conditional_render,
-  -- * Enums
-  gl_QUERY_BY_REGION_NO_WAIT_NV,
-  gl_QUERY_BY_REGION_WAIT_NV,
-  gl_QUERY_NO_WAIT_NV,
-  gl_QUERY_WAIT_NV,
-  -- * Functions
-  glBeginConditionalRenderNV,
-  glEndConditionalRenderNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ConservativeRaster.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ConservativeRaster.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ConservativeRaster.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ConservativeRaster
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ConservativeRaster (
-  -- * Extension Support
-  glGetNVConservativeRaster,
-  gl_NV_conservative_raster,
-  -- * Enums
-  gl_CONSERVATIVE_RASTERIZATION_NV,
-  gl_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV,
-  gl_SUBPIXEL_PRECISION_BIAS_X_BITS_NV,
-  gl_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV,
-  -- * Functions
-  glSubpixelPrecisionBiasNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ConservativeRasterDilate.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ConservativeRasterDilate.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ConservativeRasterDilate.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ConservativeRasterDilate
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ConservativeRasterDilate (
-  -- * Extension Support
-  glGetNVConservativeRasterDilate,
-  gl_NV_conservative_raster_dilate,
-  -- * Enums
-  gl_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV,
-  gl_CONSERVATIVE_RASTER_DILATE_NV,
-  gl_CONSERVATIVE_RASTER_DILATE_RANGE_NV,
-  -- * Functions
-  glConservativeRasterParameterfNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/CopyDepthToColor.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/CopyDepthToColor.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/CopyDepthToColor.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.CopyDepthToColor (
-  -- * Extension Support
-  glGetNVCopyDepthToColor,
-  gl_NV_copy_depth_to_color,
-  -- * Enums
-  gl_DEPTH_STENCIL_TO_BGRA_NV,
-  gl_DEPTH_STENCIL_TO_RGBA_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/CopyImage.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/CopyImage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/CopyImage.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.CopyImage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.CopyImage (
-  -- * Extension Support
-  glGetNVCopyImage,
-  gl_NV_copy_image,
-  -- * Functions
-  glCopyImageSubDataNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DeepTexture3D.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DeepTexture3D.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DeepTexture3D.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DeepTexture3D
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.DeepTexture3D (
-  -- * Extension Support
-  glGetNVDeepTexture3D,
-  gl_NV_deep_texture3D,
-  -- * Enums
-  gl_MAX_DEEP_3D_TEXTURE_DEPTH_NV,
-  gl_MAX_DEEP_3D_TEXTURE_WIDTH_HEIGHT_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthBufferFloat.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.DepthBufferFloat (
-  -- * Extension Support
-  glGetNVDepthBufferFloat,
-  gl_NV_depth_buffer_float,
-  -- * Enums
-  gl_DEPTH32F_STENCIL8_NV,
-  gl_DEPTH_BUFFER_FLOAT_MODE_NV,
-  gl_DEPTH_COMPONENT32F_NV,
-  gl_FLOAT_32_UNSIGNED_INT_24_8_REV_NV,
-  -- * Functions
-  glClearDepthdNV,
-  glDepthBoundsdNV,
-  glDepthRangedNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DepthClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DepthClamp.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DepthClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.DepthClamp (
-  -- * Extension Support
-  glGetNVDepthClamp,
-  gl_NV_depth_clamp,
-  -- * Enums
-  gl_DEPTH_CLAMP_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/DrawTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/DrawTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/DrawTexture.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.DrawTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.DrawTexture (
-  -- * Extension Support
-  glGetNVDrawTexture,
-  gl_NV_draw_texture,
-  -- * Functions
-  glDrawTextureNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/Evaluators.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/Evaluators.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/Evaluators.hs
+++ /dev/null
@@ -1,56 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.Evaluators
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.Evaluators (
-  -- * Extension Support
-  glGetNVEvaluators,
-  gl_NV_evaluators,
-  -- * Enums
-  gl_EVAL_2D_NV,
-  gl_EVAL_FRACTIONAL_TESSELLATION_NV,
-  gl_EVAL_TRIANGULAR_2D_NV,
-  gl_EVAL_VERTEX_ATTRIB0_NV,
-  gl_EVAL_VERTEX_ATTRIB10_NV,
-  gl_EVAL_VERTEX_ATTRIB11_NV,
-  gl_EVAL_VERTEX_ATTRIB12_NV,
-  gl_EVAL_VERTEX_ATTRIB13_NV,
-  gl_EVAL_VERTEX_ATTRIB14_NV,
-  gl_EVAL_VERTEX_ATTRIB15_NV,
-  gl_EVAL_VERTEX_ATTRIB1_NV,
-  gl_EVAL_VERTEX_ATTRIB2_NV,
-  gl_EVAL_VERTEX_ATTRIB3_NV,
-  gl_EVAL_VERTEX_ATTRIB4_NV,
-  gl_EVAL_VERTEX_ATTRIB5_NV,
-  gl_EVAL_VERTEX_ATTRIB6_NV,
-  gl_EVAL_VERTEX_ATTRIB7_NV,
-  gl_EVAL_VERTEX_ATTRIB8_NV,
-  gl_EVAL_VERTEX_ATTRIB9_NV,
-  gl_MAP_ATTRIB_U_ORDER_NV,
-  gl_MAP_ATTRIB_V_ORDER_NV,
-  gl_MAP_TESSELLATION_NV,
-  gl_MAX_MAP_TESSELLATION_NV,
-  gl_MAX_RATIONAL_EVAL_ORDER_NV,
-  -- * Functions
-  glEvalMapsNV,
-  glGetMapAttribParameterfvNV,
-  glGetMapAttribParameterivNV,
-  glGetMapControlPointsNV,
-  glGetMapParameterfvNV,
-  glGetMapParameterivNV,
-  glMapControlPointsNV,
-  glMapParameterfvNV,
-  glMapParameterivNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ExplicitMultisample.hs
+++ /dev/null
@@ -1,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ExplicitMultisample (
-  -- * Extension Support
-  glGetNVExplicitMultisample,
-  gl_NV_explicit_multisample,
-  -- * Enums
-  gl_INT_SAMPLER_RENDERBUFFER_NV,
-  gl_MAX_SAMPLE_MASK_WORDS_NV,
-  gl_SAMPLER_RENDERBUFFER_NV,
-  gl_SAMPLE_MASK_NV,
-  gl_SAMPLE_MASK_VALUE_NV,
-  gl_SAMPLE_POSITION_NV,
-  gl_TEXTURE_BINDING_RENDERBUFFER_NV,
-  gl_TEXTURE_RENDERBUFFER_DATA_STORE_BINDING_NV,
-  gl_TEXTURE_RENDERBUFFER_NV,
-  gl_UNSIGNED_INT_SAMPLER_RENDERBUFFER_NV,
-  -- * Functions
-  glGetMultisamplefvNV,
-  glSampleMaskIndexedNV,
-  glTexRenderbufferNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/Fence.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.Fence
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.Fence (
-  -- * Extension Support
-  glGetNVFence,
-  gl_NV_fence,
-  -- * Enums
-  gl_ALL_COMPLETED_NV,
-  gl_FENCE_CONDITION_NV,
-  gl_FENCE_STATUS_NV,
-  -- * Functions
-  glDeleteFencesNV,
-  glFinishFenceNV,
-  glGenFencesNV,
-  glGetFenceivNV,
-  glIsFenceNV,
-  glSetFenceNV,
-  glTestFenceNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FillRectangle.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FillRectangle.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FillRectangle.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FillRectangle
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FillRectangle (
-  -- * Extension Support
-  glGetNVFillRectangle,
-  gl_NV_fill_rectangle,
-  -- * Enums
-  gl_FILL_RECTANGLE_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FloatBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FloatBuffer.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FloatBuffer.hs
+++ /dev/null
@@ -1,36 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FloatBuffer (
-  -- * Extension Support
-  glGetNVFloatBuffer,
-  gl_NV_float_buffer,
-  -- * Enums
-  gl_FLOAT_CLEAR_COLOR_VALUE_NV,
-  gl_FLOAT_R16_NV,
-  gl_FLOAT_R32_NV,
-  gl_FLOAT_RG16_NV,
-  gl_FLOAT_RG32_NV,
-  gl_FLOAT_RGB16_NV,
-  gl_FLOAT_RGB32_NV,
-  gl_FLOAT_RGBA16_NV,
-  gl_FLOAT_RGBA32_NV,
-  gl_FLOAT_RGBA_MODE_NV,
-  gl_FLOAT_RGBA_NV,
-  gl_FLOAT_RGB_NV,
-  gl_FLOAT_RG_NV,
-  gl_FLOAT_R_NV,
-  gl_TEXTURE_FLOAT_COMPONENTS_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FogDistance.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FogDistance.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FogDistance.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FogDistance
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FogDistance (
-  -- * Extension Support
-  glGetNVFogDistance,
-  gl_NV_fog_distance,
-  -- * Enums
-  gl_EYE_PLANE,
-  gl_EYE_PLANE_ABSOLUTE_NV,
-  gl_EYE_RADIAL_NV,
-  gl_FOG_DISTANCE_MODE_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentCoverageToColor.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentCoverageToColor.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentCoverageToColor.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentCoverageToColor
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FragmentCoverageToColor (
-  -- * Extension Support
-  glGetNVFragmentCoverageToColor,
-  gl_NV_fragment_coverage_to_color,
-  -- * Enums
-  gl_FRAGMENT_COVERAGE_COLOR_NV,
-  gl_FRAGMENT_COVERAGE_TO_COLOR_NV,
-  -- * Functions
-  glFragmentCoverageColorNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram.hs
+++ /dev/null
@@ -1,35 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram (
-  -- * Extension Support
-  glGetNVFragmentProgram,
-  gl_NV_fragment_program,
-  -- * Enums
-  gl_FRAGMENT_PROGRAM_BINDING_NV,
-  gl_FRAGMENT_PROGRAM_NV,
-  gl_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV,
-  gl_MAX_TEXTURE_COORDS_NV,
-  gl_MAX_TEXTURE_IMAGE_UNITS_NV,
-  gl_PROGRAM_ERROR_STRING_NV,
-  -- * Functions
-  glGetProgramNamedParameterdvNV,
-  glGetProgramNamedParameterfvNV,
-  glProgramNamedParameter4dNV,
-  glProgramNamedParameter4dvNV,
-  glProgramNamedParameter4fNV,
-  glProgramNamedParameter4fvNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FragmentProgram2.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FragmentProgram2 (
-  -- * Extension Support
-  glGetNVFragmentProgram2,
-  gl_NV_fragment_program2,
-  -- * Enums
-  gl_MAX_PROGRAM_CALL_DEPTH_NV,
-  gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV,
-  gl_MAX_PROGRAM_IF_DEPTH_NV,
-  gl_MAX_PROGRAM_LOOP_COUNT_NV,
-  gl_MAX_PROGRAM_LOOP_DEPTH_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMixedSamples.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMixedSamples.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMixedSamples.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FramebufferMixedSamples
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMixedSamples (
-  -- * Extension Support
-  glGetNVFramebufferMixedSamples,
-  gl_NV_framebuffer_mixed_samples,
-  -- * Enums
-  gl_COLOR_SAMPLES_NV,
-  gl_COVERAGE_MODULATION_NV,
-  gl_COVERAGE_MODULATION_TABLE_NV,
-  gl_COVERAGE_MODULATION_TABLE_SIZE_NV,
-  gl_DEPTH_SAMPLES_NV,
-  gl_EFFECTIVE_RASTER_SAMPLES_EXT,
-  gl_MAX_RASTER_SAMPLES_EXT,
-  gl_MIXED_DEPTH_SAMPLES_SUPPORTED_NV,
-  gl_MIXED_STENCIL_SAMPLES_SUPPORTED_NV,
-  gl_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT,
-  gl_RASTER_FIXED_SAMPLE_LOCATIONS_EXT,
-  gl_RASTER_MULTISAMPLE_EXT,
-  gl_RASTER_SAMPLES_EXT,
-  gl_STENCIL_SAMPLES_NV,
-  -- * Functions
-  glCoverageModulationNV,
-  glCoverageModulationTableNV,
-  glGetCoverageModulationTableNV,
-  glRasterSamplesEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/FramebufferMultisampleCoverage.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.FramebufferMultisampleCoverage (
-  -- * Extension Support
-  glGetNVFramebufferMultisampleCoverage,
-  gl_NV_framebuffer_multisample_coverage,
-  -- * Enums
-  gl_MAX_MULTISAMPLE_COVERAGE_MODES_NV,
-  gl_MULTISAMPLE_COVERAGE_MODES_NV,
-  gl_RENDERBUFFER_COLOR_SAMPLES_NV,
-  gl_RENDERBUFFER_COVERAGE_SAMPLES_NV,
-  -- * Functions
-  glRenderbufferStorageMultisampleCoverageNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram4.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.GPUProgram4 (
-  -- * Extension Support
-  glGetNVGPUProgram4,
-  gl_NV_gpu_program4,
-  -- * Enums
-  gl_MAX_PROGRAM_ATTRIB_COMPONENTS_NV,
-  gl_MAX_PROGRAM_GENERIC_ATTRIBS_NV,
-  gl_MAX_PROGRAM_GENERIC_RESULTS_NV,
-  gl_MAX_PROGRAM_RESULT_COMPONENTS_NV,
-  gl_MAX_PROGRAM_TEXEL_OFFSET_NV,
-  gl_MIN_PROGRAM_TEXEL_OFFSET_NV,
-  gl_PROGRAM_ATTRIB_COMPONENTS_NV,
-  gl_PROGRAM_RESULT_COMPONENTS_NV,
-  -- * Functions
-  glGetProgramEnvParameterIivNV,
-  glGetProgramEnvParameterIuivNV,
-  glGetProgramLocalParameterIivNV,
-  glGetProgramLocalParameterIuivNV,
-  glProgramEnvParameterI4iNV,
-  glProgramEnvParameterI4ivNV,
-  glProgramEnvParameterI4uiNV,
-  glProgramEnvParameterI4uivNV,
-  glProgramEnvParametersI4ivNV,
-  glProgramEnvParametersI4uivNV,
-  glProgramLocalParameterI4iNV,
-  glProgramLocalParameterI4ivNV,
-  glProgramLocalParameterI4uiNV,
-  glProgramLocalParameterI4uivNV,
-  glProgramLocalParametersI4ivNV,
-  glProgramLocalParametersI4uivNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram5.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram5.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUProgram5.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GPUProgram5
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.GPUProgram5 (
-  -- * Extension Support
-  glGetNVGPUProgram5,
-  gl_NV_gpu_program5,
-  -- * Enums
-  gl_FRAGMENT_PROGRAM_INTERPOLATION_OFFSET_BITS_NV,
-  gl_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV,
-  gl_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV,
-  gl_MAX_PROGRAM_SUBROUTINE_NUM_NV,
-  gl_MAX_PROGRAM_SUBROUTINE_PARAMETERS_NV,
-  gl_MAX_PROGRAM_TEXTURE_GATHER_OFFSET_NV,
-  gl_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV,
-  gl_MIN_PROGRAM_TEXTURE_GATHER_OFFSET_NV,
-  -- * Functions
-  glGetProgramSubroutineParameteruivNV,
-  glProgramSubroutineParametersuivNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUShader5.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GPUShader5.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GPUShader5.hs
+++ /dev/null
@@ -1,85 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GPUShader5
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.GPUShader5 (
-  -- * Extension Support
-  glGetNVGPUShader5,
-  gl_NV_gpu_shader5,
-  -- * Enums
-  gl_FLOAT16_NV,
-  gl_FLOAT16_VEC2_NV,
-  gl_FLOAT16_VEC3_NV,
-  gl_FLOAT16_VEC4_NV,
-  gl_INT16_NV,
-  gl_INT16_VEC2_NV,
-  gl_INT16_VEC3_NV,
-  gl_INT16_VEC4_NV,
-  gl_INT64_NV,
-  gl_INT64_VEC2_NV,
-  gl_INT64_VEC3_NV,
-  gl_INT64_VEC4_NV,
-  gl_INT8_NV,
-  gl_INT8_VEC2_NV,
-  gl_INT8_VEC3_NV,
-  gl_INT8_VEC4_NV,
-  gl_PATCHES,
-  gl_UNSIGNED_INT16_NV,
-  gl_UNSIGNED_INT16_VEC2_NV,
-  gl_UNSIGNED_INT16_VEC3_NV,
-  gl_UNSIGNED_INT16_VEC4_NV,
-  gl_UNSIGNED_INT64_NV,
-  gl_UNSIGNED_INT64_VEC2_NV,
-  gl_UNSIGNED_INT64_VEC3_NV,
-  gl_UNSIGNED_INT64_VEC4_NV,
-  gl_UNSIGNED_INT8_NV,
-  gl_UNSIGNED_INT8_VEC2_NV,
-  gl_UNSIGNED_INT8_VEC3_NV,
-  gl_UNSIGNED_INT8_VEC4_NV,
-  -- * Functions
-  glGetUniformi64vNV,
-  glProgramUniform1i64NV,
-  glProgramUniform1i64vNV,
-  glProgramUniform1ui64NV,
-  glProgramUniform1ui64vNV,
-  glProgramUniform2i64NV,
-  glProgramUniform2i64vNV,
-  glProgramUniform2ui64NV,
-  glProgramUniform2ui64vNV,
-  glProgramUniform3i64NV,
-  glProgramUniform3i64vNV,
-  glProgramUniform3ui64NV,
-  glProgramUniform3ui64vNV,
-  glProgramUniform4i64NV,
-  glProgramUniform4i64vNV,
-  glProgramUniform4ui64NV,
-  glProgramUniform4ui64vNV,
-  glUniform1i64NV,
-  glUniform1i64vNV,
-  glUniform1ui64NV,
-  glUniform1ui64vNV,
-  glUniform2i64NV,
-  glUniform2i64vNV,
-  glUniform2ui64NV,
-  glUniform2ui64vNV,
-  glUniform3i64NV,
-  glUniform3i64vNV,
-  glUniform3ui64NV,
-  glUniform3ui64vNV,
-  glUniform4i64NV,
-  glUniform4i64vNV,
-  glUniform4ui64NV,
-  glUniform4ui64vNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/GeometryProgram4.hs
+++ /dev/null
@@ -1,43 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.GeometryProgram4 (
-  -- * Extension Support
-  glGetNVGeometryProgram4,
-  gl_NV_geometry_program4,
-  -- * Enums
-  gl_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_EXT,
-  gl_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT,
-  gl_GEOMETRY_INPUT_TYPE_EXT,
-  gl_GEOMETRY_OUTPUT_TYPE_EXT,
-  gl_GEOMETRY_PROGRAM_NV,
-  gl_GEOMETRY_VERTICES_OUT_EXT,
-  gl_LINES_ADJACENCY_EXT,
-  gl_LINE_STRIP_ADJACENCY_EXT,
-  gl_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT,
-  gl_MAX_PROGRAM_OUTPUT_VERTICES_NV,
-  gl_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV,
-  gl_PROGRAM_POINT_SIZE_EXT,
-  gl_TRIANGLES_ADJACENCY_EXT,
-  gl_TRIANGLE_STRIP_ADJACENCY_EXT,
-  -- * Functions
-  glFramebufferTextureEXT,
-  glFramebufferTextureFaceEXT,
-  glFramebufferTextureLayerEXT,
-  glProgramVertexLimitNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/HalfFloat.hs
+++ /dev/null
@@ -1,70 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.HalfFloat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.HalfFloat (
-  -- * Extension Support
-  glGetNVHalfFloat,
-  gl_NV_half_float,
-  -- * Enums
-  gl_HALF_FLOAT_NV,
-  -- * Functions
-  glColor3hNV,
-  glColor3hvNV,
-  glColor4hNV,
-  glColor4hvNV,
-  glFogCoordhNV,
-  glFogCoordhvNV,
-  glMultiTexCoord1hNV,
-  glMultiTexCoord1hvNV,
-  glMultiTexCoord2hNV,
-  glMultiTexCoord2hvNV,
-  glMultiTexCoord3hNV,
-  glMultiTexCoord3hvNV,
-  glMultiTexCoord4hNV,
-  glMultiTexCoord4hvNV,
-  glNormal3hNV,
-  glNormal3hvNV,
-  glSecondaryColor3hNV,
-  glSecondaryColor3hvNV,
-  glTexCoord1hNV,
-  glTexCoord1hvNV,
-  glTexCoord2hNV,
-  glTexCoord2hvNV,
-  glTexCoord3hNV,
-  glTexCoord3hvNV,
-  glTexCoord4hNV,
-  glTexCoord4hvNV,
-  glVertex2hNV,
-  glVertex2hvNV,
-  glVertex3hNV,
-  glVertex3hvNV,
-  glVertex4hNV,
-  glVertex4hvNV,
-  glVertexAttrib1hNV,
-  glVertexAttrib1hvNV,
-  glVertexAttrib2hNV,
-  glVertexAttrib2hvNV,
-  glVertexAttrib3hNV,
-  glVertexAttrib3hvNV,
-  glVertexAttrib4hNV,
-  glVertexAttrib4hvNV,
-  glVertexAttribs1hvNV,
-  glVertexAttribs2hvNV,
-  glVertexAttribs3hvNV,
-  glVertexAttribs4hvNV,
-  glVertexWeighthNV,
-  glVertexWeighthvNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/InternalformatSampleQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/InternalformatSampleQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/InternalformatSampleQuery.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.InternalformatSampleQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.InternalformatSampleQuery (
-  -- * Extension Support
-  glGetNVInternalformatSampleQuery,
-  gl_NV_internalformat_sample_query,
-  -- * Enums
-  gl_CONFORMANT_NV,
-  gl_MULTISAMPLES_NV,
-  gl_RENDERBUFFER,
-  gl_SUPERSAMPLE_SCALE_X_NV,
-  gl_SUPERSAMPLE_SCALE_Y_NV,
-  gl_TEXTURE_2D_MULTISAMPLE,
-  gl_TEXTURE_2D_MULTISAMPLE_ARRAY,
-  -- * Functions
-  glGetInternalformatSampleivNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/LightMaxExponent.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/LightMaxExponent.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/LightMaxExponent.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.LightMaxExponent (
-  -- * Extension Support
-  glGetNVLightMaxExponent,
-  gl_NV_light_max_exponent,
-  -- * Enums
-  gl_MAX_SHININESS_NV,
-  gl_MAX_SPOT_EXPONENT_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleCoverage.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleCoverage.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleCoverage.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.MultisampleCoverage
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.MultisampleCoverage (
-  -- * Extension Support
-  glGetNVMultisampleCoverage,
-  gl_NV_multisample_coverage,
-  -- * Enums
-  gl_COLOR_SAMPLES_NV,
-  gl_SAMPLES_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleFilterHint.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleFilterHint.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/MultisampleFilterHint.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.MultisampleFilterHint (
-  -- * Extension Support
-  glGetNVMultisampleFilterHint,
-  gl_NV_multisample_filter_hint,
-  -- * Enums
-  gl_MULTISAMPLE_FILTER_HINT_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/OcclusionQuery.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.OcclusionQuery (
-  -- * Extension Support
-  glGetNVOcclusionQuery,
-  gl_NV_occlusion_query,
-  -- * Enums
-  gl_CURRENT_OCCLUSION_QUERY_ID_NV,
-  gl_PIXEL_COUNTER_BITS_NV,
-  gl_PIXEL_COUNT_AVAILABLE_NV,
-  gl_PIXEL_COUNT_NV,
-  -- * Functions
-  glBeginOcclusionQueryNV,
-  glDeleteOcclusionQueriesNV,
-  glEndOcclusionQueryNV,
-  glGenOcclusionQueriesNV,
-  glGetOcclusionQueryivNV,
-  glGetOcclusionQueryuivNV,
-  glIsOcclusionQueryNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PackedDepthStencil.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PackedDepthStencil.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PackedDepthStencil.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PackedDepthStencil (
-  -- * Extension Support
-  glGetNVPackedDepthStencil,
-  gl_NV_packed_depth_stencil,
-  -- * Enums
-  gl_DEPTH_STENCIL_NV,
-  gl_UNSIGNED_INT_24_8_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ParameterBufferObject.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ParameterBufferObject (
-  -- * Extension Support
-  glGetNVParameterBufferObject,
-  gl_NV_parameter_buffer_object,
-  -- * Enums
-  gl_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV,
-  gl_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV,
-  gl_MAX_PROGRAM_PARAMETER_BUFFER_BINDINGS_NV,
-  gl_MAX_PROGRAM_PARAMETER_BUFFER_SIZE_NV,
-  gl_VERTEX_PROGRAM_PARAMETER_BUFFER_NV,
-  -- * Functions
-  glProgramBufferParametersIivNV,
-  glProgramBufferParametersIuivNV,
-  glProgramBufferParametersfvNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingCompatibility.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingCompatibility.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingCompatibility.hs
+++ /dev/null
@@ -1,251 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCompatibility
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCompatibility (
-  -- * Extension Support
-  glGetNVPathRendering,
-  gl_NV_path_rendering,
-  -- * Enums
-  gl_2_BYTES_NV,
-  gl_3_BYTES_NV,
-  gl_4_BYTES_NV,
-  gl_ACCUM_ADJACENT_PAIRS_NV,
-  gl_ADJACENT_PAIRS_NV,
-  gl_AFFINE_2D_NV,
-  gl_AFFINE_3D_NV,
-  gl_ARC_TO_NV,
-  gl_BEVEL_NV,
-  gl_BOLD_BIT_NV,
-  gl_BOUNDING_BOX_NV,
-  gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV,
-  gl_CIRCULAR_CCW_ARC_TO_NV,
-  gl_CIRCULAR_CW_ARC_TO_NV,
-  gl_CIRCULAR_TANGENT_ARC_TO_NV,
-  gl_CLOSE_PATH_NV,
-  gl_CONIC_CURVE_TO_NV,
-  gl_CONSTANT_NV,
-  gl_CONVEX_HULL_NV,
-  gl_COUNT_DOWN_NV,
-  gl_COUNT_UP_NV,
-  gl_CUBIC_CURVE_TO_NV,
-  gl_DUP_FIRST_CUBIC_CURVE_TO_NV,
-  gl_DUP_LAST_CUBIC_CURVE_TO_NV,
-  gl_EYE_LINEAR_NV,
-  gl_FILE_NAME_NV,
-  gl_FIRST_TO_REST_NV,
-  gl_FONT_ASCENDER_BIT_NV,
-  gl_FONT_DESCENDER_BIT_NV,
-  gl_FONT_GLYPHS_AVAILABLE_NV,
-  gl_FONT_HAS_KERNING_BIT_NV,
-  gl_FONT_HEIGHT_BIT_NV,
-  gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV,
-  gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV,
-  gl_FONT_NUM_GLYPH_INDICES_BIT_NV,
-  gl_FONT_TARGET_UNAVAILABLE_NV,
-  gl_FONT_UNAVAILABLE_NV,
-  gl_FONT_UNDERLINE_POSITION_BIT_NV,
-  gl_FONT_UNDERLINE_THICKNESS_BIT_NV,
-  gl_FONT_UNINTELLIGIBLE_NV,
-  gl_FONT_UNITS_PER_EM_BIT_NV,
-  gl_FONT_X_MAX_BOUNDS_BIT_NV,
-  gl_FONT_X_MIN_BOUNDS_BIT_NV,
-  gl_FONT_Y_MAX_BOUNDS_BIT_NV,
-  gl_FONT_Y_MIN_BOUNDS_BIT_NV,
-  gl_FRAGMENT_INPUT_NV,
-  gl_GLYPH_HAS_KERNING_BIT_NV,
-  gl_GLYPH_HEIGHT_BIT_NV,
-  gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV,
-  gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV,
-  gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV,
-  gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV,
-  gl_GLYPH_VERTICAL_BEARING_X_BIT_NV,
-  gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV,
-  gl_GLYPH_WIDTH_BIT_NV,
-  gl_HORIZONTAL_LINE_TO_NV,
-  gl_ITALIC_BIT_NV,
-  gl_LARGE_CCW_ARC_TO_NV,
-  gl_LARGE_CW_ARC_TO_NV,
-  gl_LINE_TO_NV,
-  gl_MITER_REVERT_NV,
-  gl_MITER_TRUNCATE_NV,
-  gl_MOVE_TO_CONTINUES_NV,
-  gl_MOVE_TO_NV,
-  gl_MOVE_TO_RESETS_NV,
-  gl_OBJECT_LINEAR_NV,
-  gl_PATH_CLIENT_LENGTH_NV,
-  gl_PATH_COMMAND_COUNT_NV,
-  gl_PATH_COMPUTED_LENGTH_NV,
-  gl_PATH_COORD_COUNT_NV,
-  gl_PATH_COVER_DEPTH_FUNC_NV,
-  gl_PATH_DASH_ARRAY_COUNT_NV,
-  gl_PATH_DASH_CAPS_NV,
-  gl_PATH_DASH_OFFSET_NV,
-  gl_PATH_DASH_OFFSET_RESET_NV,
-  gl_PATH_END_CAPS_NV,
-  gl_PATH_ERROR_POSITION_NV,
-  gl_PATH_FILL_BOUNDING_BOX_NV,
-  gl_PATH_FILL_COVER_MODE_NV,
-  gl_PATH_FILL_MASK_NV,
-  gl_PATH_FILL_MODE_NV,
-  gl_PATH_FOG_GEN_MODE_NV,
-  gl_PATH_FORMAT_PS_NV,
-  gl_PATH_FORMAT_SVG_NV,
-  gl_PATH_GEN_COEFF_NV,
-  gl_PATH_GEN_COLOR_FORMAT_NV,
-  gl_PATH_GEN_COMPONENTS_NV,
-  gl_PATH_GEN_MODE_NV,
-  gl_PATH_INITIAL_DASH_CAP_NV,
-  gl_PATH_INITIAL_END_CAP_NV,
-  gl_PATH_JOIN_STYLE_NV,
-  gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NV,
-  gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV,
-  gl_PATH_MITER_LIMIT_NV,
-  gl_PATH_MODELVIEW_MATRIX_NV,
-  gl_PATH_MODELVIEW_NV,
-  gl_PATH_MODELVIEW_STACK_DEPTH_NV,
-  gl_PATH_OBJECT_BOUNDING_BOX_NV,
-  gl_PATH_PROJECTION_MATRIX_NV,
-  gl_PATH_PROJECTION_NV,
-  gl_PATH_PROJECTION_STACK_DEPTH_NV,
-  gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV,
-  gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV,
-  gl_PATH_STENCIL_FUNC_NV,
-  gl_PATH_STENCIL_REF_NV,
-  gl_PATH_STENCIL_VALUE_MASK_NV,
-  gl_PATH_STROKE_BOUNDING_BOX_NV,
-  gl_PATH_STROKE_COVER_MODE_NV,
-  gl_PATH_STROKE_MASK_NV,
-  gl_PATH_STROKE_WIDTH_NV,
-  gl_PATH_TERMINAL_DASH_CAP_NV,
-  gl_PATH_TERMINAL_END_CAP_NV,
-  gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV,
-  gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV,
-  gl_PRIMARY_COLOR,
-  gl_PRIMARY_COLOR_NV,
-  gl_QUADRATIC_CURVE_TO_NV,
-  gl_RECT_NV,
-  gl_RELATIVE_ARC_TO_NV,
-  gl_RELATIVE_CONIC_CURVE_TO_NV,
-  gl_RELATIVE_CUBIC_CURVE_TO_NV,
-  gl_RELATIVE_HORIZONTAL_LINE_TO_NV,
-  gl_RELATIVE_LARGE_CCW_ARC_TO_NV,
-  gl_RELATIVE_LARGE_CW_ARC_TO_NV,
-  gl_RELATIVE_LINE_TO_NV,
-  gl_RELATIVE_MOVE_TO_NV,
-  gl_RELATIVE_QUADRATIC_CURVE_TO_NV,
-  gl_RELATIVE_RECT_NV,
-  gl_RELATIVE_ROUNDED_RECT2_NV,
-  gl_RELATIVE_ROUNDED_RECT4_NV,
-  gl_RELATIVE_ROUNDED_RECT8_NV,
-  gl_RELATIVE_ROUNDED_RECT_NV,
-  gl_RELATIVE_SMALL_CCW_ARC_TO_NV,
-  gl_RELATIVE_SMALL_CW_ARC_TO_NV,
-  gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV,
-  gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV,
-  gl_RELATIVE_VERTICAL_LINE_TO_NV,
-  gl_RESTART_PATH_NV,
-  gl_ROUNDED_RECT2_NV,
-  gl_ROUNDED_RECT4_NV,
-  gl_ROUNDED_RECT8_NV,
-  gl_ROUNDED_RECT_NV,
-  gl_ROUND_NV,
-  gl_SECONDARY_COLOR_NV,
-  gl_SKIP_MISSING_GLYPH_NV,
-  gl_SMALL_CCW_ARC_TO_NV,
-  gl_SMALL_CW_ARC_TO_NV,
-  gl_SMOOTH_CUBIC_CURVE_TO_NV,
-  gl_SMOOTH_QUADRATIC_CURVE_TO_NV,
-  gl_SQUARE_NV,
-  gl_STANDARD_FONT_FORMAT_NV,
-  gl_STANDARD_FONT_NAME_NV,
-  gl_SYSTEM_FONT_NAME_NV,
-  gl_TRANSLATE_2D_NV,
-  gl_TRANSLATE_3D_NV,
-  gl_TRANSLATE_X_NV,
-  gl_TRANSLATE_Y_NV,
-  gl_TRANSPOSE_AFFINE_2D_NV,
-  gl_TRANSPOSE_AFFINE_3D_NV,
-  gl_TRIANGULAR_NV,
-  gl_USE_MISSING_GLYPH_NV,
-  gl_UTF16_NV,
-  gl_UTF8_NV,
-  gl_VERTICAL_LINE_TO_NV,
-  -- * Functions
-  glCopyPathNV,
-  glCoverFillPathInstancedNV,
-  glCoverFillPathNV,
-  glCoverStrokePathInstancedNV,
-  glCoverStrokePathNV,
-  glDeletePathsNV,
-  glGenPathsNV,
-  glGetPathColorGenfvNV,
-  glGetPathColorGenivNV,
-  glGetPathCommandsNV,
-  glGetPathCoordsNV,
-  glGetPathDashArrayNV,
-  glGetPathLengthNV,
-  glGetPathMetricRangeNV,
-  glGetPathMetricsNV,
-  glGetPathParameterfvNV,
-  glGetPathParameterivNV,
-  glGetPathSpacingNV,
-  glGetPathTexGenfvNV,
-  glGetPathTexGenivNV,
-  glGetProgramResourcefvNV,
-  glInterpolatePathsNV,
-  glIsPathNV,
-  glIsPointInFillPathNV,
-  glIsPointInStrokePathNV,
-  glMatrixLoad3x2fNV,
-  glMatrixLoad3x3fNV,
-  glMatrixLoadTranspose3x3fNV,
-  glMatrixMult3x2fNV,
-  glMatrixMult3x3fNV,
-  glMatrixMultTranspose3x3fNV,
-  glPathColorGenNV,
-  glPathCommandsNV,
-  glPathCoordsNV,
-  glPathCoverDepthFuncNV,
-  glPathDashArrayNV,
-  glPathFogGenNV,
-  glPathGlyphIndexArrayNV,
-  glPathGlyphIndexRangeNV,
-  glPathGlyphRangeNV,
-  glPathGlyphsNV,
-  glPathMemoryGlyphIndexArrayNV,
-  glPathParameterfNV,
-  glPathParameterfvNV,
-  glPathParameteriNV,
-  glPathParameterivNV,
-  glPathStencilDepthOffsetNV,
-  glPathStencilFuncNV,
-  glPathStringNV,
-  glPathSubCommandsNV,
-  glPathSubCoordsNV,
-  glPathTexGenNV,
-  glPointAlongPathNV,
-  glProgramPathFragmentInputGenNV,
-  glStencilFillPathInstancedNV,
-  glStencilFillPathNV,
-  glStencilStrokePathInstancedNV,
-  glStencilStrokePathNV,
-  glStencilThenCoverFillPathInstancedNV,
-  glStencilThenCoverFillPathNV,
-  glStencilThenCoverStrokePathInstancedNV,
-  glStencilThenCoverStrokePathNV,
-  glTransformPathNV,
-  glWeightPathsNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingCore.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingCore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingCore.hs
+++ /dev/null
@@ -1,233 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PathRenderingCore (
-  -- * Extension Support
-  glGetNVPathRendering,
-  gl_NV_path_rendering,
-  -- * Enums
-  gl_ACCUM_ADJACENT_PAIRS_NV,
-  gl_ADJACENT_PAIRS_NV,
-  gl_AFFINE_2D_NV,
-  gl_AFFINE_3D_NV,
-  gl_ARC_TO_NV,
-  gl_BEVEL_NV,
-  gl_BOLD_BIT_NV,
-  gl_BOUNDING_BOX_NV,
-  gl_BOUNDING_BOX_OF_BOUNDING_BOXES_NV,
-  gl_CIRCULAR_CCW_ARC_TO_NV,
-  gl_CIRCULAR_CW_ARC_TO_NV,
-  gl_CIRCULAR_TANGENT_ARC_TO_NV,
-  gl_CLOSE_PATH_NV,
-  gl_CONIC_CURVE_TO_NV,
-  gl_CONVEX_HULL_NV,
-  gl_COUNT_DOWN_NV,
-  gl_COUNT_UP_NV,
-  gl_CUBIC_CURVE_TO_NV,
-  gl_DUP_FIRST_CUBIC_CURVE_TO_NV,
-  gl_DUP_LAST_CUBIC_CURVE_TO_NV,
-  gl_FILE_NAME_NV,
-  gl_FIRST_TO_REST_NV,
-  gl_FONT_ASCENDER_BIT_NV,
-  gl_FONT_DESCENDER_BIT_NV,
-  gl_FONT_GLYPHS_AVAILABLE_NV,
-  gl_FONT_HAS_KERNING_BIT_NV,
-  gl_FONT_HEIGHT_BIT_NV,
-  gl_FONT_MAX_ADVANCE_HEIGHT_BIT_NV,
-  gl_FONT_MAX_ADVANCE_WIDTH_BIT_NV,
-  gl_FONT_NUM_GLYPH_INDICES_BIT_NV,
-  gl_FONT_TARGET_UNAVAILABLE_NV,
-  gl_FONT_UNAVAILABLE_NV,
-  gl_FONT_UNDERLINE_POSITION_BIT_NV,
-  gl_FONT_UNDERLINE_THICKNESS_BIT_NV,
-  gl_FONT_UNINTELLIGIBLE_NV,
-  gl_FONT_UNITS_PER_EM_BIT_NV,
-  gl_FONT_X_MAX_BOUNDS_BIT_NV,
-  gl_FONT_X_MIN_BOUNDS_BIT_NV,
-  gl_FONT_Y_MAX_BOUNDS_BIT_NV,
-  gl_FONT_Y_MIN_BOUNDS_BIT_NV,
-  gl_FRAGMENT_INPUT_NV,
-  gl_GLYPH_HAS_KERNING_BIT_NV,
-  gl_GLYPH_HEIGHT_BIT_NV,
-  gl_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV,
-  gl_GLYPH_HORIZONTAL_BEARING_X_BIT_NV,
-  gl_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV,
-  gl_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV,
-  gl_GLYPH_VERTICAL_BEARING_X_BIT_NV,
-  gl_GLYPH_VERTICAL_BEARING_Y_BIT_NV,
-  gl_GLYPH_WIDTH_BIT_NV,
-  gl_HORIZONTAL_LINE_TO_NV,
-  gl_ITALIC_BIT_NV,
-  gl_LARGE_CCW_ARC_TO_NV,
-  gl_LARGE_CW_ARC_TO_NV,
-  gl_LINE_TO_NV,
-  gl_MITER_REVERT_NV,
-  gl_MITER_TRUNCATE_NV,
-  gl_MOVE_TO_CONTINUES_NV,
-  gl_MOVE_TO_NV,
-  gl_MOVE_TO_RESETS_NV,
-  gl_PATH_CLIENT_LENGTH_NV,
-  gl_PATH_COMMAND_COUNT_NV,
-  gl_PATH_COMPUTED_LENGTH_NV,
-  gl_PATH_COORD_COUNT_NV,
-  gl_PATH_COVER_DEPTH_FUNC_NV,
-  gl_PATH_DASH_ARRAY_COUNT_NV,
-  gl_PATH_DASH_CAPS_NV,
-  gl_PATH_DASH_OFFSET_NV,
-  gl_PATH_DASH_OFFSET_RESET_NV,
-  gl_PATH_END_CAPS_NV,
-  gl_PATH_ERROR_POSITION_NV,
-  gl_PATH_FILL_BOUNDING_BOX_NV,
-  gl_PATH_FILL_COVER_MODE_NV,
-  gl_PATH_FILL_MASK_NV,
-  gl_PATH_FILL_MODE_NV,
-  gl_PATH_FORMAT_PS_NV,
-  gl_PATH_FORMAT_SVG_NV,
-  gl_PATH_GEN_COEFF_NV,
-  gl_PATH_GEN_COMPONENTS_NV,
-  gl_PATH_GEN_MODE_NV,
-  gl_PATH_INITIAL_DASH_CAP_NV,
-  gl_PATH_INITIAL_END_CAP_NV,
-  gl_PATH_JOIN_STYLE_NV,
-  gl_PATH_MAX_MODELVIEW_STACK_DEPTH_NV,
-  gl_PATH_MAX_PROJECTION_STACK_DEPTH_NV,
-  gl_PATH_MITER_LIMIT_NV,
-  gl_PATH_MODELVIEW_MATRIX_NV,
-  gl_PATH_MODELVIEW_NV,
-  gl_PATH_MODELVIEW_STACK_DEPTH_NV,
-  gl_PATH_OBJECT_BOUNDING_BOX_NV,
-  gl_PATH_PROJECTION_MATRIX_NV,
-  gl_PATH_PROJECTION_NV,
-  gl_PATH_PROJECTION_STACK_DEPTH_NV,
-  gl_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV,
-  gl_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV,
-  gl_PATH_STENCIL_FUNC_NV,
-  gl_PATH_STENCIL_REF_NV,
-  gl_PATH_STENCIL_VALUE_MASK_NV,
-  gl_PATH_STROKE_BOUNDING_BOX_NV,
-  gl_PATH_STROKE_COVER_MODE_NV,
-  gl_PATH_STROKE_MASK_NV,
-  gl_PATH_STROKE_WIDTH_NV,
-  gl_PATH_TERMINAL_DASH_CAP_NV,
-  gl_PATH_TERMINAL_END_CAP_NV,
-  gl_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV,
-  gl_PATH_TRANSPOSE_PROJECTION_MATRIX_NV,
-  gl_QUADRATIC_CURVE_TO_NV,
-  gl_RECT_NV,
-  gl_RELATIVE_ARC_TO_NV,
-  gl_RELATIVE_CONIC_CURVE_TO_NV,
-  gl_RELATIVE_CUBIC_CURVE_TO_NV,
-  gl_RELATIVE_HORIZONTAL_LINE_TO_NV,
-  gl_RELATIVE_LARGE_CCW_ARC_TO_NV,
-  gl_RELATIVE_LARGE_CW_ARC_TO_NV,
-  gl_RELATIVE_LINE_TO_NV,
-  gl_RELATIVE_MOVE_TO_NV,
-  gl_RELATIVE_QUADRATIC_CURVE_TO_NV,
-  gl_RELATIVE_RECT_NV,
-  gl_RELATIVE_ROUNDED_RECT2_NV,
-  gl_RELATIVE_ROUNDED_RECT4_NV,
-  gl_RELATIVE_ROUNDED_RECT8_NV,
-  gl_RELATIVE_ROUNDED_RECT_NV,
-  gl_RELATIVE_SMALL_CCW_ARC_TO_NV,
-  gl_RELATIVE_SMALL_CW_ARC_TO_NV,
-  gl_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV,
-  gl_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV,
-  gl_RELATIVE_VERTICAL_LINE_TO_NV,
-  gl_RESTART_PATH_NV,
-  gl_ROUNDED_RECT2_NV,
-  gl_ROUNDED_RECT4_NV,
-  gl_ROUNDED_RECT8_NV,
-  gl_ROUNDED_RECT_NV,
-  gl_ROUND_NV,
-  gl_SKIP_MISSING_GLYPH_NV,
-  gl_SMALL_CCW_ARC_TO_NV,
-  gl_SMALL_CW_ARC_TO_NV,
-  gl_SMOOTH_CUBIC_CURVE_TO_NV,
-  gl_SMOOTH_QUADRATIC_CURVE_TO_NV,
-  gl_SQUARE_NV,
-  gl_STANDARD_FONT_FORMAT_NV,
-  gl_STANDARD_FONT_NAME_NV,
-  gl_SYSTEM_FONT_NAME_NV,
-  gl_TRANSLATE_2D_NV,
-  gl_TRANSLATE_3D_NV,
-  gl_TRANSLATE_X_NV,
-  gl_TRANSLATE_Y_NV,
-  gl_TRANSPOSE_AFFINE_2D_NV,
-  gl_TRANSPOSE_AFFINE_3D_NV,
-  gl_TRIANGULAR_NV,
-  gl_USE_MISSING_GLYPH_NV,
-  gl_UTF16_NV,
-  gl_UTF8_NV,
-  gl_VERTICAL_LINE_TO_NV,
-  -- * Functions
-  glCopyPathNV,
-  glCoverFillPathInstancedNV,
-  glCoverFillPathNV,
-  glCoverStrokePathInstancedNV,
-  glCoverStrokePathNV,
-  glDeletePathsNV,
-  glGenPathsNV,
-  glGetPathCommandsNV,
-  glGetPathCoordsNV,
-  glGetPathDashArrayNV,
-  glGetPathLengthNV,
-  glGetPathMetricRangeNV,
-  glGetPathMetricsNV,
-  glGetPathParameterfvNV,
-  glGetPathParameterivNV,
-  glGetPathSpacingNV,
-  glGetProgramResourcefvNV,
-  glInterpolatePathsNV,
-  glIsPathNV,
-  glIsPointInFillPathNV,
-  glIsPointInStrokePathNV,
-  glMatrixLoad3x2fNV,
-  glMatrixLoad3x3fNV,
-  glMatrixLoadTranspose3x3fNV,
-  glMatrixMult3x2fNV,
-  glMatrixMult3x3fNV,
-  glMatrixMultTranspose3x3fNV,
-  glPathCommandsNV,
-  glPathCoordsNV,
-  glPathCoverDepthFuncNV,
-  glPathDashArrayNV,
-  glPathGlyphIndexArrayNV,
-  glPathGlyphIndexRangeNV,
-  glPathGlyphRangeNV,
-  glPathGlyphsNV,
-  glPathMemoryGlyphIndexArrayNV,
-  glPathParameterfNV,
-  glPathParameterfvNV,
-  glPathParameteriNV,
-  glPathParameterivNV,
-  glPathStencilDepthOffsetNV,
-  glPathStencilFuncNV,
-  glPathStringNV,
-  glPathSubCommandsNV,
-  glPathSubCoordsNV,
-  glPointAlongPathNV,
-  glProgramPathFragmentInputGenNV,
-  glStencilFillPathInstancedNV,
-  glStencilFillPathNV,
-  glStencilStrokePathInstancedNV,
-  glStencilStrokePathNV,
-  glStencilThenCoverFillPathInstancedNV,
-  glStencilThenCoverFillPathNV,
-  glStencilThenCoverStrokePathInstancedNV,
-  glStencilThenCoverStrokePathNV,
-  glTransformPathNV,
-  glWeightPathsNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingSharedEdge.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingSharedEdge.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PathRenderingSharedEdge.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PathRenderingSharedEdge
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PathRenderingSharedEdge (
-  -- * Extension Support
-  glGetNVPathRenderingSharedEdge,
-  gl_NV_path_rendering_shared_edge,
-  -- * Enums
-  gl_SHARED_EDGE_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PixelDataRange.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PixelDataRange.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PixelDataRange.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PixelDataRange (
-  -- * Extension Support
-  glGetNVPixelDataRange,
-  gl_NV_pixel_data_range,
-  -- * Enums
-  gl_READ_PIXEL_DATA_RANGE_LENGTH_NV,
-  gl_READ_PIXEL_DATA_RANGE_NV,
-  gl_READ_PIXEL_DATA_RANGE_POINTER_NV,
-  gl_WRITE_PIXEL_DATA_RANGE_LENGTH_NV,
-  gl_WRITE_PIXEL_DATA_RANGE_NV,
-  gl_WRITE_PIXEL_DATA_RANGE_POINTER_NV,
-  -- * Functions
-  glFlushPixelDataRangeNV,
-  glPixelDataRangeNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PointSprite.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PointSprite.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PointSprite.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PointSprite
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PointSprite (
-  -- * Extension Support
-  glGetNVPointSprite,
-  gl_NV_point_sprite,
-  -- * Enums
-  gl_COORD_REPLACE_NV,
-  gl_POINT_SPRITE_NV,
-  gl_POINT_SPRITE_R_MODE_NV,
-  -- * Functions
-  glPointParameteriNV,
-  glPointParameterivNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PresentVideo.hs
+++ /dev/null
@@ -1,35 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PresentVideo
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PresentVideo (
-  -- * Extension Support
-  glGetNVPresentVideo,
-  gl_NV_present_video,
-  -- * Enums
-  gl_CURRENT_TIME_NV,
-  gl_FIELDS_NV,
-  gl_FRAME_NV,
-  gl_NUM_FILL_STREAMS_NV,
-  gl_PRESENT_DURATION_NV,
-  gl_PRESENT_TIME_NV,
-  -- * Functions
-  glGetVideoi64vNV,
-  glGetVideoivNV,
-  glGetVideoui64vNV,
-  glGetVideouivNV,
-  glPresentFrameDualFillNV,
-  glPresentFrameKeyedNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/PrimitiveRestart.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.PrimitiveRestart (
-  -- * Extension Support
-  glGetNVPrimitiveRestart,
-  gl_NV_primitive_restart,
-  -- * Enums
-  gl_PRIMITIVE_RESTART_INDEX_NV,
-  gl_PRIMITIVE_RESTART_NV,
-  -- * Functions
-  glPrimitiveRestartIndexNV,
-  glPrimitiveRestartNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners.hs
+++ /dev/null
@@ -1,92 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners (
-  -- * Extension Support
-  glGetNVRegisterCombiners,
-  gl_NV_register_combiners,
-  -- * Enums
-  gl_BIAS_BY_NEGATIVE_ONE_HALF_NV,
-  gl_COLOR_SUM_CLAMP_NV,
-  gl_COMBINER0_NV,
-  gl_COMBINER1_NV,
-  gl_COMBINER2_NV,
-  gl_COMBINER3_NV,
-  gl_COMBINER4_NV,
-  gl_COMBINER5_NV,
-  gl_COMBINER6_NV,
-  gl_COMBINER7_NV,
-  gl_COMBINER_AB_DOT_PRODUCT_NV,
-  gl_COMBINER_AB_OUTPUT_NV,
-  gl_COMBINER_BIAS_NV,
-  gl_COMBINER_CD_DOT_PRODUCT_NV,
-  gl_COMBINER_CD_OUTPUT_NV,
-  gl_COMBINER_COMPONENT_USAGE_NV,
-  gl_COMBINER_INPUT_NV,
-  gl_COMBINER_MAPPING_NV,
-  gl_COMBINER_MUX_SUM_NV,
-  gl_COMBINER_SCALE_NV,
-  gl_COMBINER_SUM_OUTPUT_NV,
-  gl_CONSTANT_COLOR0_NV,
-  gl_CONSTANT_COLOR1_NV,
-  gl_DISCARD_NV,
-  gl_EXPAND_NEGATE_NV,
-  gl_EXPAND_NORMAL_NV,
-  gl_E_TIMES_F_NV,
-  gl_FOG,
-  gl_HALF_BIAS_NEGATE_NV,
-  gl_HALF_BIAS_NORMAL_NV,
-  gl_MAX_GENERAL_COMBINERS_NV,
-  gl_NONE,
-  gl_NUM_GENERAL_COMBINERS_NV,
-  gl_PRIMARY_COLOR_NV,
-  gl_REGISTER_COMBINERS_NV,
-  gl_SCALE_BY_FOUR_NV,
-  gl_SCALE_BY_ONE_HALF_NV,
-  gl_SCALE_BY_TWO_NV,
-  gl_SECONDARY_COLOR_NV,
-  gl_SIGNED_IDENTITY_NV,
-  gl_SIGNED_NEGATE_NV,
-  gl_SPARE0_NV,
-  gl_SPARE0_PLUS_SECONDARY_COLOR_NV,
-  gl_SPARE1_NV,
-  gl_TEXTURE0_ARB,
-  gl_TEXTURE1_ARB,
-  gl_UNSIGNED_IDENTITY_NV,
-  gl_UNSIGNED_INVERT_NV,
-  gl_VARIABLE_A_NV,
-  gl_VARIABLE_B_NV,
-  gl_VARIABLE_C_NV,
-  gl_VARIABLE_D_NV,
-  gl_VARIABLE_E_NV,
-  gl_VARIABLE_F_NV,
-  gl_VARIABLE_G_NV,
-  gl_ZERO,
-  -- * Functions
-  glCombinerInputNV,
-  glCombinerOutputNV,
-  glCombinerParameterfNV,
-  glCombinerParameterfvNV,
-  glCombinerParameteriNV,
-  glCombinerParameterivNV,
-  glFinalCombinerInputNV,
-  glGetCombinerInputParameterfvNV,
-  glGetCombinerInputParameterivNV,
-  glGetCombinerOutputParameterfvNV,
-  glGetCombinerOutputParameterivNV,
-  glGetFinalCombinerInputParameterfvNV,
-  glGetFinalCombinerInputParameterivNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/RegisterCombiners2.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.RegisterCombiners2 (
-  -- * Extension Support
-  glGetNVRegisterCombiners2,
-  gl_NV_register_combiners2,
-  -- * Enums
-  gl_PER_STAGE_CONSTANTS_NV,
-  -- * Functions
-  glCombinerStageParameterfvNV,
-  glGetCombinerStageParameterfvNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/SampleLocations.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/SampleLocations.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/SampleLocations.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.SampleLocations
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.SampleLocations (
-  -- * Extension Support
-  glGetNVSampleLocations,
-  gl_NV_sample_locations,
-  -- * Enums
-  gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV,
-  gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV,
-  gl_PROGRAMMABLE_SAMPLE_LOCATION_NV,
-  gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV,
-  gl_SAMPLE_LOCATION_NV,
-  gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV,
-  gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV,
-  gl_SAMPLE_LOCATION_SUBPIXEL_BITS_NV,
-  -- * Functions
-  glFramebufferSampleLocationsfvNV,
-  glNamedFramebufferSampleLocationsfvNV,
-  glResolveDepthValuesNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderBufferLoad.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderBufferLoad.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderBufferLoad.hs
+++ /dev/null
@@ -1,40 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferLoad
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferLoad (
-  -- * Extension Support
-  glGetNVShaderBufferLoad,
-  gl_NV_shader_buffer_load,
-  -- * Enums
-  gl_BUFFER_GPU_ADDRESS_NV,
-  gl_GPU_ADDRESS_NV,
-  gl_MAX_SHADER_BUFFER_ADDRESS_NV,
-  -- * Functions
-  glGetBufferParameterui64vNV,
-  glGetIntegerui64vNV,
-  glGetNamedBufferParameterui64vNV,
-  glGetUniformui64vNV,
-  glIsBufferResidentNV,
-  glIsNamedBufferResidentNV,
-  glMakeBufferNonResidentNV,
-  glMakeBufferResidentNV,
-  glMakeNamedBufferNonResidentNV,
-  glMakeNamedBufferResidentNV,
-  glProgramUniformui64NV,
-  glProgramUniformui64vNV,
-  glUniformui64NV,
-  glUniformui64vNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderBufferStore.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderBufferStore.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderBufferStore.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferStore
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ShaderBufferStore (
-  -- * Extension Support
-  glGetNVShaderBufferStore,
-  gl_NV_shader_buffer_store,
-  -- * Enums
-  gl_READ_WRITE,
-  gl_SHADER_GLOBAL_ACCESS_BARRIER_BIT_NV,
-  gl_WRITE_ONLY
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderThreadGroup.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderThreadGroup.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/ShaderThreadGroup.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.ShaderThreadGroup
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.ShaderThreadGroup (
-  -- * Extension Support
-  glGetNVShaderThreadGroup,
-  gl_NV_shader_thread_group,
-  -- * Enums
-  gl_SM_COUNT_NV,
-  gl_WARPS_PER_SM_NV,
-  gl_WARP_SIZE_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TessellationProgram5.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TessellationProgram5.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TessellationProgram5.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TessellationProgram5
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TessellationProgram5 (
-  -- * Extension Support
-  glGetNVTessellationProgram5,
-  gl_NV_tessellation_program5,
-  -- * Enums
-  gl_MAX_PROGRAM_PATCH_ATTRIBS_NV,
-  gl_TESS_CONTROL_PROGRAM_NV,
-  gl_TESS_CONTROL_PROGRAM_PARAMETER_BUFFER_NV,
-  gl_TESS_EVALUATION_PROGRAM_NV,
-  gl_TESS_EVALUATION_PROGRAM_PARAMETER_BUFFER_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenEmboss.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenEmboss.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenEmboss.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TexgenEmboss (
-  -- * Extension Support
-  glGetNVTexgenEmboss,
-  gl_NV_texgen_emboss,
-  -- * Enums
-  gl_EMBOSS_CONSTANT_NV,
-  gl_EMBOSS_LIGHT_NV,
-  gl_EMBOSS_MAP_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenReflection.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenReflection.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TexgenReflection.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TexgenReflection (
-  -- * Extension Support
-  glGetNVTexgenReflection,
-  gl_NV_texgen_reflection,
-  -- * Enums
-  gl_NORMAL_MAP_NV,
-  gl_REFLECTION_MAP_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureBarrier.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureBarrier.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureBarrier.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureBarrier
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureBarrier (
-  -- * Extension Support
-  glGetNVTextureBarrier,
-  gl_NV_texture_barrier,
-  -- * Functions
-  glTextureBarrierNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureEnvCombine4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureEnvCombine4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureEnvCombine4.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureEnvCombine4 (
-  -- * Extension Support
-  glGetNVTextureEnvCombine4,
-  gl_NV_texture_env_combine4,
-  -- * Enums
-  gl_COMBINE4_NV,
-  gl_OPERAND3_ALPHA_NV,
-  gl_OPERAND3_RGB_NV,
-  gl_SOURCE3_ALPHA_NV,
-  gl_SOURCE3_RGB_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureExpandNormal.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureExpandNormal.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureExpandNormal.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureExpandNormal (
-  -- * Extension Support
-  glGetNVTextureExpandNormal,
-  gl_NV_texture_expand_normal,
-  -- * Enums
-  gl_TEXTURE_UNSIGNED_REMAP_MODE_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureMultisample.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureMultisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureMultisample.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureMultisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureMultisample (
-  -- * Extension Support
-  glGetNVTextureMultisample,
-  gl_NV_texture_multisample,
-  -- * Enums
-  gl_TEXTURE_COLOR_SAMPLES_NV,
-  gl_TEXTURE_COVERAGE_SAMPLES_NV,
-  -- * Functions
-  glTexImage2DMultisampleCoverageNV,
-  glTexImage3DMultisampleCoverageNV,
-  glTextureImage2DMultisampleCoverageNV,
-  glTextureImage2DMultisampleNV,
-  glTextureImage3DMultisampleCoverageNV,
-  glTextureImage3DMultisampleNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureRectangle.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureRectangle.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureRectangle.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureRectangle (
-  -- * Extension Support
-  glGetNVTextureRectangle,
-  gl_NV_texture_rectangle,
-  -- * Enums
-  gl_MAX_RECTANGLE_TEXTURE_SIZE_NV,
-  gl_PROXY_TEXTURE_RECTANGLE_NV,
-  gl_TEXTURE_BINDING_RECTANGLE_NV,
-  gl_TEXTURE_RECTANGLE_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader.hs
+++ /dev/null
@@ -1,94 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureShader (
-  -- * Extension Support
-  glGetNVTextureShader,
-  gl_NV_texture_shader,
-  -- * Enums
-  gl_CONST_EYE_NV,
-  gl_CULL_FRAGMENT_NV,
-  gl_CULL_MODES_NV,
-  gl_DEPENDENT_AR_TEXTURE_2D_NV,
-  gl_DEPENDENT_GB_TEXTURE_2D_NV,
-  gl_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV,
-  gl_DOT_PRODUCT_DEPTH_REPLACE_NV,
-  gl_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV,
-  gl_DOT_PRODUCT_NV,
-  gl_DOT_PRODUCT_REFLECT_CUBE_MAP_NV,
-  gl_DOT_PRODUCT_TEXTURE_2D_NV,
-  gl_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV,
-  gl_DOT_PRODUCT_TEXTURE_RECTANGLE_NV,
-  gl_DSDT8_MAG8_INTENSITY8_NV,
-  gl_DSDT8_MAG8_NV,
-  gl_DSDT8_NV,
-  gl_DSDT_MAG_INTENSITY_NV,
-  gl_DSDT_MAG_NV,
-  gl_DSDT_MAG_VIB_NV,
-  gl_DSDT_NV,
-  gl_DS_BIAS_NV,
-  gl_DS_SCALE_NV,
-  gl_DT_BIAS_NV,
-  gl_DT_SCALE_NV,
-  gl_HILO16_NV,
-  gl_HILO_NV,
-  gl_HI_BIAS_NV,
-  gl_HI_SCALE_NV,
-  gl_LO_BIAS_NV,
-  gl_LO_SCALE_NV,
-  gl_MAGNITUDE_BIAS_NV,
-  gl_MAGNITUDE_SCALE_NV,
-  gl_OFFSET_TEXTURE_2D_BIAS_NV,
-  gl_OFFSET_TEXTURE_2D_MATRIX_NV,
-  gl_OFFSET_TEXTURE_2D_NV,
-  gl_OFFSET_TEXTURE_2D_SCALE_NV,
-  gl_OFFSET_TEXTURE_BIAS_NV,
-  gl_OFFSET_TEXTURE_MATRIX_NV,
-  gl_OFFSET_TEXTURE_RECTANGLE_NV,
-  gl_OFFSET_TEXTURE_RECTANGLE_SCALE_NV,
-  gl_OFFSET_TEXTURE_SCALE_NV,
-  gl_PASS_THROUGH_NV,
-  gl_PREVIOUS_TEXTURE_INPUT_NV,
-  gl_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV,
-  gl_SHADER_CONSISTENT_NV,
-  gl_SHADER_OPERATION_NV,
-  gl_SIGNED_ALPHA8_NV,
-  gl_SIGNED_ALPHA_NV,
-  gl_SIGNED_HILO16_NV,
-  gl_SIGNED_HILO_NV,
-  gl_SIGNED_INTENSITY8_NV,
-  gl_SIGNED_INTENSITY_NV,
-  gl_SIGNED_LUMINANCE8_ALPHA8_NV,
-  gl_SIGNED_LUMINANCE8_NV,
-  gl_SIGNED_LUMINANCE_ALPHA_NV,
-  gl_SIGNED_LUMINANCE_NV,
-  gl_SIGNED_RGB8_NV,
-  gl_SIGNED_RGB8_UNSIGNED_ALPHA8_NV,
-  gl_SIGNED_RGBA8_NV,
-  gl_SIGNED_RGBA_NV,
-  gl_SIGNED_RGB_NV,
-  gl_SIGNED_RGB_UNSIGNED_ALPHA_NV,
-  gl_TEXTURE_BORDER_VALUES_NV,
-  gl_TEXTURE_DS_SIZE_NV,
-  gl_TEXTURE_DT_SIZE_NV,
-  gl_TEXTURE_HI_SIZE_NV,
-  gl_TEXTURE_LO_SIZE_NV,
-  gl_TEXTURE_MAG_SIZE_NV,
-  gl_TEXTURE_SHADER_NV,
-  gl_UNSIGNED_INT_8_8_S8_S8_REV_NV,
-  gl_UNSIGNED_INT_S8_S8_8_8_NV,
-  gl_VIBRANCE_BIAS_NV,
-  gl_VIBRANCE_SCALE_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader2.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureShader2 (
-  -- * Extension Support
-  glGetNVTextureShader2,
-  gl_NV_texture_shader2,
-  -- * Enums
-  gl_DOT_PRODUCT_TEXTURE_3D_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader3.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader3.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TextureShader3.hs
+++ /dev/null
@@ -1,38 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TextureShader3
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TextureShader3 (
-  -- * Extension Support
-  glGetNVTextureShader3,
-  gl_NV_texture_shader3,
-  -- * Enums
-  gl_DEPENDENT_HILO_TEXTURE_2D_NV,
-  gl_DEPENDENT_RGB_TEXTURE_3D_NV,
-  gl_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV,
-  gl_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV,
-  gl_DOT_PRODUCT_PASS_THROUGH_NV,
-  gl_DOT_PRODUCT_TEXTURE_1D_NV,
-  gl_FORCE_BLUE_TO_ONE_NV,
-  gl_HILO8_NV,
-  gl_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV,
-  gl_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV,
-  gl_OFFSET_HILO_TEXTURE_2D_NV,
-  gl_OFFSET_HILO_TEXTURE_RECTANGLE_NV,
-  gl_OFFSET_PROJECTIVE_TEXTURE_2D_NV,
-  gl_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV,
-  gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV,
-  gl_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV,
-  gl_SIGNED_HILO8_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback.hs
+++ /dev/null
@@ -1,66 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback (
-  -- * Extension Support
-  glGetNVTransformFeedback,
-  gl_NV_transform_feedback,
-  -- * Enums
-  gl_ACTIVE_VARYINGS_NV,
-  gl_ACTIVE_VARYING_MAX_LENGTH_NV,
-  gl_BACK_PRIMARY_COLOR_NV,
-  gl_BACK_SECONDARY_COLOR_NV,
-  gl_CLIP_DISTANCE_NV,
-  gl_GENERIC_ATTRIB_NV,
-  gl_INTERLEAVED_ATTRIBS_NV,
-  gl_LAYER_NV,
-  gl_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_NV,
-  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_NV,
-  gl_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_NV,
-  gl_NEXT_BUFFER_NV,
-  gl_PRIMITIVES_GENERATED_NV,
-  gl_PRIMITIVE_ID_NV,
-  gl_RASTERIZER_DISCARD_NV,
-  gl_SEPARATE_ATTRIBS_NV,
-  gl_SKIP_COMPONENTS1_NV,
-  gl_SKIP_COMPONENTS2_NV,
-  gl_SKIP_COMPONENTS3_NV,
-  gl_SKIP_COMPONENTS4_NV,
-  gl_TEXTURE_COORD_NV,
-  gl_TRANSFORM_FEEDBACK_ATTRIBS_NV,
-  gl_TRANSFORM_FEEDBACK_BUFFER_BINDING_NV,
-  gl_TRANSFORM_FEEDBACK_BUFFER_MODE_NV,
-  gl_TRANSFORM_FEEDBACK_BUFFER_NV,
-  gl_TRANSFORM_FEEDBACK_BUFFER_SIZE_NV,
-  gl_TRANSFORM_FEEDBACK_BUFFER_START_NV,
-  gl_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_NV,
-  gl_TRANSFORM_FEEDBACK_RECORD_NV,
-  gl_TRANSFORM_FEEDBACK_VARYINGS_NV,
-  gl_VERTEX_ID_NV,
-  -- * Functions
-  glActiveVaryingNV,
-  glBeginTransformFeedbackNV,
-  glBindBufferBaseNV,
-  glBindBufferOffsetNV,
-  glBindBufferRangeNV,
-  glEndTransformFeedbackNV,
-  glGetActiveVaryingNV,
-  glGetTransformFeedbackVaryingNV,
-  glGetVaryingLocationNV,
-  glTransformFeedbackAttribsNV,
-  glTransformFeedbackStreamAttribsNV,
-  glTransformFeedbackVaryingsNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/TransformFeedback2.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.TransformFeedback2 (
-  -- * Extension Support
-  glGetNVTransformFeedback2,
-  gl_NV_transform_feedback2,
-  -- * Enums
-  gl_TRANSFORM_FEEDBACK_BINDING_NV,
-  gl_TRANSFORM_FEEDBACK_BUFFER_ACTIVE_NV,
-  gl_TRANSFORM_FEEDBACK_BUFFER_PAUSED_NV,
-  gl_TRANSFORM_FEEDBACK_NV,
-  -- * Functions
-  glBindTransformFeedbackNV,
-  glDeleteTransformFeedbacksNV,
-  glDrawTransformFeedbackNV,
-  glGenTransformFeedbacksNV,
-  glIsTransformFeedbackNV,
-  glPauseTransformFeedbackNV,
-  glResumeTransformFeedbackNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/UniformBufferUnifiedMemory.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/UniformBufferUnifiedMemory.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/UniformBufferUnifiedMemory.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.UniformBufferUnifiedMemory
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.UniformBufferUnifiedMemory (
-  -- * Extension Support
-  glGetNVUniformBufferUnifiedMemory,
-  gl_NV_uniform_buffer_unified_memory,
-  -- * Enums
-  gl_UNIFORM_BUFFER_ADDRESS_NV,
-  gl_UNIFORM_BUFFER_LENGTH_NV,
-  gl_UNIFORM_BUFFER_UNIFIED_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VDPAUInterop.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VDPAUInterop.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VDPAUInterop.hs
+++ /dev/null
@@ -1,37 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VDPAUInterop
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VDPAUInterop (
-  -- * Extension Support
-  glGetNVVDPAUInterop,
-  gl_NV_vdpau_interop,
-  -- * Enums
-  gl_SURFACE_MAPPED_NV,
-  gl_SURFACE_REGISTERED_NV,
-  gl_SURFACE_STATE_NV,
-  gl_WRITE_DISCARD_NV,
-  -- * Functions
-  glVDPAUFiniNV,
-  glVDPAUGetSurfaceivNV,
-  glVDPAUInitNV,
-  glVDPAUIsSurfaceNV,
-  glVDPAUMapSurfacesNV,
-  glVDPAURegisterOutputSurfaceNV,
-  glVDPAURegisterVideoSurfaceNV,
-  glVDPAUSurfaceAccessNV,
-  glVDPAUUnmapSurfacesNV,
-  glVDPAUUnregisterSurfaceNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange (
-  -- * Extension Support
-  glGetNVVertexArrayRange,
-  gl_NV_vertex_array_range,
-  -- * Enums
-  gl_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV,
-  gl_VERTEX_ARRAY_RANGE_LENGTH_NV,
-  gl_VERTEX_ARRAY_RANGE_NV,
-  gl_VERTEX_ARRAY_RANGE_POINTER_NV,
-  gl_VERTEX_ARRAY_RANGE_VALID_NV,
-  -- * Functions
-  glFlushVertexArrayRangeNV,
-  glVertexArrayRangeNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange2.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange2.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexArrayRange2.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexArrayRange2 (
-  -- * Extension Support
-  glGetNVVertexArrayRange2,
-  gl_NV_vertex_array_range2,
-  -- * Enums
-  gl_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexAttribInteger64Bit.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexAttribInteger64Bit.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexAttribInteger64Bit.hs
+++ /dev/null
@@ -1,44 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexAttribInteger64Bit
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexAttribInteger64Bit (
-  -- * Extension Support
-  glGetNVVertexAttribInteger64Bit,
-  gl_NV_vertex_attrib_integer_64bit,
-  -- * Enums
-  gl_INT64_NV,
-  gl_UNSIGNED_INT64_NV,
-  -- * Functions
-  glGetVertexAttribLi64vNV,
-  glGetVertexAttribLui64vNV,
-  glVertexAttribL1i64NV,
-  glVertexAttribL1i64vNV,
-  glVertexAttribL1ui64NV,
-  glVertexAttribL1ui64vNV,
-  glVertexAttribL2i64NV,
-  glVertexAttribL2i64vNV,
-  glVertexAttribL2ui64NV,
-  glVertexAttribL2ui64vNV,
-  glVertexAttribL3i64NV,
-  glVertexAttribL3i64vNV,
-  glVertexAttribL3ui64NV,
-  glVertexAttribL3ui64vNV,
-  glVertexAttribL4i64NV,
-  glVertexAttribL4i64vNV,
-  glVertexAttribL4ui64NV,
-  glVertexAttribL4ui64vNV,
-  glVertexAttribLFormatNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexBufferUnifiedMemory.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexBufferUnifiedMemory.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexBufferUnifiedMemory.hs
+++ /dev/null
@@ -1,60 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexBufferUnifiedMemory
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexBufferUnifiedMemory (
-  -- * Extension Support
-  glGetNVVertexBufferUnifiedMemory,
-  gl_NV_vertex_buffer_unified_memory,
-  -- * Enums
-  gl_COLOR_ARRAY_ADDRESS_NV,
-  gl_COLOR_ARRAY_LENGTH_NV,
-  gl_DRAW_INDIRECT_ADDRESS_NV,
-  gl_DRAW_INDIRECT_LENGTH_NV,
-  gl_DRAW_INDIRECT_UNIFIED_NV,
-  gl_EDGE_FLAG_ARRAY_ADDRESS_NV,
-  gl_EDGE_FLAG_ARRAY_LENGTH_NV,
-  gl_ELEMENT_ARRAY_ADDRESS_NV,
-  gl_ELEMENT_ARRAY_LENGTH_NV,
-  gl_ELEMENT_ARRAY_UNIFIED_NV,
-  gl_FOG_COORD_ARRAY_ADDRESS_NV,
-  gl_FOG_COORD_ARRAY_LENGTH_NV,
-  gl_INDEX_ARRAY_ADDRESS_NV,
-  gl_INDEX_ARRAY_LENGTH_NV,
-  gl_NORMAL_ARRAY_ADDRESS_NV,
-  gl_NORMAL_ARRAY_LENGTH_NV,
-  gl_SECONDARY_COLOR_ARRAY_ADDRESS_NV,
-  gl_SECONDARY_COLOR_ARRAY_LENGTH_NV,
-  gl_TEXTURE_COORD_ARRAY_ADDRESS_NV,
-  gl_TEXTURE_COORD_ARRAY_LENGTH_NV,
-  gl_VERTEX_ARRAY_ADDRESS_NV,
-  gl_VERTEX_ARRAY_LENGTH_NV,
-  gl_VERTEX_ATTRIB_ARRAY_ADDRESS_NV,
-  gl_VERTEX_ATTRIB_ARRAY_LENGTH_NV,
-  gl_VERTEX_ATTRIB_ARRAY_UNIFIED_NV,
-  -- * Functions
-  glBufferAddressRangeNV,
-  glColorFormatNV,
-  glEdgeFlagFormatNV,
-  glFogCoordFormatNV,
-  glGetIntegerui64i_vNV,
-  glIndexFormatNV,
-  glNormalFormatNV,
-  glSecondaryColorFormatNV,
-  glTexCoordFormatNV,
-  glVertexAttribFormatNV,
-  glVertexAttribIFormatNV,
-  glVertexFormatNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram.hs
+++ /dev/null
@@ -1,170 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram (
-  -- * Extension Support
-  glGetNVVertexProgram,
-  gl_NV_vertex_program,
-  -- * Enums
-  gl_ATTRIB_ARRAY_POINTER_NV,
-  gl_ATTRIB_ARRAY_SIZE_NV,
-  gl_ATTRIB_ARRAY_STRIDE_NV,
-  gl_ATTRIB_ARRAY_TYPE_NV,
-  gl_CURRENT_ATTRIB_NV,
-  gl_CURRENT_MATRIX_NV,
-  gl_CURRENT_MATRIX_STACK_DEPTH_NV,
-  gl_IDENTITY_NV,
-  gl_INVERSE_NV,
-  gl_INVERSE_TRANSPOSE_NV,
-  gl_MAP1_VERTEX_ATTRIB0_4_NV,
-  gl_MAP1_VERTEX_ATTRIB10_4_NV,
-  gl_MAP1_VERTEX_ATTRIB11_4_NV,
-  gl_MAP1_VERTEX_ATTRIB12_4_NV,
-  gl_MAP1_VERTEX_ATTRIB13_4_NV,
-  gl_MAP1_VERTEX_ATTRIB14_4_NV,
-  gl_MAP1_VERTEX_ATTRIB15_4_NV,
-  gl_MAP1_VERTEX_ATTRIB1_4_NV,
-  gl_MAP1_VERTEX_ATTRIB2_4_NV,
-  gl_MAP1_VERTEX_ATTRIB3_4_NV,
-  gl_MAP1_VERTEX_ATTRIB4_4_NV,
-  gl_MAP1_VERTEX_ATTRIB5_4_NV,
-  gl_MAP1_VERTEX_ATTRIB6_4_NV,
-  gl_MAP1_VERTEX_ATTRIB7_4_NV,
-  gl_MAP1_VERTEX_ATTRIB8_4_NV,
-  gl_MAP1_VERTEX_ATTRIB9_4_NV,
-  gl_MAP2_VERTEX_ATTRIB0_4_NV,
-  gl_MAP2_VERTEX_ATTRIB10_4_NV,
-  gl_MAP2_VERTEX_ATTRIB11_4_NV,
-  gl_MAP2_VERTEX_ATTRIB12_4_NV,
-  gl_MAP2_VERTEX_ATTRIB13_4_NV,
-  gl_MAP2_VERTEX_ATTRIB14_4_NV,
-  gl_MAP2_VERTEX_ATTRIB15_4_NV,
-  gl_MAP2_VERTEX_ATTRIB1_4_NV,
-  gl_MAP2_VERTEX_ATTRIB2_4_NV,
-  gl_MAP2_VERTEX_ATTRIB3_4_NV,
-  gl_MAP2_VERTEX_ATTRIB4_4_NV,
-  gl_MAP2_VERTEX_ATTRIB5_4_NV,
-  gl_MAP2_VERTEX_ATTRIB6_4_NV,
-  gl_MAP2_VERTEX_ATTRIB7_4_NV,
-  gl_MAP2_VERTEX_ATTRIB8_4_NV,
-  gl_MAP2_VERTEX_ATTRIB9_4_NV,
-  gl_MATRIX0_NV,
-  gl_MATRIX1_NV,
-  gl_MATRIX2_NV,
-  gl_MATRIX3_NV,
-  gl_MATRIX4_NV,
-  gl_MATRIX5_NV,
-  gl_MATRIX6_NV,
-  gl_MATRIX7_NV,
-  gl_MAX_TRACK_MATRICES_NV,
-  gl_MAX_TRACK_MATRIX_STACK_DEPTH_NV,
-  gl_MODELVIEW_PROJECTION_NV,
-  gl_PROGRAM_ERROR_POSITION_NV,
-  gl_PROGRAM_LENGTH_NV,
-  gl_PROGRAM_PARAMETER_NV,
-  gl_PROGRAM_RESIDENT_NV,
-  gl_PROGRAM_STRING_NV,
-  gl_PROGRAM_TARGET_NV,
-  gl_TRACK_MATRIX_NV,
-  gl_TRACK_MATRIX_TRANSFORM_NV,
-  gl_TRANSPOSE_NV,
-  gl_VERTEX_ATTRIB_ARRAY0_NV,
-  gl_VERTEX_ATTRIB_ARRAY10_NV,
-  gl_VERTEX_ATTRIB_ARRAY11_NV,
-  gl_VERTEX_ATTRIB_ARRAY12_NV,
-  gl_VERTEX_ATTRIB_ARRAY13_NV,
-  gl_VERTEX_ATTRIB_ARRAY14_NV,
-  gl_VERTEX_ATTRIB_ARRAY15_NV,
-  gl_VERTEX_ATTRIB_ARRAY1_NV,
-  gl_VERTEX_ATTRIB_ARRAY2_NV,
-  gl_VERTEX_ATTRIB_ARRAY3_NV,
-  gl_VERTEX_ATTRIB_ARRAY4_NV,
-  gl_VERTEX_ATTRIB_ARRAY5_NV,
-  gl_VERTEX_ATTRIB_ARRAY6_NV,
-  gl_VERTEX_ATTRIB_ARRAY7_NV,
-  gl_VERTEX_ATTRIB_ARRAY8_NV,
-  gl_VERTEX_ATTRIB_ARRAY9_NV,
-  gl_VERTEX_PROGRAM_BINDING_NV,
-  gl_VERTEX_PROGRAM_NV,
-  gl_VERTEX_PROGRAM_POINT_SIZE_NV,
-  gl_VERTEX_PROGRAM_TWO_SIDE_NV,
-  gl_VERTEX_STATE_PROGRAM_NV,
-  -- * Functions
-  glAreProgramsResidentNV,
-  glBindProgramNV,
-  glDeleteProgramsNV,
-  glExecuteProgramNV,
-  glGenProgramsNV,
-  glGetProgramParameterdvNV,
-  glGetProgramParameterfvNV,
-  glGetProgramStringNV,
-  glGetProgramivNV,
-  glGetTrackMatrixivNV,
-  glGetVertexAttribPointervNV,
-  glGetVertexAttribdvNV,
-  glGetVertexAttribfvNV,
-  glGetVertexAttribivNV,
-  glIsProgramNV,
-  glLoadProgramNV,
-  glProgramParameter4dNV,
-  glProgramParameter4dvNV,
-  glProgramParameter4fNV,
-  glProgramParameter4fvNV,
-  glProgramParameters4dvNV,
-  glProgramParameters4fvNV,
-  glRequestResidentProgramsNV,
-  glTrackMatrixNV,
-  glVertexAttrib1dNV,
-  glVertexAttrib1dvNV,
-  glVertexAttrib1fNV,
-  glVertexAttrib1fvNV,
-  glVertexAttrib1sNV,
-  glVertexAttrib1svNV,
-  glVertexAttrib2dNV,
-  glVertexAttrib2dvNV,
-  glVertexAttrib2fNV,
-  glVertexAttrib2fvNV,
-  glVertexAttrib2sNV,
-  glVertexAttrib2svNV,
-  glVertexAttrib3dNV,
-  glVertexAttrib3dvNV,
-  glVertexAttrib3fNV,
-  glVertexAttrib3fvNV,
-  glVertexAttrib3sNV,
-  glVertexAttrib3svNV,
-  glVertexAttrib4dNV,
-  glVertexAttrib4dvNV,
-  glVertexAttrib4fNV,
-  glVertexAttrib4fvNV,
-  glVertexAttrib4sNV,
-  glVertexAttrib4svNV,
-  glVertexAttrib4ubNV,
-  glVertexAttrib4ubvNV,
-  glVertexAttribPointerNV,
-  glVertexAttribs1dvNV,
-  glVertexAttribs1fvNV,
-  glVertexAttribs1svNV,
-  glVertexAttribs2dvNV,
-  glVertexAttribs2fvNV,
-  glVertexAttribs2svNV,
-  glVertexAttribs3dvNV,
-  glVertexAttribs3fvNV,
-  glVertexAttribs3svNV,
-  glVertexAttribs4dvNV,
-  glVertexAttribs4fvNV,
-  glVertexAttribs4svNV,
-  glVertexAttribs4ubvNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram2Option.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram2Option.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram2Option.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram2Option (
-  -- * Extension Support
-  glGetNVVertexProgram2Option,
-  gl_NV_vertex_program2_option,
-  -- * Enums
-  gl_MAX_PROGRAM_CALL_DEPTH_NV,
-  gl_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram3.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram3.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram3.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram3 (
-  -- * Extension Support
-  glGetNVVertexProgram3,
-  gl_NV_vertex_program3,
-  -- * Enums
-  gl_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram4.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VertexProgram4.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VertexProgram4 (
-  -- * Extension Support
-  glGetNVVertexProgram4,
-  gl_NV_vertex_program4,
-  -- * Enums
-  gl_VERTEX_ATTRIB_ARRAY_INTEGER_NV,
-  -- * Functions
-  glGetVertexAttribIivEXT,
-  glGetVertexAttribIuivEXT,
-  glVertexAttribI1iEXT,
-  glVertexAttribI1ivEXT,
-  glVertexAttribI1uiEXT,
-  glVertexAttribI1uivEXT,
-  glVertexAttribI2iEXT,
-  glVertexAttribI2ivEXT,
-  glVertexAttribI2uiEXT,
-  glVertexAttribI2uivEXT,
-  glVertexAttribI3iEXT,
-  glVertexAttribI3ivEXT,
-  glVertexAttribI3uiEXT,
-  glVertexAttribI3uivEXT,
-  glVertexAttribI4bvEXT,
-  glVertexAttribI4iEXT,
-  glVertexAttribI4ivEXT,
-  glVertexAttribI4svEXT,
-  glVertexAttribI4ubvEXT,
-  glVertexAttribI4uiEXT,
-  glVertexAttribI4uivEXT,
-  glVertexAttribI4usvEXT,
-  glVertexAttribIPointerEXT
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NV/VideoCapture.hs b/src/Graphics/Rendering/OpenGL/Raw/NV/VideoCapture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NV/VideoCapture.hs
+++ /dev/null
@@ -1,64 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NV.VideoCapture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NV.VideoCapture (
-  -- * Extension Support
-  glGetNVVideoCapture,
-  gl_NV_video_capture,
-  -- * Enums
-  gl_FAILURE_NV,
-  gl_FIELD_LOWER_NV,
-  gl_FIELD_UPPER_NV,
-  gl_LAST_VIDEO_CAPTURE_STATUS_NV,
-  gl_NEXT_VIDEO_CAPTURE_BUFFER_STATUS_NV,
-  gl_NUM_VIDEO_CAPTURE_STREAMS_NV,
-  gl_PARTIAL_SUCCESS_NV,
-  gl_SUCCESS_NV,
-  gl_VIDEO_BUFFER_BINDING_NV,
-  gl_VIDEO_BUFFER_INTERNAL_FORMAT_NV,
-  gl_VIDEO_BUFFER_NV,
-  gl_VIDEO_BUFFER_PITCH_NV,
-  gl_VIDEO_CAPTURE_FIELD_LOWER_HEIGHT_NV,
-  gl_VIDEO_CAPTURE_FIELD_UPPER_HEIGHT_NV,
-  gl_VIDEO_CAPTURE_FRAME_HEIGHT_NV,
-  gl_VIDEO_CAPTURE_FRAME_WIDTH_NV,
-  gl_VIDEO_CAPTURE_SURFACE_ORIGIN_NV,
-  gl_VIDEO_CAPTURE_TO_422_SUPPORTED_NV,
-  gl_VIDEO_COLOR_CONVERSION_MATRIX_NV,
-  gl_VIDEO_COLOR_CONVERSION_MAX_NV,
-  gl_VIDEO_COLOR_CONVERSION_MIN_NV,
-  gl_VIDEO_COLOR_CONVERSION_OFFSET_NV,
-  gl_YCBAYCR8A_4224_NV,
-  gl_YCBYCR8_422_NV,
-  gl_Z4Y12Z4CB12Z4A12Z4Y12Z4CR12Z4A12_4224_NV,
-  gl_Z4Y12Z4CB12Z4CR12_444_NV,
-  gl_Z4Y12Z4CB12Z4Y12Z4CR12_422_NV,
-  gl_Z6Y10Z6CB10Z6A10Z6Y10Z6CR10Z6A10_4224_NV,
-  gl_Z6Y10Z6CB10Z6Y10Z6CR10_422_NV,
-  -- * Functions
-  glBeginVideoCaptureNV,
-  glBindVideoCaptureStreamBufferNV,
-  glBindVideoCaptureStreamTextureNV,
-  glEndVideoCaptureNV,
-  glGetVideoCaptureStreamdvNV,
-  glGetVideoCaptureStreamfvNV,
-  glGetVideoCaptureStreamivNV,
-  glGetVideoCaptureivNV,
-  glVideoCaptureNV,
-  glVideoCaptureStreamParameterdvNV,
-  glVideoCaptureStreamParameterfvNV,
-  glVideoCaptureStreamParameterivNV
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NVX.hs b/src/Graphics/Rendering/OpenGL/Raw/NVX.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NVX.hs
+++ /dev/null
@@ -1,21 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NVX
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing NVX extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NVX (
-  module Graphics.Rendering.OpenGL.Raw.NVX.ConditionalRender,
-  module Graphics.Rendering.OpenGL.Raw.NVX.GPUMemoryInfo
-) where
-
-import Graphics.Rendering.OpenGL.Raw.NVX.ConditionalRender
-import Graphics.Rendering.OpenGL.Raw.NVX.GPUMemoryInfo
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NVX/ConditionalRender.hs b/src/Graphics/Rendering/OpenGL/Raw/NVX/ConditionalRender.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NVX/ConditionalRender.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NVX.ConditionalRender
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NVX.ConditionalRender (
-  -- * Extension Support
-  glGetNVXConditionalRender,
-  gl_NVX_conditional_render,
-  -- * Functions
-  glBeginConditionalRenderNVX,
-  glEndConditionalRenderNVX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/NVX/GPUMemoryInfo.hs b/src/Graphics/Rendering/OpenGL/Raw/NVX/GPUMemoryInfo.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/NVX/GPUMemoryInfo.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.NVX.GPUMemoryInfo
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.NVX.GPUMemoryInfo (
-  -- * Extension Support
-  glGetNVXGPUMemoryInfo,
-  gl_NVX_gpu_memory_info,
-  -- * Enums
-  gl_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX,
-  gl_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX,
-  gl_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX,
-  gl_GPU_MEMORY_INFO_EVICTION_COUNT_NVX,
-  gl_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OES.hs b/src/Graphics/Rendering/OpenGL/Raw/OES.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OES.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OES
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing OES extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OES (
-  module Graphics.Rendering.OpenGL.Raw.OES.ByteCoordinates,
-  module Graphics.Rendering.OpenGL.Raw.OES.CompressedPalettedTexture,
-  module Graphics.Rendering.OpenGL.Raw.OES.FixedPoint,
-  module Graphics.Rendering.OpenGL.Raw.OES.QueryMatrix,
-  module Graphics.Rendering.OpenGL.Raw.OES.ReadFormat,
-  module Graphics.Rendering.OpenGL.Raw.OES.SinglePrecision
-) where
-
-import Graphics.Rendering.OpenGL.Raw.OES.ByteCoordinates
-import Graphics.Rendering.OpenGL.Raw.OES.CompressedPalettedTexture
-import Graphics.Rendering.OpenGL.Raw.OES.FixedPoint
-import Graphics.Rendering.OpenGL.Raw.OES.QueryMatrix
-import Graphics.Rendering.OpenGL.Raw.OES.ReadFormat
-import Graphics.Rendering.OpenGL.Raw.OES.SinglePrecision
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OES/ByteCoordinates.hs b/src/Graphics/Rendering/OpenGL/Raw/OES/ByteCoordinates.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OES/ByteCoordinates.hs
+++ /dev/null
@@ -1,49 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OES.ByteCoordinates
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OES.ByteCoordinates (
-  -- * Extension Support
-  glGetOESByteCoordinates,
-  gl_OES_byte_coordinates,
-  -- * Types
-  GLbyte,
-  -- * Enums
-  gl_BYTE,
-  -- * Functions
-  glMultiTexCoord1bOES,
-  glMultiTexCoord1bvOES,
-  glMultiTexCoord2bOES,
-  glMultiTexCoord2bvOES,
-  glMultiTexCoord3bOES,
-  glMultiTexCoord3bvOES,
-  glMultiTexCoord4bOES,
-  glMultiTexCoord4bvOES,
-  glTexCoord1bOES,
-  glTexCoord1bvOES,
-  glTexCoord2bOES,
-  glTexCoord2bvOES,
-  glTexCoord3bOES,
-  glTexCoord3bvOES,
-  glTexCoord4bOES,
-  glTexCoord4bvOES,
-  glVertex2bOES,
-  glVertex2bvOES,
-  glVertex3bOES,
-  glVertex3bvOES,
-  glVertex4bOES,
-  glVertex4bvOES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-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/OES/CompressedPalettedTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/OES/CompressedPalettedTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OES/CompressedPalettedTexture.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OES.CompressedPalettedTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OES.CompressedPalettedTexture (
-  -- * Extension Support
-  glGetOESCompressedPalettedTexture,
-  gl_OES_compressed_paletted_texture,
-  -- * Enums
-  gl_PALETTE4_R5_G6_B5_OES,
-  gl_PALETTE4_RGB5_A1_OES,
-  gl_PALETTE4_RGB8_OES,
-  gl_PALETTE4_RGBA4_OES,
-  gl_PALETTE4_RGBA8_OES,
-  gl_PALETTE8_R5_G6_B5_OES,
-  gl_PALETTE8_RGB5_A1_OES,
-  gl_PALETTE8_RGB8_OES,
-  gl_PALETTE8_RGBA4_OES,
-  gl_PALETTE8_RGBA8_OES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OES/FixedPoint.hs b/src/Graphics/Rendering/OpenGL/Raw/OES/FixedPoint.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OES/FixedPoint.hs
+++ /dev/null
@@ -1,127 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OES.FixedPoint
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OES.FixedPoint (
-  -- * Extension Support
-  glGetOESFixedPoint,
-  gl_OES_fixed_point,
-  -- * Enums
-  gl_FIXED_OES,
-  -- * Functions
-  glAccumxOES,
-  glAlphaFuncxOES,
-  glBitmapxOES,
-  glBlendColorxOES,
-  glClearAccumxOES,
-  glClearColorxOES,
-  glClearDepthxOES,
-  glClipPlanexOES,
-  glColor3xOES,
-  glColor3xvOES,
-  glColor4xOES,
-  glColor4xvOES,
-  glConvolutionParameterxOES,
-  glConvolutionParameterxvOES,
-  glDepthRangexOES,
-  glEvalCoord1xOES,
-  glEvalCoord1xvOES,
-  glEvalCoord2xOES,
-  glEvalCoord2xvOES,
-  glFeedbackBufferxOES,
-  glFogxOES,
-  glFogxvOES,
-  glFrustumxOES,
-  glGetClipPlanexOES,
-  glGetConvolutionParameterxvOES,
-  glGetFixedvOES,
-  glGetHistogramParameterxvOES,
-  glGetLightxOES,
-  glGetMapxvOES,
-  glGetMaterialxOES,
-  glGetPixelMapxv,
-  glGetTexEnvxvOES,
-  glGetTexGenxvOES,
-  glGetTexLevelParameterxvOES,
-  glGetTexParameterxvOES,
-  glIndexxOES,
-  glIndexxvOES,
-  glLightModelxOES,
-  glLightModelxvOES,
-  glLightxOES,
-  glLightxvOES,
-  glLineWidthxOES,
-  glLoadMatrixxOES,
-  glLoadTransposeMatrixxOES,
-  glMap1xOES,
-  glMap2xOES,
-  glMapGrid1xOES,
-  glMapGrid2xOES,
-  glMaterialxOES,
-  glMaterialxvOES,
-  glMultMatrixxOES,
-  glMultTransposeMatrixxOES,
-  glMultiTexCoord1xOES,
-  glMultiTexCoord1xvOES,
-  glMultiTexCoord2xOES,
-  glMultiTexCoord2xvOES,
-  glMultiTexCoord3xOES,
-  glMultiTexCoord3xvOES,
-  glMultiTexCoord4xOES,
-  glMultiTexCoord4xvOES,
-  glNormal3xOES,
-  glNormal3xvOES,
-  glOrthoxOES,
-  glPassThroughxOES,
-  glPixelMapx,
-  glPixelStorex,
-  glPixelTransferxOES,
-  glPixelZoomxOES,
-  glPointParameterxvOES,
-  glPointSizexOES,
-  glPolygonOffsetxOES,
-  glPrioritizeTexturesxOES,
-  glRasterPos2xOES,
-  glRasterPos2xvOES,
-  glRasterPos3xOES,
-  glRasterPos3xvOES,
-  glRasterPos4xOES,
-  glRasterPos4xvOES,
-  glRectxOES,
-  glRectxvOES,
-  glRotatexOES,
-  glScalexOES,
-  glTexCoord1xOES,
-  glTexCoord1xvOES,
-  glTexCoord2xOES,
-  glTexCoord2xvOES,
-  glTexCoord3xOES,
-  glTexCoord3xvOES,
-  glTexCoord4xOES,
-  glTexCoord4xvOES,
-  glTexEnvxOES,
-  glTexEnvxvOES,
-  glTexGenxOES,
-  glTexGenxvOES,
-  glTexParameterxOES,
-  glTexParameterxvOES,
-  glTranslatexOES,
-  glVertex2xOES,
-  glVertex2xvOES,
-  glVertex3xOES,
-  glVertex3xvOES,
-  glVertex4xOES,
-  glVertex4xvOES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OES/QueryMatrix.hs b/src/Graphics/Rendering/OpenGL/Raw/OES/QueryMatrix.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OES/QueryMatrix.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OES.QueryMatrix
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OES.QueryMatrix (
-  -- * Extension Support
-  glGetOESQueryMatrix,
-  gl_OES_query_matrix,
-  -- * Functions
-  glQueryMatrixxOES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OES/ReadFormat.hs b/src/Graphics/Rendering/OpenGL/Raw/OES/ReadFormat.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OES/ReadFormat.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OES.ReadFormat
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OES.ReadFormat (
-  -- * Extension Support
-  glGetOESReadFormat,
-  gl_OES_read_format,
-  -- * Enums
-  gl_IMPLEMENTATION_COLOR_READ_FORMAT_OES,
-  gl_IMPLEMENTATION_COLOR_READ_TYPE_OES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OES/SinglePrecision.hs b/src/Graphics/Rendering/OpenGL/Raw/OES/SinglePrecision.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OES/SinglePrecision.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OES.SinglePrecision
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OES.SinglePrecision (
-  -- * Extension Support
-  glGetOESSinglePrecision,
-  gl_OES_single_precision,
-  -- * Functions
-  glClearDepthfOES,
-  glClipPlanefOES,
-  glDepthRangefOES,
-  glFrustumfOES,
-  glGetClipPlanefOES,
-  glOrthofOES
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OML.hs b/src/Graphics/Rendering/OpenGL/Raw/OML.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OML.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OML
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing OML extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OML (
-  module Graphics.Rendering.OpenGL.Raw.OML.Interlace,
-  module Graphics.Rendering.OpenGL.Raw.OML.Resample,
-  module Graphics.Rendering.OpenGL.Raw.OML.Subsample
-) where
-
-import Graphics.Rendering.OpenGL.Raw.OML.Interlace
-import Graphics.Rendering.OpenGL.Raw.OML.Resample
-import Graphics.Rendering.OpenGL.Raw.OML.Subsample
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OML/Interlace.hs b/src/Graphics/Rendering/OpenGL/Raw/OML/Interlace.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OML/Interlace.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OML.Interlace
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OML.Interlace (
-  -- * Extension Support
-  glGetOMLInterlace,
-  gl_OML_interlace,
-  -- * Enums
-  gl_INTERLACE_OML,
-  gl_INTERLACE_READ_OML
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OML/Resample.hs b/src/Graphics/Rendering/OpenGL/Raw/OML/Resample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OML/Resample.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OML.Resample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OML.Resample (
-  -- * Extension Support
-  glGetOMLResample,
-  gl_OML_resample,
-  -- * Enums
-  gl_PACK_RESAMPLE_OML,
-  gl_RESAMPLE_AVERAGE_OML,
-  gl_RESAMPLE_DECIMATE_OML,
-  gl_RESAMPLE_REPLICATE_OML,
-  gl_RESAMPLE_ZERO_FILL_OML,
-  gl_UNPACK_RESAMPLE_OML
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OML/Subsample.hs b/src/Graphics/Rendering/OpenGL/Raw/OML/Subsample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OML/Subsample.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OML.Subsample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OML.Subsample (
-  -- * Extension Support
-  glGetOMLSubsample,
-  gl_OML_subsample,
-  -- * Enums
-  gl_FORMAT_SUBSAMPLE_244_244_OML,
-  gl_FORMAT_SUBSAMPLE_24_24_OML
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OVR.hs b/src/Graphics/Rendering/OpenGL/Raw/OVR.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OVR.hs
+++ /dev/null
@@ -1,19 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OVR
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing OVR extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OVR (
-  module Graphics.Rendering.OpenGL.Raw.OVR.Multiview
-) where
-
-import Graphics.Rendering.OpenGL.Raw.OVR.Multiview
diff --git a/src/Graphics/Rendering/OpenGL/Raw/OVR/Multiview.hs b/src/Graphics/Rendering/OpenGL/Raw/OVR/Multiview.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/OVR/Multiview.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.OVR.Multiview
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.OVR.Multiview (
-  -- * Extension Support
-  glGetOVRMultiview,
-  gl_OVR_multiview,
-  -- * Enums
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR,
-  gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR,
-  gl_MAX_VIEWS_OVR,
-  -- * Functions
-  glFramebufferTextureMultiviewOVR
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/PGI.hs b/src/Graphics/Rendering/OpenGL/Raw/PGI.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/PGI.hs
+++ /dev/null
@@ -1,21 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.PGI
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing PGI extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.PGI (
-  module Graphics.Rendering.OpenGL.Raw.PGI.MiscHints,
-  module Graphics.Rendering.OpenGL.Raw.PGI.VertexHints
-) where
-
-import Graphics.Rendering.OpenGL.Raw.PGI.MiscHints
-import Graphics.Rendering.OpenGL.Raw.PGI.VertexHints
diff --git a/src/Graphics/Rendering/OpenGL/Raw/PGI/MiscHints.hs b/src/Graphics/Rendering/OpenGL/Raw/PGI/MiscHints.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/PGI/MiscHints.hs
+++ /dev/null
@@ -1,44 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.PGI.MiscHints
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.PGI.MiscHints (
-  -- * Extension Support
-  glGetPGIMiscHints,
-  gl_PGI_misc_hints,
-  -- * Enums
-  gl_ALLOW_DRAW_FRG_HINT_PGI,
-  gl_ALLOW_DRAW_MEM_HINT_PGI,
-  gl_ALLOW_DRAW_OBJ_HINT_PGI,
-  gl_ALLOW_DRAW_WIN_HINT_PGI,
-  gl_ALWAYS_FAST_HINT_PGI,
-  gl_ALWAYS_SOFT_HINT_PGI,
-  gl_BACK_NORMALS_HINT_PGI,
-  gl_CLIP_FAR_HINT_PGI,
-  gl_CLIP_NEAR_HINT_PGI,
-  gl_CONSERVE_MEMORY_HINT_PGI,
-  gl_FULL_STIPPLE_HINT_PGI,
-  gl_NATIVE_GRAPHICS_BEGIN_HINT_PGI,
-  gl_NATIVE_GRAPHICS_END_HINT_PGI,
-  gl_NATIVE_GRAPHICS_HANDLE_PGI,
-  gl_PREFER_DOUBLEBUFFER_HINT_PGI,
-  gl_RECLAIM_MEMORY_HINT_PGI,
-  gl_STRICT_DEPTHFUNC_HINT_PGI,
-  gl_STRICT_LIGHTING_HINT_PGI,
-  gl_STRICT_SCISSOR_HINT_PGI,
-  gl_WIDE_LINE_HINT_PGI,
-  -- * Functions
-  glHintPGI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/PGI/VertexHints.hs b/src/Graphics/Rendering/OpenGL/Raw/PGI/VertexHints.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/PGI/VertexHints.hs
+++ /dev/null
@@ -1,43 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.PGI.VertexHints
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.PGI.VertexHints (
-  -- * Extension Support
-  glGetPGIVertexHints,
-  gl_PGI_vertex_hints,
-  -- * Enums
-  gl_COLOR3_BIT_PGI,
-  gl_COLOR4_BIT_PGI,
-  gl_EDGEFLAG_BIT_PGI,
-  gl_INDEX_BIT_PGI,
-  gl_MATERIAL_SIDE_HINT_PGI,
-  gl_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI,
-  gl_MAT_AMBIENT_BIT_PGI,
-  gl_MAT_COLOR_INDEXES_BIT_PGI,
-  gl_MAT_DIFFUSE_BIT_PGI,
-  gl_MAT_EMISSION_BIT_PGI,
-  gl_MAT_SHININESS_BIT_PGI,
-  gl_MAT_SPECULAR_BIT_PGI,
-  gl_MAX_VERTEX_HINT_PGI,
-  gl_NORMAL_BIT_PGI,
-  gl_TEXCOORD1_BIT_PGI,
-  gl_TEXCOORD2_BIT_PGI,
-  gl_TEXCOORD3_BIT_PGI,
-  gl_TEXCOORD4_BIT_PGI,
-  gl_VERTEX23_BIT_PGI,
-  gl_VERTEX4_BIT_PGI,
-  gl_VERTEX_CONSISTENT_HINT_PGI,
-  gl_VERTEX_DATA_HINT_PGI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/REND.hs b/src/Graphics/Rendering/OpenGL/Raw/REND.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/REND.hs
+++ /dev/null
@@ -1,19 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.REND
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing REND extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.REND (
-  module Graphics.Rendering.OpenGL.Raw.REND.ScreenCoordinates
-) where
-
-import Graphics.Rendering.OpenGL.Raw.REND.ScreenCoordinates
diff --git a/src/Graphics/Rendering/OpenGL/Raw/REND/ScreenCoordinates.hs b/src/Graphics/Rendering/OpenGL/Raw/REND/ScreenCoordinates.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/REND/ScreenCoordinates.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.REND.ScreenCoordinates
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.REND.ScreenCoordinates (
-  -- * Extension Support
-  glGetRENDScreenCoordinates,
-  gl_REND_screen_coordinates,
-  -- * Enums
-  gl_INVERTED_SCREEN_W_REND,
-  gl_SCREEN_COORDINATES_REND
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/S3.hs b/src/Graphics/Rendering/OpenGL/Raw/S3.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/S3.hs
+++ /dev/null
@@ -1,19 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.S3
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing S3 extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.S3 (
-  module Graphics.Rendering.OpenGL.Raw.S3.S3TC
-) where
-
-import Graphics.Rendering.OpenGL.Raw.S3.S3TC
diff --git a/src/Graphics/Rendering/OpenGL/Raw/S3/S3TC.hs b/src/Graphics/Rendering/OpenGL/Raw/S3/S3TC.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/S3/S3TC.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.S3.S3TC
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.S3.S3TC (
-  -- * Extension Support
-  glGetS3S3TC,
-  gl_S3_s3tc,
-  -- * Enums
-  gl_RGB4_S3TC,
-  gl_RGBA4_DXT5_S3TC,
-  gl_RGBA4_S3TC,
-  gl_RGBA_DXT5_S3TC,
-  gl_RGBA_S3TC,
-  gl_RGB_S3TC
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGI.hs b/src/Graphics/Rendering/OpenGL/Raw/SGI.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGI.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGI
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing SGI extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGI (
-  module Graphics.Rendering.OpenGL.Raw.SGI.ColorMatrix,
-  module Graphics.Rendering.OpenGL.Raw.SGI.ColorTable,
-  module Graphics.Rendering.OpenGL.Raw.SGI.TextureColorTable
-) where
-
-import Graphics.Rendering.OpenGL.Raw.SGI.ColorMatrix
-import Graphics.Rendering.OpenGL.Raw.SGI.ColorTable
-import Graphics.Rendering.OpenGL.Raw.SGI.TextureColorTable
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGI/ColorMatrix.hs b/src/Graphics/Rendering/OpenGL/Raw/SGI/ColorMatrix.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGI/ColorMatrix.hs
+++ /dev/null
@@ -1,32 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGI.ColorMatrix
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGI.ColorMatrix (
-  -- * Extension Support
-  glGetSGIColorMatrix,
-  gl_SGI_color_matrix,
-  -- * Enums
-  gl_COLOR_MATRIX_SGI,
-  gl_COLOR_MATRIX_STACK_DEPTH_SGI,
-  gl_MAX_COLOR_MATRIX_STACK_DEPTH_SGI,
-  gl_POST_COLOR_MATRIX_ALPHA_BIAS_SGI,
-  gl_POST_COLOR_MATRIX_ALPHA_SCALE_SGI,
-  gl_POST_COLOR_MATRIX_BLUE_BIAS_SGI,
-  gl_POST_COLOR_MATRIX_BLUE_SCALE_SGI,
-  gl_POST_COLOR_MATRIX_GREEN_BIAS_SGI,
-  gl_POST_COLOR_MATRIX_GREEN_SCALE_SGI,
-  gl_POST_COLOR_MATRIX_RED_BIAS_SGI,
-  gl_POST_COLOR_MATRIX_RED_SCALE_SGI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGI/ColorTable.hs b/src/Graphics/Rendering/OpenGL/Raw/SGI/ColorTable.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGI/ColorTable.hs
+++ /dev/null
@@ -1,46 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGI.ColorTable
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGI.ColorTable (
-  -- * Extension Support
-  glGetSGIColorTable,
-  gl_SGI_color_table,
-  -- * Enums
-  gl_COLOR_TABLE_ALPHA_SIZE_SGI,
-  gl_COLOR_TABLE_BIAS_SGI,
-  gl_COLOR_TABLE_BLUE_SIZE_SGI,
-  gl_COLOR_TABLE_FORMAT_SGI,
-  gl_COLOR_TABLE_GREEN_SIZE_SGI,
-  gl_COLOR_TABLE_INTENSITY_SIZE_SGI,
-  gl_COLOR_TABLE_LUMINANCE_SIZE_SGI,
-  gl_COLOR_TABLE_RED_SIZE_SGI,
-  gl_COLOR_TABLE_SCALE_SGI,
-  gl_COLOR_TABLE_SGI,
-  gl_COLOR_TABLE_WIDTH_SGI,
-  gl_POST_COLOR_MATRIX_COLOR_TABLE_SGI,
-  gl_POST_CONVOLUTION_COLOR_TABLE_SGI,
-  gl_PROXY_COLOR_TABLE_SGI,
-  gl_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI,
-  gl_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI,
-  -- * Functions
-  glColorTableParameterfvSGI,
-  glColorTableParameterivSGI,
-  glColorTableSGI,
-  glCopyColorTableSGI,
-  glGetColorTableParameterfvSGI,
-  glGetColorTableParameterivSGI,
-  glGetColorTableSGI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGI/TextureColorTable.hs b/src/Graphics/Rendering/OpenGL/Raw/SGI/TextureColorTable.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGI/TextureColorTable.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGI.TextureColorTable
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGI.TextureColorTable (
-  -- * Extension Support
-  glGetSGITextureColorTable,
-  gl_SGI_texture_color_table,
-  -- * Enums
-  gl_PROXY_TEXTURE_COLOR_TABLE_SGI,
-  gl_TEXTURE_COLOR_TABLE_SGI
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing SGIS extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS (
-  module Graphics.Rendering.OpenGL.Raw.SGIS.DetailTexture,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.FogFunction,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.GenerateMipmap,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.Multisample,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.PixelTexture,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.PointLineTexgen,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.PointParameters,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.SharpenTexture,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.Texture4D,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.TextureBorderClamp,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.TextureColorMask,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.TextureEdgeClamp,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.TextureFilter4,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.TextureLOD,
-  module Graphics.Rendering.OpenGL.Raw.SGIS.TextureSelect
-) where
-
-import Graphics.Rendering.OpenGL.Raw.SGIS.DetailTexture
-import Graphics.Rendering.OpenGL.Raw.SGIS.FogFunction
-import Graphics.Rendering.OpenGL.Raw.SGIS.GenerateMipmap
-import Graphics.Rendering.OpenGL.Raw.SGIS.Multisample
-import Graphics.Rendering.OpenGL.Raw.SGIS.PixelTexture
-import Graphics.Rendering.OpenGL.Raw.SGIS.PointLineTexgen
-import Graphics.Rendering.OpenGL.Raw.SGIS.PointParameters
-import Graphics.Rendering.OpenGL.Raw.SGIS.SharpenTexture
-import Graphics.Rendering.OpenGL.Raw.SGIS.Texture4D
-import Graphics.Rendering.OpenGL.Raw.SGIS.TextureBorderClamp
-import Graphics.Rendering.OpenGL.Raw.SGIS.TextureColorMask
-import Graphics.Rendering.OpenGL.Raw.SGIS.TextureEdgeClamp
-import Graphics.Rendering.OpenGL.Raw.SGIS.TextureFilter4
-import Graphics.Rendering.OpenGL.Raw.SGIS.TextureLOD
-import Graphics.Rendering.OpenGL.Raw.SGIS.TextureSelect
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/DetailTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/DetailTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/DetailTexture.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.DetailTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.DetailTexture (
-  -- * Extension Support
-  glGetSGISDetailTexture,
-  gl_SGIS_detail_texture,
-  -- * Enums
-  gl_DETAIL_TEXTURE_2D_BINDING_SGIS,
-  gl_DETAIL_TEXTURE_2D_SGIS,
-  gl_DETAIL_TEXTURE_FUNC_POINTS_SGIS,
-  gl_DETAIL_TEXTURE_LEVEL_SGIS,
-  gl_DETAIL_TEXTURE_MODE_SGIS,
-  gl_LINEAR_DETAIL_ALPHA_SGIS,
-  gl_LINEAR_DETAIL_COLOR_SGIS,
-  gl_LINEAR_DETAIL_SGIS,
-  -- * Functions
-  glDetailTexFuncSGIS,
-  glGetDetailTexFuncSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/FogFunction.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/FogFunction.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/FogFunction.hs
+++ /dev/null
@@ -1,28 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.FogFunction
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.FogFunction (
-  -- * Extension Support
-  glGetSGISFogFunction,
-  gl_SGIS_fog_function,
-  -- * Enums
-  gl_FOG_FUNC_POINTS_SGIS,
-  gl_FOG_FUNC_SGIS,
-  gl_MAX_FOG_FUNC_POINTS_SGIS,
-  -- * Functions
-  glFogFuncSGIS,
-  glGetFogFuncSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/GenerateMipmap.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/GenerateMipmap.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/GenerateMipmap.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.GenerateMipmap
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.GenerateMipmap (
-  -- * Extension Support
-  glGetSGISGenerateMipmap,
-  gl_SGIS_generate_mipmap,
-  -- * Enums
-  gl_GENERATE_MIPMAP_HINT_SGIS,
-  gl_GENERATE_MIPMAP_SGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/Multisample.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/Multisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/Multisample.hs
+++ /dev/null
@@ -1,41 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.Multisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.Multisample (
-  -- * Extension Support
-  glGetSGISMultisample,
-  gl_SGIS_multisample,
-  -- * Enums
-  gl_1PASS_SGIS,
-  gl_2PASS_0_SGIS,
-  gl_2PASS_1_SGIS,
-  gl_4PASS_0_SGIS,
-  gl_4PASS_1_SGIS,
-  gl_4PASS_2_SGIS,
-  gl_4PASS_3_SGIS,
-  gl_MULTISAMPLE_SGIS,
-  gl_SAMPLES_SGIS,
-  gl_SAMPLE_ALPHA_TO_MASK_SGIS,
-  gl_SAMPLE_ALPHA_TO_ONE_SGIS,
-  gl_SAMPLE_BUFFERS_SGIS,
-  gl_SAMPLE_MASK_INVERT_SGIS,
-  gl_SAMPLE_MASK_SGIS,
-  gl_SAMPLE_MASK_VALUE_SGIS,
-  gl_SAMPLE_PATTERN_SGIS,
-  -- * Functions
-  glSampleMaskSGIS,
-  glSamplePatternSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/PixelTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/PixelTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/PixelTexture.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.PixelTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.PixelTexture (
-  -- * Extension Support
-  glGetSGISPixelTexture,
-  gl_SGIS_pixel_texture,
-  -- * Enums
-  gl_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS,
-  gl_PIXEL_FRAGMENT_RGB_SOURCE_SGIS,
-  gl_PIXEL_GROUP_COLOR_SGIS,
-  gl_PIXEL_TEXTURE_SGIS,
-  -- * Functions
-  glGetPixelTexGenParameterfvSGIS,
-  glGetPixelTexGenParameterivSGIS,
-  glPixelTexGenParameterfSGIS,
-  glPixelTexGenParameterfvSGIS,
-  glPixelTexGenParameteriSGIS,
-  glPixelTexGenParameterivSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/PointLineTexgen.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/PointLineTexgen.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/PointLineTexgen.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.PointLineTexgen
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.PointLineTexgen (
-  -- * Extension Support
-  glGetSGISPointLineTexgen,
-  gl_SGIS_point_line_texgen,
-  -- * Enums
-  gl_EYE_DISTANCE_TO_LINE_SGIS,
-  gl_EYE_DISTANCE_TO_POINT_SGIS,
-  gl_EYE_LINE_SGIS,
-  gl_EYE_POINT_SGIS,
-  gl_OBJECT_DISTANCE_TO_LINE_SGIS,
-  gl_OBJECT_DISTANCE_TO_POINT_SGIS,
-  gl_OBJECT_LINE_SGIS,
-  gl_OBJECT_POINT_SGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/PointParameters.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/PointParameters.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/PointParameters.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.PointParameters
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.PointParameters (
-  -- * Extension Support
-  glGetSGISPointParameters,
-  gl_SGIS_point_parameters,
-  -- * Enums
-  gl_DISTANCE_ATTENUATION_SGIS,
-  gl_POINT_FADE_THRESHOLD_SIZE_SGIS,
-  gl_POINT_SIZE_MAX_SGIS,
-  gl_POINT_SIZE_MIN_SGIS,
-  -- * Functions
-  glPointParameterfSGIS,
-  glPointParameterfvSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/SharpenTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/SharpenTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/SharpenTexture.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.SharpenTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.SharpenTexture (
-  -- * Extension Support
-  glGetSGISSharpenTexture,
-  gl_SGIS_sharpen_texture,
-  -- * Enums
-  gl_LINEAR_SHARPEN_ALPHA_SGIS,
-  gl_LINEAR_SHARPEN_COLOR_SGIS,
-  gl_LINEAR_SHARPEN_SGIS,
-  gl_SHARPEN_TEXTURE_FUNC_POINTS_SGIS,
-  -- * Functions
-  glGetSharpenTexFuncSGIS,
-  glSharpenTexFuncSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/Texture4D.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/Texture4D.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/Texture4D.hs
+++ /dev/null
@@ -1,35 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.Texture4D
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.Texture4D (
-  -- * Extension Support
-  glGetSGISTexture4D,
-  gl_SGIS_texture4D,
-  -- * Enums
-  gl_MAX_4D_TEXTURE_SIZE_SGIS,
-  gl_PACK_IMAGE_DEPTH_SGIS,
-  gl_PACK_SKIP_VOLUMES_SGIS,
-  gl_PROXY_TEXTURE_4D_SGIS,
-  gl_TEXTURE_4DSIZE_SGIS,
-  gl_TEXTURE_4D_BINDING_SGIS,
-  gl_TEXTURE_4D_SGIS,
-  gl_TEXTURE_WRAP_Q_SGIS,
-  gl_UNPACK_IMAGE_DEPTH_SGIS,
-  gl_UNPACK_SKIP_VOLUMES_SGIS,
-  -- * Functions
-  glTexImage4DSGIS,
-  glTexSubImage4DSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureBorderClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureBorderClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureBorderClamp.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.TextureBorderClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.TextureBorderClamp (
-  -- * Extension Support
-  glGetSGISTextureBorderClamp,
-  gl_SGIS_texture_border_clamp,
-  -- * Enums
-  gl_CLAMP_TO_BORDER_SGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureColorMask.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureColorMask.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureColorMask.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.TextureColorMask
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.TextureColorMask (
-  -- * Extension Support
-  glGetSGISTextureColorMask,
-  gl_SGIS_texture_color_mask,
-  -- * Enums
-  gl_TEXTURE_COLOR_WRITEMASK_SGIS,
-  -- * Functions
-  glTextureColorMaskSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureEdgeClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureEdgeClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureEdgeClamp.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.TextureEdgeClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.TextureEdgeClamp (
-  -- * Extension Support
-  glGetSGISTextureEdgeClamp,
-  gl_SGIS_texture_edge_clamp,
-  -- * Enums
-  gl_CLAMP_TO_EDGE_SGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureFilter4.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureFilter4.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureFilter4.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.TextureFilter4
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.TextureFilter4 (
-  -- * Extension Support
-  glGetSGISTextureFilter4,
-  gl_SGIS_texture_filter4,
-  -- * Enums
-  gl_FILTER4_SGIS,
-  gl_TEXTURE_FILTER4_SIZE_SGIS,
-  -- * Functions
-  glGetTexFilterFuncSGIS,
-  glTexFilterFuncSGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureLOD.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureLOD.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureLOD.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.TextureLOD
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.TextureLOD (
-  -- * Extension Support
-  glGetSGISTextureLOD,
-  gl_SGIS_texture_lod,
-  -- * Enums
-  gl_TEXTURE_BASE_LEVEL_SGIS,
-  gl_TEXTURE_MAX_LEVEL_SGIS,
-  gl_TEXTURE_MAX_LOD_SGIS,
-  gl_TEXTURE_MIN_LOD_SGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureSelect.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureSelect.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIS/TextureSelect.hs
+++ /dev/null
@@ -1,43 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIS.TextureSelect
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIS.TextureSelect (
-  -- * Extension Support
-  glGetSGISTextureSelect,
-  gl_SGIS_texture_select,
-  -- * Enums
-  gl_DUAL_ALPHA12_SGIS,
-  gl_DUAL_ALPHA16_SGIS,
-  gl_DUAL_ALPHA4_SGIS,
-  gl_DUAL_ALPHA8_SGIS,
-  gl_DUAL_INTENSITY12_SGIS,
-  gl_DUAL_INTENSITY16_SGIS,
-  gl_DUAL_INTENSITY4_SGIS,
-  gl_DUAL_INTENSITY8_SGIS,
-  gl_DUAL_LUMINANCE12_SGIS,
-  gl_DUAL_LUMINANCE16_SGIS,
-  gl_DUAL_LUMINANCE4_SGIS,
-  gl_DUAL_LUMINANCE8_SGIS,
-  gl_DUAL_LUMINANCE_ALPHA4_SGIS,
-  gl_DUAL_LUMINANCE_ALPHA8_SGIS,
-  gl_DUAL_TEXTURE_SELECT_SGIS,
-  gl_QUAD_ALPHA4_SGIS,
-  gl_QUAD_ALPHA8_SGIS,
-  gl_QUAD_INTENSITY4_SGIS,
-  gl_QUAD_INTENSITY8_SGIS,
-  gl_QUAD_LUMINANCE4_SGIS,
-  gl_QUAD_LUMINANCE8_SGIS,
-  gl_QUAD_TEXTURE_SELECT_SGIS
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX.hs
+++ /dev/null
@@ -1,89 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing SGIX extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX (
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Async,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.AsyncHistogram,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.AsyncPixel,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.BlendAlphaMinmax,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.CalligraphicFragment,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Clipmap,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.ConvolutionAccuracy,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.DepthTexture,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.FlushRaster,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.FogOffset,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.FragmentLighting,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Framezoom,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.IglooInterface,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Instruments,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Interlace,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.IrInstrument1,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.ListPriority,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.PixelTexture,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.PixelTiles,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.PolynomialFFD,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.ReferencePlane,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Resample,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.ScalebiasHint,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Shadow,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.ShadowAmbient,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Sprite,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.Subsample,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.TagSampleBuffer,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.TextureAddEnv,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.TextureCoordinateClamp,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.TextureLODBias,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.TextureMultiBuffer,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.TextureScaleBias,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.VertexPreclip,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.YCrCb,
-  module Graphics.Rendering.OpenGL.Raw.SGIX.YCrCbA
-) where
-
-import Graphics.Rendering.OpenGL.Raw.SGIX.Async
-import Graphics.Rendering.OpenGL.Raw.SGIX.AsyncHistogram
-import Graphics.Rendering.OpenGL.Raw.SGIX.AsyncPixel
-import Graphics.Rendering.OpenGL.Raw.SGIX.BlendAlphaMinmax
-import Graphics.Rendering.OpenGL.Raw.SGIX.CalligraphicFragment
-import Graphics.Rendering.OpenGL.Raw.SGIX.Clipmap
-import Graphics.Rendering.OpenGL.Raw.SGIX.ConvolutionAccuracy
-import Graphics.Rendering.OpenGL.Raw.SGIX.DepthTexture
-import Graphics.Rendering.OpenGL.Raw.SGIX.FlushRaster
-import Graphics.Rendering.OpenGL.Raw.SGIX.FogOffset
-import Graphics.Rendering.OpenGL.Raw.SGIX.FragmentLighting
-import Graphics.Rendering.OpenGL.Raw.SGIX.Framezoom
-import Graphics.Rendering.OpenGL.Raw.SGIX.IglooInterface
-import Graphics.Rendering.OpenGL.Raw.SGIX.Instruments
-import Graphics.Rendering.OpenGL.Raw.SGIX.Interlace
-import Graphics.Rendering.OpenGL.Raw.SGIX.IrInstrument1
-import Graphics.Rendering.OpenGL.Raw.SGIX.ListPriority
-import Graphics.Rendering.OpenGL.Raw.SGIX.PixelTexture
-import Graphics.Rendering.OpenGL.Raw.SGIX.PixelTiles
-import Graphics.Rendering.OpenGL.Raw.SGIX.PolynomialFFD
-import Graphics.Rendering.OpenGL.Raw.SGIX.ReferencePlane
-import Graphics.Rendering.OpenGL.Raw.SGIX.Resample
-import Graphics.Rendering.OpenGL.Raw.SGIX.ScalebiasHint
-import Graphics.Rendering.OpenGL.Raw.SGIX.Shadow
-import Graphics.Rendering.OpenGL.Raw.SGIX.ShadowAmbient
-import Graphics.Rendering.OpenGL.Raw.SGIX.Sprite
-import Graphics.Rendering.OpenGL.Raw.SGIX.Subsample
-import Graphics.Rendering.OpenGL.Raw.SGIX.TagSampleBuffer
-import Graphics.Rendering.OpenGL.Raw.SGIX.TextureAddEnv
-import Graphics.Rendering.OpenGL.Raw.SGIX.TextureCoordinateClamp
-import Graphics.Rendering.OpenGL.Raw.SGIX.TextureLODBias
-import Graphics.Rendering.OpenGL.Raw.SGIX.TextureMultiBuffer
-import Graphics.Rendering.OpenGL.Raw.SGIX.TextureScaleBias
-import Graphics.Rendering.OpenGL.Raw.SGIX.VertexPreclip
-import Graphics.Rendering.OpenGL.Raw.SGIX.YCrCb
-import Graphics.Rendering.OpenGL.Raw.SGIX.YCrCbA
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Async.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Async.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Async.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Async
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Async (
-  -- * Extension Support
-  glGetSGIXAsync,
-  gl_SGIX_async,
-  -- * Enums
-  gl_ASYNC_MARKER_SGIX,
-  -- * Functions
-  glAsyncMarkerSGIX,
-  glDeleteAsyncMarkersSGIX,
-  glFinishAsyncSGIX,
-  glGenAsyncMarkersSGIX,
-  glIsAsyncMarkerSGIX,
-  glPollAsyncSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/AsyncHistogram.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/AsyncHistogram.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/AsyncHistogram.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.AsyncHistogram
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.AsyncHistogram (
-  -- * Extension Support
-  glGetSGIXAsyncHistogram,
-  gl_SGIX_async_histogram,
-  -- * Enums
-  gl_ASYNC_HISTOGRAM_SGIX,
-  gl_MAX_ASYNC_HISTOGRAM_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/AsyncPixel.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/AsyncPixel.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/AsyncPixel.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.AsyncPixel
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.AsyncPixel (
-  -- * Extension Support
-  glGetSGIXAsyncPixel,
-  gl_SGIX_async_pixel,
-  -- * Enums
-  gl_ASYNC_DRAW_PIXELS_SGIX,
-  gl_ASYNC_READ_PIXELS_SGIX,
-  gl_ASYNC_TEX_IMAGE_SGIX,
-  gl_MAX_ASYNC_DRAW_PIXELS_SGIX,
-  gl_MAX_ASYNC_READ_PIXELS_SGIX,
-  gl_MAX_ASYNC_TEX_IMAGE_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/BlendAlphaMinmax.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/BlendAlphaMinmax.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/BlendAlphaMinmax.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.BlendAlphaMinmax
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.BlendAlphaMinmax (
-  -- * Extension Support
-  glGetSGIXBlendAlphaMinmax,
-  gl_SGIX_blend_alpha_minmax,
-  -- * Enums
-  gl_ALPHA_MAX_SGIX,
-  gl_ALPHA_MIN_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/CalligraphicFragment.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/CalligraphicFragment.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/CalligraphicFragment.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.CalligraphicFragment
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.CalligraphicFragment (
-  -- * Extension Support
-  glGetSGIXCalligraphicFragment,
-  gl_SGIX_calligraphic_fragment,
-  -- * Enums
-  gl_CALLIGRAPHIC_FRAGMENT_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Clipmap.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Clipmap.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Clipmap.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Clipmap
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Clipmap (
-  -- * Extension Support
-  glGetSGIXClipmap,
-  gl_SGIX_clipmap,
-  -- * Enums
-  gl_LINEAR_CLIPMAP_LINEAR_SGIX,
-  gl_LINEAR_CLIPMAP_NEAREST_SGIX,
-  gl_MAX_CLIPMAP_DEPTH_SGIX,
-  gl_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX,
-  gl_NEAREST_CLIPMAP_LINEAR_SGIX,
-  gl_NEAREST_CLIPMAP_NEAREST_SGIX,
-  gl_TEXTURE_CLIPMAP_CENTER_SGIX,
-  gl_TEXTURE_CLIPMAP_DEPTH_SGIX,
-  gl_TEXTURE_CLIPMAP_FRAME_SGIX,
-  gl_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX,
-  gl_TEXTURE_CLIPMAP_OFFSET_SGIX,
-  gl_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ConvolutionAccuracy.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/ConvolutionAccuracy.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ConvolutionAccuracy.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.ConvolutionAccuracy
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.ConvolutionAccuracy (
-  -- * Extension Support
-  glGetSGIXConvolutionAccuracy,
-  gl_SGIX_convolution_accuracy,
-  -- * Enums
-  gl_CONVOLUTION_HINT_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/DepthTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/DepthTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/DepthTexture.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.DepthTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.DepthTexture (
-  -- * Extension Support
-  glGetSGIXDepthTexture,
-  gl_SGIX_depth_texture,
-  -- * Enums
-  gl_DEPTH_COMPONENT16_SGIX,
-  gl_DEPTH_COMPONENT24_SGIX,
-  gl_DEPTH_COMPONENT32_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/FlushRaster.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/FlushRaster.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/FlushRaster.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.FlushRaster
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.FlushRaster (
-  -- * Extension Support
-  glGetSGIXFlushRaster,
-  gl_SGIX_flush_raster,
-  -- * Functions
-  glFlushRasterSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/FogOffset.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/FogOffset.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/FogOffset.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.FogOffset
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.FogOffset (
-  -- * Extension Support
-  glGetSGIXFogOffset,
-  gl_SGIX_fog_offset,
-  -- * Enums
-  gl_FOG_OFFSET_SGIX,
-  gl_FOG_OFFSET_VALUE_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/FragmentLighting.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/FragmentLighting.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/FragmentLighting.hs
+++ /dev/null
@@ -1,61 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.FragmentLighting
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.FragmentLighting (
-  -- * Extension Support
-  glGetSGIXFragmentLighting,
-  gl_SGIX_fragment_lighting,
-  -- * Enums
-  gl_CURRENT_RASTER_NORMAL_SGIX,
-  gl_FRAGMENT_COLOR_MATERIAL_FACE_SGIX,
-  gl_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX,
-  gl_FRAGMENT_COLOR_MATERIAL_SGIX,
-  gl_FRAGMENT_LIGHT0_SGIX,
-  gl_FRAGMENT_LIGHT1_SGIX,
-  gl_FRAGMENT_LIGHT2_SGIX,
-  gl_FRAGMENT_LIGHT3_SGIX,
-  gl_FRAGMENT_LIGHT4_SGIX,
-  gl_FRAGMENT_LIGHT5_SGIX,
-  gl_FRAGMENT_LIGHT6_SGIX,
-  gl_FRAGMENT_LIGHT7_SGIX,
-  gl_FRAGMENT_LIGHTING_SGIX,
-  gl_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX,
-  gl_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX,
-  gl_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX,
-  gl_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX,
-  gl_LIGHT_ENV_MODE_SGIX,
-  gl_MAX_ACTIVE_LIGHTS_SGIX,
-  gl_MAX_FRAGMENT_LIGHTS_SGIX,
-  -- * Functions
-  glFragmentColorMaterialSGIX,
-  glFragmentLightModelfSGIX,
-  glFragmentLightModelfvSGIX,
-  glFragmentLightModeliSGIX,
-  glFragmentLightModelivSGIX,
-  glFragmentLightfSGIX,
-  glFragmentLightfvSGIX,
-  glFragmentLightiSGIX,
-  glFragmentLightivSGIX,
-  glFragmentMaterialfSGIX,
-  glFragmentMaterialfvSGIX,
-  glFragmentMaterialiSGIX,
-  glFragmentMaterialivSGIX,
-  glGetFragmentLightfvSGIX,
-  glGetFragmentLightivSGIX,
-  glGetFragmentMaterialfvSGIX,
-  glGetFragmentMaterialivSGIX,
-  glLightEnviSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Framezoom.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Framezoom.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Framezoom.hs
+++ /dev/null
@@ -1,27 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Framezoom
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Framezoom (
-  -- * Extension Support
-  glGetSGIXFramezoom,
-  gl_SGIX_framezoom,
-  -- * Enums
-  gl_FRAMEZOOM_FACTOR_SGIX,
-  gl_FRAMEZOOM_SGIX,
-  gl_MAX_FRAMEZOOM_FACTOR_SGIX,
-  -- * Functions
-  glFrameZoomSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/IglooInterface.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/IglooInterface.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/IglooInterface.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.IglooInterface
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.IglooInterface (
-  -- * Extension Support
-  glGetSGIXIglooInterface,
-  gl_SGIX_igloo_interface,
-  -- * Functions
-  glIglooInterfaceSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Instruments.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Instruments.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Instruments.hs
+++ /dev/null
@@ -1,31 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Instruments
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Instruments (
-  -- * Extension Support
-  glGetSGIXInstruments,
-  gl_SGIX_instruments,
-  -- * Enums
-  gl_INSTRUMENT_BUFFER_POINTER_SGIX,
-  gl_INSTRUMENT_MEASUREMENTS_SGIX,
-  -- * Functions
-  glGetInstrumentsSGIX,
-  glInstrumentsBufferSGIX,
-  glPollInstrumentsSGIX,
-  glReadInstrumentsSGIX,
-  glStartInstrumentsSGIX,
-  glStopInstrumentsSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Interlace.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Interlace.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Interlace.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Interlace
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Interlace (
-  -- * Extension Support
-  glGetSGIXInterlace,
-  gl_SGIX_interlace,
-  -- * Enums
-  gl_INTERLACE_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/IrInstrument1.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/IrInstrument1.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/IrInstrument1.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.IrInstrument1
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.IrInstrument1 (
-  -- * Extension Support
-  glGetSGIXIrInstrument1,
-  gl_SGIX_ir_instrument1,
-  -- * Enums
-  gl_IR_INSTRUMENT1_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ListPriority.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/ListPriority.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ListPriority.hs
+++ /dev/null
@@ -1,30 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.ListPriority
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.ListPriority (
-  -- * Extension Support
-  glGetSGIXListPriority,
-  gl_SGIX_list_priority,
-  -- * Enums
-  gl_LIST_PRIORITY_SGIX,
-  -- * Functions
-  glGetListParameterfvSGIX,
-  glGetListParameterivSGIX,
-  glListParameterfSGIX,
-  glListParameterfvSGIX,
-  glListParameteriSGIX,
-  glListParameterivSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/PixelTexture.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/PixelTexture.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/PixelTexture.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.PixelTexture
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.PixelTexture (
-  -- * Extension Support
-  glGetSGIXPixelTexture,
-  gl_SGIX_pixel_texture,
-  -- * Enums
-  gl_PIXEL_TEX_GEN_MODE_SGIX,
-  gl_PIXEL_TEX_GEN_SGIX,
-  -- * Functions
-  glPixelTexGenSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/PixelTiles.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/PixelTiles.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/PixelTiles.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.PixelTiles
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.PixelTiles (
-  -- * Extension Support
-  glGetSGIXPixelTiles,
-  gl_SGIX_pixel_tiles,
-  -- * Enums
-  gl_PIXEL_TILE_BEST_ALIGNMENT_SGIX,
-  gl_PIXEL_TILE_CACHE_INCREMENT_SGIX,
-  gl_PIXEL_TILE_CACHE_SIZE_SGIX,
-  gl_PIXEL_TILE_GRID_DEPTH_SGIX,
-  gl_PIXEL_TILE_GRID_HEIGHT_SGIX,
-  gl_PIXEL_TILE_GRID_WIDTH_SGIX,
-  gl_PIXEL_TILE_HEIGHT_SGIX,
-  gl_PIXEL_TILE_WIDTH_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/PolynomialFFD.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/PolynomialFFD.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/PolynomialFFD.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.PolynomialFFD
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.PolynomialFFD (
-  -- * Extension Support
-  glGetSGIXPolynomialFFD,
-  gl_SGIX_polynomial_ffd,
-  -- * Enums
-  gl_DEFORMATIONS_MASK_SGIX,
-  gl_GEOMETRY_DEFORMATION_BIT_SGIX,
-  gl_GEOMETRY_DEFORMATION_SGIX,
-  gl_MAX_DEFORMATION_ORDER_SGIX,
-  gl_TEXTURE_DEFORMATION_BIT_SGIX,
-  gl_TEXTURE_DEFORMATION_SGIX,
-  -- * Functions
-  glDeformSGIX,
-  glDeformationMap3dSGIX,
-  glDeformationMap3fSGIX,
-  glLoadIdentityDeformationMapSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ReferencePlane.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/ReferencePlane.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ReferencePlane.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.ReferencePlane
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.ReferencePlane (
-  -- * Extension Support
-  glGetSGIXReferencePlane,
-  gl_SGIX_reference_plane,
-  -- * Enums
-  gl_REFERENCE_PLANE_EQUATION_SGIX,
-  gl_REFERENCE_PLANE_SGIX,
-  -- * Functions
-  glReferencePlaneSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Resample.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Resample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Resample.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Resample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Resample (
-  -- * Extension Support
-  glGetSGIXResample,
-  gl_SGIX_resample,
-  -- * Enums
-  gl_PACK_RESAMPLE_SGIX,
-  gl_RESAMPLE_DECIMATE_SGIX,
-  gl_RESAMPLE_REPLICATE_SGIX,
-  gl_RESAMPLE_ZERO_FILL_SGIX,
-  gl_UNPACK_RESAMPLE_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ScalebiasHint.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/ScalebiasHint.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ScalebiasHint.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.ScalebiasHint
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.ScalebiasHint (
-  -- * Extension Support
-  glGetSGIXScalebiasHint,
-  gl_SGIX_scalebias_hint,
-  -- * Enums
-  gl_SCALEBIAS_HINT_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Shadow.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Shadow.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Shadow.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Shadow
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Shadow (
-  -- * Extension Support
-  glGetSGIXShadow,
-  gl_SGIX_shadow,
-  -- * Enums
-  gl_TEXTURE_COMPARE_OPERATOR_SGIX,
-  gl_TEXTURE_COMPARE_SGIX,
-  gl_TEXTURE_GEQUAL_R_SGIX,
-  gl_TEXTURE_LEQUAL_R_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ShadowAmbient.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/ShadowAmbient.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/ShadowAmbient.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.ShadowAmbient
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.ShadowAmbient (
-  -- * Extension Support
-  glGetSGIXShadowAmbient,
-  gl_SGIX_shadow_ambient,
-  -- * Enums
-  gl_SHADOW_AMBIENT_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Sprite.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Sprite.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Sprite.hs
+++ /dev/null
@@ -1,34 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Sprite
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Sprite (
-  -- * Extension Support
-  glGetSGIXSprite,
-  gl_SGIX_sprite,
-  -- * Enums
-  gl_SPRITE_AXIAL_SGIX,
-  gl_SPRITE_AXIS_SGIX,
-  gl_SPRITE_EYE_ALIGNED_SGIX,
-  gl_SPRITE_MODE_SGIX,
-  gl_SPRITE_OBJECT_ALIGNED_SGIX,
-  gl_SPRITE_SGIX,
-  gl_SPRITE_TRANSLATION_SGIX,
-  -- * Functions
-  glSpriteParameterfSGIX,
-  glSpriteParameterfvSGIX,
-  glSpriteParameteriSGIX,
-  glSpriteParameterivSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Subsample.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/Subsample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/Subsample.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.Subsample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.Subsample (
-  -- * Extension Support
-  glGetSGIXSubsample,
-  gl_SGIX_subsample,
-  -- * Enums
-  gl_PACK_SUBSAMPLE_RATE_SGIX,
-  gl_PIXEL_SUBSAMPLE_2424_SGIX,
-  gl_PIXEL_SUBSAMPLE_4242_SGIX,
-  gl_PIXEL_SUBSAMPLE_4444_SGIX,
-  gl_UNPACK_SUBSAMPLE_RATE_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TagSampleBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/TagSampleBuffer.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TagSampleBuffer.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.TagSampleBuffer
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.TagSampleBuffer (
-  -- * Extension Support
-  glGetSGIXTagSampleBuffer,
-  gl_SGIX_tag_sample_buffer,
-  -- * Functions
-  glTagSampleBufferSGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureAddEnv.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureAddEnv.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureAddEnv.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.TextureAddEnv
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.TextureAddEnv (
-  -- * Extension Support
-  glGetSGIXTextureAddEnv,
-  gl_SGIX_texture_add_env,
-  -- * Enums
-  gl_TEXTURE_ENV_BIAS_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureCoordinateClamp.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureCoordinateClamp.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureCoordinateClamp.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.TextureCoordinateClamp
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.TextureCoordinateClamp (
-  -- * Extension Support
-  glGetSGIXTextureCoordinateClamp,
-  gl_SGIX_texture_coordinate_clamp,
-  -- * Enums
-  gl_TEXTURE_MAX_CLAMP_R_SGIX,
-  gl_TEXTURE_MAX_CLAMP_S_SGIX,
-  gl_TEXTURE_MAX_CLAMP_T_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureLODBias.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureLODBias.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureLODBias.hs
+++ /dev/null
@@ -1,24 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.TextureLODBias
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.TextureLODBias (
-  -- * Extension Support
-  glGetSGIXTextureLODBias,
-  gl_SGIX_texture_lod_bias,
-  -- * Enums
-  gl_TEXTURE_LOD_BIAS_R_SGIX,
-  gl_TEXTURE_LOD_BIAS_S_SGIX,
-  gl_TEXTURE_LOD_BIAS_T_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureMultiBuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureMultiBuffer.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureMultiBuffer.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.TextureMultiBuffer
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.TextureMultiBuffer (
-  -- * Extension Support
-  glGetSGIXTextureMultiBuffer,
-  gl_SGIX_texture_multi_buffer,
-  -- * Enums
-  gl_TEXTURE_MULTI_BUFFER_HINT_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureScaleBias.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureScaleBias.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/TextureScaleBias.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.TextureScaleBias
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.TextureScaleBias (
-  -- * Extension Support
-  glGetSGIXTextureScaleBias,
-  gl_SGIX_texture_scale_bias,
-  -- * Enums
-  gl_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX,
-  gl_POST_TEXTURE_FILTER_BIAS_SGIX,
-  gl_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX,
-  gl_POST_TEXTURE_FILTER_SCALE_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/VertexPreclip.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/VertexPreclip.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/VertexPreclip.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.VertexPreclip
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.VertexPreclip (
-  -- * Extension Support
-  glGetSGIXVertexPreclip,
-  gl_SGIX_vertex_preclip,
-  -- * Enums
-  gl_VERTEX_PRECLIP_HINT_SGIX,
-  gl_VERTEX_PRECLIP_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/YCrCb.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/YCrCb.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/YCrCb.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.YCrCb
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.YCrCb (
-  -- * Extension Support
-  glGetSGIXYCrCb,
-  gl_SGIX_ycrcb,
-  -- * Enums
-  gl_YCRCB_422_SGIX,
-  gl_YCRCB_444_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SGIX/YCrCbA.hs b/src/Graphics/Rendering/OpenGL/Raw/SGIX/YCrCbA.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SGIX/YCrCbA.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SGIX.YCrCbA
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SGIX.YCrCbA (
-  -- * Extension Support
-  glGetSGIXYCrCbA,
-  gl_SGIX_ycrcba,
-  -- * Enums
-  gl_YCRCBA_SGIX,
-  gl_YCRCB_SGIX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUN.hs b/src/Graphics/Rendering/OpenGL/Raw/SUN.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUN.hs
+++ /dev/null
@@ -1,29 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUN
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing SUN extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUN (
-  module Graphics.Rendering.OpenGL.Raw.SUN.ConvolutionBorderModes,
-  module Graphics.Rendering.OpenGL.Raw.SUN.GlobalAlpha,
-  module Graphics.Rendering.OpenGL.Raw.SUN.MeshArray,
-  module Graphics.Rendering.OpenGL.Raw.SUN.SliceAccum,
-  module Graphics.Rendering.OpenGL.Raw.SUN.TriangleList,
-  module Graphics.Rendering.OpenGL.Raw.SUN.Vertex
-) where
-
-import Graphics.Rendering.OpenGL.Raw.SUN.ConvolutionBorderModes
-import Graphics.Rendering.OpenGL.Raw.SUN.GlobalAlpha
-import Graphics.Rendering.OpenGL.Raw.SUN.MeshArray
-import Graphics.Rendering.OpenGL.Raw.SUN.SliceAccum
-import Graphics.Rendering.OpenGL.Raw.SUN.TriangleList
-import Graphics.Rendering.OpenGL.Raw.SUN.Vertex
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUN/ConvolutionBorderModes.hs b/src/Graphics/Rendering/OpenGL/Raw/SUN/ConvolutionBorderModes.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUN/ConvolutionBorderModes.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUN.ConvolutionBorderModes
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUN.ConvolutionBorderModes (
-  -- * Extension Support
-  glGetSUNConvolutionBorderModes,
-  gl_SUN_convolution_border_modes,
-  -- * Enums
-  gl_WRAP_BORDER_SUN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUN/GlobalAlpha.hs b/src/Graphics/Rendering/OpenGL/Raw/SUN/GlobalAlpha.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUN/GlobalAlpha.hs
+++ /dev/null
@@ -1,33 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUN.GlobalAlpha
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUN.GlobalAlpha (
-  -- * Extension Support
-  glGetSUNGlobalAlpha,
-  gl_SUN_global_alpha,
-  -- * Enums
-  gl_GLOBAL_ALPHA_FACTOR_SUN,
-  gl_GLOBAL_ALPHA_SUN,
-  -- * Functions
-  glGlobalAlphaFactorbSUN,
-  glGlobalAlphaFactordSUN,
-  glGlobalAlphaFactorfSUN,
-  glGlobalAlphaFactoriSUN,
-  glGlobalAlphaFactorsSUN,
-  glGlobalAlphaFactorubSUN,
-  glGlobalAlphaFactoruiSUN,
-  glGlobalAlphaFactorusSUN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUN/MeshArray.hs b/src/Graphics/Rendering/OpenGL/Raw/SUN/MeshArray.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUN/MeshArray.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUN.MeshArray
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUN.MeshArray (
-  -- * Extension Support
-  glGetSUNMeshArray,
-  gl_SUN_mesh_array,
-  -- * Enums
-  gl_QUAD_MESH_SUN,
-  gl_TRIANGLE_MESH_SUN,
-  -- * Functions
-  glDrawMeshArraysSUN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUN/SliceAccum.hs b/src/Graphics/Rendering/OpenGL/Raw/SUN/SliceAccum.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUN/SliceAccum.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUN.SliceAccum
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUN.SliceAccum (
-  -- * Extension Support
-  glGetSUNSliceAccum,
-  gl_SUN_slice_accum,
-  -- * Enums
-  gl_SLICE_ACCUM_SUN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUN/TriangleList.hs b/src/Graphics/Rendering/OpenGL/Raw/SUN/TriangleList.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUN/TriangleList.hs
+++ /dev/null
@@ -1,47 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUN.TriangleList
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUN.TriangleList (
-  -- * Extension Support
-  glGetSUNTriangleList,
-  gl_SUN_triangle_list,
-  -- * Enums
-  gl_R1UI_C3F_V3F_SUN,
-  gl_R1UI_C4F_N3F_V3F_SUN,
-  gl_R1UI_C4UB_V3F_SUN,
-  gl_R1UI_N3F_V3F_SUN,
-  gl_R1UI_T2F_C4F_N3F_V3F_SUN,
-  gl_R1UI_T2F_N3F_V3F_SUN,
-  gl_R1UI_T2F_V3F_SUN,
-  gl_R1UI_V3F_SUN,
-  gl_REPLACEMENT_CODE_ARRAY_POINTER_SUN,
-  gl_REPLACEMENT_CODE_ARRAY_STRIDE_SUN,
-  gl_REPLACEMENT_CODE_ARRAY_SUN,
-  gl_REPLACEMENT_CODE_ARRAY_TYPE_SUN,
-  gl_REPLACEMENT_CODE_SUN,
-  gl_REPLACE_MIDDLE_SUN,
-  gl_REPLACE_OLDEST_SUN,
-  gl_RESTART_SUN,
-  gl_TRIANGLE_LIST_SUN,
-  -- * Functions
-  glReplacementCodePointerSUN,
-  glReplacementCodeubSUN,
-  glReplacementCodeubvSUN,
-  glReplacementCodeuiSUN,
-  glReplacementCodeuivSUN,
-  glReplacementCodeusSUN,
-  glReplacementCodeusvSUN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUN/Vertex.hs b/src/Graphics/Rendering/OpenGL/Raw/SUN/Vertex.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUN/Vertex.hs
+++ /dev/null
@@ -1,61 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUN.Vertex
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUN.Vertex (
-  -- * Extension Support
-  glGetSUNVertex,
-  gl_SUN_vertex,
-  -- * Functions
-  glColor3fVertex3fSUN,
-  glColor3fVertex3fvSUN,
-  glColor4fNormal3fVertex3fSUN,
-  glColor4fNormal3fVertex3fvSUN,
-  glColor4ubVertex2fSUN,
-  glColor4ubVertex2fvSUN,
-  glColor4ubVertex3fSUN,
-  glColor4ubVertex3fvSUN,
-  glNormal3fVertex3fSUN,
-  glNormal3fVertex3fvSUN,
-  glReplacementCodeuiColor3fVertex3fSUN,
-  glReplacementCodeuiColor3fVertex3fvSUN,
-  glReplacementCodeuiColor4fNormal3fVertex3fSUN,
-  glReplacementCodeuiColor4fNormal3fVertex3fvSUN,
-  glReplacementCodeuiColor4ubVertex3fSUN,
-  glReplacementCodeuiColor4ubVertex3fvSUN,
-  glReplacementCodeuiNormal3fVertex3fSUN,
-  glReplacementCodeuiNormal3fVertex3fvSUN,
-  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN,
-  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN,
-  glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN,
-  glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN,
-  glReplacementCodeuiTexCoord2fVertex3fSUN,
-  glReplacementCodeuiTexCoord2fVertex3fvSUN,
-  glReplacementCodeuiVertex3fSUN,
-  glReplacementCodeuiVertex3fvSUN,
-  glTexCoord2fColor3fVertex3fSUN,
-  glTexCoord2fColor3fVertex3fvSUN,
-  glTexCoord2fColor4fNormal3fVertex3fSUN,
-  glTexCoord2fColor4fNormal3fVertex3fvSUN,
-  glTexCoord2fColor4ubVertex3fSUN,
-  glTexCoord2fColor4ubVertex3fvSUN,
-  glTexCoord2fNormal3fVertex3fSUN,
-  glTexCoord2fNormal3fVertex3fvSUN,
-  glTexCoord2fVertex3fSUN,
-  glTexCoord2fVertex3fvSUN,
-  glTexCoord4fColor4fNormal3fVertex4fSUN,
-  glTexCoord4fColor4fNormal3fVertex4fvSUN,
-  glTexCoord4fVertex4fSUN,
-  glTexCoord4fVertex4fvSUN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUNX.hs b/src/Graphics/Rendering/OpenGL/Raw/SUNX.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUNX.hs
+++ /dev/null
@@ -1,19 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUNX
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing SUNX extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUNX (
-  module Graphics.Rendering.OpenGL.Raw.SUNX.ConstantData
-) where
-
-import Graphics.Rendering.OpenGL.Raw.SUNX.ConstantData
diff --git a/src/Graphics/Rendering/OpenGL/Raw/SUNX/ConstantData.hs b/src/Graphics/Rendering/OpenGL/Raw/SUNX/ConstantData.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/SUNX/ConstantData.hs
+++ /dev/null
@@ -1,26 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.SUNX.ConstantData
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.SUNX.ConstantData (
-  -- * Extension Support
-  glGetSUNXConstantData,
-  gl_SUNX_constant_data,
-  -- * Enums
-  gl_TEXTURE_CONSTANT_DATA_SUNX,
-  gl_UNPACK_CONSTANT_DATA_SUNX,
-  -- * Functions
-  glFinishTextureSUNX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX.hs b/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ThreeDFX
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing 3DFX extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ThreeDFX (
-  module Graphics.Rendering.OpenGL.Raw.ThreeDFX.Multisample,
-  module Graphics.Rendering.OpenGL.Raw.ThreeDFX.Tbuffer,
-  module Graphics.Rendering.OpenGL.Raw.ThreeDFX.TextureCompressionFXT1
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ThreeDFX.Multisample
-import Graphics.Rendering.OpenGL.Raw.ThreeDFX.Tbuffer
-import Graphics.Rendering.OpenGL.Raw.ThreeDFX.TextureCompressionFXT1
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/Multisample.hs b/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/Multisample.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/Multisample.hs
+++ /dev/null
@@ -1,25 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ThreeDFX.Multisample
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ThreeDFX.Multisample (
-  -- * Extension Support
-  glGetThreeDFXMultisample,
-  gl_3DFX_multisample,
-  -- * Enums
-  gl_MULTISAMPLE_3DFX,
-  gl_MULTISAMPLE_BIT_3DFX,
-  gl_SAMPLES_3DFX,
-  gl_SAMPLE_BUFFERS_3DFX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/Tbuffer.hs b/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/Tbuffer.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/Tbuffer.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ThreeDFX.Tbuffer
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ThreeDFX.Tbuffer (
-  -- * Extension Support
-  glGetThreeDFXTbuffer,
-  gl_3DFX_tbuffer,
-  -- * Functions
-  glTbufferMask3DFX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Functions
diff --git a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/TextureCompressionFXT1.hs b/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/TextureCompressionFXT1.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/ThreeDFX/TextureCompressionFXT1.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.ThreeDFX.TextureCompressionFXT1
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.ThreeDFX.TextureCompressionFXT1 (
-  -- * Extension Support
-  glGetThreeDFXTextureCompressionFXT1,
-  gl_3DFX_texture_compression_FXT1,
-  -- * Enums
-  gl_COMPRESSED_RGBA_FXT1_3DFX,
-  gl_COMPRESSED_RGB_FXT1_3DFX
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs b/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Tokens.hs
+++ /dev/null
@@ -1,16840 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
--- <http://www.opengl.org/registry/ OpenGL 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_REF_COMMAND_NV :: GLenum
-gl_ALPHA_REF_COMMAND_NV = 0x000F
-
-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_ATTRIBUTE_ADDRESS_COMMAND_NV :: GLenum
-gl_ATTRIBUTE_ADDRESS_COMMAND_NV = 0x0009
-
-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_COMMAND_NV :: GLenum
-gl_BLEND_COLOR_COMMAND_NV = 0x000B
-
-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_IMMUTABLE_STORAGE_EXT :: GLenum
-gl_BUFFER_IMMUTABLE_STORAGE_EXT = 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_STORAGE_FLAGS_EXT :: GLenum
-gl_BUFFER_STORAGE_FLAGS_EXT = 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_MAPPED_BUFFER_BARRIER_BIT_EXT :: GLbitfield
-gl_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT = 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_STORAGE_BIT_EXT :: GLbitfield
-gl_CLIENT_STORAGE_BIT_EXT = 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 :: GLenum
-gl_COLORBURN = 0x929A
-
-gl_COLORBURN_KHR :: GLenum
-gl_COLORBURN_KHR = 0x929A
-
-gl_COLORBURN_NV :: GLenum
-gl_COLORBURN_NV = 0x929A
-
-gl_COLORDODGE :: GLenum
-gl_COLORDODGE = 0x9299
-
-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_ATTACHMENT16 :: GLenum
-gl_COLOR_ATTACHMENT16 = 0x8CF0
-
-gl_COLOR_ATTACHMENT17 :: GLenum
-gl_COLOR_ATTACHMENT17 = 0x8CF1
-
-gl_COLOR_ATTACHMENT18 :: GLenum
-gl_COLOR_ATTACHMENT18 = 0x8CF2
-
-gl_COLOR_ATTACHMENT19 :: GLenum
-gl_COLOR_ATTACHMENT19 = 0x8CF3
-
-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_ATTACHMENT20 :: GLenum
-gl_COLOR_ATTACHMENT20 = 0x8CF4
-
-gl_COLOR_ATTACHMENT21 :: GLenum
-gl_COLOR_ATTACHMENT21 = 0x8CF5
-
-gl_COLOR_ATTACHMENT22 :: GLenum
-gl_COLOR_ATTACHMENT22 = 0x8CF6
-
-gl_COLOR_ATTACHMENT23 :: GLenum
-gl_COLOR_ATTACHMENT23 = 0x8CF7
-
-gl_COLOR_ATTACHMENT24 :: GLenum
-gl_COLOR_ATTACHMENT24 = 0x8CF8
-
-gl_COLOR_ATTACHMENT25 :: GLenum
-gl_COLOR_ATTACHMENT25 = 0x8CF9
-
-gl_COLOR_ATTACHMENT26 :: GLenum
-gl_COLOR_ATTACHMENT26 = 0x8CFA
-
-gl_COLOR_ATTACHMENT27 :: GLenum
-gl_COLOR_ATTACHMENT27 = 0x8CFB
-
-gl_COLOR_ATTACHMENT28 :: GLenum
-gl_COLOR_ATTACHMENT28 = 0x8CFC
-
-gl_COLOR_ATTACHMENT29 :: GLenum
-gl_COLOR_ATTACHMENT29 = 0x8CFD
-
-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_ATTACHMENT30 :: GLenum
-gl_COLOR_ATTACHMENT30 = 0x8CFE
-
-gl_COLOR_ATTACHMENT31 :: GLenum
-gl_COLOR_ATTACHMENT31 = 0x8CFF
-
-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_COMPLETION_STATUS_ARB :: GLenum
-gl_COMPLETION_STATUS_ARB = 0x91B1
-
-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 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x10 = 0x93BB
-
-gl_COMPRESSED_RGBA_ASTC_10x10_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x10_KHR = 0x93BB
-
-gl_COMPRESSED_RGBA_ASTC_10x5 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x5 = 0x93B8
-
-gl_COMPRESSED_RGBA_ASTC_10x5_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x5_KHR = 0x93B8
-
-gl_COMPRESSED_RGBA_ASTC_10x6 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x6 = 0x93B9
-
-gl_COMPRESSED_RGBA_ASTC_10x6_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x6_KHR = 0x93B9
-
-gl_COMPRESSED_RGBA_ASTC_10x8 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x8 = 0x93BA
-
-gl_COMPRESSED_RGBA_ASTC_10x8_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_10x8_KHR = 0x93BA
-
-gl_COMPRESSED_RGBA_ASTC_12x10 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_12x10 = 0x93BC
-
-gl_COMPRESSED_RGBA_ASTC_12x10_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_12x10_KHR = 0x93BC
-
-gl_COMPRESSED_RGBA_ASTC_12x12 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_12x12 = 0x93BD
-
-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 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_4x4 = 0x93B0
-
-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 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_5x4 = 0x93B1
-
-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 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_5x5 = 0x93B2
-
-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 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_6x5 = 0x93B3
-
-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 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_6x6 = 0x93B4
-
-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 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x5 = 0x93B5
-
-gl_COMPRESSED_RGBA_ASTC_8x5_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x5_KHR = 0x93B5
-
-gl_COMPRESSED_RGBA_ASTC_8x6 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x6 = 0x93B6
-
-gl_COMPRESSED_RGBA_ASTC_8x6_KHR :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x6_KHR = 0x93B6
-
-gl_COMPRESSED_RGBA_ASTC_8x8 :: GLenum
-gl_COMPRESSED_RGBA_ASTC_8x8 = 0x93B7
-
-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 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 0x93DB
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 0x93D8
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 0x93D9
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 0x93DA
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 0x93DC
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD
-
-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 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0
-
-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 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1
-
-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 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2
-
-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 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3
-
-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 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4
-
-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 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 0x93D5
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 0x93D6
-
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 :: GLenum
-gl_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7
-
-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_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV :: GLenum
-gl_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV = 0x937B
-
-gl_CONSERVATIVE_RASTER_DILATE_NV :: GLenum
-gl_CONSERVATIVE_RASTER_DILATE_NV = 0x9379
-
-gl_CONSERVATIVE_RASTER_DILATE_RANGE_NV :: GLenum
-gl_CONSERVATIVE_RASTER_DILATE_RANGE_NV = 0x937A
-
-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_NO_ERROR_BIT_KHR :: GLbitfield
-gl_CONTEXT_FLAG_NO_ERROR_BIT_KHR = 0x00000008
-
-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_CUBIC_IMG :: GLenum
-gl_CUBIC_IMG = 0x9139
-
-gl_CUBIC_MIPMAP_LINEAR_IMG :: GLenum
-gl_CUBIC_MIPMAP_LINEAR_IMG = 0x913B
-
-gl_CUBIC_MIPMAP_NEAREST_IMG :: GLenum
-gl_CUBIC_MIPMAP_NEAREST_IMG = 0x913A
-
-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 :: GLenum
-gl_DARKEN = 0x9297
-
-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 :: GLenum
-gl_DIFFERENCE = 0x929E
-
-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_ARRAYS_COMMAND_NV :: GLenum
-gl_DRAW_ARRAYS_COMMAND_NV = 0x0003
-
-gl_DRAW_ARRAYS_INSTANCED_COMMAND_NV :: GLenum
-gl_DRAW_ARRAYS_INSTANCED_COMMAND_NV = 0x0007
-
-gl_DRAW_ARRAYS_STRIP_COMMAND_NV :: GLenum
-gl_DRAW_ARRAYS_STRIP_COMMAND_NV = 0x0005
-
-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_ELEMENTS_COMMAND_NV :: GLenum
-gl_DRAW_ELEMENTS_COMMAND_NV = 0x0002
-
-gl_DRAW_ELEMENTS_INSTANCED_COMMAND_NV :: GLenum
-gl_DRAW_ELEMENTS_INSTANCED_COMMAND_NV = 0x0006
-
-gl_DRAW_ELEMENTS_STRIP_COMMAND_NV :: GLenum
-gl_DRAW_ELEMENTS_STRIP_COMMAND_NV = 0x0004
-
-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_DYNAMIC_STORAGE_BIT_EXT :: GLbitfield
-gl_DYNAMIC_STORAGE_BIT_EXT = 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_ADDRESS_COMMAND_NV :: GLenum
-gl_ELEMENT_ADDRESS_COMMAND_NV = 0x0008
-
-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 :: GLenum
-gl_EXCLUSION = 0x92A0
-
-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_NV :: GLenum
-gl_FILL_NV = 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_BASE_VIEW_INDEX_OVR :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR = 0x9632
-
-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_NUM_VIEWS_OVR :: GLenum
-gl_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR = 0x9630
-
-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_ARB :: GLenum
-gl_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB = 0x9342
-
-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_ARB :: GLenum
-gl_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB = 0x9343
-
-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_FACE_COMMAND_NV :: GLenum
-gl_FRONT_FACE_COMMAND_NV = 0x0012
-
-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_GS_PROGRAM_BINARY_MTK :: GLenum
-gl_GS_PROGRAM_BINARY_MTK = 0x9641
-
-gl_GS_SHADER_BINARY_MTK :: GLenum
-gl_GS_SHADER_BINARY_MTK = 0x9640
-
-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 :: GLenum
-gl_HARDLIGHT = 0x929B
-
-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 :: GLenum
-gl_HSL_COLOR = 0x92AF
-
-gl_HSL_COLOR_KHR :: GLenum
-gl_HSL_COLOR_KHR = 0x92AF
-
-gl_HSL_COLOR_NV :: GLenum
-gl_HSL_COLOR_NV = 0x92AF
-
-gl_HSL_HUE :: GLenum
-gl_HSL_HUE = 0x92AD
-
-gl_HSL_HUE_KHR :: GLenum
-gl_HSL_HUE_KHR = 0x92AD
-
-gl_HSL_HUE_NV :: GLenum
-gl_HSL_HUE_NV = 0x92AD
-
-gl_HSL_LUMINOSITY :: GLenum
-gl_HSL_LUMINOSITY = 0x92B0
-
-gl_HSL_LUMINOSITY_KHR :: GLenum
-gl_HSL_LUMINOSITY_KHR = 0x92B0
-
-gl_HSL_LUMINOSITY_NV :: GLenum
-gl_HSL_LUMINOSITY_NV = 0x92B0
-
-gl_HSL_SATURATION :: GLenum
-gl_HSL_SATURATION = 0x92AE
-
-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_ARB :: GLenum
-gl_INT64_ARB = 0x140E
-
-gl_INT64_NV :: GLenum
-gl_INT64_NV = 0x140E
-
-gl_INT64_VEC2_ARB :: GLenum
-gl_INT64_VEC2_ARB = 0x8FE9
-
-gl_INT64_VEC2_NV :: GLenum
-gl_INT64_VEC2_NV = 0x8FE9
-
-gl_INT64_VEC3_ARB :: GLenum
-gl_INT64_VEC3_ARB = 0x8FEA
-
-gl_INT64_VEC3_NV :: GLenum
-gl_INT64_VEC3_NV = 0x8FEA
-
-gl_INT64_VEC4_ARB :: GLenum
-gl_INT64_VEC4_ARB = 0x8FEB
-
-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 :: GLenum
-gl_LIGHTEN = 0x9298
-
-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_NV :: GLenum
-gl_LINE_NV = 0x1B01
-
-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_COMMAND_NV :: GLenum
-gl_LINE_WIDTH_COMMAND_NV = 0x000D
-
-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_LOCATION_INDEX_EXT :: GLenum
-gl_LOCATION_INDEX_EXT = 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_COHERENT_BIT_EXT :: GLbitfield
-gl_MAP_COHERENT_BIT_EXT = 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_PERSISTENT_BIT_EXT :: GLbitfield
-gl_MAP_PERSISTENT_BIT_EXT = 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_DUAL_SOURCE_DRAW_BUFFERS_EXT :: GLenum
-gl_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = 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_COMPILER_THREADS_ARB :: GLenum
-gl_MAX_SHADER_COMPILER_THREADS_ARB = 0x91B0
-
-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_3D_TEXTURE_SIZE_EXT :: GLenum
-gl_MAX_SPARSE_3D_TEXTURE_SIZE_EXT = 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_ARRAY_TEXTURE_LAYERS_EXT :: GLenum
-gl_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT = 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_SPARSE_TEXTURE_SIZE_EXT :: GLenum
-gl_MAX_SPARSE_TEXTURE_SIZE_EXT = 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_VIEWS_OVR :: GLenum
-gl_MAX_VIEWS_OVR = 0x9631
-
-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 :: GLenum
-gl_MULTIPLY = 0x9294
-
-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_LINE_WIDTH_GRANULARITY :: GLenum
-gl_MULTISAMPLE_LINE_WIDTH_GRANULARITY = 0x9382
-
-gl_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB :: GLenum
-gl_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB = 0x9382
-
-gl_MULTISAMPLE_LINE_WIDTH_RANGE :: GLenum
-gl_MULTISAMPLE_LINE_WIDTH_RANGE = 0x9381
-
-gl_MULTISAMPLE_LINE_WIDTH_RANGE_ARB :: GLenum
-gl_MULTISAMPLE_LINE_WIDTH_RANGE_ARB = 0x9381
-
-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_NOP_COMMAND_NV :: GLenum
-gl_NOP_COMMAND_NV = 0x0001
-
-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_SPARSE_LEVELS_EXT :: GLenum
-gl_NUM_SPARSE_LEVELS_EXT = 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_NUM_VIRTUAL_PAGE_SIZES_EXT :: GLenum
-gl_NUM_VIRTUAL_PAGE_SIZES_EXT = 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_ALPHA_EXT :: GLenum
-gl_ONE_MINUS_SRC1_ALPHA_EXT = 0x88FB
-
-gl_ONE_MINUS_SRC1_COLOR :: GLenum
-gl_ONE_MINUS_SRC1_COLOR = 0x88FA
-
-gl_ONE_MINUS_SRC1_COLOR_EXT :: GLenum
-gl_ONE_MINUS_SRC1_COLOR_EXT = 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 :: GLenum
-gl_OVERLAY = 0x9296
-
-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_NV :: GLenum
-gl_POINT_NV = 0x1B00
-
-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_MODE_NV :: GLenum
-gl_POLYGON_MODE_NV = 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_COMMAND_NV :: GLenum
-gl_POLYGON_OFFSET_COMMAND_NV = 0x000E
-
-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_LINE_NV :: GLenum
-gl_POLYGON_OFFSET_LINE_NV = 0x2A02
-
-gl_POLYGON_OFFSET_POINT :: GLenum
-gl_POLYGON_OFFSET_POINT = 0x2A01
-
-gl_POLYGON_OFFSET_POINT_NV :: GLenum
-gl_POLYGON_OFFSET_POINT_NV = 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 :: GLenum
-gl_PRIMITIVE_BOUNDING_BOX = 0x92BE
-
-gl_PRIMITIVE_BOUNDING_BOX_ARB :: GLenum
-gl_PRIMITIVE_BOUNDING_BOX_ARB = 0x92BE
-
-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_ARB :: GLenum
-gl_PROGRAMMABLE_SAMPLE_LOCATION_ARB = 0x9341
-
-gl_PROGRAMMABLE_SAMPLE_LOCATION_NV :: GLenum
-gl_PROGRAMMABLE_SAMPLE_LOCATION_NV = 0x9341
-
-gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB :: GLenum
-gl_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB = 0x9340
-
-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_KHR :: GLenum
-gl_PROGRAM_PIPELINE_KHR = 0x82E4
-
-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_2D_Y2Y_EXT :: GLenum
-gl_SAMPLER_EXTERNAL_2D_Y2Y_EXT = 0x8BE7
-
-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_ARB :: GLenum
-gl_SAMPLE_LOCATION_ARB = 0x8E50
-
-gl_SAMPLE_LOCATION_NV :: GLenum
-gl_SAMPLE_LOCATION_NV = 0x8E50
-
-gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB :: GLenum
-gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB = 0x933F
-
-gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV :: GLenum
-gl_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV = 0x933F
-
-gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB :: GLenum
-gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB = 0x933E
-
-gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV :: GLenum
-gl_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV = 0x933E
-
-gl_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB :: GLenum
-gl_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB = 0x933D
-
-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_COMMAND_NV :: GLenum
-gl_SCISSOR_COMMAND_NV = 0x0011
-
-gl_SCISSOR_TEST :: GLenum
-gl_SCISSOR_TEST = 0x0C11
-
-gl_SCREEN :: GLenum
-gl_SCREEN = 0x9295
-
-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 :: GLenum
-gl_SOFTLIGHT = 0x929C
-
-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_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT :: GLenum
-gl_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT = 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_SR8_EXT :: GLenum
-gl_SR8_EXT = 0x8FBD
-
-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_ALPHA_EXT :: GLenum
-gl_SRC1_ALPHA_EXT = 0x8589
-
-gl_SRC1_COLOR :: GLenum
-gl_SRC1_COLOR = 0x88F9
-
-gl_SRC1_COLOR_EXT :: GLenum
-gl_SRC1_COLOR_EXT = 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_ALPHA_SATURATE_EXT :: GLenum
-gl_SRC_ALPHA_SATURATE_EXT = 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_SRG8_EXT :: GLenum
-gl_SRG8_EXT = 0x8FBE
-
-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_REF_COMMAND_NV :: GLenum
-gl_STENCIL_REF_COMMAND_NV = 0x000C
-
-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_TERMINATE_SEQUENCE_COMMAND_NV :: GLenum
-gl_TERMINATE_SEQUENCE_COMMAND_NV = 0x0000
-
-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_REDUCTION_MODE_ARB :: GLenum
-gl_TEXTURE_REDUCTION_MODE_ARB = 0x9366
-
-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_SPARSE_EXT :: GLenum
-gl_TEXTURE_SPARSE_EXT = 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_ADDRESS_COMMAND_NV :: GLenum
-gl_UNIFORM_ADDRESS_COMMAND_NV = 0x000A
-
-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_ARB :: GLenum
-gl_UNSIGNED_INT64_VEC2_ARB = 0x8FF5
-
-gl_UNSIGNED_INT64_VEC2_NV :: GLenum
-gl_UNSIGNED_INT64_VEC2_NV = 0x8FF5
-
-gl_UNSIGNED_INT64_VEC3_ARB :: GLenum
-gl_UNSIGNED_INT64_VEC3_ARB = 0x8FF6
-
-gl_UNSIGNED_INT64_VEC3_NV :: GLenum
-gl_UNSIGNED_INT64_VEC3_NV = 0x8FF6
-
-gl_UNSIGNED_INT64_VEC4_ARB :: GLenum
-gl_UNSIGNED_INT64_VEC4_ARB = 0x8FF7
-
-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_COMMAND_NV :: GLenum
-gl_VIEWPORT_COMMAND_NV = 0x0010
-
-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_INDEX_EXT :: GLenum
-gl_VIRTUAL_PAGE_SIZE_INDEX_EXT = 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_X_EXT :: GLenum
-gl_VIRTUAL_PAGE_SIZE_X_EXT = 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_Y_EXT :: GLenum
-gl_VIRTUAL_PAGE_SIZE_Y_EXT = 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_VIRTUAL_PAGE_SIZE_Z_EXT :: GLenum
-gl_VIRTUAL_PAGE_SIZE_Z_EXT = 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_WEIGHTED_AVERAGE_ARB :: GLenum
-gl_WEIGHTED_AVERAGE_ARB = 0x9367
-
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Types.hs
+++ /dev/null
@@ -1,217 +0,0 @@
-{-# LANGUAGE CPP #-}
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.Types
--- Copyright   :  (c) Sven Panne 2009-2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- All types from the whole OpenGL registry.
---
---------------------------------------------------------------------------------
-
-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, GLDEBUGPROCFunc, makeGLDEBUGPROC,
-  GLvoid,
-
-  -- * Pre-standard OpenGL types.
-  GLcharARB,
-  GLint64EXT,
-  GLuint64EXT,
-  GLintptrARB,
-  GLsizeiptrARB,
-  GLhalfARB,
-  GLhalfNV,
-  GLDEBUGPROCAMD, GLDEBUGPROCAMDFunc, makeGLDEBUGPROCAMD,
-  GLDEBUGPROCARB, GLDEBUGPROCARBFunc, makeGLDEBUGPROCARB,
-  GLDEBUGPROCKHR, GLDEBUGPROCKHRFunc, makeGLDEBUGPROCKHR,
-
-  -- * Types from various extensions.
-  GLclampx,
-  GLhandleARB,
-  GLvdpauSurfaceNV,
-  GLeglImageOES
-) where
-
-import Data.Int
-import Data.Word
-import Foreign.C.Types
-import Foreign.Ptr
-import Numeric.Half
-
---------------------------------------------------------------------------------
-
--- | 8bit boolean.
-type GLboolean = CUChar
-
--- | 8bit signed two\'s complement binary integer.
-type GLbyte = CSChar
-
--- | 8bit unsigned binary integer.
-type GLubyte = CUChar
-
--- | 8bit characters making up strings.
-type GLchar = CChar
-
--- | 16bit signed two\'s complement binary integer.
-type GLshort = CShort
-
--- | 16bit unsigned binary integer.
-type GLushort = CUShort
-
--- | 32bit signed two\'s complement binary integer.
-type GLint = CInt
-
--- | 32bit unsigned binary integer.
-type GLuint = CUInt
-
--- | 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.
-type GLint64 = Int64
-
--- | 64bit unsigned binary integer.
-type GLuint64 = Word64
-
--- | 32bit non-negative binary integer size.
-type GLsizei = CInt
-
--- | 32bit enumerated binary integer value.
-type GLenum = CUInt
-
--- | 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.
-type GLsync = Ptr ()
-
--- | 32bit bit field.
-type GLbitfield = CUInt
-
--- | 16bit half-precision floating-point value encoded in an unsigned scalar.
-type GLhalf = Half
-
--- | 32bit floating-point value.
-type GLfloat = CFloat
-
--- | 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].
-type GLclampd = CDouble
-
--- | A pointer to a debug callback.
-type GLDEBUGPROC = FunPtr GLDEBUGPROCFunc
-
--- | Debug callback.
-type GLDEBUGPROCFunc
-  =  GLenum -- ^ @source@.
-  -> GLenum -- ^ @type@.
-  -> GLuint -- ^ @id@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @message@.
-  -> Ptr () -- ^ @userParam@.
-  -> IO ()
-
--- | The storage associated with the resulting 'FunPtr' has to be released with
--- 'freeHaskellFunPtr' when it is no longer required.
-foreign import CALLCONV "wrapper"
-   makeGLDEBUGPROC :: GLDEBUGPROCFunc -> IO (FunPtr GLDEBUGPROCFunc)
-
--- | 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 = Half
-
-type GLhalfNV = Half
-
-type GLDEBUGPROCAMD = FunPtr GLDEBUGPROCAMDFunc
-
--- | Debug callback.
-type GLDEBUGPROCAMDFunc
-  =  GLuint -- ^ @id@.
-  -> GLenum -- ^ @category@.
-  -> GLenum -- ^ @severity@.
-  -> GLsizei -- ^ @length@.
-  -> Ptr GLchar -- ^ @message@.
-  -> Ptr () -- ^ @userParam@.
-  -> IO ()
-
--- | The storage associated with the resulting 'FunPtr' has to be released with
--- 'freeHaskellFunPtr' when it is no longer required.
-foreign import CALLCONV "wrapper"
-  makeGLDEBUGPROCAMD :: GLDEBUGPROCAMDFunc -> IO (FunPtr GLDEBUGPROCAMDFunc)
-
-type GLDEBUGPROCARB = GLDEBUGPROC
-
-type GLDEBUGPROCARBFunc = GLDEBUGPROCFunc
-
-makeGLDEBUGPROCARB :: GLDEBUGPROCARBFunc -> IO (FunPtr GLDEBUGPROCARBFunc)
-makeGLDEBUGPROCARB = makeGLDEBUGPROC
-
-type GLDEBUGPROCKHR = GLDEBUGPROC
-
-type GLDEBUGPROCKHRFunc = GLDEBUGPROCFunc
-
-makeGLDEBUGPROCKHR :: GLDEBUGPROCKHRFunc -> IO (FunPtr GLDEBUGPROCKHRFunc)
-makeGLDEBUGPROCKHR = makeGLDEBUGPROC
-
-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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version10.hs
+++ /dev/null
@@ -1,868 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version11.hs
+++ /dev/null
@@ -1,900 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version12.hs
+++ /dev/null
@@ -1,945 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version13.hs
+++ /dev/null
@@ -1,1087 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version14.hs
+++ /dev/null
@@ -1,1182 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version15.hs
+++ /dev/null
@@ -1,1253 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version20.hs
+++ /dev/null
@@ -1,1431 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/Version21.hs
+++ /dev/null
@@ -1,1460 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- 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
diff --git a/src/Graphics/Rendering/OpenGL/Raw/WIN.hs b/src/Graphics/Rendering/OpenGL/Raw/WIN.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/WIN.hs
+++ /dev/null
@@ -1,21 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.WIN
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
--- A convenience module, combining all raw modules containing WIN extensions.
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.WIN (
-  module Graphics.Rendering.OpenGL.Raw.WIN.PhongShading,
-  module Graphics.Rendering.OpenGL.Raw.WIN.SpecularFog
-) where
-
-import Graphics.Rendering.OpenGL.Raw.WIN.PhongShading
-import Graphics.Rendering.OpenGL.Raw.WIN.SpecularFog
diff --git a/src/Graphics/Rendering/OpenGL/Raw/WIN/PhongShading.hs b/src/Graphics/Rendering/OpenGL/Raw/WIN/PhongShading.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/WIN/PhongShading.hs
+++ /dev/null
@@ -1,23 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.WIN.PhongShading
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.WIN.PhongShading (
-  -- * Extension Support
-  glGetWINPhongShading,
-  gl_WIN_phong_shading,
-  -- * Enums
-  gl_PHONG_HINT_WIN,
-  gl_PHONG_WIN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
diff --git a/src/Graphics/Rendering/OpenGL/Raw/WIN/SpecularFog.hs b/src/Graphics/Rendering/OpenGL/Raw/WIN/SpecularFog.hs
deleted file mode 100644
--- a/src/Graphics/Rendering/OpenGL/Raw/WIN/SpecularFog.hs
+++ /dev/null
@@ -1,22 +0,0 @@
---------------------------------------------------------------------------------
--- |
--- Module      :  Graphics.Rendering.OpenGL.Raw.WIN.SpecularFog
--- Copyright   :  (c) Sven Panne 2015
--- License     :  BSD3
---
--- Maintainer  :  Sven Panne <svenpanne@gmail.com>
--- Stability   :  stable
--- Portability :  portable
---
---------------------------------------------------------------------------------
-
-module Graphics.Rendering.OpenGL.Raw.WIN.SpecularFog (
-  -- * Extension Support
-  glGetWINSpecularFog,
-  gl_WIN_specular_fog,
-  -- * Enums
-  gl_FOG_SPECULAR_TEXTURE_WIN
-) where
-
-import Graphics.Rendering.OpenGL.Raw.ExtensionPredicates
-import Graphics.Rendering.OpenGL.Raw.Tokens
